GSI updates for frameworks/base

Change-Id: I98fb95c5be8b75c9dcfef19a6fd8890215996891
diff --git a/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch b/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
index f02d4a2..9da2870 100644
--- a/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
+++ b/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
@@ -1,7 +1,7 @@
-From f9a5090f9f8f3ec31526c985420bc8cd26addcb1 Mon Sep 17 00:00:00 2001
+From f10e71bad6ac60e78d7bdc164b9a499a4ad3831e Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Sat, 24 Mar 2018 08:01:48 +0100
-Subject: [PATCH 01/25] Fix backlight control on Galaxy S9(+)
+Subject: [PATCH 01/27] Fix backlight control on Galaxy S9(+)
 
 ---
  .../core/java/com/android/server/lights/LightsService.java | 7 +++++++
diff --git a/patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch b/patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch
index e26b9d0..7446ee0 100644
--- a/patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch
+++ b/patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch
@@ -1,7 +1,7 @@
-From 17c51e635f8277cb2d06b6412474300033895a08 Mon Sep 17 00:00:00 2001
+From 0165b12a22d8b379c01ddae100da10ed977c7e36 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Tue, 28 Nov 2017 18:28:04 +0100
-Subject: [PATCH 02/25] Relax requirement for visible flag to sdcards
+Subject: [PATCH 02/27] Relax requirement for visible flag to sdcards
 
 The vast majority of sdcard readers are stable enough to be declared by
 the API. (I see no counter-example)
@@ -13,10 +13,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
-index 028f378adb5..e70e12c25da 100644
+index a30f99f6f6b..14b02030714 100644
 --- a/services/core/java/com/android/server/StorageManagerService.java
 +++ b/services/core/java/com/android/server/StorageManagerService.java
-@@ -1180,7 +1180,8 @@ class StorageManagerService extends IStorageManager.Stub
+@@ -1181,7 +1181,8 @@ class StorageManagerService extends IStorageManager.Stub
  
              // Adoptable public disks are visible to apps, since they meet
              // public API requirement of being in a stable location.
diff --git a/patches/frameworks/base/0003-Also-scan-system-overlay.patch b/patches/frameworks/base/0003-Also-scan-system-overlay.patch
index 33aa676..7186be4 100644
--- a/patches/frameworks/base/0003-Also-scan-system-overlay.patch
+++ b/patches/frameworks/base/0003-Also-scan-system-overlay.patch
@@ -1,7 +1,7 @@
-From ab7bb8be561808abfaeb8a8db7e1ae201501790b Mon Sep 17 00:00:00 2001
+From 1db5bd6dde367a130f9cef210ae74a9402349bd2 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Tue, 1 May 2018 17:47:36 +0200
-Subject: [PATCH 03/25] Also scan /system/overlay
+Subject: [PATCH 03/27] Also scan /system/overlay
 
 Change-Id: Ib0223560606b80cdaaa986b159b34b4db0154589
 ---
diff --git a/patches/frameworks/base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch b/patches/frameworks/base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch
index d010f96..c53d7cc 100644
--- a/patches/frameworks/base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch
+++ b/patches/frameworks/base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch
@@ -1,7 +1,7 @@
-From 3f2487f1dbb5367ad9d865a010d6f69172eb8854 Mon Sep 17 00:00:00 2001
+From 1d2e505a0ef6c9fa413722133392f62c194e1831 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Thu, 17 May 2018 20:28:35 +0200
-Subject: [PATCH 04/25] Don't crash if there is IR HAL is not declared
+Subject: [PATCH 04/27] Don't crash if there is IR HAL is not declared
 
 ---
  services/core/java/com/android/server/ConsumerIrService.java | 2 --
diff --git a/patches/frameworks/base/0005-Fix-62.patch b/patches/frameworks/base/0005-Fix-62.patch
index 6a4ff28..9fde17e 100644
--- a/patches/frameworks/base/0005-Fix-62.patch
+++ b/patches/frameworks/base/0005-Fix-62.patch
@@ -1,17 +1,17 @@
-From b484c0c764e80069dd5ae018224b9f9ccaa11df9 Mon Sep 17 00:00:00 2001
+From 0ffac9ef7929dbfd6ebe437d09b9b26d342f410a Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Wed, 30 May 2018 14:05:30 +0200
-Subject: [PATCH 05/25] Fix(?) #62
+Subject: [PATCH 05/27] Fix(?) #62
 
 ---
  .../src/com/android/keyguard/KeyguardUpdateMonitor.java      | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
-index e988e678ea7..8f99fa7ff3b 100644
+index 2a3094fa4b1..5864d0f8e61 100644
 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
 +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
