Add activities to handle external storage intents

Adds 2 activities with the appropriate intent-filters to handle intents
used to control OP_MANAGE_EXTERNAL_STORAGE:
* Generic activity to handle ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
  which control all apps (that request MANAGE_EXTERNAL_STORAGE).
* App specific activity to handle
  ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION. The intent filter
  expects the name of the package as data in the intent.

Test: manual
Bug: 146425146
Change-Id: Iebc7d153eac6ffe0b9bd75196bc8ecf9cb687939
This commit is contained in:
shafik
2020-01-08 18:03:22 +00:00
parent ef47d9a045
commit a54d7a8f4a
3 changed files with 29 additions and 0 deletions

View File

@@ -2842,6 +2842,32 @@
</intent-filter>
</activity>
<activity
android:name="Settings$ManageExternalStorageActivity"
android:label="@string/manage_external_storage_title">
<intent-filter android:priority="1">
<action android:name="android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.applications.manageapplications.ManageApplications" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<activity
android:name="Settings$AppManageExternalStorageActivity"
android:label="@string/manage_external_storage_title"
android:permission="android.permission.MANAGE_EXTERNAL_STORAGE">
<intent-filter android:priority="1">
<action android:name="android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.applications.appinfo.ManageExternalStorageDetails" />
</activity>
<!-- Keep compatibility with old WebView-picker implementation -->
<activity-alias android:name=".WebViewImplementation"
android:targetActivity="Settings$WebViewAppPickerActivity"

View File

@@ -139,6 +139,7 @@ public class Settings extends SettingsActivity {
public static class AppMemoryUsageActivity extends SettingsActivity { /* empty */ }
public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageExternalStorageActivity extends SettingsActivity { /* empty */ }
public static class AppManageExternalStorageActivity extends SettingsActivity { /* empty */ }
public static class WriteSettingsActivity extends SettingsActivity { /* empty */ }
public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ }
public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ }

View File

@@ -39,6 +39,7 @@ import com.android.settings.applications.UsageAccessDetails;
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
import com.android.settings.applications.appinfo.DrawOverlayDetails;
import com.android.settings.applications.appinfo.ExternalSourcesDetails;
import com.android.settings.applications.appinfo.ManageExternalStorageDetails;
import com.android.settings.applications.appinfo.WriteSettingsDetails;
import com.android.settings.applications.appops.BackgroundCheckSummary;
import com.android.settings.applications.assist.ManageAssist;
@@ -256,6 +257,7 @@ public class SettingsGateway {
DrawOverlayDetails.class.getName(),
WriteSettingsDetails.class.getName(),
ExternalSourcesDetails.class.getName(),
ManageExternalStorageDetails.class.getName(),
WallpaperTypeSettings.class.getName(),
VrListenerSettings.class.getName(),
PictureInPictureSettings.class.getName(),