patches: base: Add more patches

Signed-off-by: Jackeagle <jackeagle102@gmail.com>
diff --git a/patches/frameworks/base/0026-Revert-LockSettingsService-Support-for-separate-clea.patch b/patches/frameworks/base/0026-Revert-LockSettingsService-Support-for-separate-clea.patch
new file mode 100644
index 0000000..d698d8f
--- /dev/null
+++ b/patches/frameworks/base/0026-Revert-LockSettingsService-Support-for-separate-clea.patch
@@ -0,0 +1,87 @@
+From bbccdea5094fdebb4e238c731699f434dd0bf708 Mon Sep 17 00:00:00 2001
+From: Jackeagle <jackeagle102@gmail.com>
+Date: Thu, 25 Apr 2019 05:34:02 +0200
+Subject: [PATCH 26/28] Revert "LockSettingsService: Support for separate clear
+ key api"
+
+This reverts commit 32b8f829d566bfd3d89c9b3eb018f0fc4d408e2d.
+---
+ .../android/os/storage/IStorageManager.aidl    |  1 -
+ .../android/server/StorageManagerService.java  | 18 ------------------
+ .../locksettings/LockSettingsService.java      | 14 +-------------
+ 3 files changed, 1 insertion(+), 32 deletions(-)
+
+diff --git a/core/java/android/os/storage/IStorageManager.aidl b/core/java/android/os/storage/IStorageManager.aidl
+index 49bc9e4d8d0..55a202fd3a6 100644
+--- a/core/java/android/os/storage/IStorageManager.aidl
++++ b/core/java/android/os/storage/IStorageManager.aidl
+@@ -187,5 +187,4 @@ interface IStorageManager {
+     void allocateBytes(String volumeUuid, long bytes, int flags, String callingPackage) = 78;
+     void runIdleMaintenance() = 79;
+     void abortIdleMaintenance() = 80;
+-    void clearUserKeyAuth(int userId, int serialNumber, in byte[] token, in byte[] secret) = 81;
+ }
+diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
+index 14b02030714..7a726ce802c 100644
+--- a/services/core/java/com/android/server/StorageManagerService.java
++++ b/services/core/java/com/android/server/StorageManagerService.java
+@@ -2531,24 +2531,6 @@ class StorageManagerService extends IStorageManager.Stub
+         }
+     }
+ 
+-    /*
+-     * Clear disk encryption key bound to the associated token / secret pair. Removing the user
+-     * binding of the Disk encryption key is done in two phases: first, this call will retrieve
+-     * the disk encryption key using the provided token / secret pair and store it by
+-     * encrypting it with a keymaster key not bound to the user, then fixateNewestUserKeyAuth
+-     * is called to delete all other bindings of the disk encryption key.
+-     */
+-    @Override
+-    public void clearUserKeyAuth(int userId, int serialNumber, byte[] token, byte[] secret) {
+-        enforcePermission(android.Manifest.permission.STORAGE_INTERNAL);
+-
+-        try {
+-            mVold.clearUserKeyAuth(userId, serialNumber, encodeBytes(token), encodeBytes(secret));
+-        } catch (Exception e) {
+-            Slog.wtf(TAG, e);
+-        }
+-    }
+-
+     /*
+      * Delete all disk encryption token/secret pairs except the most recently added one
+      */
+diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
+index edd68b7d2eb..faf5a09e91b 100644
+--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
++++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
+@@ -1568,18 +1568,6 @@ public class LockSettingsService extends ILockSettings.Stub {
+         addUserKeyAuth(userId, null, null);
+     }
+ 
+-    private void clearUserKeyAuth(int userId, byte[] token, byte[] secret) throws RemoteException {
+-        if (DEBUG) Slog.d(TAG, "clearUserKeyProtection user=" + userId);
+-        final UserInfo userInfo = mUserManager.getUserInfo(userId);
+-        final IStorageManager storageManager = mInjector.getStorageManager();
+-        final long callingId = Binder.clearCallingIdentity();
+-        try {
+-            storageManager.clearUserKeyAuth(userId, userInfo.serialNumber, token, secret);
+-        } finally {
+-            Binder.restoreCallingIdentity(callingId);
+-        }
+-    }
+-
+     private static byte[] secretFromCredential(String credential) throws RemoteException {
+         try {
+             MessageDigest digest = MessageDigest.getInstance("SHA-512");
+@@ -2530,7 +2518,7 @@ public class LockSettingsService extends ILockSettings.Stub {
+             getGateKeeperService().clearSecureUserId(userId);
+             // Clear key from vold so ActivityManager can just unlock the user with empty secret
+             // during boot.
+-            clearUserKeyAuth(userId, null, auth.deriveDiskEncryptionKey());
++            clearUserKeyProtection(userId);
+             fixateNewestUserKeyAuth(userId);
+             setKeystorePassword(null, userId);
+         }
+-- 
+2.21.0
+