summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java59
1 files changed, 31 insertions, 28 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
index afeb19aa9..4cd595b55 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
@@ -31,7 +31,7 @@ import static com.android.permissioncontroller.PermissionControllerStatsLog.PERM
import static com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_USAGE_FRAGMENT_INTERACTION__ACTION__OPEN;
import android.Manifest;
-import android.app.ActionBar;
+import android.annotation.TargetApi;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -71,14 +71,16 @@ import com.android.permissioncontroller.permission.ui.auto.dashboard.AutoPermiss
import com.android.permissioncontroller.permission.ui.auto.dashboard.AutoPermissionUsageFragment;
import com.android.permissioncontroller.permission.ui.handheld.AppPermissionFragment;
import com.android.permissioncontroller.permission.ui.handheld.AppPermissionGroupsFragment;
-import com.android.permissioncontroller.permission.ui.handheld.HandheldUnusedAppsWrapperFragment;
import com.android.permissioncontroller.permission.ui.handheld.PermissionAppsFragment;
import com.android.permissioncontroller.permission.ui.handheld.v31.PermissionDetailsWrapperFragment;
import com.android.permissioncontroller.permission.ui.handheld.v31.PermissionUsageWrapperFragment;
import com.android.permissioncontroller.permission.ui.handheld.v34.AppDataSharingUpdatesFragment;
import com.android.permissioncontroller.permission.ui.legacy.AppPermissionActivity;
import com.android.permissioncontroller.permission.ui.television.TvUnusedAppsFragment;
-import com.android.permissioncontroller.permission.ui.wear.AppPermissionsFragmentWear;
+import com.android.permissioncontroller.permission.ui.wear.WearAppPermissionFragment;
+import com.android.permissioncontroller.permission.ui.wear.WearPermissionUsageDetailsFragment;
+import com.android.permissioncontroller.permission.ui.wear.WearPermissionUsageFragment;
+import com.android.permissioncontroller.permission.ui.wear.WearUnusedAppsFragment;
import com.android.permissioncontroller.permission.utils.KotlinUtils;
import com.android.permissioncontroller.permission.utils.PermissionMapping;
import com.android.permissioncontroller.permission.utils.Utils;
@@ -138,11 +140,12 @@ public final class ManagePermissionsActivity extends SettingsActivity {
*/
private static final int PROXY_ACTIVITY_REQUEST_CODE = 5;
+ @TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
private static final String LAUNCH_PERMISSION_SETTINGS =
- "android.permission.LAUNCH_PERMISSION_SETTINGS";
+ Manifest.permission.LAUNCH_PERMISSION_SETTINGS;
- private static final String APP_PERMISSIONS_SETTINGS =
- "android.settings.APP_PERMISSIONS_SETTINGS";
+ @TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
+ private static final String APP_PERMISSIONS_SETTINGS = Settings.ACTION_APP_PERMISSIONS_SETTINGS;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -153,10 +156,10 @@ public final class ManagePermissionsActivity extends SettingsActivity {
}
super.onCreate(savedInstanceState);
- // If this is not a phone (which uses the Navigation component), and there is a previous
- // instance, re-use its Fragment instead of making a new one.
- if ((DeviceUtils.isTelevision(this) || DeviceUtils.isAuto(this)
- || DeviceUtils.isWear(this)) && savedInstanceState != null) {
+ // If this is not a phone or a watch (which uses the Navigation component), and there
+ // is a previous instance, re-use its Fragment instead of making a new one.
+ if ((DeviceUtils.isTelevision(this) || DeviceUtils.isAuto(this))
+ && savedInstanceState != null) {
return;
}
@@ -228,6 +231,8 @@ public final class ManagePermissionsActivity extends SettingsActivity {
PERMISSION_USAGE_FRAGMENT_INTERACTION__ACTION__OPEN);
if (DeviceUtils.isAuto(this)) {
androidXFragment = new AutoPermissionUsageFragment();
+ } else if (DeviceUtils.isWear(this)) {
+ androidXFragment = WearPermissionUsageFragment.newInstance(sessionId);
} else {
androidXFragment = PermissionUsageWrapperFragment.newInstance(
Long.MAX_VALUE, sessionId);
@@ -249,6 +254,9 @@ public final class ManagePermissionsActivity extends SettingsActivity {
if (DeviceUtils.isAuto(this)) {
androidXFragment = AutoPermissionUsageDetailsFragment.Companion.newInstance(
groupName, showSystem, sessionId);
+ } else if (DeviceUtils.isWear(this)) {
+ androidXFragment = WearPermissionUsageDetailsFragment
+ .newInstance(groupName, showSystem, show7Days);
} else {
androidXFragment = PermissionDetailsWrapperFragment
.newInstance(groupName, Long.MAX_VALUE, showSystem, sessionId,
@@ -258,8 +266,7 @@ public final class ManagePermissionsActivity extends SettingsActivity {
}
case Intent.ACTION_MANAGE_APP_PERMISSION: {
- if (DeviceUtils.isAuto(this) || DeviceUtils.isTelevision(this)
- || DeviceUtils.isWear(this)) {
+ if (DeviceUtils.isAuto(this) || DeviceUtils.isTelevision(this)) {
Intent compatIntent = new Intent(this, AppPermissionActivity.class);
compatIntent.putExtras(getIntent().getExtras());
startActivityForResult(compatIntent, PROXY_ACTIVITY_REQUEST_CODE);
@@ -297,15 +304,22 @@ public final class ManagePermissionsActivity extends SettingsActivity {
return;
}
- Bundle args = AppPermissionFragment.createArgs(packageName, permissionName,
- groupName, userHandle, caller, sessionId, null);
+ Bundle args;
+ if (DeviceUtils.isWear(this)) {
+ args = WearAppPermissionFragment.createArgs(packageName, permissionName,
+ groupName, userHandle, caller, sessionId, null);
+ } else {
+ args = AppPermissionFragment.createArgs(packageName, permissionName,
+ groupName, userHandle, caller, sessionId, null);
+ }
setNavGraph(args, R.id.app_permission);
return;
}
case Intent.ACTION_MANAGE_APP_PERMISSIONS:
case APP_PERMISSIONS_SETTINGS: {
- if (Objects.equals(action, APP_PERMISSIONS_SETTINGS)) {
+ if (!SdkLevel.isAtLeastV()
+ && Objects.equals(action, APP_PERMISSIONS_SETTINGS)) {
PermissionInfo permissionInfo;
try {
permissionInfo = getPackageManager()
@@ -374,8 +388,6 @@ public final class ManagePermissionsActivity extends SettingsActivity {
androidXFragment = AutoAppPermissionsFragment.newInstance(packageName,
userHandle, sessionId, /* isSystemPermsScreen= */ true);
}
- } else if (DeviceUtils.isWear(this)) {
- androidXFragment = AppPermissionsFragmentWear.newInstance(packageName);
} else if (DeviceUtils.isTelevision(this)) {
androidXFragment = com.android.permissioncontroller.permission.ui.television
.AppPermissionsFragment.newInstance(packageName, userHandle);
@@ -473,8 +485,8 @@ public final class ManagePermissionsActivity extends SettingsActivity {
androidXFragment = TvUnusedAppsFragment.newInstance();
androidXFragment.setArguments(UnusedAppsFragment.createArgs(sessionId));
} else if (DeviceUtils.isWear(this)) {
- androidXFragment = HandheldUnusedAppsWrapperFragment.newInstance();
- androidXFragment.setArguments(UnusedAppsFragment.createArgs(sessionId));
+ setNavGraph(WearUnusedAppsFragment.createArgs(sessionId), R.id.auto_revoke);
+ return;
} else {
setNavGraph(UnusedAppsFragment.createArgs(sessionId), R.id.auto_revoke);
return;
@@ -549,15 +561,6 @@ public final class ManagePermissionsActivity extends SettingsActivity {
}
@Override
- public ActionBar getActionBar() {
- ActionBar ab = super.getActionBar();
- if (ab != null) {
- ab.setHomeActionContentDescription(R.string.back);
- }
- return ab;
- }
-
- @Override
public boolean onOptionsItemSelected(MenuItem item) {
// in automotive mode, there's no system wide back button, so need to add that
if (DeviceUtils.isAuto(this)) {