Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1aff9c72 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

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
parent 7e253faf
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -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
        }
    }

+4 −3
Original line number Diff line number Diff line
@@ -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<String> needAccessApps =
                ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
        if (!needAccessApps.contains(mPackageName)) {
            return false;
        }
        if (needAccessApps.contains(mPackageName)) {
            updatePreference(context, findPreference(SWITCH_PREF_KEY));
        } else {
            finish();
        }
        return true;
    }