diff options
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java | 59 |
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)) { |