Search in sources :

Example 6 with KeyguardManager

use of android.app.KeyguardManager in project android_frameworks_base by AOSPA.

the class LockSettingsService method showEncryptionNotificationForProfile.

private void showEncryptionNotificationForProfile(UserHandle user) {
    Resources r = mContext.getResources();
    CharSequence title = r.getText(com.android.internal.R.string.user_encrypted_title);
    CharSequence message = r.getText(com.android.internal.R.string.profile_encrypted_message);
    CharSequence detail = r.getText(com.android.internal.R.string.profile_encrypted_detail);
    final KeyguardManager km = (KeyguardManager) mContext.getSystemService(KEYGUARD_SERVICE);
    final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, user.getIdentifier());
    if (unlockIntent == null) {
        return;
    }
    unlockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
    PendingIntent intent = PendingIntent.getActivity(mContext, 0, unlockIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    showEncryptionNotification(user, title, message, detail, intent);
}
Also used : PendingIntent(android.app.PendingIntent) Intent(android.content.Intent) Resources(android.content.res.Resources) PendingIntent(android.app.PendingIntent) KeyguardManager(android.app.KeyguardManager)

Example 7 with KeyguardManager

use of android.app.KeyguardManager in project android_frameworks_base by ResurrectionRemix.

the class ActivityStarter method showConfirmDeviceCredential.

void showConfirmDeviceCredential(int userId) {
    // First, retrieve the stack that we want to resume after credential is confirmed.
    ActivityStack targetStack;
    ActivityStack fullscreenStack = mSupervisor.getStack(FULLSCREEN_WORKSPACE_STACK_ID);
    ActivityStack freeformStack = mSupervisor.getStack(FREEFORM_WORKSPACE_STACK_ID);
    if (fullscreenStack != null && fullscreenStack.getStackVisibilityLocked(null) != ActivityStack.STACK_INVISIBLE) {
        // Single window case and the case that the docked stack is shown with fullscreen stack.
        targetStack = fullscreenStack;
    } else if (freeformStack != null && freeformStack.getStackVisibilityLocked(null) != ActivityStack.STACK_INVISIBLE) {
        targetStack = freeformStack;
    } else {
        // The case that the docked stack is shown with recent.
        targetStack = mSupervisor.getStack(HOME_STACK_ID);
    }
    if (targetStack == null) {
        return;
    }
    final KeyguardManager km = (KeyguardManager) mService.mContext.getSystemService(Context.KEYGUARD_SERVICE);
    final Intent credential = km.createConfirmDeviceCredentialIntent(null, null, userId);
    // For safety, check null here in case users changed the setting after the checking.
    if (credential == null) {
        return;
    }
    final ActivityRecord activityRecord = targetStack.topRunningActivityLocked();
    if (activityRecord != null) {
        final IIntentSender target = mService.getIntentSenderLocked(ActivityManager.INTENT_SENDER_ACTIVITY, activityRecord.launchedFromPackage, activityRecord.launchedFromUid, activityRecord.userId, null, null, 0, new Intent[] { activityRecord.intent }, new String[] { activityRecord.resolvedType }, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE, null);
        credential.putExtra(Intent.EXTRA_INTENT, new IntentSender(target));
        // Show confirm credentials activity.
        startConfirmCredentialIntent(credential);
    }
}
Also used : IIntentSender(android.content.IIntentSender) PendingIntent(android.app.PendingIntent) Intent(android.content.Intent) IntentSender(android.content.IntentSender) IIntentSender(android.content.IIntentSender) KeyguardManager(android.app.KeyguardManager)

Example 8 with KeyguardManager

use of android.app.KeyguardManager in project android_frameworks_base by ResurrectionRemix.

the class ConnectivityManagerTestBase method turnScreenOn.

// Turn screen on
protected void turnScreenOn() {
    logv("Turn screen on");
    PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
    pm.wakeUp(SystemClock.uptimeMillis());
    // disable lock screen
    KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
    if (km.inKeyguardRestrictedInputMode()) {
        sendKeys(KeyEvent.KEYCODE_MENU);
    }
}
Also used : PowerManager(android.os.PowerManager) KeyguardManager(android.app.KeyguardManager)

