public class com.android.internal.widget.LockPatternUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.widget.LockPatternUtils
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "LockPatternUtils"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean FRP_CREDENTIAL_ENABLED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final java.lang.String LEGACY_LOCK_PATTERN_ENABLED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "legacy_lock_pattern_enabled"
public static final int FAILED_ATTEMPTS_BEFORE_RESET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 20
public static final long FAILED_ATTEMPT_COUNTDOWN_INTERVAL_MS;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
public static final int FAILED_ATTEMPTS_BEFORE_WIPE_GRACE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int MIN_LOCK_PATTERN_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int MIN_LOCK_PASSWORD_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int MIN_PATTERN_REGISTER_FAIL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int CREDENTIAL_TYPE_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int CREDENTIAL_TYPE_PATTERN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int CREDENTIAL_TYPE_PASSWORD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int USER_FRP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -9999
public static final java.lang.String LOCKOUT_PERMANENT_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.lockedoutpermanently"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String PATTERN_EVER_CHOSEN_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.patterneverchosen"
public static final java.lang.String PASSWORD_TYPE_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.password_type"
public static final java.lang.String PASSWORD_TYPE_ALTERNATE_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.password_type_alternate"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String LOCK_PASSWORD_SALT_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.password_salt"
public static final java.lang.String DISABLE_LOCKSCREEN_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.disabled"
public static final java.lang.String LOCKSCREEN_OPTIONS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.options"
public static final java.lang.String LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.biometric_weak_fallback"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String BIOMETRIC_WEAK_EVER_CHOSEN_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.biometricweakeverchosen"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String LOCKSCREEN_POWER_BUTTON_INSTANTLY_LOCKS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.power_button_instantly_locks"
public static final java.lang.String LOCKSCREEN_WIDGETS_ENABLED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.widgets_enabled"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String PASSWORD_HISTORY_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.passwordhistory"
private static final java.lang.String LOCK_SCREEN_OWNER_INFO;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lock_screen_owner_info"
private static final java.lang.String LOCK_SCREEN_OWNER_INFO_ENABLED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lock_screen_owner_info_enabled"
private static final java.lang.String LOCK_SCREEN_DEVICE_OWNER_INFO;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.device_owner_info"
private static final java.lang.String ENABLED_TRUST_AGENTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.enabledtrustagents"
private static final java.lang.String IS_TRUST_USUALLY_MANAGED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "lockscreen.istrustusuallymanaged"
public static final java.lang.String PROFILE_KEY_NAME_ENCRYPT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "profile_key_name_encrypt_"
public static final java.lang.String PROFILE_KEY_NAME_DECRYPT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "profile_key_name_decrypt_"
public static final java.lang.String SYNTHETIC_PASSWORD_KEY_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "synthetic_password_"
public static final java.lang.String SYNTHETIC_PASSWORD_HANDLE_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "sp-handle"
public static final java.lang.String SYNTHETIC_PASSWORD_ENABLED_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "enable-sp"
private static final java.lang.String HISTORY_DELIMITER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ","
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.ContentResolver mContentResolver;
descriptor: Landroid/content/ContentResolver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.app.admin.DevicePolicyManager mDevicePolicyManager;
descriptor: Landroid/app/admin/DevicePolicyManager;
flags: (0x0002) ACC_PRIVATE
private com.android.internal.widget.ILockSettings mLockSettingsService;
descriptor: Lcom/android/internal/widget/ILockSettings;
flags: (0x0002) ACC_PRIVATE
private android.os.UserManager mUserManager;
descriptor: Landroid/os/UserManager;
flags: (0x0002) ACC_PRIVATE
private final android.os.Handler mHandler;
descriptor: Landroid/os/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.util.SparseLongArray mLockoutDeadlines;
descriptor: Landroid/util/SparseLongArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public boolean isTrustUsuallyManaged(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockSettingsService:Lcom/android/internal/widget/ILockSettings;
instanceof com.android.internal.widget.ILockSettings$Stub
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "May only be called by TrustManagerService. Use TrustManager.isTrustUsuallyManaged()"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
ldc "lockscreen.istrustusuallymanaged"
iconst_0
iload 1
invokeinterface com.android.internal.widget.ILockSettings.getBoolean:(Ljava/lang/String;ZI)Z
3: ireturn
4: StackMap locals:
StackMap stack: android.os.RemoteException
pop
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/widget/LockPatternUtils;
0 6 1 userId I
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public void setTrustUsuallyManaged(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
ldc "lockscreen.istrustusuallymanaged"
iload 1
iload 2
invokeinterface com.android.internal.widget.ILockSettings.setBoolean:(Ljava/lang/String;ZI)V
1: goto 3
StackMap locals:
StackMap stack: android.os.RemoteException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 managed Z
0 4 2 userId I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
managed
userId
public void userPresent(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.userPresent:(I)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 2
start local 2 3: aload 2
invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
3 4 2 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public android.app.admin.DevicePolicyManager getDevicePolicyManager();
descriptor: ()Landroid/app/admin/DevicePolicyManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mDevicePolicyManager:Landroid/app/admin/DevicePolicyManager;
ifnonnull 8
1: aload 0
2: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
ldc "device_policy"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.app.admin.DevicePolicyManager
3: putfield com.android.internal.widget.LockPatternUtils.mDevicePolicyManager:Landroid/app/admin/DevicePolicyManager;
4: aload 0
getfield com.android.internal.widget.LockPatternUtils.mDevicePolicyManager:Landroid/app/admin/DevicePolicyManager;
ifnonnull 8
5: ldc "LockPatternUtils"
ldc "Can't get DevicePolicyManagerService: is it running?"
6: new java.lang.IllegalStateException
dup
ldc "Stack trace:"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
7: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.LockPatternUtils.mDevicePolicyManager:Landroid/app/admin/DevicePolicyManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/LockPatternUtils;
private android.os.UserManager getUserManager();
descriptor: ()Landroid/os/UserManager;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mUserManager:Landroid/os/UserManager;
ifnonnull 2
1: aload 0
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic android.os.UserManager.get:(Landroid/content/Context;)Landroid/os/UserManager;
putfield com.android.internal.widget.LockPatternUtils.mUserManager:Landroid/os/UserManager;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.LockPatternUtils.mUserManager:Landroid/os/UserManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
private android.app.trust.TrustManager getTrustManager();
descriptor: ()Landroid/app/trust/TrustManager;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
ldc "trust"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.app.trust.TrustManager
astore 1
start local 1 1: aload 1
ifnonnull 5
2: ldc "LockPatternUtils"
ldc "Can't get TrustManagerService: is it running?"
3: new java.lang.IllegalStateException
dup
ldc "Stack trace:"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
4: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
5: StackMap locals: android.app.trust.TrustManager
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/widget/LockPatternUtils;
1 6 1 trust Landroid/app/trust/TrustManager;
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.util.SparseLongArray
dup
invokespecial android.util.SparseLongArray.<init>:()V
putfield com.android.internal.widget.LockPatternUtils.mLockoutDeadlines:Landroid/util/SparseLongArray;
2: aload 0
aload 1
putfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
3: aload 0
aload 1
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
putfield com.android.internal.widget.LockPatternUtils.mContentResolver:Landroid/content/ContentResolver;
4: invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
astore 2
start local 2 5: aload 0
aload 2
ifnull 6
new android.os.Handler
dup
aload 2
invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
goto 7
StackMap locals: com.android.internal.widget.LockPatternUtils android.content.Context android.os.Looper
StackMap stack: com.android.internal.widget.LockPatternUtils
6: aconst_null
StackMap locals: com.android.internal.widget.LockPatternUtils android.content.Context android.os.Looper
StackMap stack: com.android.internal.widget.LockPatternUtils android.os.Handler
7: putfield com.android.internal.widget.LockPatternUtils.mHandler:Landroid/os/Handler;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/LockPatternUtils;
0 9 1 context Landroid/content/Context;
5 9 2 looper Landroid/os/Looper;
MethodParameters:
Name Flags
context
public com.android.internal.widget.ILockSettings getLockSettings();
descriptor: ()Lcom/android/internal/widget/ILockSettings;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockSettingsService:Lcom/android/internal/widget/ILockSettings;
ifnonnull 4
1: ldc "lock_settings"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
2: invokestatic com.android.internal.widget.ILockSettings$Stub.asInterface:(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
astore 1
start local 1 3: aload 0
aload 1
putfield com.android.internal.widget.LockPatternUtils.mLockSettingsService:Lcom/android/internal/widget/ILockSettings;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockSettingsService:Lcom/android/internal/widget/ILockSettings;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
3 4 1 service Lcom/android/internal/widget/ILockSettings;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
public int getRequestedMinimumPasswordLength(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumLength:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordQuality(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordQuality:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
private int getRequestedPasswordHistoryLength(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordHistoryLength:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumLetters(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumLetters:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumUpperCase(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumUpperCase:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumLowerCase(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumLowerCase:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumNumeric(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumNumeric:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumSymbols(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumSymbols:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public int getRequestedPasswordMinimumNonLetter(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
aconst_null
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getPasswordMinimumNonLetter:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public void reportFailedPasswordAttempt(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush -9999
if_icmpne 2
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
iload 1
invokevirtual android.app.admin.DevicePolicyManager.reportFailedPasswordAttempt:(I)V
3: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getTrustManager:()Landroid/app/trust/TrustManager;
iconst_0
iload 1
invokevirtual android.app.trust.TrustManager.reportUnlockAttempt:(ZI)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
MethodParameters:
Name Flags
userId
public void reportSuccessfulPasswordAttempt(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush -9999
if_icmpne 2
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
iload 1
invokevirtual android.app.admin.DevicePolicyManager.reportSuccessfulPasswordAttempt:(I)V
3: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getTrustManager:()Landroid/app/trust/TrustManager;
iconst_1
iload 1
invokevirtual android.app.trust.TrustManager.reportUnlockAttempt:(ZI)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
MethodParameters:
Name Flags
userId
public void reportPasswordLockout(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
sipush -9999
if_icmpne 2
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getTrustManager:()Landroid/app/trust/TrustManager;
iload 1
iload 2
invokevirtual android.app.trust.TrustManager.reportUnlockLockout:(II)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 timeoutMs I
0 4 2 userId I
MethodParameters:
Name Flags
timeoutMs
userId
public int getCurrentFailedPasswordAttempts(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush -9999
if_icmpne 2
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
iload 1
invokevirtual android.app.admin.DevicePolicyManager.getCurrentFailedPasswordAttempts:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
0 3 1 userId I
MethodParameters:
Name Flags
userId
public int getMaximumFailedPasswordsForWipe(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush -9999
if_icmpne 2
aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
3: aconst_null
iload 1
4: invokevirtual android.app.admin.DevicePolicyManager.getMaximumFailedPasswordsForWipe:(Landroid/content/ComponentName;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
MethodParameters:
Name Flags
userId
private byte[] verifyCredential(java.lang.String, int, long, int);
descriptor: (Ljava/lang/String;IJI)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
1: iload 2
lload 3
iload 5
2: invokeinterface com.android.internal.widget.ILockSettings.verifyCredential:(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
astore 6
start local 6 3: aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
ifne 6
4: aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getPayload:()[B
5: areturn
6: StackMap locals: com.android.internal.widget.VerifyCredentialResponse
StackMap stack:
aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
iconst_1
if_icmpne 8
7: new com.android.internal.widget.LockPatternUtils$RequestThrottledException
dup
aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getTimeout:()I
invokespecial com.android.internal.widget.LockPatternUtils$RequestThrottledException.<init>:(I)V
athrow
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 9: StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int long int
StackMap stack: android.os.RemoteException
pop
10: aconst_null
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/android/internal/widget/LockPatternUtils;
0 11 1 credential Ljava/lang/String;
0 11 2 type I
0 11 3 challenge J
0 11 5 userId I
3 9 6 response Lcom/android/internal/widget/VerifyCredentialResponse;
Exception table:
from to target type
0 5 9 Class android.os.RemoteException
6 8 9 Class android.os.RemoteException
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
credential
type
challenge
userId
private boolean checkCredential(java.lang.String, int, int, com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback);
descriptor: (Ljava/lang/String;IILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
iload 2
1: iload 3
aload 0
aload 4
invokevirtual com.android.internal.widget.LockPatternUtils.wrapCallback:(Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Lcom/android/internal/widget/ICheckCredentialProgressCallback;
2: invokeinterface com.android.internal.widget.ILockSettings.checkCredential:(Ljava/lang/String;IILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
astore 5
start local 5 3: aload 5
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
ifne 5
4: iconst_1
ireturn
5: StackMap locals: com.android.internal.widget.VerifyCredentialResponse
StackMap stack:
aload 5
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
iconst_1
if_icmpne 7
6: new com.android.internal.widget.LockPatternUtils$RequestThrottledException
dup
aload 5
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getTimeout:()I
invokespecial com.android.internal.widget.LockPatternUtils$RequestThrottledException.<init>:(I)V
athrow
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 8: StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int int com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback
StackMap stack: android.os.RemoteException
pop
9: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/widget/LockPatternUtils;
0 10 1 credential Ljava/lang/String;
0 10 2 type I
0 10 3 userId I
0 10 4 progressCallback Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;
3 8 5 response Lcom/android/internal/widget/VerifyCredentialResponse;
Exception table:
from to target type
0 4 8 Class android.os.RemoteException
5 7 8 Class android.os.RemoteException
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
credential
type
userId
progressCallback
public byte[] verifyPattern(java.util.List<com.android.internal.widget.LockPatternView$Cell>, long, );
descriptor: (Ljava/util/List;JI)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.throwIfCalledOnMainThread:()V
1: aload 0
aload 1
invokestatic com.android.internal.widget.LockPatternUtils.patternToString:(Ljava/util/List;)Ljava/lang/String;
iconst_1
lload 2
2: iload 4
3: invokevirtual com.android.internal.widget.LockPatternUtils.verifyCredential:(Ljava/lang/String;IJI)[B
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
0 4 2 challenge J
0 4 4 userId I
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;JI)[B
MethodParameters:
Name Flags
pattern
challenge
userId
public boolean checkPattern(java.util.List<com.android.internal.widget.LockPatternView$Cell>, );
descriptor: (Ljava/util/List;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aconst_null
invokevirtual com.android.internal.widget.LockPatternUtils.checkPattern:(Ljava/util/List;ILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
0 1 2 userId I
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;I)Z
MethodParameters:
Name Flags
pattern
userId
public boolean checkPattern(java.util.List<com.android.internal.widget.LockPatternView$Cell>, int, com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback);
descriptor: (Ljava/util/List;ILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.throwIfCalledOnMainThread:()V
1: aload 0
aload 1
invokestatic com.android.internal.widget.LockPatternUtils.patternToString:(Ljava/util/List;)Ljava/lang/String;
iconst_1
iload 2
2: aload 3
3: invokevirtual com.android.internal.widget.LockPatternUtils.checkCredential:(Ljava/lang/String;IILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
0 4 2 userId I
0 4 3 progressCallback Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;ILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
MethodParameters:
Name Flags
pattern
userId
progressCallback
public byte[] verifyPassword(java.lang.String, long, int);
descriptor: (Ljava/lang/String;JI)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.throwIfCalledOnMainThread:()V
1: aload 0
aload 1
iconst_2
lload 2
iload 4
invokevirtual com.android.internal.widget.LockPatternUtils.verifyCredential:(Ljava/lang/String;IJI)[B
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 password Ljava/lang/String;
0 2 2 challenge J
0 2 4 userId I
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
password
challenge
userId
public byte[] verifyTiedProfileChallenge(java.lang.String, boolean, long, int);
descriptor: (Ljava/lang/String;ZJI)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.throwIfCalledOnMainThread:()V
1: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
2: iload 2
ifeq 3
iconst_1
goto 4
StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int long int
StackMap stack: com.android.internal.widget.ILockSettings java.lang.String
3: iconst_2
StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int long int
StackMap stack: com.android.internal.widget.ILockSettings java.lang.String int
4: lload 3
5: iload 5
6: invokeinterface com.android.internal.widget.ILockSettings.verifyTiedProfileChallenge:(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
7: astore 6
start local 6 8: aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
ifne 11
9: aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getPayload:()[B
10: areturn
11: StackMap locals: com.android.internal.widget.VerifyCredentialResponse
StackMap stack:
aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getResponseCode:()I
iconst_1
if_icmpne 13
12: new com.android.internal.widget.LockPatternUtils$RequestThrottledException
dup
aload 6
invokevirtual com.android.internal.widget.VerifyCredentialResponse.getTimeout:()I
invokespecial com.android.internal.widget.LockPatternUtils$RequestThrottledException.<init>:(I)V
athrow
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 14: StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int long int
StackMap stack: android.os.RemoteException
pop
15: aconst_null
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/internal/widget/LockPatternUtils;
0 16 1 password Ljava/lang/String;
0 16 2 isPattern Z
0 16 3 challenge J
0 16 5 userId I
8 14 6 response Lcom/android/internal/widget/VerifyCredentialResponse;
Exception table:
from to target type
1 10 14 Class android.os.RemoteException
11 13 14 Class android.os.RemoteException
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
password
isPattern
challenge
userId
public boolean checkPassword(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aconst_null
invokevirtual com.android.internal.widget.LockPatternUtils.checkPassword:(Ljava/lang/String;ILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 password Ljava/lang/String;
0 1 2 userId I
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
password
userId
public boolean checkPassword(java.lang.String, int, com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback);
descriptor: (Ljava/lang/String;ILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.throwIfCalledOnMainThread:()V
1: aload 0
aload 1
iconst_2
iload 2
aload 3
invokevirtual com.android.internal.widget.LockPatternUtils.checkCredential:(Ljava/lang/String;IILcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 password Ljava/lang/String;
0 2 2 userId I
0 2 3 progressCallback Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;
Exceptions:
throws com.android.internal.widget.LockPatternUtils$RequestThrottledException
MethodParameters:
Name Flags
password
userId
progressCallback
public boolean checkVoldPassword(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.checkVoldPassword:(I)Z
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 userId I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public byte[] getPasswordHistoryHashFactor(java.lang.String, int);
descriptor: (Ljava/lang/String;I)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
iload 2
invokeinterface com.android.internal.widget.ILockSettings.getHashFactor:(Ljava/lang/String;I)[B
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 3
start local 3 3: ldc "LockPatternUtils"
ldc "failed to get hash factor"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 currentPassword Ljava/lang/String;
0 5 2 userId I
3 5 3 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
currentPassword
userId
public boolean checkPasswordHistory(java.lang.String, byte[], int);
descriptor: (Ljava/lang/String;[BI)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 3
1: ldc "LockPatternUtils"
ldc "checkPasswordHistory: empty password"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
ldc "lockscreen.passwordhistory"
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
astore 4
start local 4 4: aload 4
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.getRequestedPasswordHistoryLength:(I)I
istore 5
start local 5 7: iload 5
ifne 9
8: iconst_0
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.legacyPasswordToHash:(Ljava/lang/String;I)Ljava/lang/String;
astore 6
start local 6 10: aload 0
aload 1
aload 2
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.passwordToHistoryHash:(Ljava/lang/String;[BI)Ljava/lang/String;
astore 7
start local 7 11: aload 4
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 12: iconst_0
istore 9
start local 9 13: goto 17
14: StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String byte[] int java.lang.String int java.lang.String java.lang.String java.lang.String[] int
StackMap stack:
aload 8
iload 9
aaload
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
aload 8
iload 9
aaload
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: StackMap locals:
StackMap stack:
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
17: iload 9
iload 5
aload 8
arraylength
invokestatic java.lang.Math.min:(II)I
if_icmplt 14
end local 9 18: iconst_0
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/internal/widget/LockPatternUtils;
0 19 1 passwordToCheck Ljava/lang/String;
0 19 2 hashFactor [B
0 19 3 userId I
4 19 4 passwordHistory Ljava/lang/String;
7 19 5 passwordHistoryLength I
10 19 6 legacyHash Ljava/lang/String;
11 19 7 passwordHash Ljava/lang/String;
12 19 8 history [Ljava/lang/String;
13 18 9 i I
MethodParameters:
Name Flags
passwordToCheck
hashFactor
userId
private boolean savedPatternExists(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.havePattern:(I)Z
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 userId I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
private boolean savedPasswordExists(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.havePassword:(I)Z
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 userId I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public boolean isPatternEverChosen(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.patterneverchosen"
iconst_0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getBoolean:(Ljava/lang/String;ZI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public void reportPatternWasChosen(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.patterneverchosen"
iconst_1
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public int getActivePasswordQuality(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
istore 2
start local 2 1: aload 0
iload 2
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPasswordEnabled:(II)Z
ifeq 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
iload 2
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPatternEnabled:(II)Z
ifeq 5
4: iload 2
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/widget/LockPatternUtils;
0 6 1 userId I
1 6 2 quality I
MethodParameters:
Name Flags
userId
public void resetKeyStore(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.resetKeyStore:(I)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 2
start local 2 3: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Couldn't reset keystore "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
3 4 2 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public void clearLock(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
istore 3
start local 3 1: aload 0
iconst_0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
2: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aconst_null
iconst_m1
aload 1
3: iconst_0
iload 2
4: invokeinterface com.android.internal.widget.ILockSettings.setLockCredential:(Ljava/lang/String;ILjava/lang/String;II)V
5: goto 10
StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int int
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: ldc "LockPatternUtils"
ldc "Failed to clear lock"
aload 4
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
8: aload 0
iload 3
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
9: return
end local 4 10: StackMap locals:
StackMap stack:
iload 2
ifne 13
11: aload 0
iconst_1
aconst_null
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPassword:(ILjava/lang/String;)V
12: aload 0
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.setCredentialRequiredToDecrypt:(Z)V
13: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/android/internal/widget/LockPatternUtils;
0 15 1 savedCredential Ljava/lang/String;
0 15 2 userHandle I
1 15 3 currentQuality I
7 10 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
savedCredential
userHandle
public void setLockScreenDisabled(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lockscreen.disabled"
iload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 disable Z
0 2 2 userId I
MethodParameters:
Name Flags
disable
userId
public boolean isLockScreenDisabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tcom.android.internal.R.bool cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
MethodParameters:
Name Flags
userId
public void saveLockPattern(java.util.List<com.android.internal.widget.LockPatternView$Cell>, );
descriptor: (Ljava/util/List;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.saveLockPattern:(Ljava/util/List;Ljava/lang/String;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
0 2 2 userId I
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;I)V
MethodParameters:
Name Flags
pattern
userId
public void saveLockPattern(java.util.List<com.android.internal.widget.LockPatternView$Cell>, java.lang.String, );
descriptor: (Ljava/util/List;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
invokeinterface java.util.List.size:()I
iconst_4
if_icmpge 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "pattern must not be null and at least 4 dots long."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.android.internal.widget.LockPatternUtils.patternToString:(Ljava/util/List;)Ljava/lang/String;
astore 4
start local 4 3: aload 0
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
istore 5
start local 5 4: aload 0
ldc 65536
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
5: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 4
iconst_1
6: aload 2
ldc 65536
iload 3
7: invokeinterface com.android.internal.widget.ILockSettings.setLockCredential:(Ljava/lang/String;ILjava/lang/String;II)V
8: goto 13
StackMap locals: com.android.internal.widget.LockPatternUtils java.util.List java.lang.String int java.lang.String int
StackMap stack: java.lang.Exception
9: astore 6
start local 6 10: ldc "LockPatternUtils"
ldc "Couldn't save lock pattern"
aload 6
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
11: aload 0
iload 5
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
12: return
end local 6 13: StackMap locals:
StackMap stack:
iload 3
ifne 19
14: invokestatic com.android.internal.widget.LockPatternUtils.isDeviceEncryptionEnabled:()Z
ifeq 19
15: aload 0
iconst_1
invokevirtual com.android.internal.widget.LockPatternUtils.shouldEncryptWithCredentials:(Z)Z
ifne 18
16: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.clearEncryptionPassword:()V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
iconst_3
aload 4
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPassword:(ILjava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.reportPatternWasChosen:(I)V
20: aload 0
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/android/internal/widget/LockPatternUtils;
0 22 1 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
0 22 2 savedPattern Ljava/lang/String;
0 22 3 userId I
3 22 4 stringPattern Ljava/lang/String;
4 22 5 currentQuality I
10 13 6 e Ljava/lang/Exception;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;Ljava/lang/String;I)V
MethodParameters:
Name Flags
pattern
savedPattern
userId
private void updateCryptoUserInfo(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isOwnerInfoEnabled:(I)Z
ifeq 3
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getOwnerInfo:(I)Ljava/lang/String;
goto 4
StackMap locals:
StackMap stack:
3: ldc ""
StackMap locals:
StackMap stack: java.lang.String
4: astore 2
start local 2 5: ldc "mount"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 3
start local 3 6: aload 3
ifnonnull 9
7: ldc "LockPatternUtils"
ldc "Could not find the mount service to update the user info"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: return
9: StackMap locals: java.lang.String android.os.IBinder
StackMap stack:
aload 3
invokestatic android.os.storage.IStorageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
astore 4
start local 4 10: ldc "LockPatternUtils"
ldc "Setting owner info"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
11: aload 4
ldc "OwnerInfo"
aload 2
invokeinterface android.os.storage.IStorageManager.setField:(Ljava/lang/String;Ljava/lang/String;)V
12: goto 15
StackMap locals: com.android.internal.widget.LockPatternUtils int java.lang.String android.os.IBinder android.os.storage.IStorageManager
StackMap stack: android.os.RemoteException
13: astore 5
start local 5 14: ldc "LockPatternUtils"
ldc "Error changing user info"
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 5 15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/internal/widget/LockPatternUtils;
0 16 1 userId I
5 16 2 ownerInfo Ljava/lang/String;
6 16 3 service Landroid/os/IBinder;
10 16 4 storageManager Landroid/os/storage/IStorageManager;
14 15 5 e Landroid/os/RemoteException;
Exception table:
from to target type
10 12 13 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public void setOwnerInfo(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lock_screen_owner_info"
aload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setString:(Ljava/lang/String;Ljava/lang/String;I)V
1: aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.updateCryptoUserInfo:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
0 3 1 info Ljava/lang/String;
0 3 2 userId I
MethodParameters:
Name Flags
info
userId
public void setOwnerInfoEnabled(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lock_screen_owner_info_enabled"
iload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.updateCryptoUserInfo:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
0 3 1 enabled Z
0 3 2 userId I
MethodParameters:
Name Flags
enabled
userId
public java.lang.String getOwnerInfo(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lock_screen_owner_info"
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public boolean isOwnerInfoEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lock_screen_owner_info_enabled"
iconst_0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getBoolean:(Ljava/lang/String;ZI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public void setDeviceOwnerInfo(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: aconst_null
astore 1
2: StackMap locals:
StackMap stack:
aload 0
ldc "lockscreen.device_owner_info"
aload 1
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.setString:(Ljava/lang/String;Ljava/lang/String;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 info Ljava/lang/String;
MethodParameters:
Name Flags
info
public java.lang.String getDeviceOwnerInfo();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "lockscreen.device_owner_info"
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
public boolean isDeviceOwnerInfoEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDeviceOwnerInfo:()Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
private void updateEncryptionPassword(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.android.internal.widget.LockPatternUtils.isDeviceEncryptionEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
ldc "mount"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: ldc "LockPatternUtils"
ldc "Could not find the mount service to update the encryption password"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: return
6: StackMap locals: android.os.IBinder
StackMap stack:
new com.android.internal.widget.LockPatternUtils$1
dup
aload 0
aload 3
iload 1
aload 2
invokespecial com.android.internal.widget.LockPatternUtils$1.<init>:(Lcom/android/internal/widget/LockPatternUtils;Landroid/os/IBinder;ILjava/lang/String;)V
iconst_0
anewarray java.lang.Void
7: invokevirtual com.android.internal.widget.LockPatternUtils$1.execute:([Ljava/lang/Object;)Landroid/os/AsyncTask;
pop
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/LockPatternUtils;
0 9 1 type I
0 9 2 password Ljava/lang/String;
3 9 3 service Landroid/os/IBinder;
MethodParameters:
Name Flags
type final
password final
public void saveLockPassword(java.lang.String, java.lang.String, int, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_4
if_icmpge 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "password must not be null and at least of length 4"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
istore 5
start local 5 3: aload 0
4: aload 0
iconst_2
aload 1
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.computePasswordQuality:(ILjava/lang/String;I)I
5: iload 4
6: invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
7: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
iconst_2
8: aload 2
iload 3
iload 4
9: invokeinterface com.android.internal.widget.ILockSettings.setLockCredential:(Ljava/lang/String;ILjava/lang/String;II)V
10: goto 15
StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String java.lang.String int int int
StackMap stack: java.lang.Exception
11: astore 6
start local 6 12: ldc "LockPatternUtils"
ldc "Unable to save lock password"
aload 6
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
13: aload 0
iload 5
iload 4
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
14: return
end local 6 15: StackMap locals:
StackMap stack:
aload 0
aload 1
16: aload 1
invokestatic android.app.admin.PasswordMetrics.computeForPassword:(Ljava/lang/String;)Landroid/app/admin/PasswordMetrics;
getfield android.app.admin.PasswordMetrics.quality:I
iload 4
17: invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPasswordIfNeeded:(Ljava/lang/String;II)V
18: aload 0
aload 1
iload 4
invokevirtual com.android.internal.widget.LockPatternUtils.updatePasswordHistory:(Ljava/lang/String;I)V
19: aload 0
iload 4
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
20: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/android/internal/widget/LockPatternUtils;
0 21 1 password Ljava/lang/String;
0 21 2 savedPassword Ljava/lang/String;
0 21 3 requestedQuality I
0 21 4 userHandle I
3 21 5 currentQuality I
12 15 6 e Ljava/lang/Exception;
Exception table:
from to target type
7 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
password
savedPassword
requestedQuality
userHandle
private void updateEncryptionPasswordIfNeeded(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 16
1: invokestatic com.android.internal.widget.LockPatternUtils.isDeviceEncryptionEnabled:()Z
ifeq 16
2: aload 0
iconst_1
invokevirtual com.android.internal.widget.LockPatternUtils.shouldEncryptWithCredentials:(Z)Z
ifne 5
3: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.clearEncryptionPassword:()V
4: goto 16
5: StackMap locals:
StackMap stack:
iload 2
ldc 131072
if_icmpne 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: iload 2
ldc 196608
if_icmpne 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 5
start local 5 11: iload 4
ifne 12
iload 5
ifeq 13
StackMap locals: int
StackMap stack:
12: iconst_2
goto 14
13: StackMap locals:
StackMap stack:
iconst_0
14: StackMap locals:
StackMap stack: int
istore 6
start local 6 15: aload 0
iload 6
aload 1
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPassword:(ILjava/lang/String;)V
end local 6 end local 5 end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/android/internal/widget/LockPatternUtils;
0 17 1 password Ljava/lang/String;
0 17 2 quality I
0 17 3 userHandle I
8 16 4 numeric Z
11 16 5 numericComplex Z
15 16 6 type I
MethodParameters:
Name Flags
password
quality
userHandle
private void updatePasswordHistory(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 3
1: ldc "LockPatternUtils"
ldc "checkPasswordHistory: empty password"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: return
3: StackMap locals:
StackMap stack:
aload 0
ldc "lockscreen.passwordhistory"
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: ldc ""
astore 3
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.getRequestedPasswordHistoryLength:(I)I
istore 4
start local 4 7: iload 4
ifne 10
8: ldc ""
astore 3
9: goto 27
10: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.getPasswordHistoryHashFactor:(Ljava/lang/String;I)[B
astore 5
start local 5 11: aload 0
aload 1
aload 5
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.passwordToHistoryHash:(Ljava/lang/String;[BI)Ljava/lang/String;
astore 6
start local 6 12: aload 6
ifnonnull 15
13: ldc "LockPatternUtils"
ldc "Compute new style password hash failed, fallback to legacy style"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: aload 0
aload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.legacyPasswordToHash:(Ljava/lang/String;I)Ljava/lang/String;
astore 6
15: StackMap locals: byte[] java.lang.String
StackMap stack:
aload 3
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 18
16: aload 6
astore 3
17: goto 27
18: StackMap locals:
StackMap stack:
aload 3
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 19: new java.util.StringJoiner
dup
ldc ","
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 8
start local 8 20: aload 8
aload 6
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
21: iconst_0
istore 9
start local 9 22: goto 25
23: StackMap locals: java.lang.String[] java.util.StringJoiner int
StackMap stack:
aload 8
aload 7
iload 9
aaload
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
24: iinc 9 1
StackMap locals:
StackMap stack:
25: iload 9
iload 4
iconst_1
isub
if_icmpge 26
iload 9
aload 7
arraylength
if_icmplt 23
end local 9 26: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
astore 3
end local 8 end local 7 end local 6 end local 5 27: StackMap locals: com.android.internal.widget.LockPatternUtils java.lang.String int java.lang.String int
StackMap stack:
aload 0
ldc "lockscreen.passwordhistory"
aload 3
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setString:(Ljava/lang/String;Ljava/lang/String;I)V
28: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/android/internal/widget/LockPatternUtils;
0 29 1 password Ljava/lang/String;
0 29 2 userHandle I
4 29 3 passwordHistory Ljava/lang/String;
7 29 4 passwordHistoryLength I
11 27 5 hashFactor [B
12 27 6 hash Ljava/lang/String;
19 27 7 history [Ljava/lang/String;
20 27 8 joiner Ljava/util/StringJoiner;
22 26 9 i I
MethodParameters:
Name Flags
password
userHandle
public static boolean isDeviceEncryptionEnabled();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic android.os.storage.StorageManager.isEncrypted:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean isFileEncryptionEnabled();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic android.os.storage.StorageManager.isFileEncryptedNativeOrEmulated:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public void clearEncryptionPassword();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
aconst_null
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPassword:(ILjava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
public int getKeyguardStoredPasswordQuality(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.password_type"
lconst_0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getLong:(Ljava/lang/String;JI)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userHandle I
MethodParameters:
Name Flags
userHandle
private void setKeyguardStoredPasswordQuality(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lockscreen.password_type"
iload 1
i2l
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setLong:(Ljava/lang/String;JI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 quality I
0 2 2 userHandle I
MethodParameters:
Name Flags
quality
userHandle
private int computePasswordQuality(int, java.lang.String, int);
descriptor: (ILjava/lang/String;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iconst_2
if_icmpne 4
1: aload 2
invokestatic android.app.admin.PasswordMetrics.computeForPassword:(Ljava/lang/String;)Landroid/app/admin/PasswordMetrics;
getfield android.app.admin.PasswordMetrics.quality:I
istore 5
start local 5 2: iload 3
iload 5
invokestatic java.lang.Math.max:(II)I
istore 4
end local 5 start local 4 3: goto 8
end local 4 StackMap locals:
StackMap stack:
4: iload 1
iconst_1
if_icmpne 7
5: ldc 65536
istore 4
start local 4 6: goto 8
end local 4 7: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 8: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/LockPatternUtils;
0 9 1 type I
0 9 2 credential Ljava/lang/String;
0 9 3 requestedQuality I
3 4 4 quality I
6 7 4 quality I
8 9 4 quality I
2 3 5 computedQuality I
MethodParameters:
Name Flags
type
credential
requestedQuality
public void setSeparateProfileChallengeEnabled(int, boolean, java.lang.String);
descriptor: (IZLjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isManagedProfile:(I)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
iload 2
3: aload 3
4: invokeinterface com.android.internal.widget.ILockSettings.setSeparateProfileChallengeEnabled:(IZLjava/lang/String;)V
5: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
6: goto 9
StackMap locals:
StackMap stack: android.os.RemoteException
7: pop
8: ldc "LockPatternUtils"
ldc "Couldn't update work profile challenge enabled"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/widget/LockPatternUtils;
0 10 1 userHandle I
0 10 2 enabled Z
0 10 3 managedUserPassword Ljava/lang/String;
Exception table:
from to target type
2 6 7 Class android.os.RemoteException
MethodParameters:
Name Flags
userHandle
enabled
managedUserPassword
public boolean isSeparateProfileChallengeEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isManagedProfile:(I)Z
ifeq 1
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.hasSeparateChallenge:(I)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userHandle I
MethodParameters:
Name Flags
userHandle
public boolean isManagedProfileWithUnifiedChallenge(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isManagedProfile:(I)Z
ifeq 1
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.hasSeparateChallenge:(I)Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userHandle I
MethodParameters:
Name Flags
userHandle
public boolean isSeparateProfileChallengeAllowed(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isManagedProfile:(I)Z
ifeq 3
1: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
iload 1
invokevirtual android.app.admin.DevicePolicyManager.isSeparateProfileChallengeAllowed:(I)Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 userHandle I
MethodParameters:
Name Flags
userHandle
public boolean isSeparateProfileChallengeAllowedToUnify(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
iload 1
invokevirtual android.app.admin.DevicePolicyManager.isProfileActivePasswordSufficientForParent:(I)Z
ifeq 6
1: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getUserManager:()Landroid/os/UserManager;
2: ldc "no_unified_password"
iload 1
invokestatic android.os.UserHandle.of:(I)Landroid/os/UserHandle;
3: invokevirtual android.os.UserManager.hasUserRestriction:(Ljava/lang/String;Landroid/os/UserHandle;)Z
4: ifne 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/widget/LockPatternUtils;
0 7 1 userHandle I
MethodParameters:
Name Flags
userHandle
private boolean hasSeparateChallenge(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.getSeparateProfileChallengeEnabled:(I)Z
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: ldc "LockPatternUtils"
ldc "Couldn't get separate profile challenge enabled"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userHandle I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userHandle
private boolean isManagedProfile(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getUserManager:()Landroid/os/UserManager;
iload 1
invokevirtual android.os.UserManager.getUserInfo:(I)Landroid/content/pm/UserInfo;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual android.content.pm.UserInfo.isManagedProfile:()Z
ifeq 2
iconst_1
ireturn
StackMap locals: android.content.pm.UserInfo
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
0 3 1 userHandle I
1 3 2 info Landroid/content/pm/UserInfo;
MethodParameters:
Name Flags
userHandle
public static java.util.List<com.android.internal.widget.LockPatternView$Cell> stringToPattern(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.google.android.collect.Lists.newArrayList:()Ljava/util/ArrayList;
astore 1
start local 1 3: aload 0
invokevirtual java.lang.String.getBytes:()[B
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: java.util.List byte[] int
StackMap stack:
aload 2
iload 3
baload
bipush 49
isub
i2b
istore 4
start local 4 7: aload 1
iload 4
iconst_3
idiv
iload 4
iconst_3
irem
invokestatic com.android.internal.widget.LockPatternView$Cell.of:(II)Lcom/android/internal/widget/LockPatternView$Cell;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 2
arraylength
if_icmplt 6
end local 3 10: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 string Ljava/lang/String;
3 11 1 result Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
4 11 2 bytes [B
5 10 3 i I
7 8 4 b B
Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
MethodParameters:
Name Flags
string
public static java.lang.String patternToString(java.util.List<com.android.internal.widget.LockPatternView$Cell>);
descriptor: (Ljava/util/List;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.size:()I
istore 1
start local 1 3: iload 1
newarray 8
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: int byte[] int
StackMap stack:
aload 0
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.android.internal.widget.LockPatternView$Cell
astore 4
start local 4 7: aload 2
iload 3
aload 4
invokevirtual com.android.internal.widget.LockPatternView$Cell.getRow:()I
iconst_3
imul
aload 4
invokevirtual com.android.internal.widget.LockPatternView$Cell.getColumn:()I
iadd
bipush 49
iadd
i2b
bastore
end local 4 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 1
if_icmplt 6
end local 3 10: new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([B)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
3 11 1 patternSize I
4 11 2 res [B
5 10 3 i I
7 8 4 cell Lcom/android/internal/widget/LockPatternView$Cell;
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;)Ljava/lang/String;
MethodParameters:
Name Flags
pattern
public static java.lang.String patternStringToBaseZero(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 3: iload 1
newarray 8
astore 2
start local 2 4: aload 0
invokevirtual java.lang.String.getBytes:()[B
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: java.lang.String int byte[] byte[] int
StackMap stack:
aload 2
iload 4
aload 3
iload 4
baload
bipush 49
isub
i2b
bastore
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 1
if_icmplt 7
end local 4 10: new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([B)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 pattern Ljava/lang/String;
3 11 1 patternSize I
4 11 2 res [B
5 11 3 bytes [B
6 10 4 i I
MethodParameters:
Name Flags
pattern
public static byte[] patternToHash(java.util.List<com.android.internal.widget.LockPatternView$Cell>);
descriptor: (Ljava/util/List;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.size:()I
istore 1
start local 1 3: iload 1
newarray 8
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: int byte[] int
StackMap stack:
aload 0
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.android.internal.widget.LockPatternView$Cell
astore 4
start local 4 7: aload 2
iload 3
aload 4
invokevirtual com.android.internal.widget.LockPatternView$Cell.getRow:()I
iconst_3
imul
aload 4
invokevirtual com.android.internal.widget.LockPatternView$Cell.getColumn:()I
iadd
i2b
bastore
end local 4 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 1
if_icmplt 6
end local 3 10: ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 3
start local 3 11: aload 3
aload 2
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 4
start local 4 12: aload 4
13: areturn
end local 4 end local 3 14: StackMap locals: java.util.List int byte[]
StackMap stack: java.security.NoSuchAlgorithmException
pop
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 pattern Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;
3 16 1 patternSize I
4 16 2 res [B
5 10 3 i I
7 8 4 cell Lcom/android/internal/widget/LockPatternView$Cell;
11 14 3 md Ljava/security/MessageDigest;
12 14 4 hash [B
Exception table:
from to target type
10 13 14 Class java.security.NoSuchAlgorithmException
Signature: (Ljava/util/List<Lcom/android/internal/widget/LockPatternView$Cell;>;)[B
MethodParameters:
Name Flags
pattern
private java.lang.String getSalt(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.password_salt"
lconst_0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getLong:(Ljava/lang/String;JI)J
lstore 2
start local 2 1: lload 2
lconst_0
lcmp
ifne 8
2: ldc "SHA1PRNG"
invokestatic java.security.SecureRandom.getInstance:(Ljava/lang/String;)Ljava/security/SecureRandom;
invokevirtual java.security.SecureRandom.nextLong:()J
lstore 2
3: aload 0
ldc "lockscreen.password_salt"
lload 2
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.setLong:(Ljava/lang/String;JI)V
4: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Initialized lock password salt for user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: goto 8
StackMap locals: com.android.internal.widget.LockPatternUtils int long
StackMap stack: java.security.NoSuchAlgorithmException
6: astore 4
start local 4 7: new java.lang.IllegalStateException
dup
ldc "Couldn't get SecureRandom number"
aload 4
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 8: StackMap locals:
StackMap stack:
lload 2
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/internal/widget/LockPatternUtils;
0 9 1 userId I
1 9 2 salt J
7 8 4 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
2 5 6 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
userId
public java.lang.String legacyPasswordToHash(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tHexEncoding cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
MethodParameters:
Name Flags
password
userId
private java.lang.String passwordToHistoryHash(java.lang.String, byte[], int);
descriptor: (Ljava/lang/String;[BI)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tHexEncoding cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
MethodParameters:
Name Flags
passwordToHash
hashFactor
userId
public boolean isSecure(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
istore 2
start local 2 1: aload 0
iload 2
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPatternEnabled:(II)Z
ifne 2
aload 0
iload 2
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPasswordEnabled:(II)Z
ifne 2
iconst_0
ireturn
StackMap locals: int
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
0 3 1 userId I
1 3 2 mode I
MethodParameters:
Name Flags
userId
public boolean isLockPasswordEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPasswordEnabled:(II)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
private boolean isLockPasswordEnabled(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ldc 262144
if_icmpeq 7
1: iload 1
ldc 131072
if_icmpeq 7
2: iload 1
ldc 196608
if_icmpeq 7
3: iload 1
ldc 327680
if_icmpeq 7
4: iload 1
ldc 393216
if_icmpeq 7
5: iload 1
ldc 524288
if_icmpeq 7
6: iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 3
start local 3 9: iload 3
ifeq 10
aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.savedPasswordExists:(I)Z
ifeq 10
iconst_1
ireturn
StackMap locals: int
StackMap stack:
10: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/android/internal/widget/LockPatternUtils;
0 11 1 mode I
0 11 2 userId I
9 11 3 passwordEnabled Z
MethodParameters:
Name Flags
mode
userId
public boolean isLockPatternEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getKeyguardStoredPasswordQuality:(I)I
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isLockPatternEnabled:(II)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public boolean isLegacyLockPatternEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "legacy_lock_pattern_enabled"
iconst_1
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getBoolean:(Ljava/lang/String;ZI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
userId
public void setLegacyLockPatternEnabled(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lock_pattern_autolock"
iconst_1
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
userId
private boolean isLockPatternEnabled(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ldc 65536
if_icmpne 1
aload 0
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.savedPatternExists:(I)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 mode I
0 2 2 userId I
MethodParameters:
Name Flags
mode
userId
public boolean isVisiblePatternEnabled(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lock_pattern_visible_pattern"
iconst_0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getBoolean:(Ljava/lang/String;ZI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public void setVisiblePatternEnabled(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lock_pattern_visible_pattern"
iload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: iload 2
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
ldc "mount"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 3
start local 3 4: aload 3
ifnonnull 7
5: ldc "LockPatternUtils"
ldc "Could not find the mount service to update the user info"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: return
7: StackMap locals: android.os.IBinder
StackMap stack:
aload 3
invokestatic android.os.storage.IStorageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
astore 4
start local 4 8: aload 4
ldc "PatternVisible"
iload 1
ifeq 9
ldc "1"
goto 10
StackMap locals: com.android.internal.widget.LockPatternUtils int int android.os.IBinder android.os.storage.IStorageManager
StackMap stack: android.os.storage.IStorageManager java.lang.String
9: ldc "0"
StackMap locals: com.android.internal.widget.LockPatternUtils int int android.os.IBinder android.os.storage.IStorageManager
StackMap stack: android.os.storage.IStorageManager java.lang.String java.lang.String
10: invokeinterface android.os.storage.IStorageManager.setField:(Ljava/lang/String;Ljava/lang/String;)V
11: goto 14
StackMap locals:
StackMap stack: android.os.RemoteException
12: astore 5
start local 5 13: ldc "LockPatternUtils"
ldc "Error changing pattern visible state"
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 5 14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/android/internal/widget/LockPatternUtils;
0 15 1 enabled Z
0 15 2 userId I
4 15 3 service Landroid/os/IBinder;
8 15 4 storageManager Landroid/os/storage/IStorageManager;
13 14 5 e Landroid/os/RemoteException;
Exception table:
from to target type
8 11 12 Class android.os.RemoteException
MethodParameters:
Name Flags
enabled
userId
public boolean isVisiblePatternEverChosen(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lock_pattern_visible_pattern"
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public void setVisiblePasswordEnabled(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
ldc "mount"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: ldc "LockPatternUtils"
ldc "Could not find the mount service to update the user info"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: return
6: StackMap locals: android.os.IBinder
StackMap stack:
aload 3
invokestatic android.os.storage.IStorageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
astore 4
start local 4 7: aload 4
ldc "PasswordVisible"
iload 1
ifeq 8
ldc "1"
goto 9
StackMap locals: com.android.internal.widget.LockPatternUtils int int android.os.IBinder android.os.storage.IStorageManager
StackMap stack: android.os.storage.IStorageManager java.lang.String
8: ldc "0"
StackMap locals: com.android.internal.widget.LockPatternUtils int int android.os.IBinder android.os.storage.IStorageManager
StackMap stack: android.os.storage.IStorageManager java.lang.String java.lang.String
9: invokeinterface android.os.storage.IStorageManager.setField:(Ljava/lang/String;Ljava/lang/String;)V
10: goto 13
StackMap locals:
StackMap stack: android.os.RemoteException
11: astore 5
start local 5 12: ldc "LockPatternUtils"
ldc "Error changing password visible state"
aload 5
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 5 13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/android/internal/widget/LockPatternUtils;
0 14 1 enabled Z
0 14 2 userId I
3 14 3 service Landroid/os/IBinder;
7 14 4 storageManager Landroid/os/storage/IStorageManager;
12 13 5 e Landroid/os/RemoteException;
Exception table:
from to target type
7 10 11 Class android.os.RemoteException
MethodParameters:
Name Flags
enabled
userId
public boolean isTactileFeedbackEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContentResolver:Landroid/content/ContentResolver;
1: ldc "haptic_feedback_enabled"
iconst_1
bipush -2
2: invokestatic android.provider.Settings$System.getIntForUser:(Landroid/content/ContentResolver;Ljava/lang/String;II)I
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
public long setLockoutAttemptDeadline(int, int);
descriptor: (II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic android.os.SystemClock.elapsedRealtime:()J
iload 2
i2l
ladd
lstore 3
start local 3 1: iload 1
sipush -9999
if_icmpne 3
2: lload 3
lreturn
3: StackMap locals: long
StackMap stack:
aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockoutDeadlines:Landroid/util/SparseLongArray;
iload 1
lload 3
invokevirtual android.util.SparseLongArray.put:(IJ)V
4: lload 3
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
0 5 2 timeoutMs I
1 5 3 deadline J
MethodParameters:
Name Flags
userId
timeoutMs
public long getLockoutAttemptDeadline(int);
descriptor: (I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockoutDeadlines:Landroid/util/SparseLongArray;
iload 1
lconst_0
invokevirtual android.util.SparseLongArray.get:(IJ)J
lstore 2
start local 2 1: invokestatic android.os.SystemClock.elapsedRealtime:()J
lstore 4
start local 4 2: lload 2
lload 4
lcmp
ifge 5
lload 2
lconst_0
lcmp
ifeq 5
3: aload 0
getfield com.android.internal.widget.LockPatternUtils.mLockoutDeadlines:Landroid/util/SparseLongArray;
iload 1
lconst_0
invokevirtual android.util.SparseLongArray.put:(IJ)V
4: lconst_0
lreturn
5: StackMap locals: long long
StackMap stack:
lload 2
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/internal/widget/LockPatternUtils;
0 6 1 userId I
1 6 2 deadline J
2 6 4 now J
MethodParameters:
Name Flags
userId
private boolean getBoolean(java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;ZI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
iload 2
iload 3
invokeinterface com.android.internal.widget.ILockSettings.getBoolean:(Ljava/lang/String;ZI)Z
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 secureSettingKey Ljava/lang/String;
0 4 2 defaultValue Z
0 4 3 userId I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
defaultValue
userId
private void setBoolean(java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;ZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
iload 2
iload 3
invokeinterface com.android.internal.widget.ILockSettings.setBoolean:(Ljava/lang/String;ZI)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 4
start local 4 3: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Couldn't write boolean "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 secureSettingKey Ljava/lang/String;
0 5 2 enabled Z
0 5 3 userId I
3 4 4 re Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
enabled
userId
private long getLong(java.lang.String, long, int);
descriptor: (Ljava/lang/String;JI)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
lload 2
iload 4
invokeinterface com.android.internal.widget.ILockSettings.getLong:(Ljava/lang/String;JI)J
1: lreturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: lload 2
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 secureSettingKey Ljava/lang/String;
0 4 2 defaultValue J
0 4 4 userHandle I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
defaultValue
userHandle
private void setLong(java.lang.String, long, int);
descriptor: (Ljava/lang/String;JI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
lload 2
iload 4
invokeinterface com.android.internal.widget.ILockSettings.setLong:(Ljava/lang/String;JI)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 5
start local 5 3: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Couldn't write long "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 5 4: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 secureSettingKey Ljava/lang/String;
0 5 2 value J
0 5 4 userHandle I
3 4 5 re Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
value
userHandle
private java.lang.String getString(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
aconst_null
iload 2
invokeinterface com.android.internal.widget.ILockSettings.getString:(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
pop
3: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 secureSettingKey Ljava/lang/String;
0 4 2 userHandle I
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
userHandle
private void setString(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
aload 2
iload 3
invokeinterface com.android.internal.widget.ILockSettings.setString:(Ljava/lang/String;Ljava/lang/String;I)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 4
start local 4 3: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Couldn't write string "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 secureSettingKey Ljava/lang/String;
0 5 2 value Ljava/lang/String;
0 5 3 userHandle I
3 4 4 re Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
secureSettingKey
value
userHandle
public void setPowerButtonInstantlyLocks(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "lockscreen.power_button_instantly_locks"
iload 1
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setBoolean:(Ljava/lang/String;ZI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 enabled Z
0 2 2 userId I
MethodParameters:
Name Flags
enabled
userId
public boolean getPowerButtonInstantlyLocks(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.power_button_instantly_locks"
iconst_1
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getBoolean:(Ljava/lang/String;ZI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 userId I
MethodParameters:
Name Flags
userId
public boolean isPowerButtonInstantlyLocksEverChosen(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.power_button_instantly_locks"
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public void setEnabledTrustAgents(java.util.Collection<android.content.ComponentName>, );
descriptor: (Ljava/util/Collection;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.android.internal.widget.LockPatternUtils java.util.Collection int java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.content.ComponentName
astore 4
start local 4 3: aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 5
4: aload 3
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals: com.android.internal.widget.LockPatternUtils java.util.Collection int java.lang.StringBuilder android.content.ComponentName java.util.Iterator
StackMap stack:
aload 3
aload 4
invokevirtual android.content.ComponentName.flattenToShortString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 6: StackMap locals: com.android.internal.widget.LockPatternUtils java.util.Collection int java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 0
ldc "lockscreen.enabledtrustagents"
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
invokevirtual com.android.internal.widget.LockPatternUtils.setString:(Ljava/lang/String;Ljava/lang/String;I)V
8: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getTrustManager:()Landroid/app/trust/TrustManager;
iload 2
invokevirtual android.app.trust.TrustManager.reportEnabledTrustAgentsChanged:(I)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/widget/LockPatternUtils;
0 10 1 activeTrustAgents Ljava/util/Collection<Landroid/content/ComponentName;>;
0 10 2 userId I
1 10 3 sb Ljava/lang/StringBuilder;
3 6 4 cn Landroid/content/ComponentName;
Signature: (Ljava/util/Collection<Landroid/content/ComponentName;>;I)V
MethodParameters:
Name Flags
activeTrustAgents
userId
public java.util.List<android.content.ComponentName> getEnabledTrustAgents(int);
descriptor: (I)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ldc "lockscreen.enabledtrustagents"
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getString:(Ljava/lang/String;I)Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 4: new java.util.ArrayList
dup
aload 3
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 10
StackMap locals: com.android.internal.widget.LockPatternUtils int java.lang.String java.lang.String[] java.util.ArrayList top int int java.lang.String[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: aload 5
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 9
8: aload 4
aload 5
invokestatic android.content.ComponentName.unflattenFromString:(Ljava/lang/String;)Landroid/content/ComponentName;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 7
if_icmplt 6
11: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/internal/widget/LockPatternUtils;
0 12 1 userId I
1 12 2 serialized Ljava/lang/String;
4 12 3 split [Ljava/lang/String;
5 12 4 activeTrustAgents Ljava/util/ArrayList<Landroid/content/ComponentName;>;
7 9 5 s Ljava/lang/String;
Signature: (I)Ljava/util/List<Landroid/content/ComponentName;>;
MethodParameters:
Name Flags
userId
public void requireCredentialEntry(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_4
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.requireStrongAuth:(II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public void requireStrongAuth(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
iload 2
invokeinterface com.android.internal.widget.ILockSettings.requireStrongAuth:(II)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 3
start local 3 3: ldc "LockPatternUtils"
new java.lang.StringBuilder
dup
ldc "Error while requesting strong auth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 strongAuthReason I
0 5 2 userId I
3 4 3 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
strongAuthReason
userId
private void onAfterChangingPassword(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getTrustManager:()Landroid/app/trust/TrustManager;
iload 1
invokevirtual android.app.trust.TrustManager.reportEnabledTrustAgentsChanged:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userHandle I
MethodParameters:
Name Flags
userHandle
public boolean isCredentialRequiredToDecrypt(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContentResolver:Landroid/content/ContentResolver;
1: ldc "require_password_to_decrypt"
iconst_m1
2: invokestatic android.provider.Settings$Global.getInt:(Landroid/content/ContentResolver;Ljava/lang/String;I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 4
iload 1
goto 6
StackMap locals: int
StackMap stack:
4: iload 2
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/widget/LockPatternUtils;
0 7 1 defaultValue Z
3 7 2 value I
MethodParameters:
Name Flags
defaultValue
public void setCredentialRequiredToDecrypt(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getUserManager:()Landroid/os/UserManager;
invokevirtual android.os.UserManager.isSystemUser:()Z
ifne 4
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getUserManager:()Landroid/os/UserManager;
invokevirtual android.os.UserManager.isPrimaryUser:()Z
ifne 4
1: new java.lang.IllegalStateException
dup
2: ldc "Only the system or primary user may call setCredentialRequiredForDecrypt()"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic com.android.internal.widget.LockPatternUtils.isDeviceEncryptionEnabled:()Z
ifeq 9
5: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
6: ldc "require_password_to_decrypt"
iload 1
ifeq 7
iconst_1
goto 8
StackMap locals: com.android.internal.widget.LockPatternUtils int
StackMap stack: android.content.ContentResolver java.lang.String
7: iconst_0
8: StackMap locals: com.android.internal.widget.LockPatternUtils int
StackMap stack: android.content.ContentResolver java.lang.String int
invokestatic android.provider.Settings$Global.putInt:(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
pop
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/widget/LockPatternUtils;
0 10 1 required Z
MethodParameters:
Name Flags
required
private boolean isDoNotAskCredentialsOnBootSet();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getDevicePolicyManager:()Landroid/app/admin/DevicePolicyManager;
invokevirtual android.app.admin.DevicePolicyManager.getDoNotAskCredentialsOnBoot:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
private boolean shouldEncryptWithCredentials(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.isCredentialRequiredToDecrypt:(Z)Z
ifeq 1
aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.isDoNotAskCredentialsOnBootSet:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 defaultValue Z
MethodParameters:
Name Flags
defaultValue
private void throwIfCalledOnMainThread();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
invokevirtual android.os.Looper.isCurrentThread:()Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "should not be called from the main thread."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/widget/LockPatternUtils;
public void registerStrongAuthTracker(com.android.internal.widget.LockPatternUtils$StrongAuthTracker);
descriptor: (Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
getfield com.android.internal.widget.LockPatternUtils$StrongAuthTracker.mStub:Landroid/app/trust/IStrongAuthTracker$Stub;
invokeinterface com.android.internal.widget.ILockSettings.registerStrongAuthTracker:(Landroid/app/trust/IStrongAuthTracker;)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: pop
3: new java.lang.RuntimeException
dup
ldc "Could not register StrongAuthTracker"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 strongAuthTracker Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
strongAuthTracker final
public void unregisterStrongAuthTracker(com.android.internal.widget.LockPatternUtils$StrongAuthTracker);
descriptor: (Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
aload 1
getfield com.android.internal.widget.LockPatternUtils$StrongAuthTracker.mStub:Landroid/app/trust/IStrongAuthTracker$Stub;
invokeinterface com.android.internal.widget.ILockSettings.unregisterStrongAuthTracker:(Landroid/app/trust/IStrongAuthTracker;)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 2
start local 2 3: ldc "LockPatternUtils"
ldc "Could not unregister StrongAuthTracker"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 strongAuthTracker Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;
3 4 2 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
strongAuthTracker final
public int getStrongAuthForUser(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettings:()Lcom/android/internal/widget/ILockSettings;
iload 1
invokeinterface com.android.internal.widget.ILockSettings.getStrongAuthForUser:(I)I
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 2
start local 2 3: ldc "LockPatternUtils"
ldc "Could not get StrongAuth"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aload 0
getfield com.android.internal.widget.LockPatternUtils.mContext:Landroid/content/Context;
invokestatic com.android.internal.widget.LockPatternUtils$StrongAuthTracker.getDefaultFlags:(Landroid/content/Context;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 userId I
3 5 2 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
userId
public boolean isTrustAllowedForUser(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getStrongAuthForUser:(I)I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public boolean isFingerprintAllowedForUser(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getStrongAuthForUser:(I)I
bipush -5
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
0 2 1 userId I
MethodParameters:
Name Flags
userId
public boolean isUserInLockdown(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.android.internal.widget.LockPatternUtils.getStrongAuthForUser:(I)I
1: bipush 32
2: if_icmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
0 4 1 userId I
MethodParameters:
Name Flags
userId
private com.android.internal.widget.ICheckCredentialProgressCallback wrapCallback(com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback);
descriptor: (Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)Lcom/android/internal/widget/ICheckCredentialProgressCallback;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.internal.widget.LockPatternUtils.mHandler:Landroid/os/Handler;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Must construct LockPatternUtils on a looper thread to use progress callbacks."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new com.android.internal.widget.LockPatternUtils$2
dup
aload 0
aload 1
invokespecial com.android.internal.widget.LockPatternUtils$2.<init>:(Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/widget/LockPatternUtils;
0 5 1 callback Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;
MethodParameters:
Name Flags
callback final
private com.android.internal.widget.LockSettingsInternal getLockSettingsInternal();
descriptor: ()Lcom/android/internal/widget/LockSettingsInternal;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc Lcom/android/internal/widget/LockSettingsInternal;
invokestatic com.android.server.LocalServices.getService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.android.internal.widget.LockSettingsInternal
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.SecurityException
dup
ldc "Only available to system server itself"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.android.internal.widget.LockSettingsInternal
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/widget/LockPatternUtils;
1 4 1 service Lcom/android/internal/widget/LockSettingsInternal;
public long addEscrowToken(byte[], int);
descriptor: ([BI)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettingsInternal:()Lcom/android/internal/widget/LockSettingsInternal;
aload 1
iload 2
invokevirtual com.android.internal.widget.LockSettingsInternal.addEscrowToken:([BI)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 token [B
0 1 2 userId I
MethodParameters:
Name Flags
token
userId
public boolean removeEscrowToken(long, int);
descriptor: (JI)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettingsInternal:()Lcom/android/internal/widget/LockSettingsInternal;
lload 1
iload 3
invokevirtual com.android.internal.widget.LockSettingsInternal.removeEscrowToken:(JI)Z
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 handle J
0 1 3 userId I
MethodParameters:
Name Flags
handle
userId
public boolean isEscrowTokenActive(long, int);
descriptor: (JI)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettingsInternal:()Lcom/android/internal/widget/LockSettingsInternal;
lload 1
iload 3
invokevirtual com.android.internal.widget.LockSettingsInternal.isEscrowTokenActive:(JI)Z
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 handle J
0 1 3 userId I
MethodParameters:
Name Flags
handle
userId
public boolean setLockCredentialWithToken(java.lang.String, int, int, long, byte[], int);
descriptor: (Ljava/lang/String;IIJ[BI)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettingsInternal:()Lcom/android/internal/widget/LockSettingsInternal;
astore 8
start local 8 1: iload 2
iconst_m1
if_icmpeq 15
2: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 3
aload 1
invokevirtual java.lang.String.length:()I
iconst_4
if_icmpge 4
3: StackMap locals: com.android.internal.widget.LockSettingsInternal
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "password must not be null and at least of length 4"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 1
iload 3
invokevirtual com.android.internal.widget.LockPatternUtils.computePasswordQuality:(ILjava/lang/String;I)I
istore 9
start local 9 5: aload 8
aload 1
iload 2
lload 4
6: aload 6
iload 9
iload 7
7: invokevirtual com.android.internal.widget.LockSettingsInternal.setLockCredentialWithToken:(Ljava/lang/String;IJ[BII)Z
8: ifne 10
9: iconst_0
ireturn
10: StackMap locals: int
StackMap stack:
aload 0
iload 9
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
11: aload 0
aload 1
iload 9
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPasswordIfNeeded:(Ljava/lang/String;II)V
12: aload 0
aload 1
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.updatePasswordHistory:(Ljava/lang/String;I)V
13: aload 0
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
end local 9 14: goto 26
15: StackMap locals:
StackMap stack:
aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 17
16: new java.lang.IllegalArgumentException
dup
ldc "password must be emtpy for NONE type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 8
aconst_null
iconst_m1
18: lload 4
aload 6
iconst_0
iload 7
19: invokevirtual com.android.internal.widget.LockSettingsInternal.setLockCredentialWithToken:(Ljava/lang/String;IJ[BII)Z
20: ifne 22
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.setKeyguardStoredPasswordQuality:(II)V
23: iload 7
ifne 26
24: aload 0
iconst_1
aconst_null
invokevirtual com.android.internal.widget.LockPatternUtils.updateEncryptionPassword:(ILjava/lang/String;)V
25: aload 0
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.setCredentialRequiredToDecrypt:(Z)V
26: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual com.android.internal.widget.LockPatternUtils.onAfterChangingPassword:(I)V
27: iconst_1
ireturn
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/android/internal/widget/LockPatternUtils;
0 28 1 credential Ljava/lang/String;
0 28 2 type I
0 28 3 requestedQuality I
0 28 4 tokenHandle J
0 28 6 token [B
0 28 7 userId I
1 28 8 localService Lcom/android/internal/widget/LockSettingsInternal;
5 14 9 quality I
MethodParameters:
Name Flags
credential
type
requestedQuality
tokenHandle
token
userId
public boolean unlockUserWithToken(long, byte[], int);
descriptor: (J[BI)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
invokevirtual com.android.internal.widget.LockPatternUtils.getLockSettingsInternal:()Lcom/android/internal/widget/LockSettingsInternal;
lload 1
aload 3
iload 4
invokevirtual com.android.internal.widget.LockSettingsInternal.unlockUserWithToken:(J[BI)Z
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/widget/LockPatternUtils;
0 1 1 tokenHandle J
0 1 3 token [B
0 1 4 userId I
MethodParameters:
Name Flags
tokenHandle
token
userId
public void enableSyntheticPassword();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ldc "enable-sp"
lconst_1
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.setLong:(Ljava/lang/String;JI)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
public void disableSyntheticPassword();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ldc "enable-sp"
lconst_0
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.setLong:(Ljava/lang/String;JI)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
public boolean isSyntheticPasswordEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ldc "enable-sp"
lconst_0
iconst_0
invokevirtual com.android.internal.widget.LockPatternUtils.getLong:(Ljava/lang/String;JI)J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/widget/LockPatternUtils;
public static boolean userOwnsFrpCredential(android.content.Context, android.content.pm.UserInfo);
descriptor: (Landroid/content/Context;Landroid/content/pm/UserInfo;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual android.content.pm.UserInfo.isPrimary:()Z
ifeq 1
aload 1
invokevirtual android.content.pm.UserInfo.isAdmin:()Z
ifeq 1
aload 0
invokestatic com.android.internal.widget.LockPatternUtils.frpCredentialEnabled:(Landroid/content/Context;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Landroid/content/Context;
0 2 1 info Landroid/content/pm/UserInfo;
MethodParameters:
Name Flags
context
info
public static boolean frpCredentialEnabled(android.content.Context);
descriptor: (Landroid/content/Context;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tcom.android.internal.R.bool cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
context
}
SourceFile: "LockPatternUtils.java"
NestMembers:
com.android.internal.widget.LockPatternUtils$1 com.android.internal.widget.LockPatternUtils$2 com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback com.android.internal.widget.LockPatternUtils$RequestThrottledException com.android.internal.widget.LockPatternUtils$StrongAuthTracker com.android.internal.widget.LockPatternUtils$StrongAuthTracker$1 com.android.internal.widget.LockPatternUtils$StrongAuthTracker$H com.android.internal.widget.LockPatternUtils$StrongAuthTracker$StrongAuthFlags
InnerClasses:
public abstract Stub = android.os.storage.IStorageManager$Stub of android.os.storage.IStorageManager
public final Global = android.provider.Settings$Global of android.provider.Settings
public final System = android.provider.Settings$System of android.provider.Settings
public abstract Stub = com.android.internal.widget.ILockSettings$Stub of com.android.internal.widget.ILockSettings
com.android.internal.widget.LockPatternUtils$1
com.android.internal.widget.LockPatternUtils$2
public abstract CheckCredentialProgressCallback = com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback of com.android.internal.widget.LockPatternUtils
public final RequestThrottledException = com.android.internal.widget.LockPatternUtils$RequestThrottledException of com.android.internal.widget.LockPatternUtils
public StrongAuthTracker = com.android.internal.widget.LockPatternUtils$StrongAuthTracker of com.android.internal.widget.LockPatternUtils
public final Cell = com.android.internal.widget.LockPatternView$Cell of com.android.internal.widget.LockPatternView