Search in sources :

Example 1 with LockPatternUtils

use of com.android.internal.widget.LockPatternUtils in project platform_frameworks_base by android.

the class DatabaseHelper method upgradeLockPatternLocation.

private void upgradeLockPatternLocation(SQLiteDatabase db) {
    Cursor c = db.query(TABLE_SYSTEM, new String[] { "_id", "value" }, "name='lock_pattern'", null, null, null, null);
    if (c.getCount() > 0) {
        c.moveToFirst();
        String lockPattern = c.getString(1);
        if (!TextUtils.isEmpty(lockPattern)) {
            // Convert lock pattern
            try {
                LockPatternUtils lpu = new LockPatternUtils(mContext);
                List<LockPatternView.Cell> cellPattern = LockPatternUtils.stringToPattern(lockPattern);
                lpu.saveLockPattern(cellPattern, null, UserHandle.USER_SYSTEM);
            } catch (IllegalArgumentException e) {
            // Don't want corrupted lock pattern to hang the reboot process
            }
        }
        c.close();
        db.delete(TABLE_SYSTEM, "name='lock_pattern'", null);
    } else {
        c.close();
    }
}
Also used : LockPatternUtils(com.android.internal.widget.LockPatternUtils) Cursor(android.database.Cursor)

Example 2 with LockPatternUtils

use of com.android.internal.widget.LockPatternUtils in project platform_frameworks_base by android.

the class KeyguardBottomAreaView method onFinishInflate.

@Override
protected void onFinishInflate() {
    super.onFinishInflate();
    mLockPatternUtils = new LockPatternUtils(mContext);
    mPreviewContainer = (ViewGroup) findViewById(R.id.preview_container);
    mCameraImageView = (KeyguardAffordanceView) findViewById(R.id.camera_button);
    mLeftAffordanceView = (KeyguardAffordanceView) findViewById(R.id.left_button);
    mLockIcon = (LockIcon) findViewById(R.id.lock_icon);
    mIndicationText = (TextView) findViewById(R.id.keyguard_indication_text);
    watchForCameraPolicyChanges();
    updateCameraVisibility();
    mUnlockMethodCache = UnlockMethodCache.getInstance(getContext());
    mUnlockMethodCache.addListener(this);
    mLockIcon.update();
    setClipChildren(false);
    setClipToPadding(false);
    mPreviewInflater = new PreviewInflater(mContext, new LockPatternUtils(mContext));
    inflateCameraPreview();
    mLockIcon.setOnClickListener(this);
    mLockIcon.setOnLongClickListener(this);
    mCameraImageView.setOnClickListener(this);
    mLeftAffordanceView.setOnClickListener(this);
    initAccessibility();
}
Also used : PreviewInflater(com.android.systemui.statusbar.policy.PreviewInflater) LockPatternUtils(com.android.internal.widget.LockPatternUtils)

Example 3 with LockPatternUtils

use of com.android.internal.widget.LockPatternUtils in project platform_frameworks_base by android.

the class KeyguardAbsKeyInputView method onFinishInflate.

@Override
protected void onFinishInflate() {
    mLockPatternUtils = new LockPatternUtils(mContext);
    mSecurityMessageDisplay = KeyguardMessageArea.findSecurityMessageDisplay(this);
    mEcaView = findViewById(R.id.keyguard_selector_fade_container);
    EmergencyButton button = (EmergencyButton) findViewById(R.id.emergency_call_button);
    if (button != null) {
        button.setCallback(this);
    }
}
Also used : LockPatternUtils(com.android.internal.widget.LockPatternUtils)

Example 4 with LockPatternUtils

use of com.android.internal.widget.LockPatternUtils in project platform_frameworks_base by android.

the class KeyguardHostView method onFinishInflate.

@Override
protected void onFinishInflate() {
    mSecurityContainer = (KeyguardSecurityContainer) findViewById(R.id.keyguard_security_container);
    mLockPatternUtils = new LockPatternUtils(mContext);
    mSecurityContainer.setLockPatternUtils(mLockPatternUtils);
    mSecurityContainer.setSecurityCallback(this);
    mSecurityContainer.showPrimarySecurityScreen(false);
// mSecurityContainer.updateSecurityViews(false /* not bouncing */);
}
Also used : LockPatternUtils(com.android.internal.widget.LockPatternUtils)

Example 5 with LockPatternUtils

use of com.android.internal.widget.LockPatternUtils in project platform_frameworks_base by android.