Example 9 with KeyguardManager

use of android.app.KeyguardManager in project android_frameworks_base by ResurrectionRemix.

the class UserManagerService method trySetQuietModeDisabled.

@Override
public boolean trySetQuietModeDisabled(int userHandle, IntentSender target) {
    checkManageUsersPermission("silence profile");
    if (StorageManager.isUserKeyUnlocked(userHandle) || !mLockPatternUtils.isSecure(userHandle)) {
        // if the user is already unlocked, no need to show a profile challenge
        setQuietModeEnabled(userHandle, false);
        return true;
    }
    long identity = Binder.clearCallingIdentity();
    try {
        // otherwise, we show a profile challenge to trigger decryption of the user
        final KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
        // We should use userHandle not credentialOwnerUserId here, as even if it is unified
        // lock, confirm screenlock page will know and show personal challenge, and unlock
        // work profile when personal challenge is correct
        final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, userHandle);
        if (unlockIntent == null) {
            return false;
        }
        final Intent callBackIntent = new Intent(ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK);
        if (target != null) {
            callBackIntent.putExtra(Intent.EXTRA_INTENT, target);
        }
        callBackIntent.putExtra(Intent.EXTRA_USER_ID, userHandle);
        callBackIntent.setPackage(mContext.getPackageName());
        callBackIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
        final PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, callBackIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
        // After unlocking the challenge, it will disable quiet mode and run the original
        // intentSender
        unlockIntent.putExtra(Intent.EXTRA_INTENT, pendingIntent.getIntentSender());
        unlockIntent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        mContext.startActivity(unlockIntent);
    } finally {
        Binder.restoreCallingIdentity(identity);
    }
    return false;
}
Also used : PendingIntent(android.app.PendingIntent) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) KeyguardManager(android.app.KeyguardManager)

Example 10 with KeyguardManager

use of android.app.KeyguardManager in project android_frameworks_base by ResurrectionRemix.

the class LockSettingsService method showEncryptionNotificationForProfile.

private void showEncryptionNotificationForProfile(UserHandle user) {
    Resources r = mContext.getResources();
    CharSequence title = r.getText(com.android.internal.R.string.user_encrypted_title);
    CharSequence message = r.getText(com.android.internal.R.string.profile_encrypted_message);
    CharSequence detail = r.getText(com.android.internal.R.string.profile_encrypted_detail);
    final KeyguardManager km = (KeyguardManager) mContext.getSystemService(KEYGUARD_SERVICE);
    final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, user.getIdentifier());
    if (unlockIntent == null) {
        return;
    }
    unlockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
    PendingIntent intent = PendingIntent.getActivity(mContext, 0, unlockIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    showEncryptionNotification(user, title, message, detail, intent);
}
Also used : PendingIntent(android.app.PendingIntent) Intent(android.content.Intent) Resources(android.content.res.Resources) PendingIntent(android.app.PendingIntent) KeyguardManager(android.app.KeyguardManager)

Aggregations

KeyguardManager (android.app.KeyguardManager)45 Intent (android.content.Intent)25 PendingIntent (android.app.PendingIntent)14 IIntentSender (android.content.IIntentSender)10 IntentSender (android.content.IntentSender)10 PowerManager (android.os.PowerManager)8 Resources (android.content.res.Resources)5 RemoteException (android.os.RemoteException)4 Context (android.content.Context)3 SuppressLint (android.annotation.SuppressLint)2 WindowManager (android.view.WindowManager)2 Activity (android.app.Activity)1 ActivityManager (android.app.ActivityManager)1 AlarmManager (android.app.AlarmManager)1 IActivityManager (android.app.IActivityManager)1 NotificationManager (android.app.NotificationManager)1 ActivityNotFoundException (android.content.ActivityNotFoundException)1 DialogInterface (android.content.DialogInterface)1 SensorManager (android.hardware.SensorManager)1 CameraAccessException (android.hardware.camera2.CameraAccessException)1