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

Commit 0c9dd5b9 authored by Rubin Xu's avatar Rubin Xu
Browse files

Clear caller identity when calling createConfirmDeviceCredentialIntent

Bug: 27893870
Change-Id: I9edcd170432f8a2bd852a5fa78ab868201093dcf
parent 36712853
Loading
Loading
Loading
Loading
+17 −16
Original line number Diff line number Diff line
@@ -596,16 +596,13 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
        }
        final boolean showBadge;
        final Intent onClickIntent;
        if (provider.maskedBySuspendedPackage) {
        final long identity = Binder.clearCallingIdentity();
        try {
            if (provider.maskedBySuspendedPackage) {
                UserInfo userInfo = mUserManager.getUserInfo(providerUserId);
                showBadge = userInfo.isManagedProfile();
                onClickIntent = mDevicePolicyManagerInternal.createPackageSuspendedDialogIntent(
                        providerPackage, providerUserId);
            } finally {
                Binder.restoreCallingIdentity(identity);
            }
            } else if (provider.maskedByQuietProfile) {
                showBadge = true;
                onClickIntent = UnlaunchableAppActivity.createInQuietModeDialogIntent(
@@ -615,8 +612,12 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
                onClickIntent = mKeyguardManager.createConfirmDeviceCredentialIntent(null, null,
                        providerUserId);
                if (onClickIntent != null) {
                onClickIntent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
                    onClickIntent.setFlags(FLAG_ACTIVITY_NEW_TASK
                            | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
                }
            }
        } finally {
            Binder.restoreCallingIdentity(identity);
        }

        for (int j = 0; j < widgetCount; j++) {