the class RestrictedLockUtils method checkIfKeyguardFeaturesDisabled.

/**
     * Checks if keyguard features are disabled by policy.
     *
     * @param keyguardFeatures Could be any of keyguard features that can be
     * disabled by {@link android.app.admin.DevicePolicyManager#setKeyguardDisabledFeatures}.
     * @return EnforcedAdmin Object containing the enforced admin component and admin user details,
     * or {@code null} If the notification features are not disabled. If the restriction is set by
     * multiple admins, then the admin component will be set to {@code null} and userId to
     * {@link UserHandle#USER_NULL}.
     */
public static EnforcedAdmin checkIfKeyguardFeaturesDisabled(Context context, int keyguardFeatures, int userId) {
    final DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    if (dpm == null) {
        return null;
    }
    final UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
    LockPatternUtils lockPatternUtils = new LockPatternUtils(context);
    EnforcedAdmin enforcedAdmin = null;
    if (um.getUserInfo(userId).isManagedProfile()) {
        final List<ComponentName> admins = dpm.getActiveAdminsAsUser(userId);
        if (admins == null) {
            return null;
        }
        for (ComponentName admin : admins) {
            if ((dpm.getKeyguardDisabledFeatures(admin, userId) & keyguardFeatures) != 0) {
                if (enforcedAdmin == null) {
                    enforcedAdmin = new EnforcedAdmin(admin, userId);
                } else {
                    return EnforcedAdmin.MULTIPLE_ENFORCED_ADMIN;
                }
            }
        }
    } else {
        // user that do not use a separate work challenge.
        for (UserInfo userInfo : um.getProfiles(userId)) {
            final List<ComponentName> admins = dpm.getActiveAdminsAsUser(userInfo.id);
            if (admins == null) {
                continue;
            }
            final boolean isSeparateProfileChallengeEnabled = lockPatternUtils.isSeparateProfileChallengeEnabled(userInfo.id);
            for (ComponentName admin : admins) {
                if (!isSeparateProfileChallengeEnabled) {
                    if ((dpm.getKeyguardDisabledFeatures(admin, userInfo.id) & keyguardFeatures) != 0) {
                        if (enforcedAdmin == null) {
                            enforcedAdmin = new EnforcedAdmin(admin, userInfo.id);
                        } else {
                            return EnforcedAdmin.MULTIPLE_ENFORCED_ADMIN;
                        }
                        // has set policy on the parent admin.
                        continue;
                    }
                }
                if (userInfo.isManagedProfile()) {
                    // If userInfo.id is a managed profile, we also need to look at
                    // the policies set on the parent.
                    DevicePolicyManager parentDpm = dpm.getParentProfileInstance(userInfo);
                    if ((parentDpm.getKeyguardDisabledFeatures(admin, userInfo.id) & keyguardFeatures) != 0) {
                        if (enforcedAdmin == null) {
                            enforcedAdmin = new EnforcedAdmin(admin, userInfo.id);
                        } else {
                            return EnforcedAdmin.MULTIPLE_ENFORCED_ADMIN;
                        }
                    }
                }
            }
        }
    }
    return enforcedAdmin;
}
Also used : DevicePolicyManager(android.app.admin.DevicePolicyManager) UserManager(android.os.UserManager) LockPatternUtils(com.android.internal.widget.LockPatternUtils) ComponentName(android.content.ComponentName) UserInfo(android.content.pm.UserInfo)

Aggregations

LockPatternUtils (com.android.internal.widget.LockPatternUtils)96 ComponentName (android.content.ComponentName)24 UserInfo (android.content.pm.UserInfo)24 DevicePolicyManager (android.app.admin.DevicePolicyManager)19 UserManager (android.os.UserManager)16 IOException (java.io.IOException)11 IntentFilter (android.content.IntentFilter)10 Intent (android.content.Intent)9 View (android.view.View)9 Cursor (android.database.Cursor)6 RemoteException (android.os.RemoteException)6 ArrayList (java.util.ArrayList)6 ContentResolver (android.content.ContentResolver)5 Configuration (android.content.res.Configuration)5 Rect (android.graphics.Rect)5 SoundPool (android.media.SoundPool)5 IBinder (android.os.IBinder)5 IVrManager (android.service.vr.IVrManager)5 StatusBarIcon (com.android.internal.statusbar.StatusBarIcon)5 KeyguardDisplayManager (com.android.keyguard.KeyguardDisplayManager)5