Loading Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ include $(LOCAL_PATH)/build_apk.mk include $(CLEAR_VARS) LOCAL_SRC_FILES := \ src/com/android/documentsui/OpenExternalDirectoryActivity.java \ src/com/android/documentsui/ScopedAccessActivity.java \ src/com/android/documentsui/ScopedAccessPackageReceiver.java \ src/com/android/documentsui/ScopedAccessMetrics.java \ src/com/android/documentsui/archives/Archive.java \ Loading AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ </activity-alias> <activity android:name=".OpenExternalDirectoryActivity" android:name=".ScopedAccessActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" /> Loading @@ -133,6 +133,13 @@ </intent-filter> </activity> <provider android:name=".ScopedAccessProvider" android:authorities="com.android.documentsui.scopedAccess" android:permission="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" android:exported="true"> </provider> <provider android:name=".picker.LastAccessedProvider" android:authorities="com.android.documentsui.lastAccessed" Loading minimal/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ android:fullBackupOnly="false"> <activity android:name=".OpenExternalDirectoryActivity" android:name=".ScopedAccessActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" /> Loading @@ -47,5 +47,12 @@ </intent-filter> </receiver> <provider android:name=".ScopedAccessProvider" android:authorities="com.android.documentsui.scopedAccess" android:permission="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" android:exported="true"> </provider> </application> </manifest> src/com/android/documentsui/OpenExternalDirectoryActivity.java→src/com/android/documentsui/ScopedAccessActivity.java +12 −13 Original line number Diff line number Diff line Loading @@ -75,10 +75,10 @@ import java.io.IOException; import java.util.List; /** * Activity responsible for handling {@link Intent#ACTION_OPEN_EXTERNAL_DOCUMENT}. * Activity responsible for handling {@link StorageVolume#createAccessIntent(String)}. */ public class OpenExternalDirectoryActivity extends Activity { private static final String TAG = "OpenExternalDirectory"; public class ScopedAccessActivity extends Activity { private static final String TAG = "ScopedAccessActivity"; private static final String FM_TAG = "open_external_directory"; private static final String EXTRA_FILE = "com.android.documentsui.FILE"; private static final String EXTRA_APP_LABEL = "com.android.documentsui.APP_LABEL"; Loading Loading @@ -151,7 +151,7 @@ public class OpenExternalDirectoryActivity extends Activity { * Validates the given path (volume + directory) and display the appropriate dialog asking the * user to grant access to it. */ private static boolean showFragment(OpenExternalDirectoryActivity activity, int userId, private static boolean showFragment(ScopedAccessActivity activity, int userId, StorageVolume storageVolume, String directoryName) { if (DEBUG) Log.d(TAG, "showFragment() for volume " + storageVolume.dump() + ", directory " Loading Loading @@ -228,7 +228,7 @@ public class OpenExternalDirectoryActivity extends Activity { } // Checks if the user has granted the permission already. final Intent intent = getIntentForExistingPermission(activity, isRoot, internalRoot, file); final Intent intent = getIntentForExistingPermission(activity, internalRoot, file); if (intent != null) { logValidScopedAccessRequest(activity, directory, SCOPED_DIRECTORY_ACCESS_ALREADY_GRANTED); Loading Loading @@ -261,8 +261,7 @@ public class OpenExternalDirectoryActivity extends Activity { final FragmentManager fm = activity.getFragmentManager(); final FragmentTransaction ft = fm.beginTransaction(); final OpenExternalDirectoryDialogFragment fragment = new OpenExternalDirectoryDialogFragment(); final ScopedAccessDialogFragment fragment = new ScopedAccessDialogFragment(); fragment.setArguments(args); ft.add(fragment, FM_TAG); ft.commitAllowingStateLoss(); Loading Loading @@ -341,8 +340,8 @@ public class OpenExternalDirectoryActivity extends Activity { return intent; } private static Intent getIntentForExistingPermission(OpenExternalDirectoryActivity activity, boolean isRoot, File root, File file) { private static Intent getIntentForExistingPermission(ScopedAccessActivity activity, File root, File file) { final String packageName = activity.getCallingPackage(); final ContentProviderClient storageClient = activity.getExternalStorageClient(); final Uri grantedUri = getGrantedUriPermission(activity, storageClient, file); Loading @@ -369,7 +368,7 @@ public class OpenExternalDirectoryActivity extends Activity { return null; } public static class OpenExternalDirectoryDialogFragment extends DialogFragment { public static class ScopedAccessDialogFragment extends DialogFragment { private File mFile; private String mVolumeUuid; Loading @@ -378,7 +377,7 @@ public class OpenExternalDirectoryActivity extends Activity { private boolean mIsRoot; private boolean mIsPrimary; private CheckBox mDontAskAgain; private OpenExternalDirectoryActivity mActivity; private ScopedAccessActivity mActivity; private AlertDialog mDialog; @Override Loading @@ -394,7 +393,7 @@ public class OpenExternalDirectoryActivity extends Activity { mIsRoot = args.getBoolean(EXTRA_IS_ROOT); mIsPrimary= args.getBoolean(EXTRA_IS_PRIMARY); } mActivity = (OpenExternalDirectoryActivity) getActivity(); mActivity = (ScopedAccessActivity) getActivity(); } @Override Loading @@ -416,7 +415,7 @@ public class OpenExternalDirectoryActivity extends Activity { // Sanity check. Log.wtf(TAG, "activity references don't match on onCreateDialog(): mActivity = " + mActivity + " , getActivity() = " + getActivity()); mActivity = (OpenExternalDirectoryActivity) getActivity(); mActivity = (ScopedAccessActivity) getActivity(); } final String directory = mFile.getName(); final String directoryName = mIsRoot ? DIRECTORY_ROOT : directory; Loading src/com/android/documentsui/ScopedAccessMetrics.java +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ public final class ScopedAccessMetrics { public static void logValidScopedAccessRequest(Activity activity, String directory, @ScopedAccessGrant int type) { int index = -1; if (OpenExternalDirectoryActivity.DIRECTORY_ROOT.equals(directory)) { if (ScopedAccessActivity.DIRECTORY_ROOT.equals(directory)) { index = -2; } else { for (int i = 0; i < STANDARD_DIRECTORIES.length; i++) { Loading Loading
Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ include $(LOCAL_PATH)/build_apk.mk include $(CLEAR_VARS) LOCAL_SRC_FILES := \ src/com/android/documentsui/OpenExternalDirectoryActivity.java \ src/com/android/documentsui/ScopedAccessActivity.java \ src/com/android/documentsui/ScopedAccessPackageReceiver.java \ src/com/android/documentsui/ScopedAccessMetrics.java \ src/com/android/documentsui/archives/Archive.java \ Loading
AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ </activity-alias> <activity android:name=".OpenExternalDirectoryActivity" android:name=".ScopedAccessActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" /> Loading @@ -133,6 +133,13 @@ </intent-filter> </activity> <provider android:name=".ScopedAccessProvider" android:authorities="com.android.documentsui.scopedAccess" android:permission="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" android:exported="true"> </provider> <provider android:name=".picker.LastAccessedProvider" android:authorities="com.android.documentsui.lastAccessed" Loading
minimal/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ android:fullBackupOnly="false"> <activity android:name=".OpenExternalDirectoryActivity" android:name=".ScopedAccessActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" /> Loading @@ -47,5 +47,12 @@ </intent-filter> </receiver> <provider android:name=".ScopedAccessProvider" android:authorities="com.android.documentsui.scopedAccess" android:permission="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" android:exported="true"> </provider> </application> </manifest>
src/com/android/documentsui/OpenExternalDirectoryActivity.java→src/com/android/documentsui/ScopedAccessActivity.java +12 −13 Original line number Diff line number Diff line Loading @@ -75,10 +75,10 @@ import java.io.IOException; import java.util.List; /** * Activity responsible for handling {@link Intent#ACTION_OPEN_EXTERNAL_DOCUMENT}. * Activity responsible for handling {@link StorageVolume#createAccessIntent(String)}. */ public class OpenExternalDirectoryActivity extends Activity { private static final String TAG = "OpenExternalDirectory"; public class ScopedAccessActivity extends Activity { private static final String TAG = "ScopedAccessActivity"; private static final String FM_TAG = "open_external_directory"; private static final String EXTRA_FILE = "com.android.documentsui.FILE"; private static final String EXTRA_APP_LABEL = "com.android.documentsui.APP_LABEL"; Loading Loading @@ -151,7 +151,7 @@ public class OpenExternalDirectoryActivity extends Activity { * Validates the given path (volume + directory) and display the appropriate dialog asking the * user to grant access to it. */ private static boolean showFragment(OpenExternalDirectoryActivity activity, int userId, private static boolean showFragment(ScopedAccessActivity activity, int userId, StorageVolume storageVolume, String directoryName) { if (DEBUG) Log.d(TAG, "showFragment() for volume " + storageVolume.dump() + ", directory " Loading Loading @@ -228,7 +228,7 @@ public class OpenExternalDirectoryActivity extends Activity { } // Checks if the user has granted the permission already. final Intent intent = getIntentForExistingPermission(activity, isRoot, internalRoot, file); final Intent intent = getIntentForExistingPermission(activity, internalRoot, file); if (intent != null) { logValidScopedAccessRequest(activity, directory, SCOPED_DIRECTORY_ACCESS_ALREADY_GRANTED); Loading Loading @@ -261,8 +261,7 @@ public class OpenExternalDirectoryActivity extends Activity { final FragmentManager fm = activity.getFragmentManager(); final FragmentTransaction ft = fm.beginTransaction(); final OpenExternalDirectoryDialogFragment fragment = new OpenExternalDirectoryDialogFragment(); final ScopedAccessDialogFragment fragment = new ScopedAccessDialogFragment(); fragment.setArguments(args); ft.add(fragment, FM_TAG); ft.commitAllowingStateLoss(); Loading Loading @@ -341,8 +340,8 @@ public class OpenExternalDirectoryActivity extends Activity { return intent; } private static Intent getIntentForExistingPermission(OpenExternalDirectoryActivity activity, boolean isRoot, File root, File file) { private static Intent getIntentForExistingPermission(ScopedAccessActivity activity, File root, File file) { final String packageName = activity.getCallingPackage(); final ContentProviderClient storageClient = activity.getExternalStorageClient(); final Uri grantedUri = getGrantedUriPermission(activity, storageClient, file); Loading @@ -369,7 +368,7 @@ public class OpenExternalDirectoryActivity extends Activity { return null; } public static class OpenExternalDirectoryDialogFragment extends DialogFragment { public static class ScopedAccessDialogFragment extends DialogFragment { private File mFile; private String mVolumeUuid; Loading @@ -378,7 +377,7 @@ public class OpenExternalDirectoryActivity extends Activity { private boolean mIsRoot; private boolean mIsPrimary; private CheckBox mDontAskAgain; private OpenExternalDirectoryActivity mActivity; private ScopedAccessActivity mActivity; private AlertDialog mDialog; @Override Loading @@ -394,7 +393,7 @@ public class OpenExternalDirectoryActivity extends Activity { mIsRoot = args.getBoolean(EXTRA_IS_ROOT); mIsPrimary= args.getBoolean(EXTRA_IS_PRIMARY); } mActivity = (OpenExternalDirectoryActivity) getActivity(); mActivity = (ScopedAccessActivity) getActivity(); } @Override Loading @@ -416,7 +415,7 @@ public class OpenExternalDirectoryActivity extends Activity { // Sanity check. Log.wtf(TAG, "activity references don't match on onCreateDialog(): mActivity = " + mActivity + " , getActivity() = " + getActivity()); mActivity = (OpenExternalDirectoryActivity) getActivity(); mActivity = (ScopedAccessActivity) getActivity(); } final String directory = mFile.getName(); final String directoryName = mIsRoot ? DIRECTORY_ROOT : directory; Loading
src/com/android/documentsui/ScopedAccessMetrics.java +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ public final class ScopedAccessMetrics { public static void logValidScopedAccessRequest(Activity activity, String directory, @ScopedAccessGrant int type) { int index = -1; if (OpenExternalDirectoryActivity.DIRECTORY_ROOT.equals(directory)) { if (ScopedAccessActivity.DIRECTORY_ROOT.equals(directory)) { index = -2; } else { for (int i = 0; i < STANDARD_DIRECTORIES.length; i++) { Loading