Update lock pattern types for android 11
The stored id for the different types of the lock pattern was chnaged
with Android 11. You can find the updated list in the LockPatternUtils:
https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-11.0.0_r25/core/java/com/android/internal/widget/LockPatternUtils.java#113
It was changed in 5e891bcc04556a3595ab349381acc2a2e36a69d1:
5e891bcc04
The old CREDENTIAL_TYPE_PASSWORD_OR_PIN was essentialy split in
CREDENTIAL_TYPE_PASSWORD and CREDENTIAL_TYPE_PASSWORD_OR_PIN.
This code updates the matching in twrp, so that the correct unlocking
method for file base decryption can be found. Without these changes twrp
always try to use the default password and obviously fails. With these
changes the usual password dialog is shown and the decryption is
successfully.
Change-Id: Ia8d47223b30a5301d4b9d2230241039612055ebb
Signed-off-by: Alexander Sulfrian <asulfrian@zedat.fu-berlin.de>
Co-authored-by: althafvly <althafvly@gmail.com>
This commit is contained in:
committed by
bigbiff
parent
af253cd0ef
commit
8dfcf2a186
@@ -1203,7 +1203,9 @@ int Get_Password_Type(const userid_t user_id, std::string& filename) {
|
||||
}
|
||||
if (pwd.password_type == 1) // In Android this means pattern
|
||||
return 2; // In TWRP this means pattern
|
||||
else if (pwd.password_type == 2) // In Android this means PIN or password
|
||||
// In Android <11 type 2 is PIN or password
|
||||
// In Android 11 type 3 is PIN and type 4 is password
|
||||
else if (pwd.password_type > 1)
|
||||
return 1; // In TWRP this means PIN or password
|
||||
return 0; // We'll try the default password
|
||||
#else
|
||||
|
||||
@@ -1045,7 +1045,9 @@ int Get_Password_Type(const userid_t user_id, std::string& filename) {
|
||||
printf("password type: pattern\n");
|
||||
return 2; // In TWRP this means pattern
|
||||
}
|
||||
else if (pwd.password_type == 2) { // In Android this means PIN or password
|
||||
// In Android <11 type 2 is PIN or password
|
||||
// In Android 11 type 3 is PIN and type 4 is password
|
||||
else if (pwd.password_type > 1) {
|
||||
printf("password type: pin\n");
|
||||
return 1; // In TWRP this means PIN or password
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user