Loading src/com/android/documentsui/picker/ActionHandler.java +13 −0 Original line number Diff line number Diff line Loading @@ -70,9 +70,11 @@ import com.android.documentsui.queries.SearchViewManager; import com.android.documentsui.roots.ProvidersAccess; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.util.FileUtils; import com.android.documentsui.util.VersionUtils; import java.io.IOException; import java.util.Arrays; import java.util.Locale; import java.util.concurrent.Executor; import java.util.regex.Pattern; Loading Loading @@ -101,6 +103,8 @@ class ActionHandler<T extends FragmentActivity & Addons> extends AbstractActionH private final ActivityConfig mConfig; private final LastAccessedStorage mLastAccessed; private final UserIdManager mUserIdManager; private final static Pattern PATTERN_BLOCK_PATH = Pattern.compile( ".*:android\\/(?:data|obb|sandbox)$"); private UpdatePickResultTask mUpdatePickResultTask; Loading Loading @@ -183,6 +187,15 @@ class ActionHandler<T extends FragmentActivity & Addons> extends AbstractActionH return false; } // In android S and above if path contains Android/data, Android/obb // or Android/sandbox redirect to the root for which // FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE is already set if(Shared.shouldRestrictStorageAccessFramework(mActivity) && (PATTERN_BLOCK_PATH.matcher(initialUri.getPath().toLowerCase(Locale.ROOT)).matches())){ loadDeviceRoot(); return true; } final boolean isRoot = isRootUri(mActivity, initialUri); final boolean isDocument = !isRoot && isDocumentUri(mActivity, initialUri); Loading Loading
src/com/android/documentsui/picker/ActionHandler.java +13 −0 Original line number Diff line number Diff line Loading @@ -70,9 +70,11 @@ import com.android.documentsui.queries.SearchViewManager; import com.android.documentsui.roots.ProvidersAccess; import com.android.documentsui.services.FileOperationService; import com.android.documentsui.util.FileUtils; import com.android.documentsui.util.VersionUtils; import java.io.IOException; import java.util.Arrays; import java.util.Locale; import java.util.concurrent.Executor; import java.util.regex.Pattern; Loading Loading @@ -101,6 +103,8 @@ class ActionHandler<T extends FragmentActivity & Addons> extends AbstractActionH private final ActivityConfig mConfig; private final LastAccessedStorage mLastAccessed; private final UserIdManager mUserIdManager; private final static Pattern PATTERN_BLOCK_PATH = Pattern.compile( ".*:android\\/(?:data|obb|sandbox)$"); private UpdatePickResultTask mUpdatePickResultTask; Loading Loading @@ -183,6 +187,15 @@ class ActionHandler<T extends FragmentActivity & Addons> extends AbstractActionH return false; } // In android S and above if path contains Android/data, Android/obb // or Android/sandbox redirect to the root for which // FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE is already set if(Shared.shouldRestrictStorageAccessFramework(mActivity) && (PATTERN_BLOCK_PATH.matcher(initialUri.getPath().toLowerCase(Locale.ROOT)).matches())){ loadDeviceRoot(); return true; } final boolean isRoot = isRootUri(mActivity, initialUri); final boolean isDocument = !isRoot && isDocumentUri(mActivity, initialUri); Loading