From e8ffc29f7fa67a607553b4cb7512887845f4af82 Mon Sep 17 00:00:00 2001 From: HJ ChangLiao Date: Thu, 15 Mar 2018 13:51:50 +0800 Subject: [PATCH] Remove ops preference from specific app Remve below preference in Settings>Apps>Specific app: Display over apps screen> App display on top permisson Usage access> App usage preferences Modify system settings> App modify system settings permission Change-Id: Ib4128e563b0e2739c16136694ce24182f0da6626 Fixes: 72737995 Test: Manual test --- res/values/strings.xml | 4 ---- res/xml/app_ops_permissions_details.xml | 3 --- res/xml/draw_overlay_permissions_details.xml | 4 ---- ...te_system_settings_permissions_details.xml | 4 ---- .../applications/UsageAccessDetails.java | 23 ------------------- .../appinfo/DrawOverlayDetails.java | 21 ----------------- .../appinfo/WriteSettingsDetails.java | 20 ---------------- 7 files changed, 79 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 978c2947faf..2f20e5eda1c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8342,8 +8342,6 @@ Display over other apps Allow display over other apps - - App display on top permission Allow this app to display on top of other apps you\u2019re using. It may interfere with your use of those apps or change the way they seem to appear or behave. @@ -8385,8 +8383,6 @@ Can modify system settings Modify system settings - - App modify system settings permission Allow modifying system settings diff --git a/res/xml/app_ops_permissions_details.xml b/res/xml/app_ops_permissions_details.xml index 743090f1b7a..cb8711cb09a 100644 --- a/res/xml/app_ops_permissions_details.xml +++ b/res/xml/app_ops_permissions_details.xml @@ -20,9 +20,6 @@ - - diff --git a/res/xml/draw_overlay_permissions_details.xml b/res/xml/draw_overlay_permissions_details.xml index 699086fb84b..3e7bec590bb 100644 --- a/res/xml/draw_overlay_permissions_details.xml +++ b/res/xml/draw_overlay_permissions_details.xml @@ -22,10 +22,6 @@ android:key="app_ops_settings_switch" android:title="@string/permit_draw_overlay"/> - - diff --git a/res/xml/write_system_settings_permissions_details.xml b/res/xml/write_system_settings_permissions_details.xml index 39d6983353d..82a6931592c 100644 --- a/res/xml/write_system_settings_permissions_details.xml +++ b/res/xml/write_system_settings_permissions_details.xml @@ -22,10 +22,6 @@ android:key="app_ops_settings_switch" android:title="@string/permit_write_settings"/> - - diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java index c172137664b..fdb20c95359 100644 --- a/src/com/android/settings/applications/UsageAccessDetails.java +++ b/src/com/android/settings/applications/UsageAccessDetails.java @@ -45,7 +45,6 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc private static final String KEY_APP_OPS_PREFERENCE_SCREEN = "app_ops_preference_screen"; private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch"; - private static final String KEY_APP_OPS_SETTINGS_PREFS = "app_ops_settings_preference"; private static final String KEY_APP_OPS_SETTINGS_DESC = "app_ops_settings_description"; // Use a bridge to get the usage stats but don't initialize it to connect with all state. @@ -53,7 +52,6 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc private AppStateUsageBridge mUsageBridge; private AppOpsManager mAppOpsManager; private SwitchPreference mSwitchPref; - private Preference mUsagePrefs; private Preference mUsageDesc; private Intent mSettingsIntent; private UsageState mUsageState; @@ -70,16 +68,13 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc addPreferencesFromResource(R.xml.app_ops_permissions_details); mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH); - mUsagePrefs = findPreference(KEY_APP_OPS_SETTINGS_PREFS); mUsageDesc = findPreference(KEY_APP_OPS_SETTINGS_DESC); getPreferenceScreen().setTitle(R.string.usage_access); mSwitchPref.setTitle(R.string.permit_usage_access); - mUsagePrefs.setTitle(R.string.app_usage_preference); mUsageDesc.setSummary(R.string.usage_access_description); mSwitchPref.setOnPreferenceChangeListener(this); - mUsagePrefs.setOnPreferenceClickListener(this); mSettingsIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Settings.INTENT_CATEGORY_USAGE_ACCESS_CONFIG) @@ -88,16 +83,6 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc @Override public boolean onPreferenceClick(Preference preference) { - if (preference == mUsagePrefs) { - if (mSettingsIntent != null) { - try { - getActivity().startActivityAsUser(mSettingsIntent, new UserHandle(mUserId)); - } catch (ActivityNotFoundException e) { - Log.w(TAG, "Unable to launch app usage access settings " + mSettingsIntent, e); - } - } - return true; - } return false; } @@ -150,14 +135,10 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc boolean hasAccess = mUsageState.isPermissible(); mSwitchPref.setChecked(hasAccess); mSwitchPref.setEnabled(mUsageState.permissionDeclared); - mUsagePrefs.setEnabled(hasAccess); ResolveInfo resolveInfo = mPm.resolveActivityAsUser(mSettingsIntent, PackageManager.GET_META_DATA, mUserId); if (resolveInfo != null) { - if (findPreference(KEY_APP_OPS_SETTINGS_PREFS) == null) { - getPreferenceScreen().addPreference(mUsagePrefs); - } Bundle metaData = resolveInfo.activityInfo.metaData; mSettingsIntent.setComponent(new ComponentName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name)); @@ -166,10 +147,6 @@ public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenc mSwitchPref.setSummary( metaData.getString(Settings.METADATA_USAGE_ACCESS_REASON)); } - } else { - if (findPreference(KEY_APP_OPS_SETTINGS_PREFS) != null) { - getPreferenceScreen().removePreference(mUsagePrefs); - } } return true; diff --git a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java index 5cdc47e2fef..bff6669fb1d 100644 --- a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java +++ b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java @@ -49,7 +49,6 @@ public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenc OnPreferenceClickListener { private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch"; - private static final String KEY_APP_OPS_SETTINGS_PREFS = "app_ops_settings_preference"; private static final String LOG_TAG = "DrawOverlayDetails"; private static final int [] APP_OPS_OP_CODE = { @@ -61,7 +60,6 @@ public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenc private AppStateOverlayBridge mOverlayBridge; private AppOpsManager mAppOpsManager; private SwitchPreference mSwitchPref; - private Preference mOverlayPrefs; private Intent mSettingsIntent; private OverlayState mOverlayState; @@ -76,11 +74,9 @@ public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenc // find preferences addPreferencesFromResource(R.xml.draw_overlay_permissions_details); mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH); - mOverlayPrefs = findPreference(KEY_APP_OPS_SETTINGS_PREFS); // install event listeners mSwitchPref.setOnPreferenceChangeListener(this); - mOverlayPrefs.setOnPreferenceClickListener(this); mSettingsIntent = new Intent(Intent.ACTION_MAIN) .setAction(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); @@ -109,17 +105,6 @@ public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenc @Override public boolean onPreferenceClick(Preference preference) { - if (preference == mOverlayPrefs) { - if (mSettingsIntent != null) { - try { - getActivity().startActivityAsUser(mSettingsIntent, new UserHandle(mUserId)); - } catch (ActivityNotFoundException e) { - Log.w(LOG_TAG, "Unable to launch app draw overlay settings " + mSettingsIntent, - e); - } - } - return true; - } return false; } @@ -159,15 +144,9 @@ public class DrawOverlayDetails extends AppInfoWithHeader implements OnPreferenc mSwitchPref.setChecked(isAllowed); // you cannot ask a user to grant you a permission you did not have! mSwitchPref.setEnabled(mOverlayState.permissionDeclared && mOverlayState.controlEnabled); - mOverlayPrefs.setEnabled(isAllowed); ResolveInfo resolveInfo = mPm.resolveActivityAsUser(mSettingsIntent, PackageManager.GET_META_DATA, mUserId); - if (resolveInfo == null) { - if (findPreference(KEY_APP_OPS_SETTINGS_PREFS) != null) { - getPreferenceScreen().removePreference(mOverlayPrefs); - } - } return true; } diff --git a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java index a65de32efc2..b77fbcb8213 100644 --- a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java +++ b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java @@ -45,7 +45,6 @@ public class WriteSettingsDetails extends AppInfoWithHeader implements OnPrefere private static final String KEY_APP_OPS_PREFERENCE_SCREEN = "app_ops_preference_screen"; private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch"; - private static final String KEY_APP_OPS_SETTINGS_PREFS = "app_ops_settings_preference"; private static final String LOG_TAG = "WriteSettingsDetails"; private static final int [] APP_OPS_OP_CODE = { @@ -57,7 +56,6 @@ public class WriteSettingsDetails extends AppInfoWithHeader implements OnPrefere private AppStateWriteSettingsBridge mAppBridge; private AppOpsManager mAppOpsManager; private SwitchPreference mSwitchPref; - private Preference mWriteSettingsPrefs; private Intent mSettingsIntent; private WriteSettingsState mWriteSettingsState; @@ -71,10 +69,8 @@ public class WriteSettingsDetails extends AppInfoWithHeader implements OnPrefere addPreferencesFromResource(R.xml.write_system_settings_permissions_details); mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH); - mWriteSettingsPrefs = findPreference(KEY_APP_OPS_SETTINGS_PREFS); mSwitchPref.setOnPreferenceChangeListener(this); - mWriteSettingsPrefs.setOnPreferenceClickListener(this); mSettingsIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Settings.INTENT_CATEGORY_USAGE_ACCESS_CONFIG) @@ -83,16 +79,6 @@ public class WriteSettingsDetails extends AppInfoWithHeader implements OnPrefere @Override public boolean onPreferenceClick(Preference preference) { - if (preference == mWriteSettingsPrefs) { - if (mSettingsIntent != null) { - try { - getActivity().startActivityAsUser(mSettingsIntent, new UserHandle(mUserId)); - } catch (ActivityNotFoundException e) { - Log.w(LOG_TAG, "Unable to launch write system settings " + mSettingsIntent, e); - } - } - return true; - } return false; } @@ -142,15 +128,9 @@ public class WriteSettingsDetails extends AppInfoWithHeader implements OnPrefere mSwitchPref.setChecked(canWrite); // you can't ask a user for a permission you didn't even declare! mSwitchPref.setEnabled(mWriteSettingsState.permissionDeclared); - mWriteSettingsPrefs.setEnabled(canWrite); ResolveInfo resolveInfo = mPm.resolveActivityAsUser(mSettingsIntent, PackageManager.GET_META_DATA, mUserId); - if (resolveInfo == null) { - if (getPreferenceScreen().findPreference(KEY_APP_OPS_SETTINGS_PREFS) != null) { - getPreferenceScreen().removePreference(mWriteSettingsPrefs); - } - } return true; }