blob: 58746e5d3acd9873a3b5b171b85c485961ec3c5f [file] [log] [blame]
Steve McKayf68210e2015-11-03 15:23:16 -08001/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.documentsui;
18
Steve McKayf68210e2015-11-03 15:23:16 -080019import android.content.ContentProviderClient;
Tomasz Mikolajewskib19061c2017-02-13 17:33:42 +090020import android.content.ContentResolver;
Steve McKayf68210e2015-11-03 15:23:16 -080021import android.database.Cursor;
22
Tomasz Mikolajewskib19061c2017-02-13 17:33:42 +090023import com.android.documentsui.archives.ArchivesProvider;
Steve McKayd0805062016-09-15 14:30:38 -070024import com.android.documentsui.base.DocumentInfo;
Tomasz Mikolajewskie29e3412016-02-24 12:53:44 +090025
Steve McKayf68210e2015-11-03 15:23:16 -080026import libcore.io.IoUtils;
27
28public class DirectoryResult implements AutoCloseable {
Ben Linf8f06e92017-01-27 17:15:48 -080029
Steve McKayf68210e2015-11-03 15:23:16 -080030 public Cursor cursor;
31 public Exception exception;
Tomasz Mikolajewskie29e3412016-02-24 12:53:44 +090032 public DocumentInfo doc;
Ben Linf8f06e92017-01-27 17:15:48 -080033 ContentProviderClient client;
Steve McKayf68210e2015-11-03 15:23:16 -080034
35 @Override
36 public void close() {
37 IoUtils.closeQuietly(cursor);
Tomasz Mikolajewskib19061c2017-02-13 17:33:42 +090038 if (client != null && doc.isInArchive()) {
39 ArchivesProvider.releaseArchive(client, doc.derivedUri);
40 }
Steve McKayf68210e2015-11-03 15:23:16 -080041 cursor = null;
42 client = null;
Garfield Tan2010ff72016-09-30 14:55:32 -070043 doc = null;
Steve McKayf68210e2015-11-03 15:23:16 -080044 }
45}