diff --git a/patches/frameworks/base/0003-Fix-backlight-control-on-Galaxy-S9.patch b/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
similarity index 91%
rename from patches/frameworks/base/0003-Fix-backlight-control-on-Galaxy-S9.patch
rename to patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
index 20ef93a..3825bd9 100644
--- a/patches/frameworks/base/0003-Fix-backlight-control-on-Galaxy-S9.patch
+++ b/patches/frameworks/base/0001-Fix-backlight-control-on-Galaxy-S9.patch
@@ -1,7 +1,7 @@
-From 8fa619b8a4e063730776b3ac63d1be73a5b1ac46 Mon Sep 17 00:00:00 2001
+From 91eb4080d604b196ba0f3099a5e3d22b94950b8f 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 03/26] Fix backlight control on Galaxy S9(+)
+Subject: [PATCH 01/24] Fix backlight control on Galaxy S9(+)
 
 ---
  .../core/java/com/android/server/lights/LightsService.java | 7 +++++++
diff --git a/patches/frameworks/base/0001-Utils-Import-restart-systemui-api.patch b/patches/frameworks/base/0001-Utils-Import-restart-systemui-api.patch
deleted file mode 100644
index 91a6cd2..0000000
--- a/patches/frameworks/base/0001-Utils-Import-restart-systemui-api.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 797c4020f25fb4a76dee82f5fc7008aada330d2f Mon Sep 17 00:00:00 2001
-From: SpiritCroc <dev@spiritcroc.de>
-Date: Sun, 11 Nov 2018 14:59:35 -0700
-Subject: [PATCH 01/26] Utils: Import restart systemui api
-
-Change-Id: Ief06016032e14fe15ec8348722546c54e0d379c7
----
- .../internal/util/omni/DeviceUtils.java       | 61 +++++++++++++++++++
- core/res/res/values/bliss_strings.xml         |  4 ++
- core/res/res/values/bliss_symbols.xml         |  4 ++
- 3 files changed, 69 insertions(+)
-
-diff --git a/core/java/com/android/internal/util/omni/DeviceUtils.java b/core/java/com/android/internal/util/omni/DeviceUtils.java
-index 811b52d57cc..59db7500a1c 100644
---- a/core/java/com/android/internal/util/omni/DeviceUtils.java
-+++ b/core/java/com/android/internal/util/omni/DeviceUtils.java
-@@ -15,8 +15,12 @@
- */
- package com.android.internal.util.omni;
- 
-+import android.app.ActivityManager;
-+import android.app.AlertDialog;
-+import android.app.IActivityManager;
- import android.bluetooth.BluetoothAdapter;
- import android.content.Context;
-+import android.content.DialogInterface;
- import android.content.pm.ApplicationInfo;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
-@@ -29,6 +33,7 @@ import android.hardware.camera2.CameraManager;
- import android.hardware.SensorManager;
- import android.net.ConnectivityManager;
- import android.nfc.NfcAdapter;
-+import android.os.AsyncTask;
- import android.os.RemoteException;
- import android.os.SystemProperties;
- import android.os.Vibrator;
-@@ -45,6 +50,7 @@ import com.android.internal.telephony.PhoneConstants;
- import static android.hardware.Sensor.TYPE_LIGHT;
- import static android.hardware.Sensor.TYPE_PROXIMITY;
- 
-+import com.android.internal.R;
- import java.util.List;
- import java.util.Locale;
- 
-@@ -221,4 +227,59 @@ public class DeviceUtils {
-             e.printStackTrace();
-         }
-     }
-+
-+    public static void restartSystemUi(Context context) {
-+        new RestartSystemUiTask(context).execute();
-+    }
-+
-+     public static void showSystemUiRestartDialog(Context context) {
-+        new AlertDialog.Builder(context)
-+                .setTitle(R.string.systemui_restart_title)
-+                .setMessage(R.string.systemui_restart_message)
-+                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
-+                    public void onClick(DialogInterface dialog, int id) {
-+                        restartSystemUi(context);
-+                    }
-+                })
-+                .setNegativeButton(R.string.cancel, null)
-+                .show();
-+    }
-+
-+     private static class RestartSystemUiTask extends AsyncTask<Void, Void, Void> {
-+         private Context mContext;
-+         public RestartSystemUiTask(Context context) {
-+            super();
-+            mContext = context;
-+        }
-+
-+         @Override
-+        protected Void doInBackground(Void... params) {
-+            try {
-+                ActivityManager am =
-+                        (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
-+                IActivityManager ams = ActivityManager.getService();
-+                for (ActivityManager.RunningAppProcessInfo app: am.getRunningAppProcesses()) {
-+                    if ("com.android.systemui".equals(app.processName)) {
-+                        ams.killApplicationProcess(app.processName, app.uid);
-+                        break;
-+                    }
-+                }
-+                //Class ActivityManagerNative = Class.forName("android.app.ActivityManagerNative");
-+                //Method getDefault = ActivityManagerNative.getDeclaredMethod("getDefault", null);
-+                //Object amn = getDefault.invoke(null, null);
-+                //Method killApplicationProcess = amn.getClass().getDeclaredMethod("killApplicationProcess", String.class, int.class);
-+                //mContext.stopService(new Intent().setComponent(new ComponentName("com.android.systemui", "com.android.systemui.SystemUIService")));
-+                //am.killBackgroundProcesses("com.android.systemui");
-+                //for (ActivityManager.RunningAppProcessInfo app : am.getRunningAppProcesses()) {
-+                //    if ("com.android.systemui".equals(app.processName)) {
-+                //        killApplicationProcess.invoke(amn, app.processName, app.uid);
-+                //        break;
-+                //    }
-+                //}
-+            } catch (Exception e) {
-+                e.printStackTrace();
-+            }
-+            return null;
-+        }
-+    }
- }
-diff --git a/core/res/res/values/bliss_strings.xml b/core/res/res/values/bliss_strings.xml
-index 9ba4f1844ca..da16771ba18 100644
---- a/core/res/res/values/bliss_strings.xml
-+++ b/core/res/res/values/bliss_strings.xml
-@@ -54,4 +54,8 @@
-     <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
-     <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Legitimate uses include an emulator pretending to be what it emulates. Grant this permission with caution only!</string>
- 
-+    <!-- SystemUI Restart -->
-+    <string name="systemui_restart_title">SystemUI restart required</string>
-+    <string name="systemui_restart_message">For all changes to take effect, a SystemUI restart is required. Restart SystemUI now?</string>
-+
- </resources>
-diff --git a/core/res/res/values/bliss_symbols.xml b/core/res/res/values/bliss_symbols.xml
-index 35d9555b2f9..f8e2bdb5bf6 100644
---- a/core/res/res/values/bliss_symbols.xml
-+++ b/core/res/res/values/bliss_symbols.xml
-@@ -145,4 +145,8 @@
-   <!-- Oreo's recents component activity -->
-   <java-symbol type="string" name="config_recentsComponentNameOreo" />
- 
-+  <!-- SystemUI Restart -->
-+  <java-symbol type="string" name="systemui_restart_title" />
-+  <java-symbol type="string" name="systemui_restart_message" />
-+
- </resources>
--- 
-2.17.1
-
diff --git a/patches/frameworks/base/0004-Relax-requirement-for-visible-flag-to-sdcards.patch b/patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch
similarity index 90%
rename from patches/frameworks/base/0004-Relax-requirement-for-visible-flag-to-sdcards.patch
rename to patches/frameworks/base/0002-Relax-requirement-for-visible-flag-to-sdcards.patch
index ab6d087..18fe613 100644
--- a/patches/frameworks/base/0004-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 a9b12570584788b9e4b1ee8a41cdc79f2cbf51e3 Mon Sep 17 00:00:00 2001
+From d1d4caf3c5d8860f45688965664d8a985a645e57 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 04/26] Relax requirement for visible flag to sdcards
+Subject: [PATCH 02/24] 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)
diff --git a/patches/frameworks/base/0002-Revert-Telephony-Stop-using-rssnr-it-falsly-shows-wr.patch b/patches/frameworks/base/0002-Revert-Telephony-Stop-using-rssnr-it-falsly-shows-wr.patch
deleted file mode 100644
index b3b9044..0000000
--- a/patches/frameworks/base/0002-Revert-Telephony-Stop-using-rssnr-it-falsly-shows-wr.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d5d060f229203c48962b0580946fe115775d3338 Mon Sep 17 00:00:00 2001
-From: Jackeagle <jackeagle102@gmail.com>
-Date: Thu, 18 Oct 2018 04:55:17 -0400
-Subject: [PATCH 02/26] Revert "Telephony: Stop using rssnr, it falsly shows
- wrong signal bars"
-
-This reverts commit b9ff83d0b1d5a81d55057ae2fa892e5d0f1083be.
----
- telephony/java/android/telephony/SignalStrength.java | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
-index 55c0c778972..4e5639683a7 100644
---- a/telephony/java/android/telephony/SignalStrength.java
-+++ b/telephony/java/android/telephony/SignalStrength.java
-@@ -897,9 +897,6 @@ public class SignalStrength implements Parcelable {
-                 + rsrpIconLevel + " snrIconLevel:" + snrIconLevel
-                 + " lteRsrpBoost:" + mLteRsrpBoost);
- 
--	/* Ignore RSSNR for now */
--	if(rsrpIconLevel != -1) return rsrpIconLevel;
--
-         /* Choose a measurement type to use for notification */
-         if (snrIconLevel != -1 && rsrpIconLevel != -1) {
-             /*
--- 
-2.17.1
-
diff --git a/patches/frameworks/base/0005-Also-scan-system-overlay.patch b/patches/frameworks/base/0003-Also-scan-system-overlay.patch
similarity index 94%
rename from patches/frameworks/base/0005-Also-scan-system-overlay.patch
rename to patches/frameworks/base/0003-Also-scan-system-overlay.patch
index 127d880..cb2dc20 100644
--- a/patches/frameworks/base/0005-Also-scan-system-overlay.patch
+++ b/patches/frameworks/base/0003-Also-scan-system-overlay.patch
@@ -1,7 +1,7 @@
-From fe2320fb75d4b04720641632c8009d0bcb4ee3c6 Mon Sep 17 00:00:00 2001
+From 71b335142aee451ecad3beb9dd99735a82591405 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 05/26] Also scan /system/overlay
+Subject: [PATCH 03/24] Also scan /system/overlay
 
 Change-Id: Ib0223560606b80cdaaa986b159b34b4db0154589
 ---
diff --git a/patches/frameworks/base/0006-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
similarity index 72%
rename from patches/frameworks/base/0006-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch
rename to patches/frameworks/base/0004-Don-t-crash-if-there-is-IR-HAL-is-not-declared.patch
index ca478ae..39db573 100644
--- a/patches/frameworks/base/0006-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,25 +1,25 @@
-From 5d5a6a281c69f7eb8b78ddd7a4b7b120fe3d56df Mon Sep 17 00:00:00 2001
+From d16ee43a647ba52a8a535806ec74476b6177555e 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 06/26] Don't crash if there is IR HAL is not declared
+Subject: [PATCH 04/24] Don't crash if there is IR HAL is not declared
 
 ---
  services/core/java/com/android/server/ConsumerIrService.java | 2 --
  1 file changed, 2 deletions(-)
 
 diff --git a/services/core/java/com/android/server/ConsumerIrService.java b/services/core/java/com/android/server/ConsumerIrService.java
-index 2ed6c77baa0..c574a03c9a3 100644
+index 839629c6f82..0a0065a7b55 100644
 --- a/services/core/java/com/android/server/ConsumerIrService.java
 +++ b/services/core/java/com/android/server/ConsumerIrService.java
-@@ -50,8 +50,6 @@ public class ConsumerIrService extends IConsumerIrService.Stub {
+@@ -52,8 +52,6 @@ public class ConsumerIrService extends IConsumerIrService.Stub {
              if (!mHasNativeHal) {
                  throw new RuntimeException("FEATURE_CONSUMER_IR present, but no IR HAL loaded!");
              }
 -        } else if (mHasNativeHal) {
 -            throw new RuntimeException("IR HAL present, but FEATURE_CONSUMER_IR is not set!");
          }
+         mParameter = AudioSystem.getParameters("audio_capability#irda_support");
      }
- 
 -- 
 2.17.1
 
diff --git a/patches/frameworks/base/0007-Fix-62.patch b/patches/frameworks/base/0005-Fix-62.patch
similarity index 91%
rename from patches/frameworks/base/0007-Fix-62.patch
rename to patches/frameworks/base/0005-Fix-62.patch
index 8794785..9b107f8 100644
--- a/patches/frameworks/base/0007-Fix-62.patch
+++ b/patches/frameworks/base/0005-Fix-62.patch
@@ -1,7 +1,7 @@
-From 7b666d0761c2a1af8e206943d394468a1315b334 Mon Sep 17 00:00:00 2001
+From b4de2fb9ed6fcb74afe27f1ec142404a6b5d4a9a 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 07/26] Fix(?) #62
+Subject: [PATCH 05/24] Fix(?) #62
 
 ---
  .../src/com/android/keyguard/KeyguardUpdateMonitor.java      | 5 ++++-
diff --git a/patches/frameworks/base/0008-S9-brightness-override-only-for-screen.patch b/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
similarity index 91%
rename from patches/frameworks/base/0008-S9-brightness-override-only-for-screen.patch
rename to patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
index 25368f1..f321bb0 100644
--- a/patches/frameworks/base/0008-S9-brightness-override-only-for-screen.patch
+++ b/patches/frameworks/base/0006-S9-brightness-override-only-for-screen.patch
@@ -1,7 +1,7 @@
-From fcb2d6953ad707ff8eabdf0eb5b2525e23d6392c Mon Sep 17 00:00:00 2001
+From a7ee8a4b4ad97efbf40abbb5431520c8d47f9512 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 08/26] S9 brightness override only for screen
+Subject: [PATCH 06/24] S9 brightness override only for screen
 
 ---
  .../com/android/server/lights/LightsService.java     | 12 +++++++-----
diff --git a/patches/frameworks/base/0009-Fix-OP6-brightness.patch b/patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
similarity index 92%
rename from patches/frameworks/base/0009-Fix-OP6-brightness.patch
rename to patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
index 11f6c18..595281c 100644
--- a/patches/frameworks/base/0009-Fix-OP6-brightness.patch
+++ b/patches/frameworks/base/0007-WIP-Fix-OP6-brightness.patch
@@ -1,7 +1,7 @@
-From 6923e824c890e6ed6a65881341749a83b489c954 Mon Sep 17 00:00:00 2001
+From 12e3da8a0a0aaffcf27b5e3551d2a264245f2804 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 09/26] Fix OP6 brightness
+Subject: [PATCH 07/24] [WIP] Fix OP6 brightness
 
 ---
  .../com/android/server/lights/LightsService.java     | 12 ++++++++++++
diff --git a/patches/frameworks/base/0010-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
similarity index 91%
rename from patches/frameworks/base/0010-Try-to-make-brightness-more-generic-using-property-s.patch
rename to patches/frameworks/base/0008-Try-to-make-brightness-more-generic-using-property-s.patch
index 090287c..09a7453 100644
--- a/patches/frameworks/base/0010-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 82c87e64737aed3c80aa16566ac3546182d00ffc Mon Sep 17 00:00:00 2001
+From ff7a83182f1055bf26101f411fce378bbc9ef674 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 10/26] Try to make brightness more generic using property set
+Subject: [PATCH 08/24] Try to make brightness more generic using property set
  by rw-system
 
 ---
diff --git a/patches/frameworks/base/0011-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
similarity index 85%
rename from patches/frameworks/base/0011-property-matching-RROs-allow-to-prefix-the-value-wit.patch
rename to patches/frameworks/base/0009-property-matching-RROs-allow-to-prefix-the-value-wit.patch
index 557f85b..a9d2b36 100644
--- a/patches/frameworks/base/0011-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 92055b58d15be699f3652f6d9726de7da1188768 Mon Sep 17 00:00:00 2001
+From 602f7828e34cbc4363a337f3babba30a3496e2e4 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 11/26] property-matching RROs: allow to prefix the value with
+Subject: [PATCH 09/24] property-matching RROs: allow to prefix the value with
  + to do glob match instead of exact match
 
 ---
diff --git a/patches/frameworks/base/0012-Fix-typo-on-fnmatch-return-value-check.patch b/patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch
similarity index 82%
rename from patches/frameworks/base/0012-Fix-typo-on-fnmatch-return-value-check.patch
rename to patches/frameworks/base/0010-Fix-typo-on-fnmatch-return-value-check.patch
index 971502d..7988733 100644
--- a/patches/frameworks/base/0012-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 6434c54e04ece8b327af3f1d453b9d2845f12fe2 Mon Sep 17 00:00:00 2001
+From e7da57411443c24b20a73085c10d0cf32872e94a 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 12/26] Fix typo on fnmatch return value check
+Subject: [PATCH 10/24] Fix typo on fnmatch return value check
 
 ---
  cmds/idmap/scan.cpp | 2 +-
diff --git a/patches/frameworks/base/0013-Add-Qualcomm-starlte.patch b/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
similarity index 91%
rename from patches/frameworks/base/0013-Add-Qualcomm-starlte.patch
rename to patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
index 74fd837..3e6e3f2 100644
--- a/patches/frameworks/base/0013-Add-Qualcomm-starlte.patch
+++ b/patches/frameworks/base/0011-Add-Qualcomm-starlte.patch
@@ -1,7 +1,7 @@
-From c232a221826b04cacf0c9ba19d0f687b5adb61f4 Mon Sep 17 00:00:00 2001
+From 462337890f4e88da2ddb4c9f7927930b790aa889 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 13/26] Add Qualcomm starlte
+Subject: [PATCH 11/24] Add Qualcomm starlte
 
 ---
  .../core/java/com/android/server/lights/LightsService.java    | 4 +++-
diff --git a/patches/frameworks/base/0014-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/0014-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 b42ac73..87e7baf 100644
--- a/patches/frameworks/base/0014-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 7f583a4e841bfa0525abb0a523fee67f500a7e2f Mon Sep 17 00:00:00 2001
+From 934c4c7816086915410546c4737a1961b0e90ed7 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 14/26] "remaining" of HAL onEnroll is actually a percent of
- progress
+Subject: [PATCH 12/24] [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/0015-Show-APN-Settings-for-CDMA-carriers.patch b/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
similarity index 90%
rename from patches/frameworks/base/0015-Show-APN-Settings-for-CDMA-carriers.patch
rename to patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
index f656493..7ee2e03 100644
--- a/patches/frameworks/base/0015-Show-APN-Settings-for-CDMA-carriers.patch
+++ b/patches/frameworks/base/0013-Show-APN-Settings-for-CDMA-carriers.patch
@@ -1,7 +1,7 @@
-From 4929e9f4ecda2f7083e8f975526e0f42e8ddac9f Mon Sep 17 00:00:00 2001
+From 39208bac6cdd94269f41f992d2597d050196e0c7 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 15/26] Show APN Settings for CDMA carriers
+Subject: [PATCH 13/24] Show APN Settings for CDMA carriers
 
 ---
  telephony/java/android/telephony/CarrierConfigManager.java | 2 +-
diff --git a/patches/frameworks/base/0016-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch b/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
similarity index 89%
rename from patches/frameworks/base/0016-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
rename to patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
index 846777e..b13082f 100644
--- a/patches/frameworks/base/0016-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
+++ b/patches/frameworks/base/0014-Change-SignalStrentgh-to-change-behaviour-based-on-p.patch
@@ -1,16 +1,17 @@
-From 5d298fdddbdf236dcd3908e8cfd2bd00c8a221a2 Mon Sep 17 00:00:00 2001
+From baa43b505d69d7d5dadf13bdb25d97eac8145d5f 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 16/26] Change SignalStrentgh to change behaviour based on
+Subject: [PATCH 14/24] Change SignalStrentgh to change behaviour based on
  property
 
 Change-Id: I940ed724047567ec5195ac93ea04574c3d92f70b
+Signed-off-by: Jackeagle <jackeagle102@gmail.com>
 ---
  .../android/telephony/SignalStrength.java     | 39 +++++++++++++------
  1 file changed, 27 insertions(+), 12 deletions(-)
 
 diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
-index 4e5639683a7..ff906d330d4 100644
+index 55c0c778972..69bc6128da6 100644
 --- a/telephony/java/android/telephony/SignalStrength.java
 +++ b/telephony/java/android/telephony/SignalStrength.java
 @@ -854,6 +854,7 @@ public class SignalStrength implements Parcelable {
@@ -21,9 +22,9 @@
          int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN, rsrpIconLevel = -1, snrIconLevel = -1;
  
          if (mLteRsrp > MAX_LTE_RSRP || mLteRsrp < MIN_LTE_RSRP) {
-@@ -897,6 +898,32 @@ public class SignalStrength implements Parcelable {
-                 + rsrpIconLevel + " snrIconLevel:" + snrIconLevel
-                 + " lteRsrpBoost:" + mLteRsrpBoost);
+@@ -900,6 +901,32 @@ public class SignalStrength implements Parcelable {
+ 	/* 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
@@ -54,7 +55,7 @@
          /* Choose a measurement type to use for notification */
          if (snrIconLevel != -1 && rsrpIconLevel != -1) {
              /*
-@@ -911,18 +938,6 @@ public class SignalStrength implements Parcelable {
+@@ -914,18 +941,6 @@ public class SignalStrength implements Parcelable {
  
          if (rsrpIconLevel != -1) return rsrpIconLevel;
  
diff --git a/patches/frameworks/base/0017-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
similarity index 82%
rename from patches/frameworks/base/0017-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch
rename to patches/frameworks/base/0015-idmap-Don-t-silently-ignore-RROs-with-same-priority.patch
index ffa27e6..bd9750c 100644
--- a/patches/frameworks/base/0017-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 918aacb06ef25d3c6ede826ef65916103b9c5584 Mon Sep 17 00:00:00 2001
+From a44e1c7060944b61680d635bba3f3cf6c6ec0fc3 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 17/26] idmap: Don't silently ignore RROs with same priority
+Subject: [PATCH 15/24] idmap: Don't silently ignore RROs with same priority
 
 Change-Id: I64a6899f1b30e0cd9e9a872b7ca83d831f038cbe
 ---
diff --git a/patches/frameworks/base/0018-Move-SysuiDarkThemeOverlay-to-system.patch b/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
similarity index 86%
rename from patches/frameworks/base/0018-Move-SysuiDarkThemeOverlay-to-system.patch
rename to patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
index 104d6dd..f1e1997 100644
--- a/patches/frameworks/base/0018-Move-SysuiDarkThemeOverlay-to-system.patch
+++ b/patches/frameworks/base/0016-Move-SysuiDarkThemeOverlay-to-system.patch
@@ -1,7 +1,7 @@
-From 1d441d72b476758932f06c9d742701af4756dedd Mon Sep 17 00:00:00 2001
+From 5e5f594514771d06e0a21d61b6a40dde00cff3a5 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 18/26] Move SysuiDarkThemeOverlay to /system
+Subject: [PATCH 16/24] Move SysuiDarkThemeOverlay to /system
 
 Change-Id: I31b3edc5d1abcc1163a13e63c909fee9d27ff432
 ---
diff --git a/patches/frameworks/base/0019-Reintroduce-button-backlight-and-respective-inactivi.patch b/patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch
similarity index 96%
rename from patches/frameworks/base/0019-Reintroduce-button-backlight-and-respective-inactivi.patch
rename to patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch
index 076a85d..b973400 100644
--- a/patches/frameworks/base/0019-Reintroduce-button-backlight-and-respective-inactivi.patch
+++ b/patches/frameworks/base/0017-Reintroduce-button-backlight-and-respective-inactivi.patch
@@ -1,7 +1,7 @@
-From 2beeca83b6ef8837355d84c5939ee543d6d2701f Mon Sep 17 00:00:00 2001
+From 06f853e0f4d05f28fa2d84a7b8744ba550d627dd Mon Sep 17 00:00:00 2001
 From: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
 Date: Fri, 23 Nov 2012 14:23:16 +0000
-Subject: [PATCH 19/26] Reintroduce button-backlight (and respective inactivity
+Subject: [PATCH 17/24] Reintroduce button-backlight (and respective inactivity
  timeout)
 
 The power manager rewrite from Change I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
@@ -13,6 +13,7 @@
 [RC: Updated to 5.0]
 
 Change-Id: I6094c446e0b8c23f57d30652a3cbd35dee5e821a
+Signed-off-by: Jackeagle <jackeagle102@gmail.com>
 ---
  .../server/display/DisplayPowerController.java       | 11 +++++++++++
  .../android/server/power/PowerManagerService.java    | 12 ++++++++++++
diff --git a/patches/frameworks/base/0020-power-Disable-keyboard-button-lights-while-dozing-dr.patch b/patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch
similarity index 91%
rename from patches/frameworks/base/0020-power-Disable-keyboard-button-lights-while-dozing-dr.patch
rename to patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch
index 4996927..4464dc4 100644
--- a/patches/frameworks/base/0020-power-Disable-keyboard-button-lights-while-dozing-dr.patch
+++ b/patches/frameworks/base/0018-power-Disable-keyboard-button-lights-while-dozing-dr.patch
@@ -1,7 +1,7 @@
-From b56a05837a3f080ffad773d7b4f8ad89fe69a697 Mon Sep 17 00:00:00 2001
+From 63233394738bb6292e2f7c1e463ea8ac22a1a3b8 Mon Sep 17 00:00:00 2001
 From: Steve Kondik <steve@cyngn.com>
 Date: Sat, 3 Jan 2015 05:13:26 -0800
-Subject: [PATCH 20/26] power: Disable keyboard/button lights while
+Subject: [PATCH 18/24] power: Disable keyboard/button lights while
  dozing/dreaming
 
  * With hardkeys and doze mode enabled, entering suspend results in
diff --git a/patches/frameworks/base/0021-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
similarity index 95%
rename from patches/frameworks/base/0021-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
rename to patches/frameworks/base/0019-It-is-okay-not-to-have-wifi-in-SystemUI-on-FDE-lock.patch
index cd4ba84..d915028 100644
--- a/patches/frameworks/base/0021-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
@@ -1,7 +1,7 @@
-From 160cb121fe386b18361771dc6886fee42c6a4552 Mon Sep 17 00:00:00 2001
+From e32a7aee2baed63892967cdf00ff3934e0030613 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 21/26] It is okay not to have wifi in SystemUI (on FDE lock)
+Subject: [PATCH 19/24] It is okay not to have wifi in SystemUI (on FDE lock)
 
 ---
  .../src/com/android/settingslib/wifi/WifiTracker.java         | 2 +-
diff --git a/patches/frameworks/base/0022-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 78%
rename from patches/frameworks/base/0022-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 dbf6464..e56ab1a 100644
--- a/patches/frameworks/base/0022-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,18 +1,20 @@
-From c31d457bbc90e1c0dc0a5e21f0591af959b4a92b Mon Sep 17 00:00:00 2001
+From 289ddb298f77979a6c11947f8a7401cc4ca752cf 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 22/26] Don't wake IR HAL to the infinity and beyond
+Subject: [PATCH 20/24] Don't wake IR HAL to the infinity and beyond
 
+Change-Id: Ic538ab35ec9eb3ede43a277414b00c51a2efaed1
+Signed-off-by: Jackeagle <jackeagle102@gmail.com>
 ---
  services/core/java/com/android/server/ConsumerIrService.java | 5 -----
  services/core/jni/com_android_server_ConsumerIrService.cpp   | 2 +-
  2 files changed, 1 insertion(+), 6 deletions(-)
 
 diff --git a/services/core/java/com/android/server/ConsumerIrService.java b/services/core/java/com/android/server/ConsumerIrService.java
-index c574a03c9a3..82ec033bc30 100644
+index 0a0065a7b55..ead288ea01a 100644
 --- a/services/core/java/com/android/server/ConsumerIrService.java
 +++ b/services/core/java/com/android/server/ConsumerIrService.java
-@@ -46,11 +46,6 @@ public class ConsumerIrService extends IConsumerIrService.Stub {
+@@ -48,11 +48,6 @@ public class ConsumerIrService extends IConsumerIrService.Stub {
          mWakeLock.setReferenceCounted(true);
  
          mHasNativeHal = halOpen();
@@ -21,9 +23,9 @@
 -                throw new RuntimeException("FEATURE_CONSUMER_IR present, but no IR HAL loaded!");
 -            }
 -        }
+         mParameter = AudioSystem.getParameters("audio_capability#irda_support");
      }
  
-     @Override
 diff --git a/services/core/jni/com_android_server_ConsumerIrService.cpp b/services/core/jni/com_android_server_ConsumerIrService.cpp
 index 2ca348b3ae4..148fba9a688 100644
 --- a/services/core/jni/com_android_server_ConsumerIrService.cpp
diff --git a/patches/frameworks/base/0023-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/0023-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 2a77571..205daa2 100644
--- a/patches/frameworks/base/0023-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 2807a9946b7a22c46cd98f10f64a6bc55101b860 Mon Sep 17 00:00:00 2001
+From 015d04e949b09a5687164d6187674e2f951d092f 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 23/26] Switch samsung light fingerprint match to regexp, to
+Subject: [PATCH 21/24] Switch samsung light fingerprint match to regexp, to
  include Note9
 
 ---
diff --git a/patches/frameworks/base/0024-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/0024-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 1aa969b..589f886 100644
--- a/patches/frameworks/base/0024-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 54e3c7f10257e7fb9419429e6e3bebfccde3aeba Mon Sep 17 00:00:00 2001
+From 904c159a60f4b821cdcca0a55e156a4c9580d9e0 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 24/26] Add a property toggle to enable high brightness range
+Subject: [PATCH 22/24] Add a property toggle to enable high brightness range
  on samsung device
 
 ---
diff --git a/patches/frameworks/base/0025-Add-japanese-S9.patch b/patches/frameworks/base/0023-Add-japanese-S9.patch
similarity index 91%
rename from patches/frameworks/base/0025-Add-japanese-S9.patch
rename to patches/frameworks/base/0023-Add-japanese-S9.patch
index f501cb2..10bf4f4 100644
--- a/patches/frameworks/base/0025-Add-japanese-S9.patch
+++ b/patches/frameworks/base/0023-Add-japanese-S9.patch
@@ -1,7 +1,7 @@
-From be5482c01553a3dfc8e2b2e176c9d7f8069d5f53 Mon Sep 17 00:00:00 2001
+From 9874b4e728292d2cea21ffd61ca830544f1cf153 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 25/26] Add japanese S9
+Subject: [PATCH 23/24] Add japanese S9
 
 ---
  .../core/java/com/android/server/lights/LightsService.java     | 3 ++-
diff --git a/patches/frameworks/base/0026-Re-order-services-so-that-it-works-even-without-qtag.patch b/patches/frameworks/base/0024-Re-order-services-so-that-it-works-even-without-qtag.patch
similarity index 93%
rename from patches/frameworks/base/0026-Re-order-services-so-that-it-works-even-without-qtag.patch
rename to patches/frameworks/base/0024-Re-order-services-so-that-it-works-even-without-qtag.patch
index bab659b..1e54ef5 100644
--- a/patches/frameworks/base/0026-Re-order-services-so-that-it-works-even-without-qtag.patch
+++ b/patches/frameworks/base/0024-Re-order-services-so-that-it-works-even-without-qtag.patch
@@ -1,7 +1,7 @@
-From 377d3dd22093bbf4f324777af4865b46168496dd Mon Sep 17 00:00:00 2001
+From c14fdbff1137f5e03e9371eeedeea07bfad378de 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 26/26] Re-order services so that it works even without qtaguid
+Subject: [PATCH 24/24] Re-order services so that it works even without qtaguid
 
 ---
  .../com/android/server/net/NetworkPolicyManagerService.java | 6 +++---
