From 1aff9c726a73c79fb01c9bc35af83f198605bd59 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Fri, 24 Sep 2021 13:58:07 -0400 Subject: [PATCH] Always return the same result code in access screens Regardless if the target package exists or not. Test: Launch dnd and NLS screen with valid and invalid packages; ensure the result code is the same for both Bug: 195412179 Change-Id: I1bacd54c2971afb3733ca2f1462bcaabaada300b --- .../NotificationAccessDetails.java | 12 ++---------- .../specialaccess/zenaccess/ZenAccessDetails.java | 7 ++++--- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java index 9e03657883e..da25f17c138 100644 --- a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java +++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java @@ -173,7 +173,7 @@ public class NotificationAccessDetails extends DashboardFragment { getActivity(), UserManager.DISALLOW_APPS_CONTROL, mUserId); if (!refreshUi()) { - setIntentAndFinish(true /* appChanged */); + finish(); } Preference apps = getPreferenceScreen().findPreference( use(BridgedAppsLinkPreferenceController.class).getPreferenceKey()); @@ -197,14 +197,6 @@ public class NotificationAccessDetails extends DashboardFragment { } } - protected void setIntentAndFinish(boolean appChanged) { - Log.i(TAG, "appChanged=" + appChanged); - Intent intent = new Intent(); - intent.putExtra(ManageApplications.APP_CHG, appChanged); - SettingsActivity sa = (SettingsActivity) getActivity(); - sa.finishPreferencePanel(Activity.RESULT_OK, intent); - } - protected void retrieveAppEntry() { final Bundle args = getArguments(); mPackageName = (args != null) ? args.getString(ARG_PACKAGE_NAME) : null; @@ -228,7 +220,7 @@ public class NotificationAccessDetails extends DashboardFragment { PackageManager.GET_SIGNING_CERTIFICATES | PackageManager.GET_PERMISSIONS, mUserId); } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "Exception when retrieving package:" + mPackageName, e); + // oh well } } diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java index c608b5bf9a0..0a326c6629b 100644 --- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java +++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java @@ -53,10 +53,11 @@ public class ZenAccessDetails extends AppInfoWithHeader implements // If this app didn't declare this permission in their manifest, don't bother showing UI. final Set needAccessApps = ZenAccessController.getPackagesRequestingNotificationPolicyAccess(); - if (!needAccessApps.contains(mPackageName)) { - return false; + if (needAccessApps.contains(mPackageName)) { + updatePreference(context, findPreference(SWITCH_PREF_KEY)); + } else { + finish(); } - updatePreference(context, findPreference(SWITCH_PREF_KEY)); return true; }