diff --git a/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch b/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch index 572020e..db2a7ad 100644 --- a/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch +++ b/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch @@ -1,4 +1,4 @@ -From 6a533d2bf91fcaf9e93e02062f9c420d6abe370a Mon Sep 17 00:00:00 2001 +From 2128e26099e203ebaf43796c23a5c423d4eb9272 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Tue, 12 Oct 2021 21:37:22 -0400 Subject: [PATCH 1/5] PackageParser: support glob matching for properties @@ -32,5 +32,5 @@ index c15b3e0b80c3..05bb843c0c4d 100644 } return true; -- -2.40.0 +2.40.1 diff --git a/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch b/frameworks/base/0002-Add-support-for-app-signature-spoofing.patch similarity index 97% rename from frameworks/base/0003-Add-support-for-app-signature-spoofing.patch rename to frameworks/base/0002-Add-support-for-app-signature-spoofing.patch index 43f3ded..1af6132 100644 --- a/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch +++ b/frameworks/base/0002-Add-support-for-app-signature-spoofing.patch @@ -1,7 +1,7 @@ -From afb0e5101e41dc70d05a0f28d9d50fdb5b414d97 Mon Sep 17 00:00:00 2001 +From d617a2ae55f3a345a3b0ea754208f4050ed0ae92 Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Sat, 16 Oct 2021 05:27:57 -0700 -Subject: [PATCH 3/5] Add support for app signature spoofing +Subject: [PATCH 2/5] Add support for app signature spoofing This is needed by microG GmsCore to pretend to be the official Google Play Services package, because client apps check the package signature @@ -58,10 +58,10 @@ index 487e57d114c9..04e69741b9fd 100644 field public static final String MICROPHONE = "android.permission-group.MICROPHONE"; field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES"; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml -index 6a80d1cb62a7..189c5c223cd0 100644 +index 0e95e30a99b8..a456ac6b7129 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml -@@ -3564,6 +3564,21 @@ +@@ -3569,6 +3569,21 @@ android:description="@string/permdesc_getPackageSize" android:protectionLevel="normal" /> @@ -84,10 +84,10 @@ index 6a80d1cb62a7..189c5c223cd0 100644 {@link android.content.pm.PackageManager#addPackageToPreferred} for details. --> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml -index 9410e0682106..7ed7a03f1b61 100644 +index 2091c0502b6f..6888edcf7d3c 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml -@@ -977,6 +977,18 @@ +@@ -982,6 +982,18 @@ @@ -159,5 +159,5 @@ index 46b7460dff1b..40549962436f 100644 if (packageInfo == null) { return null; -- -2.40.0 +2.40.1 diff --git a/frameworks/base/0002-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch b/frameworks/base/0002-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch deleted file mode 100644 index aba1a67..0000000 --- a/frameworks/base/0002-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 5dd2d06d79a5b77ed9ea304812de8420acb86fea Mon Sep 17 00:00:00 2001 -From: dhacker29 -Date: Tue, 24 Nov 2015 01:53:47 -0500 -Subject: [PATCH 2/5] fw/b: Use ro.build.version.incremental to signal OTA - upgrades - -[PeterCxy]: On T, there is a new class PackagePartitions that is -responsible for detecting updates to not just the system, but also other -partitions. Most of the fingerprint detection were moved there, and thus -modifications were made there to use the -ro..build.version.incremental property. - -Squash of: - -Author: dhacker29 -Date: Tue Nov 24 01:53:47 2015 -0500 - Core: Use ro.build.date to signal mIsUpgrade - - M: We use a static fingerprint that is only changed when a new OEM build is released, so - every flash shows Android is starting instead of upgrading. This will fix that. - N: even though we dont have the dexopt sceen on N, this is still needed to delete the - correct caches, and grant/deny specific runtime permissions like a true oem update - would do. - Updated for Nougat By: BeansTown106 - - Change-Id: I0e3ed5c8f0351e48944432ae6a0c5194ddeff1fa - -Author: Sam Mortimer -Date: Fri Sep 28 13:45:00 2018 -0700 - fw/b UserManagerService: Use ro.build.date to signal upgrades - - *) We changed PackageManagerService to use Build.DATE instead of - Build.FINGERPRINT to detect upgrade. Do the same for - UserManagerService. - *) Affects generation of preboot intent and app data migration. - - Change-Id: I56887b7ca842afdcf3cf84b27b4c04667cf43307 - -Author: Wang Han <416810799@qq.com> -Date: Sat Dec 29 23:33:20 2018 +0800 - ShortcutService: Use ro.build.date to signal package scanning - - * Affects system apps scanning. - - Change-Id: I5f6d6647929f5b5ae7e820b18e95bf5ed2ec8d1c - -Author: maxwen -Date: Tue Nov 19 01:02:01 2019 +0100 - base: Use ro.build.date to clear cache dirs on update - - instead of using ro.build.fingerprint we explictly need to use ro.build.date - - Change-Id: Ib3e80e58eb8c9a21c108e9f5cd2dbdb7ada8e3a4 - -Author: maxwen -Date: Wed Oct 28 07:07:10 2020 -0400 - One more Build.FINGERPRINT to Build.DATE change - - Change-Id: I13dbf3d7f6587d3fcd6591cc0f861b34b6d5561c - -Change-Id: If0eb969ba509981f9209ffa37a949d9042ef4c2a ---- - core/java/android/app/admin/SystemUpdateInfo.java | 4 ++-- - core/java/android/content/pm/PackagePartitions.java | 4 ++-- - services/core/java/com/android/server/pm/ShortcutService.java | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/core/java/android/app/admin/SystemUpdateInfo.java b/core/java/android/app/admin/SystemUpdateInfo.java -index b88bf76c96ca..fdf2b3f54311 100644 ---- a/core/java/android/app/admin/SystemUpdateInfo.java -+++ b/core/java/android/app/admin/SystemUpdateInfo.java -@@ -132,7 +132,7 @@ public final class SystemUpdateInfo implements Parcelable { - out.startTag(null, tag); - out.attributeLong(null, ATTR_RECEIVED_TIME, mReceivedTime); - out.attributeInt(null, ATTR_SECURITY_PATCH_STATE, mSecurityPatchState); -- out.attribute(null, ATTR_ORIGINAL_BUILD , Build.FINGERPRINT); -+ out.attribute(null, ATTR_ORIGINAL_BUILD , Build.VERSION.INCREMENTAL); - out.endTag(null, tag); - } - -@@ -141,7 +141,7 @@ public final class SystemUpdateInfo implements Parcelable { - public static SystemUpdateInfo readFromXml(TypedXmlPullParser parser) { - // If an OTA has been applied (build fingerprint has changed), discard stale info. - final String buildFingerprint = parser.getAttributeValue(null, ATTR_ORIGINAL_BUILD ); -- if (!Build.FINGERPRINT.equals(buildFingerprint)) { -+ if (!Build.VERSION.INCREMENTAL.equals(buildFingerprint)) { - return null; - } - try { -diff --git a/core/java/android/content/pm/PackagePartitions.java b/core/java/android/content/pm/PackagePartitions.java -index ff80e614be58..8bf0d5ffff76 100644 ---- a/core/java/android/content/pm/PackagePartitions.java -+++ b/core/java/android/content/pm/PackagePartitions.java -@@ -129,9 +129,9 @@ public class PackagePartitions { - final String[] digestProperties = new String[SYSTEM_PARTITIONS.size() + 1]; - for (int i = 0; i < SYSTEM_PARTITIONS.size(); i++) { - final String partitionName = SYSTEM_PARTITIONS.get(i).getName(); -- digestProperties[i] = "ro." + partitionName + ".build.fingerprint"; -+ digestProperties[i] = "ro." + partitionName + ".build.version.incremental"; - } -- digestProperties[SYSTEM_PARTITIONS.size()] = "ro.build.fingerprint"; // build fingerprint -+ digestProperties[SYSTEM_PARTITIONS.size()] = "ro.build.version.incremental"; // build fingerprint - return SystemProperties.digestOf(digestProperties); - } - -diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java -index f303fedde567..66901edb1c1d 100644 ---- a/services/core/java/com/android/server/pm/ShortcutService.java -+++ b/services/core/java/com/android/server/pm/ShortcutService.java -@@ -5162,7 +5162,7 @@ public class ShortcutService extends IShortcutService.Stub { - - // Injection point. - String injectBuildFingerprint() { -- return Build.FINGERPRINT; -+ return Build.VERSION.INCREMENTAL; - } - - final void wtf(String message) { --- -2.40.0 - diff --git a/frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch b/frameworks/base/0003-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch similarity index 92% rename from frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch rename to frameworks/base/0003-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch index 381931f..4443a8f 100644 --- a/frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch +++ b/frameworks/base/0003-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch @@ -1,7 +1,7 @@ -From a1b9bed7443c621a72c1bd33765cd836dbea26ef Mon Sep 17 00:00:00 2001 +From 53b7e684e38bbcf5ed91c7c3ff35ce669fc7e3d6 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 2 Sep 2022 21:36:06 -0400 -Subject: [PATCH 4/5] FrameworkParsingPackageUtils: Add glob matching support +Subject: [PATCH 3/5] FrameworkParsingPackageUtils: Add glob matching support for properties This is now required in addition to the one in PackageParser in order @@ -36,5 +36,5 @@ index 3e1c5bb3d7ec..f15978c57574 100644 } return true; -- -2.40.0 +2.40.1 diff --git a/frameworks/base/0005-Global-VPN-feature-1-2.patch b/frameworks/base/0004-Global-VPN-feature-1-2.patch similarity index 97% rename from frameworks/base/0005-Global-VPN-feature-1-2.patch rename to frameworks/base/0004-Global-VPN-feature-1-2.patch index cefb186..e2bffeb 100644 --- a/frameworks/base/0005-Global-VPN-feature-1-2.patch +++ b/frameworks/base/0004-Global-VPN-feature-1-2.patch @@ -1,7 +1,7 @@ -From c2ebf2cf8f1a013c16a9e44a57bdc44e6d132a2f Mon Sep 17 00:00:00 2001 +From 270918c3bef42e290e2f984a806ca9db213485bc Mon Sep 17 00:00:00 2001 From: Oliver Scott Date: Thu, 8 Jul 2021 10:41:43 -0400 -Subject: [PATCH 5/5] Global VPN feature [1/2] +Subject: [PATCH 4/5] Global VPN feature [1/2] * Modify existing VPN user range functions to conditionally have traffic from all users pass through the global VPN. @@ -28,10 +28,10 @@ Signed-off-by: Mohammad Hasan Keramat J 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java -index 94a6382227f3..e091b47bdddd 100644 +index 8d8379831e87..bd6cc1d4d7bf 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java -@@ -15970,6 +15970,12 @@ public final class Settings { +@@ -16060,6 +16060,12 @@ public final class Settings { CLOCKWORK_HOME_READY, }; @@ -197,5 +197,5 @@ index 8510de4ef201..7c02924a711d 100644 // To stop the VPN profile, the caller must be the current prepared package and must be // running an Ikev2VpnProfile. -- -2.40.0 +2.40.1 diff --git a/frameworks/base/0005-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch b/frameworks/base/0005-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch new file mode 100644 index 0000000..30cde47 --- /dev/null +++ b/frameworks/base/0005-fw-b-Use-ro.build.version.incremental-to-signal-OTA-.patch @@ -0,0 +1,236 @@ +From d7f925f3680e21dc501ac67607737b9bc6ee8f24 Mon Sep 17 00:00:00 2001 +From: dhacker29 +Date: Tue, 24 Nov 2015 01:53:47 -0500 +Subject: [PATCH 5/5] fw/b: Use ro.build.version.incremental to signal OTA + upgrades + +Squash of: + +Author: dhacker29 +Date: Tue Nov 24 01:53:47 2015 -0500 + Core: Use ro.build.date to signal mIsUpgrade + + M: We use a static fingerprint that is only changed when a new OEM build is released, so + every flash shows Android is starting instead of upgrading. This will fix that. + N: even though we dont have the dexopt sceen on N, this is still needed to delete the + correct caches, and grant/deny specific runtime permissions like a true oem update + would do. + Updated for Nougat By: BeansTown106 + + Change-Id: I0e3ed5c8f0351e48944432ae6a0c5194ddeff1fa + +Author: Sam Mortimer +Date: Fri Sep 28 13:45:00 2018 -0700 + fw/b UserManagerService: Use ro.build.date to signal upgrades + + *) We changed PackageManagerService to use Build.DATE instead of + Build.FINGERPRINT to detect upgrade. Do the same for + UserManagerService. + *) Affects generation of preboot intent and app data migration. + + Change-Id: I56887b7ca842afdcf3cf84b27b4c04667cf43307 + +Author: Wang Han <416810799@qq.com> +Date: Sat Dec 29 23:33:20 2018 +0800 + ShortcutService: Use ro.build.date to signal package scanning + + * Affects system apps scanning. + + Change-Id: I5f6d6647929f5b5ae7e820b18e95bf5ed2ec8d1c + +Author: maxwen +Date: Tue Nov 19 01:02:01 2019 +0100 + base: Use ro.build.date to clear cache dirs on update + + instead of using ro.build.fingerprint we explictly need to use ro.build.date + + Change-Id: Ib3e80e58eb8c9a21c108e9f5cd2dbdb7ada8e3a4 + +Author: maxwen +Date: Wed Oct 28 07:07:10 2020 -0400 + One more Build.FINGERPRINT to Build.DATE change + + Change-Id: I13dbf3d7f6587d3fcd6591cc0f861b34b6d5561c + +Change-Id: If0eb969ba509981f9209ffa37a949d9042ef4c2a +--- + core/java/android/app/admin/SystemUpdateInfo.java | 4 ++-- + .../java/com/android/server/am/UserController.java | 3 ++- + .../com/android/server/pm/PackageManagerService.java | 12 ++++++------ + .../core/java/com/android/server/pm/Settings.java | 4 ++-- + .../java/com/android/server/pm/ShortcutService.java | 2 +- + .../com/android/server/pm/UserManagerService.java | 8 ++++---- + 6 files changed, 17 insertions(+), 16 deletions(-) + +diff --git a/core/java/android/app/admin/SystemUpdateInfo.java b/core/java/android/app/admin/SystemUpdateInfo.java +index b88bf76c96ca..fdf2b3f54311 100644 +--- a/core/java/android/app/admin/SystemUpdateInfo.java ++++ b/core/java/android/app/admin/SystemUpdateInfo.java +@@ -132,7 +132,7 @@ public final class SystemUpdateInfo implements Parcelable { + out.startTag(null, tag); + out.attributeLong(null, ATTR_RECEIVED_TIME, mReceivedTime); + out.attributeInt(null, ATTR_SECURITY_PATCH_STATE, mSecurityPatchState); +- out.attribute(null, ATTR_ORIGINAL_BUILD , Build.FINGERPRINT); ++ out.attribute(null, ATTR_ORIGINAL_BUILD , Build.VERSION.INCREMENTAL); + out.endTag(null, tag); + } + +@@ -141,7 +141,7 @@ public final class SystemUpdateInfo implements Parcelable { + public static SystemUpdateInfo readFromXml(TypedXmlPullParser parser) { + // If an OTA has been applied (build fingerprint has changed), discard stale info. + final String buildFingerprint = parser.getAttributeValue(null, ATTR_ORIGINAL_BUILD ); +- if (!Build.FINGERPRINT.equals(buildFingerprint)) { ++ if (!Build.VERSION.INCREMENTAL.equals(buildFingerprint)) { + return null; + } + try { +diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java +index 44b186e1541f..9470a728389f 100644 +--- a/services/core/java/com/android/server/am/UserController.java ++++ b/services/core/java/com/android/server/am/UserController.java +@@ -71,6 +71,7 @@ import android.content.pm.PackagePartitions; + import android.content.pm.UserInfo; + import android.os.BatteryStats; + import android.os.Binder; ++import android.os.Build; + import android.os.Bundle; + import android.os.Debug; + import android.os.Handler; +@@ -761,7 +762,7 @@ class UserController implements Handler.Callback { + // purposefully block sending BOOT_COMPLETED until after all + // PRE_BOOT receivers are finished to avoid ANR'ing apps + final UserInfo info = getUserInfo(userId); +- if (!Objects.equals(info.lastLoggedInFingerprint, PackagePartitions.FINGERPRINT) ++ if (!Objects.equals(info.lastLoggedInFingerprint, Build.VERSION.INCREMENTAL) + || SystemProperties.getBoolean("persist.pm.mock-upgrade", false)) { + // Suppress double notifications for managed profiles that + // were unlocked automatically as part of their parent user being +diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java +index 47860373156b..858bf1aad92f 100644 +--- a/services/core/java/com/android/server/pm/PackageManagerService.java ++++ b/services/core/java/com/android/server/pm/PackageManagerService.java +@@ -1492,7 +1492,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService + } + + PackageManagerService m = new PackageManagerService(injector, onlyCore, factoryTest, +- PackagePartitions.FINGERPRINT, Build.IS_ENG, Build.IS_USERDEBUG, ++ Build.VERSION.INCREMENTAL, Build.IS_ENG, Build.IS_USERDEBUG, + Build.VERSION.SDK_INT, Build.VERSION.INCREMENTAL); + t.traceEnd(); // "create package manager" + +@@ -1954,7 +1954,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService + !buildFingerprint.equals(ver.fingerprint); + if (mIsUpgrade) { + PackageManagerServiceUtils.logCriticalInfo(Log.INFO, "Upgrading from " +- + ver.fingerprint + " to " + PackagePartitions.FINGERPRINT); ++ + ver.fingerprint + " to " + Build.VERSION.INCREMENTAL); + } + + mInitAppsHelper = new InitAppsHelper(this, mApexManager, mInstallPackageHelper, +@@ -2068,8 +2068,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService + // allow... it would be nice to have some better way to handle + // this situation. + if (mIsUpgrade) { +- Slog.i(TAG, "Build fingerprint changed from " + ver.fingerprint + " to " +- + PackagePartitions.FINGERPRINT ++ Slog.i(TAG, "Build incremental version changed from " + ver.fingerprint + " to " ++ + Build.VERSION.INCREMENTAL + + "; regranting permissions for internal storage"); + } + mPermissionManager.onStorageVolumeMounted( +@@ -2091,7 +2091,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService + // across OTAs and are used to drive profile verification (post OTA) and + // profile compilation (without waiting to collect a fresh set of profiles). + if (mIsUpgrade && !mOnlyCore) { +- Slog.i(TAG, "Build fingerprint changed; clearing code caches"); ++ Slog.i(TAG, "Build incremental version changed; clearing code caches"); + for (int i = 0; i < packageSettings.size(); i++) { + final PackageSetting ps = packageSettings.valueAt(i); + if (Objects.equals(StorageManager.UUID_PRIVATE_INTERNAL, ps.getVolumeUuid())) { +@@ -2102,7 +2102,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService + | Installer.FLAG_CLEAR_APP_DATA_KEEP_ART_PROFILES); + } + } +- ver.fingerprint = PackagePartitions.FINGERPRINT; ++ ver.fingerprint = Build.VERSION.INCREMENTAL; + } + + // Defer the app data fixup until we are done with app data clearing above. +diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java +index cfd029346340..a9b624653b92 100644 +--- a/services/core/java/com/android/server/pm/Settings.java ++++ b/services/core/java/com/android/server/pm/Settings.java +@@ -445,7 +445,7 @@ public final class Settings implements Watchable, Snappable { + public void forceCurrent() { + sdkVersion = Build.VERSION.SDK_INT; + databaseVersion = CURRENT_DATABASE_VERSION; +- fingerprint = PackagePartitions.FINGERPRINT; ++ fingerprint = Build.VERSION.INCREMENTAL; + } + } + +@@ -5527,7 +5527,7 @@ public final class Settings implements Watchable, Snappable { + } + + private String getExtendedFingerprint(long version) { +- return PackagePartitions.FINGERPRINT + "?pc_version=" + version; ++ return Build.VERSION.INCREMENTAL + "?pc_version=" + version; + } + + private static long uniformRandom(double low, double high) { +diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java +index a2b2983a8f35..4564e9dccc13 100644 +--- a/services/core/java/com/android/server/pm/ShortcutService.java ++++ b/services/core/java/com/android/server/pm/ShortcutService.java +@@ -5168,7 +5168,7 @@ public class ShortcutService extends IShortcutService.Stub { + + // Injection point. + String injectBuildFingerprint() { +- return Build.FINGERPRINT; ++ return Build.VERSION.INCREMENTAL; + } + + final void wtf(String message) { +diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java +index 88aeb17dc2b4..af7b481dd311 100644 +--- a/services/core/java/com/android/server/pm/UserManagerService.java ++++ b/services/core/java/com/android/server/pm/UserManagerService.java +@@ -4104,7 +4104,7 @@ public class UserManagerService extends IUserManager.Stub { + userInfo.creationTime = getCreationTime(); + userInfo.partial = true; + userInfo.preCreated = preCreate; +- userInfo.lastLoggedInFingerprint = PackagePartitions.FINGERPRINT; ++ userInfo.lastLoggedInFingerprint = Build.VERSION.INCREMENTAL; + if (userTypeDetails.hasBadge() && parentId != UserHandle.USER_NULL) { + userInfo.profileBadge = getFreeProfileBadgeLU(parentId, userType); + } +@@ -5390,7 +5390,7 @@ public class UserManagerService extends IUserManager.Stub { + t.traceBegin("onBeforeStartUser-" + userId); + final int userSerial = userInfo.serialNumber; + // Migrate only if build fingerprints mismatch +- boolean migrateAppsData = !PackagePartitions.FINGERPRINT.equals( ++ boolean migrateAppsData = !Build.VERSION.INCREMENTAL.equals( + userInfo.lastLoggedInFingerprint); + t.traceBegin("prepareUserData"); + mUserDataPreparer.prepareUserData(userId, userSerial, StorageManager.FLAG_STORAGE_DE); +@@ -5421,7 +5421,7 @@ public class UserManagerService extends IUserManager.Stub { + } + final int userSerial = userInfo.serialNumber; + // Migrate only if build fingerprints mismatch +- boolean migrateAppsData = !PackagePartitions.FINGERPRINT.equals( ++ boolean migrateAppsData = !Build.VERSION.INCREMENTAL.equals( + userInfo.lastLoggedInFingerprint); + + final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); +@@ -5466,7 +5466,7 @@ public class UserManagerService extends IUserManager.Stub { + if (now > EPOCH_PLUS_30_YEARS) { + userData.info.lastLoggedInTime = now; + } +- userData.info.lastLoggedInFingerprint = PackagePartitions.FINGERPRINT; ++ userData.info.lastLoggedInFingerprint = Build.VERSION.INCREMENTAL; + scheduleWriteUser(userData); + } + +-- +2.40.1 + diff --git a/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch b/packages/apps/Launcher3/0001-Expose-themed-icon-setting-in-ThemePicker.patch similarity index 91% rename from packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch rename to packages/apps/Launcher3/0001-Expose-themed-icon-setting-in-ThemePicker.patch index 294e122..c93a740 100644 --- a/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch +++ b/packages/apps/Launcher3/0001-Expose-themed-icon-setting-in-ThemePicker.patch @@ -1,7 +1,7 @@ -From ae423b97721ce943c74a9e2a8a94d6160c56da4b Mon Sep 17 00:00:00 2001 +From 8cd54396bbf29cc977497b53c1464a80aea69825 Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Mon, 11 Oct 2021 20:48:44 -0700 -Subject: [PATCH 2/4] Expose themed icon setting in ThemePicker +Subject: [PATCH 1/4] Expose themed icon setting in ThemePicker Change-Id: I44e9288c3de13a3604b7a03857ec400753317d9a --- @@ -38,5 +38,5 @@ index 7d7054f5a5..d2955c4327 100644 -- -2.39.2 +2.40.1 diff --git a/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch b/packages/apps/Launcher3/0002-Properly-expose-GridCustomizationsProvider.patch similarity index 82% rename from packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch rename to packages/apps/Launcher3/0002-Properly-expose-GridCustomizationsProvider.patch index 34ad357..a67fa4c 100644 --- a/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch +++ b/packages/apps/Launcher3/0002-Properly-expose-GridCustomizationsProvider.patch @@ -1,7 +1,7 @@ -From 47d4a143786047a8ed00b00c046b996091f90191 Mon Sep 17 00:00:00 2001 +From 0d97b73a079dd81b0dd8c0bb512a926d37f76cf9 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Fri, 1 Nov 2019 23:17:59 +0100 -Subject: [PATCH 3/4] Properly expose GridCustomizationsProvider +Subject: [PATCH 2/4] Properly expose GridCustomizationsProvider Change-Id: I8268a215257ae0e399c56ac8b44cdfdff8cc92a0 --- @@ -9,10 +9,10 @@ Change-Id: I8268a215257ae0e399c56ac8b44cdfdff8cc92a0 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml -index 951be4e54e..49007bd00d 100644 +index 0c7b48fe66..1fe86ad022 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml -@@ -136,7 +136,9 @@ +@@ -137,7 +137,9 @@ Date: Wed, 6 Oct 2021 22:45:33 -0700 -Subject: [PATCH 4/4] Fix all apps header color in dark mode +Subject: [PATCH 3/4] Fix all apps header color in dark mode Change-Id: Ib2ce7f6e3c9b87a4626699cb54673d88392a5f41 --- @@ -9,10 +9,10 @@ Change-Id: Ib2ce7f6e3c9b87a4626699cb54673d88392a5f41 1 file changed, 1 insertion(+) diff --git a/res/values/styles.xml b/res/values/styles.xml -index 7582a30435..454db61d90 100644 +index 5dc4f0afa1..f5d64729c8 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml -@@ -95,6 +95,7 @@ +@@ -94,6 +94,7 @@ #19FFFFFF #FF212121 ?android:attr/colorBackgroundFloating @@ -21,5 +21,5 @@ index 7582a30435..454db61d90 100644 @color/popup_color_primary_dark @color/popup_color_secondary_dark -- -2.39.2 +2.40.1 diff --git a/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch b/packages/apps/Launcher3/0004-Disable-QSB-in-BuildConfig.patch similarity index 71% rename from packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch rename to packages/apps/Launcher3/0004-Disable-QSB-in-BuildConfig.patch index 6318530..b1ec385 100644 --- a/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch +++ b/packages/apps/Launcher3/0004-Disable-QSB-in-BuildConfig.patch @@ -1,7 +1,7 @@ -From 4cc2be49efa697ff1d581b272f53b41348684e09 Mon Sep 17 00:00:00 2001 +From 8f1880d3576c0c6521e38558d56e55df92922c8a Mon Sep 17 00:00:00 2001 From: Peter Cai -Date: Wed, 17 Aug 2022 22:02:33 -0400 -Subject: [PATCH 1/4] Disable QSB in BuildConfig +Date: Fri, 7 Jul 2023 18:13:32 -0400 +Subject: [PATCH 4/4] Disable QSB in BuildConfig Change-Id: I3150ef1d9b8c161ed2a6569d1ae75bba0060b36f --- @@ -9,16 +9,18 @@ Change-Id: I3150ef1d9b8c161ed2a6569d1ae75bba0060b36f 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_build_config/com/android/launcher3/BuildConfig.java b/src_build_config/com/android/launcher3/BuildConfig.java -index 9a81d3f54c..8c83bcc372 100644 +index 1f2e0e5387..ab6c528580 100644 --- a/src_build_config/com/android/launcher3/BuildConfig.java +++ b/src_build_config/com/android/launcher3/BuildConfig.java -@@ -23,5 +23,5 @@ public final class BuildConfig { +@@ -24,7 +24,7 @@ public final class BuildConfig { * Flag to state if the QSB is on the first screen and placed on the top, * this can be overwritten in other launchers with a different value, if needed. */ - public static final boolean QSB_ON_FIRST_SCREEN = true; + public static final boolean QSB_ON_FIRST_SCREEN = false; - } + + /** + * Flag to control various developer centric features -- -2.39.2 +2.40.1 diff --git a/packages/modules/Bluetooth/0001-Additionally-check-le_set_event_mask-command-resturn.patch b/packages/modules/Bluetooth/0001-Additionally-check-le_set_event_mask-command-resturn.patch index 6a9d50c..5d8eb45 100644 --- a/packages/modules/Bluetooth/0001-Additionally-check-le_set_event_mask-command-resturn.patch +++ b/packages/modules/Bluetooth/0001-Additionally-check-le_set_event_mask-command-resturn.patch @@ -1,4 +1,4 @@ -From a1d10cb31ae386c01a66c8bf0a028b8f33e5bd32 Mon Sep 17 00:00:00 2001 +From 08cae5289428f6a99f2a6d28145fa542d1288916 Mon Sep 17 00:00:00 2001 From: "tzu-hsien.huang" Date: Wed, 20 Jul 2022 15:12:01 +0800 Subject: [PATCH 1/3] Additionally check le_set_event_mask command resturn @@ -24,10 +24,10 @@ Change-Id: I2b0cede7f47eecd2124a386e958773289eb6f11c 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/system/gd/hci/controller.cc b/system/gd/hci/controller.cc -index da5986fcb7..8be21a20a3 100644 +index 9dac2b6a84..50342d639e 100644 --- a/system/gd/hci/controller.cc +++ b/system/gd/hci/controller.cc -@@ -540,7 +540,7 @@ struct Controller::impl { +@@ -548,7 +548,7 @@ struct Controller::impl { void le_set_event_mask(uint64_t le_event_mask) { std::unique_ptr packet = LeSetEventMaskBuilder::Create(le_event_mask); hci_->EnqueueCommand(std::move(packet), module_.GetHandler()->BindOnceOn( @@ -36,7 +36,7 @@ index da5986fcb7..8be21a20a3 100644 } template -@@ -551,6 +551,15 @@ struct Controller::impl { +@@ -559,6 +559,15 @@ struct Controller::impl { ASSERT(status_view.GetStatus() == ErrorCode::SUCCESS); } @@ -53,5 +53,5 @@ index da5986fcb7..8be21a20a3 100644 case OpCode::name: { \ uint16_t index = (uint16_t)OpCodeIndex::name; \ -- -2.37.2 +2.40.1 diff --git a/packages/modules/Bluetooth/0002-gd-hci-Ignore-unexpected-status-events.patch b/packages/modules/Bluetooth/0002-gd-hci-Ignore-unexpected-status-events.patch index 79d9f44..319c7f4 100644 --- a/packages/modules/Bluetooth/0002-gd-hci-Ignore-unexpected-status-events.patch +++ b/packages/modules/Bluetooth/0002-gd-hci-Ignore-unexpected-status-events.patch @@ -1,4 +1,4 @@ -From 0e2bf3f3d46efaa7d01d3554b7e5ceeac9664c69 Mon Sep 17 00:00:00 2001 +From 55a4e7e7158f50f3e8840b526e15d7c9f10423de Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 24 Aug 2022 10:41:29 -0400 Subject: [PATCH 2/3] gd: hci: Ignore unexpected status events @@ -13,7 +13,7 @@ Change-Id: Ifb9a65fd77f21d15a8dc1ced9240194d38218ef6 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/system/gd/hci/hci_layer.cc b/system/gd/hci/hci_layer.cc -index 57d7e55fff..b5a9d065be 100644 +index 5def729ac8..9c235294bb 100644 --- a/system/gd/hci/hci_layer.cc +++ b/system/gd/hci/hci_layer.cc @@ -195,14 +195,13 @@ struct HciLayer::impl { @@ -39,5 +39,5 @@ index 57d7e55fff..b5a9d065be 100644 command_queue_.pop_front(); -- -2.37.2 +2.40.1 diff --git a/packages/modules/Bluetooth/0003-audio_hal_interface-Optionally-use-sysbta-HAL.patch b/packages/modules/Bluetooth/0003-audio_hal_interface-Optionally-use-sysbta-HAL.patch index 9bb89ee..0dca5de 100644 --- a/packages/modules/Bluetooth/0003-audio_hal_interface-Optionally-use-sysbta-HAL.patch +++ b/packages/modules/Bluetooth/0003-audio_hal_interface-Optionally-use-sysbta-HAL.patch @@ -1,4 +1,4 @@ -From cad9f7f7aeaf57e5fead759bcc68b75262ba3708 Mon Sep 17 00:00:00 2001 +From f2d820597f4dcbb08e4e0c9026dc1d56fe7b3bfd Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 24 Aug 2022 15:45:18 -0400 Subject: [PATCH 3/3] audio_hal_interface: Optionally use sysbta HAL @@ -13,38 +13,38 @@ Change-Id: I59973e6ec84c5923be8a7c67b36b2e237f000860 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.cc b/system/audio_hal_interface/aidl/client_interface_aidl.cc -index 814c6c7796..a38b6da495 100644 +index 9af28031f7..5a9dbbccad 100644 --- a/system/audio_hal_interface/aidl/client_interface_aidl.cc +++ b/system/audio_hal_interface/aidl/client_interface_aidl.cc -@@ -55,7 +55,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface( +@@ -56,7 +56,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface( bool BluetoothAudioClientInterface::is_aidl_available() { - auto service = AServiceManager_checkService( + return AServiceManager_isDeclared( - kDefaultAudioProviderFactoryInterface.c_str()); + audioProviderFactoryInterface().c_str()); - return (service != nullptr); } + std::vector @@ -72,7 +72,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) { } auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( - ::ndk::SpAIBinder(AServiceManager_getService( + ::ndk::SpAIBinder(AServiceManager_waitForService( - kDefaultAudioProviderFactoryInterface.c_str()))); + audioProviderFactoryInterface().c_str()))); if (provider_factory == nullptr) { LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; -@@ -100,7 +100,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() { +@@ -99,7 +99,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() { } auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( - ::ndk::SpAIBinder(AServiceManager_getService( + ::ndk::SpAIBinder(AServiceManager_waitForService( - kDefaultAudioProviderFactoryInterface.c_str()))); + audioProviderFactoryInterface().c_str()))); if (provider_factory == nullptr) { LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.h b/system/audio_hal_interface/aidl/client_interface_aidl.h -index 87dd450997..36d5fa5e86 100644 +index 17abefe8fe..07dd11266f 100644 --- a/system/audio_hal_interface/aidl/client_interface_aidl.h +++ b/system/audio_hal_interface/aidl/client_interface_aidl.h @@ -28,6 +28,7 @@ @@ -55,7 +55,7 @@ index 87dd450997..36d5fa5e86 100644 #define BLUETOOTH_AUDIO_HAL_PROP_DISABLED \ "persist.bluetooth.bluetooth_audio_hal.disabled" -@@ -115,6 +116,12 @@ class BluetoothAudioClientInterface { +@@ -117,6 +118,12 @@ class BluetoothAudioClientInterface { // "android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default"; static inline const std::string kDefaultAudioProviderFactoryInterface = std::string() + IBluetoothAudioProviderFactory::descriptor + "/default"; @@ -103,5 +103,5 @@ index a2c192f37d..c3d1cf35c2 100644 return; } -- -2.37.2 +2.40.1