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

Commit 9f5fde63 authored by Sudheer Shanka's avatar Sudheer Shanka Committed by android-build-merger
Browse files

Merge "Avoid showing DeviceAdminAdd screen in the background of support dialog." into nyc-dev

am: 41dde76a

* commit '41dde76a':
  Avoid showing DeviceAdminAdd screen in the background of support dialog.

Change-Id: I0bcae090f9e91b4e67356a42fb64213c7370d3be
parents b196bb89 41dde76a
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -82,6 +82,9 @@ public class DeviceAdminAdd extends Activity {
    public static final String EXTRA_DEVICE_ADMIN_PACKAGE_NAME =
            "android.app.extra.DEVICE_ADMIN_PACKAGE_NAME";

    public static final String EXTRA_CALLED_FROM_SUPPORT_DIALOG =
            "android.app.extra.CALLED_FROM_SUPPORT_DIALOG";

    Handler mHandler;

    DevicePolicyManager mDPM;
@@ -113,6 +116,8 @@ public class DeviceAdminAdd extends Activity {
    int mCurSysAppOpMode;
    int mCurToastAppOpMode;

    boolean mIsCalledFromSupportDialog = false;

    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
@@ -129,6 +134,8 @@ public class DeviceAdminAdd extends Activity {
            return;
        }

        mIsCalledFromSupportDialog = getIntent().getBooleanExtra(
                EXTRA_CALLED_FROM_SUPPORT_DIALOG, false);

        String action = getIntent().getAction();
        ComponentName who = (ComponentName)getIntent().getParcelableExtra(
@@ -458,6 +465,18 @@ public class DeviceAdminAdd extends Activity {
        }
    }

    @Override
    protected void onUserLeaveHint() {
        super.onUserLeaveHint();
        // In case this is triggered from support dialog, finish this activity once the user leaves
        // so that this won't appear as a background next time support dialog is triggered. This
        // is because the support dialog activity and this belong to the same task and we can't
        // start this in new activity since we need to know the calling package in this activity.
        if (mIsCalledFromSupportDialog) {
            finish();
        }
    }

    @Override
    protected Dialog onCreateDialog(int id, Bundle args) {
        switch (id) {
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ public class ShowAdminSupportDetailsDialog extends Activity
                            intent.setClass(activity, DeviceAdminAdd.class);
                            intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
                                    enforcedAdmin.component);
                            intent.putExtra(DeviceAdminAdd.EXTRA_CALLED_FROM_SUPPORT_DIALOG, true);
                            // DeviceAdminAdd class may need to run as managed profile.
                            activity.startActivityAsUser(intent,
                                    new UserHandle(enforcedAdmin.userId));