-@@ -895,7 +895,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
+@@ -920,7 +920,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
  
          @Override
          public void onAuthenticationError(int errMsgId, CharSequence errString) {
diff --git a/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch b/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
index cfca180..1078207 100644
--- a/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
+++ b/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
@@ -1,7 +1,7 @@
-From 545fab20b927a3be5afe6f904bfefd1766c525ae Mon Sep 17 00:00:00 2001
+From a58a9c8363f015b065f34d0d4c2ec87885579850 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <pierre-hugues.husson@softathome.com>
 Date: Thu, 7 Jun 2018 13:36:51 +0200
-Subject: [PATCH 06/25] S9 brightness override only for screen
+Subject: [PATCH 06/27] S9 brightness override only for screen
 
 ---
  .../com/android/server/lights/LightsService.java     | 12 +++++++-----
diff --git a/patches/frameworks/base/0007-Fix-OP6-brightness.patch b/patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
similarity index 92%
rename from patches/frameworks/base/0007-Fix-OP6-brightness.patch
rename to patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
index fe1bdbb..b97c749 100644
--- a/patches/frameworks/base/0007-Fix-OP6-brightness.patch
+++ b/patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
@@ -1,7 +1,7 @@
-From f09dc9d1a33c385613760d900a150db9267e390e Mon Sep 17 00:00:00 2001
+From 0171e6233f7de549bdc94118f31b55830ef470c5 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <pierre-hugues.husson@softathome.com>
 Date: Thu, 7 Jun 2018 13:42:02 +0200
-Subject: [PATCH 07/25] Fix OP6 brightness
+Subject: [PATCH 07/27] [WIP] Fix OP6 brightness
 
 ---
  .../com/android/server/lights/LightsService.java     | 12 ++++++++++++
diff --git a/patches/frameworks/base/0008-Try-to-make-brightness-more-generic-using-property-s.patch b/patches/frameworks/base/0008-Try-to-make-brightness-more-generic-using-property-s.patch
index 5187b49..170d483 100644
--- a/patches/frameworks/base/0008-Try-to-make-brightness-more-generic-using-property-s.patch
+++ b/patches/frameworks/base/0008-Try-to-make-brightness-more-generic-using-property-s.patch
@@ -1,7 +1,7 @@
-From 461c98c0cfd89c924b5ed46056c54160a7ea3fc1 Mon Sep 17 00:00:00 2001
+From 440013f49d95e815e6b114ec159161c398eb75a0 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Sun, 10 Jun 2018 22:54:55 +0200
-Subject: [PATCH 08/25] Try to make brightness more generic using property set
+Subject: [PATCH 08/27] Try to make brightness more generic using property set
  by rw-system
 
 ---
diff --git a/patches/frameworks/base/0009-property-matching-RROs-allow-to-prefix-the-value-wit.patch b/patches/frameworks/base/0009-property-matching-RROs-allow-to-prefix-the-value-wit.patch
index 722962b..2b77abd 100644
--- a/patches/frameworks/base/0009-property-matching-RROs-allow-to-prefix-the-value-wit.patch
+++ b/patches/frameworks/base/0009-property-matching-RROs-allow-to-prefix-the-value-wit.patch
@@ -1,7 +1,7 @@
-From 57da873551c017e071ba5d70f51f003aaa444b0e Mon Sep 17 00:00:00 2001
+From 538df8b19b020984b49a299cd36d02462fb87f33 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Tue, 12 Jun 2018 22:55:32 +0200
-Subject: [PATCH 09/25] property-matching RROs: allow to prefix the value with
+Subject: [PATCH 09/27] property-matching RROs: allow to prefix the value with
  + to do glob match instead of exact match
 
 ---
diff --git a/patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch b/patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch
index 1d5a254..ea86dac 100644
--- a/patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch
+++ b/patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch
@@ -1,7 +1,7 @@
-From 271ad5d5ef56eedeeaa0469de9baf8a1f5c37a31 Mon Sep 17 00:00:00 2001
+From d5f73ea1cc9283d3f4ab4851642c8b4ff6154a58 Mon Sep 17 00:00:00 2001
 From: Song Fuchang <song.fc@gmail.com>
 Date: Sun, 17 Jun 2018 22:39:37 +0800
-Subject: [PATCH 10/25] Fix typo on fnmatch return value check
+Subject: [PATCH 10/27] Fix typo on fnmatch return value check
 
 ---
  cmds/idmap/scan.cpp | 2 +-
diff --git a/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch b/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
index 476d5cf..9c3ec8e 100644
--- a/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
+++ b/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
@@ -1,7 +1,7 @@
-From bfcd1087ebff86e5058d26036e72cf7d76a6db37 Mon Sep 17 00:00:00 2001
+From ebf3d9ec38938b6cd69d98014a3548411dce4a60 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Mon, 25 Jun 2018 22:43:32 +0200
-Subject: [PATCH 11/25] Add Qualcomm starlte
+Subject: [PATCH 11/27] Add Qualcomm starlte
 
 ---
  .../core/java/com/android/server/lights/LightsService.java    | 4 +++-
diff --git a/patches/frameworks/base/0012-remaining-of-HAL-onEnroll-is-actually-a-percent-of-p.patch b/patches/frameworks/base/0012-Galaxy-S9-remaining-of-HAL-onEnroll-is-actually-a-pe.patch
similarity index 88%
rename from patches/frameworks/base/0012-remaining-of-HAL-onEnroll-is-actually-a-percent-of-p.patch
rename to patches/frameworks/base/0012-Galaxy-S9-remaining-of-HAL-onEnroll-is-actually-a-pe.patch
index 86a5779..1db1bbb 100644
--- a/patches/frameworks/base/0012-remaining-of-HAL-onEnroll-is-actually-a-percent-of-p.patch
+++ b/patches/frameworks/base/0012-Galaxy-S9-remaining-of-HAL-onEnroll-is-actually-a-pe.patch
@@ -1,8 +1,8 @@
-From f8037b63c7cc7a83ce0da9b7df1e4178fb60eada Mon Sep 17 00:00:00 2001
+From e4d810a1141460417b4db866401acb3d5397f46b Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Mon, 2 Jul 2018 23:36:39 +0200
-Subject: [PATCH 12/25] "remaining" of HAL onEnroll is actually a percent of
- progress
+Subject: [PATCH 12/27] [Galaxy S9] "remaining" of HAL onEnroll is actually a
+ percent of progress
 
 ---
  .../com/android/server/fingerprint/FingerprintService.java  | 6 +++++-
diff --git a/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch b/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
index c7cbfe7..5ab7461 100644
--- a/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
+++ b/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
@@ -1,17 +1,17 @@
-From 904059578a613524a843eb82ec2d07a1ccb5accd Mon Sep 17 00:00:00 2001
+From 5df1b336130919abebb377f363f6d5ded0eea808 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Mon, 6 Aug 2018 12:49:00 +0200
-Subject: [PATCH 13/25] Show APN Settings for CDMA carriers
+Subject: [PATCH 13/27] Show APN Settings for CDMA carriers
 
 ---
  telephony/java/android/telephony/CarrierConfigManager.java | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
-index a8b39e3b06b..5b1e1fc6c74 100644
+index bae18840506..e873c403dd5 100644
 --- a/telephony/java/android/telephony/CarrierConfigManager.java
 +++ b/telephony/java/android/telephony/CarrierConfigManager.java
-@@ -2084,7 +2084,7 @@ public class CarrierConfigManager {
+@@ -2126,7 +2126,7 @@ public class CarrierConfigManager {
          sDefaults.putBoolean(KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL, false);
          sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
          sDefaults.putBoolean(KEY_PREFER_2G_BOOL, true);
diff --git a/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch b/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
index e8bbe8e..c2f6eb8 100644
--- a/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
+++ b/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
@@ -1,17 +1,19 @@
-From 186b2739f4d701418d2e3a7ebac4a4ecea390226 Mon Sep 17 00:00:00 2001
+From 6fcc14c6109e17cd47d007e6dd677d3ce5616bdd Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Mon, 6 Aug 2018 20:01:44 +0200
-Subject: [PATCH 14/25] Change SignalStrentgh to change behaviour based on
+Subject: [PATCH 14/27] Change SignalStrentgh to change behaviour based on
  property
 
 Change-Id: I940ed724047567ec5195ac93ea04574c3d92f70b
-Signed-off-by: Jackeagle <jackeagle102@gmail.com>
+
+Conflicts:
+	telephony/java/android/telephony/SignalStrength.java
 ---
- .../android/telephony/SignalStrength.java     | 39 +++++++++++++------
- 1 file changed, 27 insertions(+), 12 deletions(-)
+ .../android/telephony/SignalStrength.java     | 40 ++++++++++++-------
+ 1 file changed, 26 insertions(+), 14 deletions(-)
 
 diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
-index 55c0c778972..69bc6128da6 100644
+index 55c0c778972..ff906d330d4 100644
 --- a/telephony/java/android/telephony/SignalStrength.java
 +++ b/telephony/java/android/telephony/SignalStrength.java
 @@ -854,6 +854,7 @@ public class SignalStrength implements Parcelable {
@@ -22,10 +24,12 @@
          int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN, rsrpIconLevel = -1, snrIconLevel = -1;
  
          if (mLteRsrp > MAX_LTE_RSRP || mLteRsrp < MIN_LTE_RSRP) {
-@@ -900,6 +901,32 @@ public class SignalStrength implements Parcelable {
- 	/* Ignore RSSNR for now */
- 	if(rsrpIconLevel != -1) return rsrpIconLevel;
+@@ -897,8 +898,31 @@ public class SignalStrength implements Parcelable {
+                 + rsrpIconLevel + " snrIconLevel:" + snrIconLevel
+                 + " lteRsrpBoost:" + mLteRsrpBoost);
  
+-	/* Ignore RSSNR for now */
+-	if(rsrpIconLevel != -1) return rsrpIconLevel;
 +        /* Valid values are (0-63, 99) as defined in TS 36.331 */
 +        // TODO the range here is probably supposed to be (0..31, 99). It's unclear if anyone relies
 +        // on the current incorrect range check, so this will be fixed in a future release with more
@@ -51,11 +55,10 @@
 +            if(rssiIconLevel == -1) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
 +            return rssiIconLevel;
 +        }
-+
+ 
          /* Choose a measurement type to use for notification */
          if (snrIconLevel != -1 && rsrpIconLevel != -1) {
-             /*
-@@ -914,18 +941,6 @@ public class SignalStrength implements Parcelable {
+@@ -914,18 +938,6 @@ public class SignalStrength implements Parcelable {
  
          if (rsrpIconLevel != -1) return rsrpIconLevel;
  
diff --git a/patches/frameworks/base/0015-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch b/patches/frameworks/base/0015-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch
index 60bb4cd..a8f1851 100644
--- a/patches/frameworks/base/0015-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch
+++ b/patches/frameworks/base/0015-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch
@@ -1,7 +1,7 @@
-From 4372ec71710387a0f6e5b7c89ba70727bf7e4626 Mon Sep 17 00:00:00 2001
+From 06bd2700b444c7d79cea80ac98a0bd3b6862eb1c Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Sun, 19 Aug 2018 10:51:06 +0200
-Subject: [PATCH 15/25] idmap: Don't silently ignore RROs with same priority
+Subject: [PATCH 15/27] idmap: Don't silently ignore RROs with same priority
 
 Change-Id: I64a6899f1b30e0cd9e9a872b7ca83d831f038cbe
 ---
diff --git a/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch b/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
index c87c554..b1e4c48 100644
--- a/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
+++ b/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
@@ -1,7 +1,7 @@
-From a9838c7837a6ea073e5123e1afaafd2255c3a2ab Mon Sep 17 00:00:00 2001
+From 74d3cdda68ffefc73d337d865ab90fe8964bfd7e Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Sun, 19 Aug 2018 10:57:21 +0200
-Subject: [PATCH 16/25] Move SysuiDarkThemeOverlay to /system
+Subject: [PATCH 16/27] Move SysuiDarkThemeOverlay to /system
 
 Change-Id: I31b3edc5d1abcc1163a13e63c909fee9d27ff432
 ---
diff --git a/patches/frameworks/base/0017-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch b/patches/frameworks/base/0017-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
deleted file mode 100644
index ede18bd..0000000
--- a/patches/frameworks/base/0017-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 611e5b0b5c891e4ceff24ebc2c4939569e1c5bca Mon Sep 17 00:00:00 2001
-From: Pierre-Hugues Husson <phh@phh.me>
-Date: Mon, 20 Aug 2018 22:27:02 +0200
-Subject: [PATCH 17/25] It is okay not to have wifi in SystemUI (on FDE lock)
-
----
- .../src/com/android/settingslib/wifi/WifiTracker.java         | 2 +-
- .../systemui/statusbar/policy/HotspotControllerImpl.java      | 1 +
- .../systemui/statusbar/policy/WifiSignalController.java       | 4 +++-
- 3 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
-index d8f0886730d..76cd70d5c84 100644
---- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
-+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
-@@ -207,7 +207,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro
-         mConnectivityManager = connectivityManager;
- 
-         // check if verbose logging developer option has been turned on or off
--        sVerboseLogging = (mWifiManager.getVerboseLoggingLevel() > 0);
-+        sVerboseLogging = mWifiManager != null ? (mWifiManager.getVerboseLoggingLevel() > 0) : false;
- 
-         mFilter = filter;
- 
-diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
-index 3c16329e6f1..050a9c5257e 100644
---- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
-+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
-@@ -113,6 +113,7 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof
-      */
-     private void updateWifiStateListeners(boolean shouldListen) {
-         mWifiStateReceiver.setListening(shouldListen);
-+        if(mWifiManager == null) return;
-         if (shouldListen) {
-             mWifiManager.registerSoftApCallback(
-                     this,
-diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
-index e5e576d6b80..78b30500da7 100644
---- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
-+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
-@@ -59,7 +59,9 @@ public class WifiSignalController extends
-         mHasMobileData = hasMobileData;
-         Handler handler = new WifiHandler(Looper.getMainLooper());
-         mWifiChannel = new AsyncChannel();
--        Messenger wifiMessenger = wifiManager.getWifiServiceMessenger();
-+        Messenger wifiMessenger = null;
-+        if(wifiManager != null)
-+            wifiMessenger = wifiManager.getWifiServiceMessenger();
-         if (wifiMessenger != null) {
-             mWifiChannel.connect(context, handler, wifiMessenger);
-         }
--- 
-2.17.1
-
diff --git a/patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch b/patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch
new file mode 100644
index 0000000..8815a18
--- /dev/null
+++ b/patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch
@@ -0,0 +1,63 @@
+From 6fb8a9da588b864630a72bffd2d45c27aeb1cc56 Mon Sep 17 00:00:00 2001
+From: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
+Date: Fri, 23 Nov 2012 14:23:16 +0000
+Subject: [PATCH 17/27] Reintroduce button-backlight (and respective inactivity
+ timeout)
+
+The power manager rewrite from Change I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
+completely removed support for control of the button backlights, which makes
+all capacitive buttons out there stay dark. The commit message in that change
+mentions it hasn't been implemented _yet_, so this fix should be temporary
+until upstream does their own implementation
+
+[RC: Updated to 5.0]
+
+Change-Id: I6094c446e0b8c23f57d30652a3cbd35dee5e821a
+
+Conflicts:
+	services/core/java/com/android/server/power/PowerManagerService.java
+---
+ .../android/server/power/PowerManagerService.java   | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
+index eaaa77600bc..e85d8adf21b 100644
+--- a/services/core/java/com/android/server/power/PowerManagerService.java
++++ b/services/core/java/com/android/server/power/PowerManagerService.java
+@@ -233,6 +233,12 @@ public final class PowerManagerService extends SystemService
+ 
+     private static final float PROXIMITY_NEAR_THRESHOLD = 5.0f;
+ 
++    // Add button light timeout
++    private static final int BUTTON_ON_DURATION = 5 * 1000;
++
++    // File location for last reboot reason
++    private static final String LAST_REBOOT_LOCATION = "/data/misc/reboot/last_reboot_reason";
++
+     private final Context mContext;
+     private final ServiceThread mHandlerThread;
+     private final PowerManagerHandler mHandler;
+@@ -2076,6 +2082,7 @@ public final class PowerManagerService extends SystemService
+                 final long screenOffTimeout = getScreenOffTimeoutLocked(sleepTimeout);
+                 final long screenDimDuration = getScreenDimDurationLocked(screenOffTimeout);
+                 final boolean userInactiveOverride = mUserInactiveOverrideFromWindowManager;
++                final int screenBrightness = mScreenBrightnessSettingDefault;
+                 final long nextProfileTimeout = getNextProfileTimeoutLocked(now);
+ 
+                 mUserActivitySummary = 0;
+@@ -2083,6 +2090,12 @@ public final class PowerManagerService extends SystemService
+                     nextTimeout = mLastUserActivityTime
+                             + screenOffTimeout - screenDimDuration;
+                     if (now < nextTimeout) {
++                        if (now > mLastUserActivityTime + BUTTON_ON_DURATION) {
++                            mButtonsLight.setBrightness(0);
++                        } else {
++                            mButtonsLight.setBrightness(screenBrightness);
++                            nextTimeout = now + BUTTON_ON_DURATION;
++                        }
+                         mUserActivitySummary = USER_ACTIVITY_SCREEN_BRIGHT;
+                         if (mWakefulness == WAKEFULNESS_AWAKE) {
+                             int buttonBrightness;
+-- 
+2.17.1
+
diff --git a/patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch b/patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch
new file mode 100644
index 0000000..ed44762
--- /dev/null
+++ b/patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch
@@ -0,0 +1,31 @@
+From 7875341091780754a82c84420b2ac632f44553c6 Mon Sep 17 00:00:00 2001
+From: Steve Kondik <steve@cyngn.com>
+Date: Sat, 3 Jan 2015 05:13:26 -0800
+Subject: [PATCH 18/27] power: Disable keyboard/button lights while
+ dozing/dreaming
+
+ * With hardkeys and doze mode enabled, entering suspend results in
+   an epic battle over the lights. It's a bad situation. Disable
+   them when we're sleepy.
+
+Change-Id: I7f1fc35a1573717d1ea101a07c4171d6f66d1553
+---
+ .../core/java/com/android/server/power/PowerManagerService.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
+index e85d8adf21b..7964b847bd1 100644
+--- a/services/core/java/com/android/server/power/PowerManagerService.java
++++ b/services/core/java/com/android/server/power/PowerManagerService.java
+@@ -2086,7 +2086,7 @@ public final class PowerManagerService extends SystemService
+                 final long nextProfileTimeout = getNextProfileTimeoutLocked(now);
+ 
+                 mUserActivitySummary = 0;
+-                if (mLastUserActivityTime >= mLastWakeTime) {
++                if (mWakefulness == WAKEFULNESS_AWAKE && mLastUserActivityTime >= mLastWakeTime) {
+                     nextTimeout = mLastUserActivityTime
+                             + screenOffTimeout - screenDimDuration;
+                     if (now < nextTimeout) {
+-- 
+2.17.1
+
diff --git a/patches/frameworks/base/0019-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch b/patches/frameworks/base/0019-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
new file mode 100644
index 0000000..6a5be4f
--- /dev/null
+++ b/patches/frameworks/base/0019-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
@@ -0,0 +1,65 @@
+From 90443b5a5c607a9312f717b43dbd44b0b6bbb084 Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Mon, 20 Aug 2018 22:27:02 +0200
+Subject: [PATCH 19/27] It is okay not to have wifi in SystemUI (on FDE lock)
+
+Conflicts:
+	packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+	packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
+
+Change-Id: I567a4fc81a53a8d3a55acb6ee8aa979c5a38a4f8
+---
+ .../src/com/android/settingslib/wifi/WifiTracker.java  |  2 +-
+ .../statusbar/policy/HotspotControllerImpl.java        |  1 +
+ .../statusbar/policy/WifiSignalController.java         | 10 +++++-----
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+index 11c22eef5ad..1ca952aaee3 100644
+--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
++++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+@@ -207,7 +207,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro
+         mConnectivityManager = connectivityManager;
+ 
+         // check if verbose logging developer option has been turned on or off
+-        sVerboseLogging = (mWifiManager == null) ? false : (mWifiManager.getVerboseLoggingLevel() > 0);
++        sVerboseLogging = mWifiManager != null ? (mWifiManager.getVerboseLoggingLevel() > 0) : false;
+ 
+         mFilter = filter;
+ 
+diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+index c44b385f505..e5696edb9e0 100644
+--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
++++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+@@ -109,6 +109,7 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof
+      * @param shouldListen whether we should start listening to various wifi statuses
+      */
+     private void updateWifiStateListeners(boolean shouldListen) {
++        if(mWifiManager == null) return;
+         if (shouldListen) {
+             mWifiManager.registerSoftApCallback(
+                     this,
+diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
+index b83c6b88f8d..78b30500da7 100644
+--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
++++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
+@@ -59,11 +59,11 @@ public class WifiSignalController extends
+         mHasMobileData = hasMobileData;
+         Handler handler = new WifiHandler(Looper.getMainLooper());
+         mWifiChannel = new AsyncChannel();
+-        if (wifiManager != null) {
+-            Messenger wifiMessenger = wifiManager.getWifiServiceMessenger();
+-            if (wifiMessenger != null) {
+-                mWifiChannel.connect(context, handler, wifiMessenger);
+-            }
++        Messenger wifiMessenger = null;
++        if(wifiManager != null)
++            wifiMessenger = wifiManager.getWifiServiceMessenger();
++        if (wifiMessenger != null) {
++            mWifiChannel.connect(context, handler, wifiMessenger);
+         }
+         // WiFi only has one state.
+         mCurrentState.iconGroup = mLastState.iconGroup = new IconGroup(
+-- 
+2.17.1
+
diff --git a/patches/frameworks/base/0018-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch b/patches/frameworks/base/0020-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch
similarity index 86%
rename from patches/frameworks/base/0018-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch
rename to patches/frameworks/base/0020-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch
index 9587c2b..6beb6e0 100644
--- a/patches/frameworks/base/0018-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch
+++ b/patches/frameworks/base/0020-Don-t-wake-IR-HAL-to-the-infinity-and-beyond.patch
@@ -1,10 +1,12 @@
-From 719e0062eacfcd42108eb8256a775425fcc069b5 Mon Sep 17 00:00:00 2001
+From 7c6f3ad50399d8c57c02f8882e2df5c68b903a92 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Tue, 21 Aug 2018 22:24:02 +0200
-Subject: [PATCH 18/25] Don't wake IR HAL to the infinity and beyond
+Subject: [PATCH 20/27] Don't wake IR HAL to the infinity and beyond
 
-Change-Id: Ic538ab35ec9eb3ede43a277414b00c51a2efaed1
-Signed-off-by: Jackeagle <jackeagle102@gmail.com>
+Conflicts:
+	services/core/java/com/android/server/ConsumerIrService.java
+
+Change-Id: Ie0e152f11246baed6f3571a1c9d8b901d5a3dc02
 ---
  services/core/java/com/android/server/ConsumerIrService.java | 5 -----
  services/core/jni/com_android_server_ConsumerIrService.cpp   | 2 +-
diff --git a/patches/frameworks/base/0019-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch b/patches/frameworks/base/0021-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch
similarity index 90%
rename from patches/frameworks/base/0019-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch
rename to patches/frameworks/base/0021-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch
index 7c1015a..2840f1a 100644
--- a/patches/frameworks/base/0019-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch
+++ b/patches/frameworks/base/0021-Switch-samsung-light-fingerprint-match-to-regexp-to-.patch
@@ -1,7 +1,7 @@
-From 1dd07f5d4a19be3fc5eabadfdf6c88114e4d9ebf Mon Sep 17 00:00:00 2001
+From f9293512357921379a48aea5ae1e0db7c61d31a0 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Thu, 23 Aug 2018 23:39:16 +0200
-Subject: [PATCH 19/25] Switch samsung light fingerprint match to regexp, to
+Subject: [PATCH 21/27] Switch samsung light fingerprint match to regexp, to
  include Note9
 
 ---
diff --git a/patches/frameworks/base/0020-Add-a-property-toggle-to-enable-high-brightness-rang.patch b/patches/frameworks/base/0022-Add-a-property-toggle-to-enable-high-brightness-rang.patch
similarity index 91%
rename from patches/frameworks/base/0020-Add-a-property-toggle-to-enable-high-brightness-rang.patch
rename to patches/frameworks/base/0022-Add-a-property-toggle-to-enable-high-brightness-rang.patch
index f1fcf25..05bb32e 100644
--- a/patches/frameworks/base/0020-Add-a-property-toggle-to-enable-high-brightness-rang.patch
+++ b/patches/frameworks/base/0022-Add-a-property-toggle-to-enable-high-brightness-rang.patch
@@ -1,7 +1,7 @@
-From 65096e7a5ebb8883b59d26d70d2bce3330e6a562 Mon Sep 17 00:00:00 2001
+From ca7d5cf6b4c569f247a24b42b700f1976e7e600e Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Mon, 27 Aug 2018 00:47:13 +0200
-Subject: [PATCH 20/25] Add a property toggle to enable high brightness range
+Subject: [PATCH 22/27] Add a property toggle to enable high brightness range
  on samsung device
 
 ---
diff --git a/patches/frameworks/base/0023-Add-a-property-to-override-pre-o-max-aspect-ratio.patch b/patches/frameworks/base/0023-Add-a-property-to-override-pre-o-max-aspect-ratio.patch
new file mode 100644
index 0000000..4ec82c0
--- /dev/null
+++ b/patches/frameworks/base/0023-Add-a-property-to-override-pre-o-max-aspect-ratio.patch
@@ -0,0 +1,49 @@
+From 7acb0b76ae43d46c6c310063e01c036efabb5bbf Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Wed, 29 Aug 2018 11:05:54 +0200
+Subject: [PATCH 23/27] Add a property to override pre-o max aspect ratio
+
+Conflicts:
+	services/core/java/com/android/server/am/ActivityRecord.java
+
+Change-Id: I523b4e99bf647bb202a70003dbad1fb8551f3942
+---
+ .../core/java/com/android/server/am/ActivityRecord.java   | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
+index 4a9f8fc5a6e..8c5465a5134 100644
+--- a/services/core/java/com/android/server/am/ActivityRecord.java
++++ b/services/core/java/com/android/server/am/ActivityRecord.java
+@@ -164,6 +164,7 @@ import android.os.PersistableBundle;
+ import android.os.Process;
+ import android.os.RemoteException;
+ import android.os.SystemClock;
++import android.os.SystemProperties;
+ import android.os.UserHandle;
+ import android.os.storage.StorageManager;
+ import android.service.voice.IVoiceInteractionSession;
+@@ -2416,7 +2417,6 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
+     // TODO(b/36505427): Consider moving this method and similar ones to ConfigurationContainer.
+     private void computeBounds(Rect outBounds) {
+         outBounds.setEmpty();
+-
+         float maxAspectRatio = info.maxAspectRatio;
+         if (maxAspectRatio != 0.0f && higherAspectRatio && service.getAspectRatioApps() != null) {
+             if (service.getAspectRatioApps().contains(packageName)) {
+@@ -2438,6 +2438,12 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
+             return;
+         }
+ 
++        if(info.applicationInfo.targetSdkVersion < O) {
++            try {
++                maxAspectRatio = Float.parseFloat(SystemProperties.get("persist.sys.max_aspect_ratio.pre_o", ""));
++            } catch (Throwable t) {}
++            Log.d("PHH", "Overrode aspect ratio because pre-o to " + maxAspectRatio);
++        }
+         // We must base this on the parent configuration, because we set our override
+         // configuration's appBounds based on the result of this method. If we used our own
+         // configuration, it would be influenced by past invocations.
+-- 
+2.17.1
+
diff --git a/patches/frameworks/base/0023-Revert-LockSettingsService-Support-for-separate-clea.patch b/patches/frameworks/base/0023-Revert-LockSettingsService-Support-for-separate-clea.patch
deleted file mode 100644
index b7a792e..0000000
--- a/patches/frameworks/base/0023-Revert-LockSettingsService-Support-for-separate-clea.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From d695b3ddea63624a658650291d58dab437688e98 Mon Sep 17 00:00:00 2001
-From: Jackeagle <jackeagle102@gmail.com>
-Date: Wed, 19 Dec 2018 17:05:29 +0100
-Subject: [PATCH 23/25] 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 e70e12c25da..aa0e33e15df 100644
---- a/services/core/java/com/android/server/StorageManagerService.java
-+++ b/services/core/java/com/android/server/StorageManagerService.java
-@@ -2530,24 +2530,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 66cc1a3334d..f04a36d4f78 100644
---- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
-+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
-@@ -1564,18 +1564,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");
-@@ -2519,7 +2507,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.17.1
-
diff --git a/patches/frameworks/base/0021-Add-japanese-S9.patch b/patches/frameworks/base/0024-Add-japanese-S9.patch
similarity index 91%
rename from patches/frameworks/base/0021-Add-japanese-S9.patch
rename to patches/frameworks/base/0024-Add-japanese-S9.patch
index 93f9a26..938376a 100644
--- a/patches/frameworks/base/0021-Add-japanese-S9.patch
+++ b/patches/frameworks/base/0024-Add-japanese-S9.patch
@@ -1,7 +1,7 @@
-From 820bf9262ad8d008b9c6351ead03316cbd66b4c4 Mon Sep 17 00:00:00 2001
+From 2f7955a2a4c8cb161806f065092d627f87511fcf Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Tue, 28 Aug 2018 20:39:26 +0200
-Subject: [PATCH 21/25] Add japanese S9
+Subject: [PATCH 24/27] Add japanese S9
 
 ---
  .../core/java/com/android/server/lights/LightsService.java     | 3 ++-
diff --git a/patches/frameworks/base/0024-Revert-frameworks-base-Port-password-retention-featu.patch b/patches/frameworks/base/0024-Revert-frameworks-base-Port-password-retention-featu.patch
deleted file mode 100644
index 40f6359..0000000
--- a/patches/frameworks/base/0024-Revert-frameworks-base-Port-password-retention-featu.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From efa156dfffae3b3f3153b06ca27eff8a43e583c3 Mon Sep 17 00:00:00 2001
-From: Jackeagle <jackeagle102@gmail.com>
-Date: Wed, 19 Dec 2018 17:05:36 +0100
-Subject: [PATCH 24/25] Revert "frameworks: base: Port password retention
- feature"
-
-This reverts commit 90fce44de1101a925c62fafda8d6e5b3c8663ad4.
----
- .../internal/widget/ILockSettings.aidl        |  2 -
- .../internal/widget/LockPatternUtils.java     | 11 -----
- .../keyguard/KeyguardAbsKeyInputView.java     |  1 -
- .../android/keyguard/KeyguardPatternView.java |  1 -
- .../android/server/StorageManagerService.java | 17 +------
- .../locksettings/LockSettingsService.java     | 49 +------------------
- 6 files changed, 2 insertions(+), 79 deletions(-)
-
-diff --git a/core/java/com/android/internal/widget/ILockSettings.aidl b/core/java/com/android/internal/widget/ILockSettings.aidl
-index f7fe87e6e9b..591f15fd567 100644
---- a/core/java/com/android/internal/widget/ILockSettings.aidl
-+++ b/core/java/com/android/internal/widget/ILockSettings.aidl
-@@ -79,6 +79,4 @@ interface ILockSettings {
-             in byte[] recoveryKeyBlob,
-             in List<WrappedApplicationKey> applicationKeys);
-     void closeSession(in String sessionId);
--    void sanitizePassword();
--    String getPassword();
- }
-diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
-index ff8f3c8b716..7c339fb6d6b 100644
---- a/core/java/com/android/internal/widget/LockPatternUtils.java
-+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
-@@ -732,17 +732,6 @@ public class LockPatternUtils {
-         onAfterChangingPassword(userId);
-     }
- 
--    /**
--     * clears stored password.
--     */
--    public void sanitizePassword() {
--        try {
--            getLockSettings().sanitizePassword();
--        } catch (RemoteException re) {
--            Log.e(TAG, "Couldn't sanitize password" + re);
--        }
--    }
--
-     private void updateCryptoUserInfo(int userId) {
-         if (userId != UserHandle.USER_SYSTEM) {
-             return;
-diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java
-index c3119793eaf..48b41345675 100644
---- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java
-+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputView.java
-@@ -187,7 +187,6 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout
-             boolean isValidPassword) {
-         boolean dismissKeyguard = KeyguardUpdateMonitor.getCurrentUser() == userId;
-         if (matched) {
--            mLockPatternUtils.sanitizePassword();
-             mCallback.reportUnlockAttempt(userId, true, 0);
-             if (dismissKeyguard) {
-                 mDismissing = true;
-diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
-index 474de3ff345..f399667772d 100644
---- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
-+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
-@@ -306,7 +306,6 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
-                 boolean isValidPattern) {
-             boolean dismissKeyguard = KeyguardUpdateMonitor.getCurrentUser() == userId;
-             if (matched) {
--                mLockPatternUtils.sanitizePassword();
-                 mCallback.reportUnlockAttempt(userId, true, 0);
-                 if (dismissKeyguard) {
-                     mLockPatternView.setDisplayMode(LockPatternView.DisplayMode.Correct);
-diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
-index aa0e33e15df..478949bbba0 100644
---- a/services/core/java/com/android/server/StorageManagerService.java
-+++ b/services/core/java/com/android/server/StorageManagerService.java
-@@ -126,7 +126,6 @@ import com.android.internal.util.Preconditions;
- import com.android.internal.widget.LockPatternUtils;
- import com.android.server.pm.PackageManagerService;
- import com.android.server.storage.AppFuseBridge;
--import com.android.internal.widget.ILockSettings;
- 
- import libcore.io.IoUtils;
- import libcore.util.EmptyArray;
-@@ -2321,22 +2320,8 @@ class StorageManagerService extends IStorageManager.Stub
-             Slog.i(TAG, "changing encryption password...");
-         }
- 
--        ILockSettings lockSettings = ILockSettings.Stub.asInterface(
--                        ServiceManager.getService("lock_settings"));
--        String currentPassword="default_password";
-         try {
--            currentPassword = lockSettings.getPassword();
--        } catch (Exception e) {
--            Slog.wtf(TAG, "Couldn't get password" + e);
--        }
--
--        try {
--            mVold.fdeChangePassword(type, currentPassword, password);
--            try {
--                lockSettings.sanitizePassword();
--            } catch (Exception e) {
--                Slog.wtf(TAG, "Couldn't sanitize password" + e);
--            }
-+            mVold.fdeChangePassword(type, password);
-             return 0;
-         } catch (Exception e) {
-             Slog.wtf(TAG, e);
-diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
-index f04a36d4f78..c6a871217eb 100644
---- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
-+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
-@@ -164,7 +164,6 @@ public class LockSettingsService extends ILockSettings.Stub {
-     // Order of holding lock: mSeparateChallengeLock -> mSpManager -> this
-     // Do not call into ActivityManager while holding mSpManager lock.
-     private final Object mSeparateChallengeLock = new Object();
--    private static final String DEFAULT_PASSWORD = "default_password";
- 
-     private final DeviceProvisionedObserver mDeviceProvisionedObserver =
-             new DeviceProvisionedObserver();
-@@ -185,7 +184,6 @@ public class LockSettingsService extends ILockSettings.Stub {
-     private final SyntheticPasswordManager mSpManager;
- 
-     private final KeyStore mKeyStore;
--    private static String mSavePassword = DEFAULT_PASSWORD;
- 
-     private final RecoverableKeyStoreManager mRecoverableKeyStoreManager;
- 
-@@ -1099,45 +1097,6 @@ public class LockSettingsService extends ILockSettings.Stub {
-         return mStorage.hasCredential(userId);
-     }
- 
--    public void retainPassword(String password) {
--        if (LockPatternUtils.isDeviceEncryptionEnabled()) {
--            if (password != null)
--                mSavePassword = password;
--            else
--                mSavePassword = DEFAULT_PASSWORD;
--        }
--    }
--
--    public void sanitizePassword() {
--        if (LockPatternUtils.isDeviceEncryptionEnabled()) {
--            mSavePassword = DEFAULT_PASSWORD;
--        }
--    }
--
--    private boolean checkCryptKeeperPermissions() {
--        boolean permission_err = false;
--        try {
--            mContext.enforceCallingOrSelfPermission(
--                       android.Manifest.permission.CRYPT_KEEPER,
--                       "no permission to get the password");
--        } catch (SecurityException e) {
--            permission_err = true;
--        }
--        return permission_err;
--    }
--
--    public String getPassword() {
--       /** if calling process does't have crypt keeper or admin permissions,
--         * throw the exception.
--         */
--       if (checkCryptKeeperPermissions())
--            mContext.enforceCallingOrSelfPermission(
--                    android.Manifest.permission.MANAGE_DEVICE_ADMINS,
--                    "no crypt_keeper or admin permission to get the password");
--
--       return mSavePassword;
--    }
--
-     private void setKeystorePassword(String password, int userHandle) {
-         final KeyStore ks = KeyStore.getInstance();
-         ks.onUserPasswordChanged(userHandle, password);
-@@ -1652,13 +1611,7 @@ public class LockSettingsService extends ILockSettings.Stub {
-     public VerifyCredentialResponse checkCredential(String credential, int type, int userId,
-             ICheckCredentialProgressCallback progressCallback) throws RemoteException {
-         checkPasswordReadPermission(userId);
--        VerifyCredentialResponse response = doVerifyCredential(credential, type,
--                                        false, 0, userId, progressCallback);
--        if ((response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK) &&
--                                           (userId == UserHandle.USER_OWNER)) {
--                retainPassword(credential);
--        }
--        return response;
-+        return doVerifyCredential(credential, type, false, 0, userId, progressCallback);
-     }
- 
-     @Override
--- 
-2.17.1
-
diff --git a/patches/frameworks/base/0022-Re-order-services-so-that-it-works-even-without-qtag.patch b/patches/frameworks/base/0025-Re-order-services-so-that-it-works-even-without-qtag.patch
similarity index 93%
rename from patches/frameworks/base/0022-Re-order-services-so-that-it-works-even-without-qtag.patch
rename to patches/frameworks/base/0025-Re-order-services-so-that-it-works-even-without-qtag.patch
index c78bd41..e8cf142 100644
--- a/patches/frameworks/base/0022-Re-order-services-so-that-it-works-even-without-qtag.patch
+++ b/patches/frameworks/base/0025-Re-order-services-so-that-it-works-even-without-qtag.patch
@@ -1,7 +1,7 @@
-From 6220a49bebdc8a404690704ece96aa0893272832 Mon Sep 17 00:00:00 2001
+From ed2199875bd2357a8b9864dfa0beeec0f500b806 Mon Sep 17 00:00:00 2001
 From: Pierre-Hugues Husson <phh@phh.me>
 Date: Thu, 8 Nov 2018 23:04:03 +0100
-Subject: [PATCH 22/25] Re-order services so that it works even without qtaguid
+Subject: [PATCH 25/27] Re-order services so that it works even without qtaguid
 
 ---
  .../com/android/server/net/NetworkPolicyManagerService.java | 6 +++---
diff --git a/patches/frameworks/base/0025-Revert-Use-fdeCheckPassword-error-code-to-indicate-p.patch b/patches/frameworks/base/0025-Revert-Use-fdeCheckPassword-error-code-to-indicate-p.patch
deleted file mode 100644
index 3772836..0000000
--- a/patches/frameworks/base/0025-Revert-Use-fdeCheckPassword-error-code-to-indicate-p.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e7c4a836ed99addea828d5fb9a78db1c2dbfee46 Mon Sep 17 00:00:00 2001
-From: Jackeagle <jackeagle102@gmail.com>
-Date: Wed, 19 Dec 2018 17:05:44 +0100
-Subject: [PATCH 25/25] Revert "Use fdeCheckPassword error code to indicate pw
- failure"
-
-This reverts commit 604396bf8dd83a2d4c210f8d029b871d9838af32.
----
- .../core/java/com/android/server/StorageManagerService.java   | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
-index 478949bbba0..14ca559c306 100644
---- a/services/core/java/com/android/server/StorageManagerService.java
-+++ b/services/core/java/com/android/server/StorageManagerService.java
-@@ -81,7 +81,6 @@ import android.os.Process;
- import android.os.RemoteCallbackList;
- import android.os.RemoteException;
- import android.os.ServiceManager;
--import android.os.ServiceSpecificException;
- import android.os.SystemClock;
- import android.os.SystemProperties;
- import android.os.UserHandle;
-@@ -2262,9 +2261,6 @@ class StorageManagerService extends IStorageManager.Stub
-                 }
-             }, DateUtils.SECOND_IN_MILLIS);
-             return 0;
--        } catch (ServiceSpecificException e) {
--            Slog.e(TAG, "fdeCheckPassword failed", e);
--            return e.errorCode;
-         } catch (Exception e) {
-             Slog.wtf(TAG, e);
-             return StorageManager.ENCRYPTION_STATE_ERROR_UNKNOWN;
--- 
-2.17.1
-
diff --git a/patches/frameworks/base/0026-Use-Samsung-fingerprint-percent-thingy-on-all-Samsun.patch b/patches/frameworks/base/0026-Use-Samsung-fingerprint-percent-thingy-on-all-Samsun.patch
new file mode 100644
index 0000000..a79a071
--- /dev/null
+++ b/patches/frameworks/base/0026-Use-Samsung-fingerprint-percent-thingy-on-all-Samsun.patch
@@ -0,0 +1,26 @@
+From 588c991ca754ec5c863fabef6c8bc0f9f7a638e3 Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Sun, 9 Dec 2018 16:31:44 +0100
+Subject: [PATCH 26/27] Use Samsung fingerprint percent thingy on all Samsung
+ devices
+
+---
+ .../java/com/android/server/fingerprint/FingerprintService.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
+index 6f09433c002..8c2990b1999 100644
+--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
++++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
+@@ -1048,7 +1048,7 @@ public class FingerprintService extends SystemService implements IHwBinder.Death
+                 public void run() {
+                     int remaining2 = remaining;
+                     String fp = android.os.SystemProperties.get("ro.vendor.build.fingerprint");
+-                    if(fp != null && (fp.contains("starlte") || fp.contains("star2lte") || fp.contains("starqlte") || fp.contains("star2qlte")))
++                    if(fp != null && (fp.startsWith("samsung/")))
+                         remaining2 = 100 - remaining2;
+                     handleEnrollResult(deviceId, fingerId, groupId, remaining2);
+                 }
+-- 
+2.17.1
+
diff --git a/patches/frameworks/base/0027-Different-value-for-astarqlte.-Probably-more-devices.patch b/patches/frameworks/base/0027-Different-value-for-astarqlte.-Probably-more-devices.patch
new file mode 100644
index 0000000..2cee4ea
--- /dev/null
+++ b/patches/frameworks/base/0027-Different-value-for-astarqlte.-Probably-more-devices.patch
@@ -0,0 +1,33 @@
+From 31d6daf664c0f51d5b40d5a6275aeb16ac615ffd Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Sun, 10 Mar 2019 19:35:06 +0100
+Subject: [PATCH 27/27] Different value for astarqlte. Probably more devices to
+ add later
+
+---
+ .../java/com/android/server/lights/LightsService.java    | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
+index 47c1d9297fe..e5299e456f5 100644
+--- a/services/core/java/com/android/server/lights/LightsService.java
++++ b/services/core/java/com/android/server/lights/LightsService.java
+@@ -55,6 +55,15 @@ public class LightsService extends SystemService {
+ 
+                 if(mId == 0) {
+                     String fp = SystemProperties.get("ro.vendor.build.fingerprint", "hello");
++                    if(fp.matches(".*astarqlte.*")) {
++                        int newBrightness = brightness;
++                        if(SystemProperties.getBoolean("persist.sys.samsung.full_brightness", false)) {
++                            newBrightness = (int) (brightness * 365.0 / 255.0);
++                        }
++                        setLightLocked(newBrightness, LIGHT_FLASH_HARDWARE, 0, 0, brightnessMode);
++                        return;
++                    }
++
+                     if(fp.matches(".*(crown|star)[q2]*lte.*") ||
+ 				    fp.matches(".*(SC-0[23]K|SCV3[89]).*")) {
+                         int newBrightness = brightness * 100;
+-- 
+2.17.1
+