diff --git a/frameworks/av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch b/frameworks/av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch index 2c7d63a..ae6b430 100644 --- a/frameworks/av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch +++ b/frameworks/av/0001-APM-Restore-S-R-and-Q-behavior-respectively-for-tele.patch @@ -1,7 +1,7 @@ -From 51deb8e31ca57f19420277cc92b26375233e9050 Mon Sep 17 00:00:00 2001 +From f9be27ef60cd4ccca6803458ff29ee7a2236769c Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Thu, 18 Aug 2022 15:44:46 -0400 -Subject: [PATCH 1/5] APM: Restore S, R and Q behavior respectively for +Subject: [PATCH 1/4] APM: Restore S, R and Q behavior respectively for telephony audio This conditionally reverts part of b2e5cb (T), 51c9cc (S) and afd4ce (R) @@ -31,12 +31,12 @@ relying on the value of `ro.vndk.version`. Change-Id: I56d36d2aef4319935cb88a3e4771b23c6d5b2145 --- - .../managerdefault/AudioPolicyManager.cpp | 193 +++++++++++++----- + .../managerdefault/AudioPolicyManager.cpp | 103 ++++++++++++++++-- .../managerdefault/AudioPolicyManager.h | 3 + - 2 files changed, 141 insertions(+), 55 deletions(-) + 2 files changed, 96 insertions(+), 10 deletions(-) diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp -index 744609f27b..224dae3820 100644 +index 4573382a06..c218c7ce2d 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp @@ -675,6 +675,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal( @@ -148,107 +148,25 @@ index 744609f27b..224dae3820 100644 bool AudioPolicyManager::isDeviceOfModule( const sp& devDesc, const char *moduleId) const { sp module = mHwModules.getModuleFromName(moduleId); -@@ -4520,76 +4584,95 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch * +@@ -4541,6 +4605,7 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch * // in config XML to reach the sink so that is can be declared as available. audio_io_handle_t output = AUDIO_IO_HANDLE_NONE; - sp outputDesc = nullptr; -- if (!sourceDesc->isInternal()) { -- // take care of dynamic routing for SwOutput selection, -- audio_attributes_t attributes = sourceDesc->attributes(); -- audio_stream_type_t stream = sourceDesc->stream(); -- audio_attributes_t resultAttr; -- audio_config_t config = AUDIO_CONFIG_INITIALIZER; -- config.sample_rate = sourceDesc->config().sample_rate; -- config.channel_mask = sourceDesc->config().channel_mask; -- config.format = sourceDesc->config().format; -- audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE; -- audio_port_handle_t selectedDeviceId = AUDIO_PORT_HANDLE_NONE; -- bool isRequestedDeviceForExclusiveUse = false; -- output_type_t outputType; -- bool isSpatialized; -- getOutputForAttrInt(&resultAttr, &output, AUDIO_SESSION_NONE, &attributes, -- &stream, sourceDesc->uid(), &config, &flags, -- &selectedDeviceId, &isRequestedDeviceForExclusiveUse, -- nullptr, &outputType, &isSpatialized); -- if (output == AUDIO_IO_HANDLE_NONE) { -- ALOGV("%s no output for device %s", -- __FUNCTION__, sinkDevice->toString().c_str()); -- return INVALID_OPERATION; -- } -- outputDesc = mOutputs.valueFor(output); -- if (outputDesc->isDuplicated()) { -- ALOGE("%s output is duplicated", __func__); -- return INVALID_OPERATION; -- } -- sourceDesc->setSwOutput(outputDesc); -- } else { -- // Same for "raw patches" aka created from createAudioPatch API -- SortedVector outputs = -+ if (sourceDesc != nullptr) { -+ if (!sourceDesc->isInternal()) { -+ // take care of dynamic routing for SwOutput selection, -+ audio_attributes_t attributes = sourceDesc->attributes(); -+ audio_stream_type_t stream = sourceDesc->stream(); -+ audio_attributes_t resultAttr; -+ audio_config_t config = AUDIO_CONFIG_INITIALIZER; -+ config.sample_rate = sourceDesc->config().sample_rate; -+ config.channel_mask = sourceDesc->config().channel_mask; -+ config.format = sourceDesc->config().format; -+ audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE; -+ audio_port_handle_t selectedDeviceId = AUDIO_PORT_HANDLE_NONE; -+ bool isRequestedDeviceForExclusiveUse = false; -+ output_type_t outputType; -+ bool isSpatialized; -+ getOutputForAttrInt(&resultAttr, &output, AUDIO_SESSION_NONE, &attributes, -+ &stream, sourceDesc->uid(), &config, &flags, -+ &selectedDeviceId, &isRequestedDeviceForExclusiveUse, -+ nullptr, &outputType, &isSpatialized); -+ if (output == AUDIO_IO_HANDLE_NONE) { -+ ALOGV("%s no output for device %s", -+ __FUNCTION__, sinkDevice->toString().c_str()); -+ return INVALID_OPERATION; -+ } -+ outputDesc = mOutputs.valueFor(output); -+ if (outputDesc->isDuplicated()) { -+ ALOGE("%s output is duplicated", __func__); -+ return INVALID_OPERATION; -+ } -+ sourceDesc->setSwOutput(outputDesc); -+ } else { -+ // Same for "raw patches" aka created from createAudioPatch API -+ SortedVector outputs = - getOutputsForDevices(DeviceVector(sinkDevice), mOutputs); -- // if the sink device is reachable via an opened output stream, request to -- // go via this output stream by adding a second source to the patch -- // description -- output = selectOutput(outputs); -- if (output == AUDIO_IO_HANDLE_NONE) { -- ALOGE("%s no output available for internal patch sink", __func__); -- return INVALID_OPERATION; -- } -- outputDesc = mOutputs.valueFor(output); -- if (outputDesc->isDuplicated()) { -- ALOGV("%s output for device %s is duplicated", + sp outputDesc; ++ if (sourceDesc != nullptr) { // Ignore indentation, we don't want to cuase huge conflicts... + if (!sourceDesc->isInternal()) { + // take care of dynamic routing for SwOutput selection, + audio_attributes_t attributes = sourceDesc->attributes(); +@@ -4586,33 +4651,51 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch * + outputDesc = mOutputs.valueFor(output); + if (outputDesc->isDuplicated()) { + ALOGV("%s output for device %s is duplicated", - __func__, sinkDevice->toString().c_str()); -- return INVALID_OPERATION; -+ // if the sink device is reachable via an opened output stream, request to -+ // go via this output stream by adding a second source to the patch -+ // description -+ output = selectOutput(outputs); -+ if (output == AUDIO_IO_HANDLE_NONE) { -+ ALOGE("%s no output available for internal patch sink", __func__); -+ return INVALID_OPERATION; -+ } -+ outputDesc = mOutputs.valueFor(output); -+ if (outputDesc->isDuplicated()) { -+ ALOGV("%s output for device %s is duplicated", -+ __func__, sinkDevice->toString().c_str()); -+ return INVALID_OPERATION; -+ } -+ sourceDesc->setSwOutput(outputDesc); ++ __func__, sinkDevice->toString().c_str()); + return INVALID_OPERATION; } -- sourceDesc->setSwOutput(outputDesc); + sourceDesc->setSwOutput(outputDesc, /* closeOutput= */ false); } ++ } // create a software bridge in PatchPanel if: // - source and sink devices are on different HW modules OR // - audio HAL version is < 3.0 @@ -289,16 +207,17 @@ index 744609f27b..224dae3820 100644 audio_port_config srcMixPortConfig = {}; outputDesc->toAudioPortConfig(&srcMixPortConfig, nullptr); // for volume control, we may need a valid stream -- srcMixPortConfig.ext.mix.usecase.stream = !sourceDesc->isInternal() ? -+ srcMixPortConfig.ext.mix.usecase.stream = (sourceDesc != nullptr && !sourceDesc->isInternal()) ? + srcMixPortConfig.ext.mix.usecase.stream = +- (!sourceDesc->isInternal() || isCallTxAudioSource(sourceDesc)) ? ++ ((sourceDesc != nullptr && !sourceDesc->isInternal()) || isCallTxAudioSource(sourceDesc)) ? mEngine->getStreamTypeForAttributes(sourceDesc->attributes()) : AUDIO_STREAM_PATCH; patchBuilder.addSource(srcMixPortConfig); diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h -index db0ee15de8..97fa6f6f81 100644 +index a69e08871b..f8762016db 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.h +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h -@@ -938,6 +938,9 @@ protected: +@@ -944,6 +944,9 @@ protected: SoundTriggerSessionCollection mSoundTriggerSessions; @@ -309,5 +228,5 @@ index db0ee15de8..97fa6f6f81 100644 SourceClientCollection mAudioSources; -- -2.37.2 +2.39.2 diff --git a/frameworks/av/0002-APM-Optionally-force-load-audio-policy-for-system-si.patch b/frameworks/av/0002-APM-Optionally-force-load-audio-policy-for-system-si.patch index a29817c..5c6a2cc 100644 --- a/frameworks/av/0002-APM-Optionally-force-load-audio-policy-for-system-si.patch +++ b/frameworks/av/0002-APM-Optionally-force-load-audio-policy-for-system-si.patch @@ -1,7 +1,7 @@ -From 5def9ad1a26e28d517666e34301dc725c1660e36 Mon Sep 17 00:00:00 2001 +From 5ae18168ff97d9e4eb66fc6dc8e087bd0ead8f31 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 24 Aug 2022 15:42:39 -0400 -Subject: [PATCH 2/5] APM: Optionally force-load audio policy for system-side +Subject: [PATCH 2/4] APM: Optionally force-load audio policy for system-side bt audio HAL Required to support our system-side bt audio implementation, i.e. @@ -57,5 +57,5 @@ index d446e9667b..f5233f2a42 100644 // Global Configuration -- -2.37.2 +2.39.2 diff --git a/frameworks/av/0003-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch b/frameworks/av/0003-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch index 0e6e051..51420ea 100644 --- a/frameworks/av/0003-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch +++ b/frameworks/av/0003-APM-Remove-A2DP-audio-ports-from-the-primary-HAL.patch @@ -1,7 +1,7 @@ -From e31fc6f3f79848e6f7e7b1b4abe82aa26571cf7b Mon Sep 17 00:00:00 2001 +From d11e204968cbf01851042f03fe2a12aabbe84a93 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Thu, 25 Aug 2022 13:30:29 -0400 -Subject: [PATCH 3/5] APM: Remove A2DP audio ports from the primary HAL +Subject: [PATCH 3/4] APM: Remove A2DP audio ports from the primary HAL These ports defined in the primary HAL are intended for A2DP offloading, however they do not work in general on GSIs, and will interfere with @@ -75,5 +75,5 @@ index f5233f2a42..6630d06f6d 100644 RouteTraits::Collection routes; -- -2.37.2 +2.39.2 diff --git a/frameworks/av/0005-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch b/frameworks/av/0004-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch similarity index 84% rename from frameworks/av/0005-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch rename to frameworks/av/0004-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch index acddcfd..3f1e671 100644 --- a/frameworks/av/0005-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch +++ b/frameworks/av/0004-Camera-Avoid-unnecessary-close-of-buffer-acquire-fen.patch @@ -1,7 +1,7 @@ -From d68bf009f5f9065163ae6ece838cdb77784e3595 Mon Sep 17 00:00:00 2001 +From 628ff965d6ade74843a58cab6fe58069ef0ec3ad Mon Sep 17 00:00:00 2001 From: Emilian Peev Date: Fri, 5 Aug 2022 17:28:06 -0700 -Subject: [PATCH 5/5] Camera: Avoid unnecessary close of buffer acquire fence +Subject: [PATCH 4/4] Camera: Avoid unnecessary close of buffer acquire fence fds According to the gralloc lock documentation: @@ -17,10 +17,10 @@ Merged-In: Ieec34b54aaa7f0d773eccb593c3daaa3e41bae0b 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp -index 1e20ee0eb8..f23a2de340 100644 +index 396104c4fd..c725aadb79 100644 --- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp -@@ -327,7 +327,7 @@ status_t Camera3OutputStream::fixUpHidlJpegBlobHeader(ANativeWindowBuffer* anwBu +@@ -331,7 +331,7 @@ status_t Camera3OutputStream::fixUpHidlJpegBlobHeader(ANativeWindowBuffer* anwBu status_t res = gbLocker.lockAsync( GraphicBuffer::USAGE_SW_READ_OFTEN | GraphicBuffer::USAGE_SW_WRITE_RARELY, @@ -29,7 +29,7 @@ index 1e20ee0eb8..f23a2de340 100644 if (res != OK) { ALOGE("%s: Failed to lock the buffer: %s (%d)", __FUNCTION__, strerror(-res), res); return res; -@@ -1298,7 +1298,7 @@ void Camera3OutputStream::dumpImageToDisk(nsecs_t timestamp, +@@ -1327,7 +1327,7 @@ void Camera3OutputStream::dumpImageToDisk(nsecs_t timestamp, void* mapped = nullptr; base::unique_fd fenceFd(dup(fence)); status_t res = graphicBuffer->lockAsync(GraphicBuffer::USAGE_SW_READ_OFTEN, &mapped, @@ -39,5 +39,5 @@ index 1e20ee0eb8..f23a2de340 100644 ALOGE("%s: Failed to lock the buffer: %s (%d)", __FUNCTION__, strerror(-res), res); return; -- -2.37.2 +2.39.2 diff --git a/frameworks/av/0004-camera-Implement-property-to-override-default-camera.patch b/frameworks/av/0004-camera-Implement-property-to-override-default-camera.patch deleted file mode 100644 index eebbc94..0000000 --- a/frameworks/av/0004-camera-Implement-property-to-override-default-camera.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 9d5b1f22e00167bd6f75fde20ace1c1d1e964318 Mon Sep 17 00:00:00 2001 -From: Peter Cai -Date: Wed, 1 Jun 2022 16:56:46 -0400 -Subject: [PATCH 4/5] camera: Implement property to override default camera - -Complement to the frameworks/base patch. - -Change-Id: I002bfa974bafc2cc01365eeea31c7a5dcb5a2028 ---- - .../common/CameraProviderManager.cpp | 22 +++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp -index abaea6639f..59b59f44fb 100644 ---- a/services/camera/libcameraservice/common/CameraProviderManager.cpp -+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -205,6 +206,15 @@ std::vector CameraProviderManager::getCameraDeviceIds() const { - deviceIds.push_back(id); - } - } -+ -+ int32_t altPrimaryCamera = property_get_int32("persist.sys.alt_primary_camera", 0); -+ -+ if (altPrimaryCamera != 0 && deviceIds.size() > (size_t) altPrimaryCamera) { -+ const std::string origPrimary = deviceIds[0]; -+ deviceIds[0] = deviceIds[altPrimaryCamera]; -+ deviceIds[altPrimaryCamera] = origPrimary; -+ } -+ - return deviceIds; - } - -@@ -271,6 +281,18 @@ std::vector CameraProviderManager::getAPI1CompatibleCameraDeviceIds - std::sort(systemDeviceIds.begin(), systemDeviceIds.end(), sortFunc); - deviceIds.insert(deviceIds.end(), publicDeviceIds.begin(), publicDeviceIds.end()); - deviceIds.insert(deviceIds.end(), systemDeviceIds.begin(), systemDeviceIds.end()); -+ -+ // Default camera ID hack should match with android.hardware.camera2.CameraManager.sortCameraIds -+ // Note that the alt primary camera may not be available here due to filterLogicalCameraIdsLocked() -+ // in which case we will just ignore it. -+ int altPrimaryCameraId = base::GetIntProperty("persist.sys.alt_primary_camera", -1); -+ -+ if (altPrimaryCameraId > 0 && altPrimaryCameraId < (int) deviceIds.size()) { -+ std::string origPrimary = deviceIds[0]; -+ deviceIds[0] = deviceIds[altPrimaryCameraId]; -+ deviceIds[altPrimaryCameraId] = origPrimary; -+ } -+ - return deviceIds; - } - --- -2.37.2 - 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 29cb948..8bf3a51 100644 --- a/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch +++ b/frameworks/base/0001-PackageParser-support-glob-matching-for-properties.patch @@ -1,7 +1,7 @@ -From 0f7b66cc9930141f645569f354e901bef5ae384b Mon Sep 17 00:00:00 2001 +From b2a523bde06164be9431c4e5f51d3acd2b459bd5 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 +Subject: [PATCH 1/4] PackageParser: support glob matching for properties Needed to make phh's vendor overlays work --- @@ -9,10 +9,10 @@ Needed to make phh's vendor overlays work 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java -index 44dc28d2b0fa..27c0795d47d2 100644 +index c15b3e0b80c3..05bb843c0c4d 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java -@@ -2535,8 +2535,16 @@ public class PackageParser { +@@ -2545,8 +2545,16 @@ public class PackageParser { for (int i = 0; i < propNames.length; i++) { // Check property value: make sure it is both set and equal to expected value final String currValue = SystemProperties.get(propNames[i]); @@ -32,5 +32,5 @@ index 44dc28d2b0fa..27c0795d47d2 100644 } return true; -- -2.37.2 +2.39.2 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 index 86e179c..0dfdec8 100644 --- 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 @@ -1,7 +1,7 @@ -From 381aa92ab038fc6c0157c5b9396218e80ed3ae65 Mon Sep 17 00:00:00 2001 +From d5d5ffd0bdf5be719f18b972706948aa87135934 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 +Subject: [PATCH 2/4] fw/b: Use ro.build.version.incremental to signal OTA upgrades [PeterCxy]: On T, there is a new class PackagePartitions that is @@ -104,10 +104,10 @@ index ff80e614be58..8bf0d5ffff76 100644 } diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java -index f2bcf5e461a7..0e66d1a7a7ef 100644 +index 0b20683185f0..fdc2b4c11fd1 100644 --- a/services/core/java/com/android/server/pm/ShortcutService.java +++ b/services/core/java/com/android/server/pm/ShortcutService.java -@@ -5136,7 +5136,7 @@ public class ShortcutService extends IShortcutService.Stub { +@@ -5139,7 +5139,7 @@ public class ShortcutService extends IShortcutService.Stub { // Injection point. String injectBuildFingerprint() { @@ -117,5 +117,5 @@ index f2bcf5e461a7..0e66d1a7a7ef 100644 final void wtf(String message) { -- -2.37.2 +2.39.2 diff --git a/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch b/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch index 79419fe..5268345 100644 --- a/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch +++ b/frameworks/base/0003-Add-support-for-app-signature-spoofing.patch @@ -1,7 +1,7 @@ -From effc76211ce9b665c4f9418d86d2b1a8aa67d42b Mon Sep 17 00:00:00 2001 +From 61fc857a22f3e11f2d8095041ee7b006106064f0 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 3/4] 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 @@ -38,7 +38,7 @@ Change-Id: Ied7d6ce0b83a2d2345c3abba0429998d86494a88 4 files changed, 56 insertions(+), 3 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt -index c8a43db2f9c2..277183036c60 100644 +index 487e57d114c9..04e69741b9fd 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -87,6 +87,7 @@ package android { @@ -58,10 +58,10 @@ index c8a43db2f9c2..277183036c60 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 7439b2f0921f..eadcac3af765 100644 +index 6a80d1cb62a7..189c5c223cd0 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml -@@ -3534,6 +3534,21 @@ +@@ -3564,6 +3564,21 @@ android:description="@string/permdesc_getPackageSize" android:protectionLevel="normal" /> @@ -84,10 +84,10 @@ index 7439b2f0921f..eadcac3af765 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 e5d90f00f327..7ac26e536f2a 100644 +index 9410e0682106..7ed7a03f1b61 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml -@@ -974,6 +974,18 @@ +@@ -977,6 +977,18 @@ @@ -107,10 +107,10 @@ index e5d90f00f327..7ac26e536f2a 100644 disable or modify status bar diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java -index 259ca655d2b9..674b22e28a83 100644 +index 46b7460dff1b..40549962436f 100644 --- a/services/core/java/com/android/server/pm/ComputerEngine.java +++ b/services/core/java/com/android/server/pm/ComputerEngine.java -@@ -1591,6 +1591,29 @@ public class ComputerEngine implements Computer { +@@ -1603,6 +1603,29 @@ public class ComputerEngine implements Computer { return result; } @@ -140,7 +140,7 @@ index 259ca655d2b9..674b22e28a83 100644 public final PackageInfo generatePackageInfo(PackageStateInternal ps, @PackageManager.PackageInfoFlagsBits long flags, int userId) { if (!mUserManager.exists(userId)) return null; -@@ -1620,13 +1643,14 @@ public class ComputerEngine implements Computer { +@@ -1632,13 +1655,14 @@ public class ComputerEngine implements Computer { final int[] gids = (flags & PackageManager.GET_GIDS) == 0 ? EMPTY_INT_ARRAY : mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.getAppId())); // Compute granted permissions only if package has requested permissions @@ -159,5 +159,5 @@ index 259ca655d2b9..674b22e28a83 100644 if (packageInfo == null) { return null; -- -2.37.2 +2.39.2 diff --git a/frameworks/base/0005-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch b/frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch similarity index 92% rename from frameworks/base/0005-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch rename to frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch index 75bbe62..5ec5f16 100644 --- a/frameworks/base/0005-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch +++ b/frameworks/base/0004-FrameworkParsingPackageUtils-Add-glob-matching-suppo.patch @@ -1,7 +1,7 @@ -From f95505e81e0c4064eb5c78a62ed6257530734b37 Mon Sep 17 00:00:00 2001 +From 7cd264509a929835a1770e931e3ec8001da7aecb Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 2 Sep 2022 21:36:06 -0400 -Subject: [PATCH 5/5] FrameworkParsingPackageUtils: Add glob matching support +Subject: [PATCH 4/4] 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.37.2 +2.39.2 diff --git a/frameworks/base/0004-Implement-a-persistent-property-to-override-the-defa.patch b/frameworks/base/0004-Implement-a-persistent-property-to-override-the-defa.patch deleted file mode 100644 index 43250cd..0000000 --- a/frameworks/base/0004-Implement-a-persistent-property-to-override-the-defa.patch +++ /dev/null @@ -1,59 +0,0 @@ -From bd9fc170c2125e142f19805cceaaabe354ba6da8 Mon Sep 17 00:00:00 2001 -From: Peter Cai -Date: Wed, 1 Jun 2022 16:56:20 -0400 -Subject: [PATCH 4/5] Implement a persistent property to override the default - primary camera (0) - -Change-Id: I49b45d00bf71d7932591b3516d49a680e1b6568b ---- - core/java/android/hardware/Camera.java | 6 ++++++ - core/java/android/hardware/camera2/CameraManager.java | 9 +++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java -index 3bdd39f5d7d7..fff46f20342b 100644 ---- a/core/java/android/hardware/Camera.java -+++ b/core/java/android/hardware/Camera.java -@@ -45,6 +45,7 @@ import android.os.Message; - import android.os.Process; - import android.os.RemoteException; - import android.os.ServiceManager; -+import android.os.SystemProperties; - import android.renderscript.Allocation; - import android.renderscript.Element; - import android.renderscript.RSIllegalArgumentException; -@@ -408,6 +409,11 @@ public class Camera { - * @see #open(int) - */ - public static Camera open() { -+ int altPrimaryCamera = SystemProperties.getInt("persist.sys.alt_primary_camera", -1); -+ if (altPrimaryCamera > 0) { -+ return new Camera(altPrimaryCamera); -+ } -+ - int numberOfCameras = getNumberOfCameras(); - CameraInfo cameraInfo = new CameraInfo(); - for (int i = 0; i < numberOfCameras; i++) { -diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java -index d6d3a97687b5..c86c909a4109 100644 ---- a/core/java/android/hardware/camera2/CameraManager.java -+++ b/core/java/android/hardware/camera2/CameraManager.java -@@ -1723,6 +1723,15 @@ public final class CameraManager { - } - }}); - -+ // HAXX: Allow overriding default primary camera (assumed to be camera 0) via property -+ // Should match with libcameraservice/common/CameraProviderManager.cpp -+ int altPrimaryCamera = SystemProperties.getInt("persist.sys.alt_primary_camera", -1); -+ if (altPrimaryCamera > 0 && altPrimaryCamera < cameraIds.length) { -+ String origPrimary = cameraIds[0]; -+ cameraIds[0] = cameraIds[altPrimaryCamera]; -+ cameraIds[altPrimaryCamera] = origPrimary; -+ } -+ - } - - public static boolean cameraStatusesContains(CameraStatus[] cameraStatuses, String id) { --- -2.37.2 - diff --git a/frameworks/opt/telephony/0001-SubscriptionController-Do-not-override-default-calli.patch b/frameworks/opt/telephony/0001-SubscriptionController-Do-not-override-default-calli.patch index 79c19ec..d7f28f3 100644 --- a/frameworks/opt/telephony/0001-SubscriptionController-Do-not-override-default-calli.patch +++ b/frameworks/opt/telephony/0001-SubscriptionController-Do-not-override-default-calli.patch @@ -1,4 +1,4 @@ -From 2de099f8a86c02bc74b28beb7fbf8ccc71b17922 Mon Sep 17 00:00:00 2001 +From 9990507a53c8bc7ac154f78ed260fea6be30f252 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Mon, 5 Sep 2022 14:02:37 -0400 Subject: [PATCH] SubscriptionController: Do not override default calling @@ -14,29 +14,32 @@ to keep re-selecting the desired calling account after every reboot. Test: manual Change-Id: Iccab64e9b3b3ab4773bd8944d47c2006f229d472 --- - .../internal/telephony/SubscriptionController.java | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) + .../internal/telephony/SubscriptionController.java | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/java/com/android/internal/telephony/SubscriptionController.java b/src/java/com/android/internal/telephony/SubscriptionController.java -index 7e762d7af0..f2bff8b15f 100644 +index 82799bea8b..5105d3a183 100644 --- a/src/java/com/android/internal/telephony/SubscriptionController.java +++ b/src/java/com/android/internal/telephony/SubscriptionController.java -@@ -2846,7 +2846,14 @@ public class SubscriptionController extends ISub.Stub { - PhoneAccountHandle currentHandle = telecomManager.getUserSelectedOutgoingPhoneAccount(); - logd("[setDefaultVoiceSubId] current phoneAccountHandle=" + currentHandle); +@@ -2855,8 +2855,17 @@ public class SubscriptionController extends ISub.Stub { + subId); -- if (!Objects.equals(currentHandle, newHandle)) { + TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class); ++ PhoneAccountHandle currentHandle = telecomManager.getUserSelectedOutgoingPhoneAccount(); + String currentPackageName = + currentHandle == null ? null : currentHandle.getComponentName().getPackageName(); + boolean currentIsSim = "com.android.phone".equals(currentPackageName); + // Do not override user selected outgoing calling account + // if the user has selected a third-party app as default + boolean shouldKeepOutgoingAccount = currentHandle != null && !currentIsSim; -+ -+ if (!Objects.equals(currentHandle, newHandle) && !shouldKeepOutgoingAccount) { - telecomManager.setUserSelectedOutgoingPhoneAccount(newHandle); - logd("[setDefaultVoiceSubId] change to phoneAccountHandle=" + newHandle); - } else { + +- telecomManager.setUserSelectedOutgoingPhoneAccount(newHandle); ++ if (!shouldKeepOutgoingAccount) { ++ telecomManager.setUserSelectedOutgoingPhoneAccount(newHandle); ++ } + logd("[setDefaultVoiceSubId] requesting change to phoneAccountHandle=" + newHandle); + + if (previousDefaultSub != getDefaultSubId()) { -- -2.37.2 +2.39.2 diff --git a/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch b/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch index 74b59c3..6318530 100644 --- a/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch +++ b/packages/apps/Launcher3/0001-Disable-QSB-in-BuildConfig.patch @@ -1,7 +1,7 @@ -From f11b5953c3d3a4e69fcf91eb5642d5e7e37fe398 Mon Sep 17 00:00:00 2001 +From 4cc2be49efa697ff1d581b272f53b41348684e09 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Wed, 17 Aug 2022 22:02:33 -0400 -Subject: [PATCH 1/5] Disable QSB in BuildConfig +Subject: [PATCH 1/4] Disable QSB in BuildConfig Change-Id: I3150ef1d9b8c161ed2a6569d1ae75bba0060b36f --- @@ -20,5 +20,5 @@ index 9a81d3f54c..8c83bcc372 100644 + public static final boolean QSB_ON_FIRST_SCREEN = false; } -- -2.37.2 +2.39.2 diff --git a/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch b/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch index 5ae8405..294e122 100644 --- a/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch +++ b/packages/apps/Launcher3/0002-Expose-themed-icon-setting-in-ThemePicker.patch @@ -1,7 +1,7 @@ -From 8d396831eabfaa0859313db9598a5641f51493e6 Mon Sep 17 00:00:00 2001 +From ae423b97721ce943c74a9e2a8a94d6160c56da4b Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Mon, 11 Oct 2021 20:48:44 -0700 -Subject: [PATCH 2/5] Expose themed icon setting in ThemePicker +Subject: [PATCH 2/4] Expose themed icon setting in ThemePicker Change-Id: I44e9288c3de13a3604b7a03857ec400753317d9a --- @@ -38,5 +38,5 @@ index 7d7054f5a5..d2955c4327 100644 -- -2.37.2 +2.39.2 diff --git a/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch b/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch index 8ec1272..34ad357 100644 --- a/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch +++ b/packages/apps/Launcher3/0003-Properly-expose-GridCustomizationsProvider.patch @@ -1,7 +1,7 @@ -From c304a46115f8244f55f38b85ca68613905c6c015 Mon Sep 17 00:00:00 2001 +From 47d4a143786047a8ed00b00c046b996091f90191 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Fri, 1 Nov 2019 23:17:59 +0100 -Subject: [PATCH 3/5] Properly expose GridCustomizationsProvider +Subject: [PATCH 3/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 02b83fe889..00e7fc35ad 100644 +index 951be4e54e..49007bd00d 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml -@@ -135,7 +135,9 @@ +@@ -136,7 +136,9 @@ Date: Wed, 6 Oct 2021 22:45:33 -0700 -Subject: [PATCH 4/5] Fix all apps header color in dark mode +Subject: [PATCH 4/4] Fix all apps header color in dark mode Change-Id: Ib2ce7f6e3c9b87a4626699cb54673d88392a5f41 --- @@ -9,17 +9,17 @@ Change-Id: Ib2ce7f6e3c9b87a4626699cb54673d88392a5f41 1 file changed, 1 insertion(+) diff --git a/res/values/styles.xml b/res/values/styles.xml -index 21095109a6..63f46e413d 100644 +index 7582a30435..454db61d90 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml -@@ -99,6 +99,7 @@ +@@ -95,6 +95,7 @@ #19FFFFFF #FF212121 ?android:attr/colorBackgroundFloating + @color/popup_color_tertiary_dark #80000000 - @style/AllAppsTheme.Dark @color/popup_color_primary_dark + @color/popup_color_secondary_dark -- -2.37.2 +2.39.2 diff --git a/packages/apps/Launcher3/0005-Fix-Personal-Work-profile-tab-colors-in-All-Apps.patch b/packages/apps/Launcher3/0005-Fix-Personal-Work-profile-tab-colors-in-All-Apps.patch deleted file mode 100644 index 8181458..0000000 --- a/packages/apps/Launcher3/0005-Fix-Personal-Work-profile-tab-colors-in-All-Apps.patch +++ /dev/null @@ -1,73 +0,0 @@ -From dbb30694c2cce4a5fb70ea6a8c5594bcca7cba4d Mon Sep 17 00:00:00 2001 -From: Danny Lin -Date: Sun, 10 Oct 2021 03:38:23 -0700 -Subject: [PATCH 5/5] Fix Personal/Work profile tab colors in All Apps - -The default AOSP colors are broken and result in poor contrast, among -other issues. - -Change-Id: Id7824bc08cac0aad055f41c0b617e15300af05d4 ---- - res/color-night-v31/all_apps_tab_text.xml | 6 +++--- - .../all_apps_tabs_background.xml | 18 ++++++++++++++++++ - res/color-v31/all_apps_tab_text.xml | 6 +++--- - 3 files changed, 24 insertions(+), 6 deletions(-) - create mode 100644 res/color-night-v31/all_apps_tabs_background.xml - -diff --git a/res/color-night-v31/all_apps_tab_text.xml b/res/color-night-v31/all_apps_tab_text.xml -index 83237b49e5..eaac621cfc 100644 ---- a/res/color-night-v31/all_apps_tab_text.xml -+++ b/res/color-night-v31/all_apps_tab_text.xml -@@ -14,6 +14,6 @@ - limitations under the License. - --> - -- -- -- -\ No newline at end of file -+ -+ -+ -diff --git a/res/color-night-v31/all_apps_tabs_background.xml b/res/color-night-v31/all_apps_tabs_background.xml -new file mode 100644 -index 0000000000..fc8a4d7d79 ---- /dev/null -+++ b/res/color-night-v31/all_apps_tabs_background.xml -@@ -0,0 +1,18 @@ -+ -+ -+ -+ -+ -diff --git a/res/color-v31/all_apps_tab_text.xml b/res/color-v31/all_apps_tab_text.xml -index c3520a7ab5..d133a31a2d 100644 ---- a/res/color-v31/all_apps_tab_text.xml -+++ b/res/color-v31/all_apps_tab_text.xml -@@ -14,6 +14,6 @@ - limitations under the License. - --> - -- -- -- -\ No newline at end of file -+ -+ -+ --- -2.37.2 - diff --git a/packages/apps/ThemePicker/0001-Add-wallpaper-privapp-whitelist.patch b/packages/apps/ThemePicker/0001-Add-wallpaper-privapp-whitelist.patch index 3d44d83..184ac19 100644 --- a/packages/apps/ThemePicker/0001-Add-wallpaper-privapp-whitelist.patch +++ b/packages/apps/ThemePicker/0001-Add-wallpaper-privapp-whitelist.patch @@ -1,7 +1,7 @@ -From d043802a9e21a05b3fda0d2c3c41a69e513248e0 Mon Sep 17 00:00:00 2001 +From ab8f40929c16e56034811ab5de87a6d658ce70b5 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Fri, 1 Nov 2019 21:14:29 +0100 -Subject: [PATCH 1/6] Add wallpaper privapp whitelist +Subject: [PATCH 1/5] Add wallpaper privapp whitelist Change-Id: I044b1d9201ac0b8780fc37a387f401f3dd0ddeac --- @@ -11,10 +11,10 @@ Change-Id: I044b1d9201ac0b8780fc37a387f401f3dd0ddeac create mode 100644 privapp_whitelist_com.android.wallpaper.xml diff --git a/Android.bp b/Android.bp -index c85fd2b..5c1f487 100644 +index 6d9ff8f6..ff9413ac 100644 --- a/Android.bp +++ b/Android.bp -@@ -104,5 +104,15 @@ android_app { +@@ -117,5 +117,15 @@ android_app { platform_apis: true, manifest: "AndroidManifest.xml", additional_manifests: [":WallpaperPicker2_Manifest"], @@ -32,7 +32,7 @@ index c85fd2b..5c1f487 100644 +} diff --git a/privapp_whitelist_com.android.wallpaper.xml b/privapp_whitelist_com.android.wallpaper.xml new file mode 100644 -index 0000000..e3f3b65 +index 00000000..e3f3b658 --- /dev/null +++ b/privapp_whitelist_com.android.wallpaper.xml @@ -0,0 +1,24 @@ @@ -61,5 +61,5 @@ index 0000000..e3f3b65 + + -- -2.37.2 +2.39.2 diff --git a/packages/apps/ThemePicker/0002-Override-legacy-WallpaperPicker-app.patch b/packages/apps/ThemePicker/0002-Override-legacy-WallpaperPicker-app.patch index c5debb0..2d17fff 100644 --- a/packages/apps/ThemePicker/0002-Override-legacy-WallpaperPicker-app.patch +++ b/packages/apps/ThemePicker/0002-Override-legacy-WallpaperPicker-app.patch @@ -1,7 +1,7 @@ -From 5a3e22296f8de9fa21140cf28f622875928ba8ca Mon Sep 17 00:00:00 2001 +From 4b8b458becc81bdf4171e40660c5e4b1073985fc Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Tue, 5 Oct 2021 19:00:36 -0700 -Subject: [PATCH 2/6] Override legacy WallpaperPicker app +Subject: [PATCH 2/5] Override legacy WallpaperPicker app Change-Id: I9a1907527eea0e8e7cd10bab64ba79c2c4006c59 --- @@ -9,10 +9,10 @@ Change-Id: I9a1907527eea0e8e7cd10bab64ba79c2c4006c59 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Android.bp b/Android.bp -index 5c1f487..ce850c5 100644 +index ff9413ac..dee08f45 100644 --- a/Android.bp +++ b/Android.bp -@@ -106,7 +106,7 @@ android_app { +@@ -119,7 +119,7 @@ android_app { additional_manifests: [":WallpaperPicker2_Manifest"], required: ["privapp_whitelist_com.android.wallpaper.xml"], @@ -22,5 +22,5 @@ index 5c1f487..ce850c5 100644 prebuilt_etc_xml { -- -2.37.2 +2.39.2 diff --git a/packages/apps/ThemePicker/0003-Add-wallpaper-default-permissions.patch b/packages/apps/ThemePicker/0003-Add-wallpaper-default-permissions.patch index 4d6e336..dda6409 100644 --- a/packages/apps/ThemePicker/0003-Add-wallpaper-default-permissions.patch +++ b/packages/apps/ThemePicker/0003-Add-wallpaper-default-permissions.patch @@ -1,7 +1,7 @@ -From 75de47c866b31a8930bc7e58954928712dbcbe60 Mon Sep 17 00:00:00 2001 +From 9ebd057db4adf880c69de6d3558bfbe6948d60ca Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Tue, 15 Sep 2020 03:27:19 +0200 -Subject: [PATCH 3/6] Add wallpaper default permissions +Subject: [PATCH 3/5] Add wallpaper default permissions Change-Id: If43a594da31fbab9280ce45b049737f6c534b620 --- @@ -11,10 +11,10 @@ Change-Id: If43a594da31fbab9280ce45b049737f6c534b620 create mode 100644 default_permissions_com.android.wallpaper.xml diff --git a/Android.bp b/Android.bp -index ce850c5..8ad98d2 100644 +index dee08f45..74479801 100644 --- a/Android.bp +++ b/Android.bp -@@ -105,7 +105,11 @@ android_app { +@@ -118,7 +118,11 @@ android_app { manifest: "AndroidManifest.xml", additional_manifests: [":WallpaperPicker2_Manifest"], @@ -27,7 +27,7 @@ index ce850c5..8ad98d2 100644 overrides: ["WallpaperPicker2", "WallpaperPicker"], } -@@ -116,3 +120,11 @@ prebuilt_etc_xml { +@@ -129,3 +133,11 @@ prebuilt_etc_xml { filename_from_src: true, sub_dir: "permissions", } @@ -41,7 +41,7 @@ index ce850c5..8ad98d2 100644 +} diff --git a/default_permissions_com.android.wallpaper.xml b/default_permissions_com.android.wallpaper.xml new file mode 100644 -index 0000000..41b23ce +index 00000000..41b23ce1 --- /dev/null +++ b/default_permissions_com.android.wallpaper.xml @@ -0,0 +1,37 @@ @@ -83,5 +83,5 @@ index 0000000..41b23ce + + -- -2.37.2 +2.39.2 diff --git a/packages/apps/ThemePicker/0004-Specify-we-read-and-write-launcher-settings.patch b/packages/apps/ThemePicker/0004-Specify-we-read-and-write-launcher-settings.patch index 8f359c6..2b17626 100644 --- a/packages/apps/ThemePicker/0004-Specify-we-read-and-write-launcher-settings.patch +++ b/packages/apps/ThemePicker/0004-Specify-we-read-and-write-launcher-settings.patch @@ -1,7 +1,7 @@ -From 0d59123442f547d1d3cbd5e4200d6f2ec6d4bed0 Mon Sep 17 00:00:00 2001 +From 1814b701dfef99ecc9246620c33740ef466c9e71 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Fri, 1 Nov 2019 23:17:08 +0100 -Subject: [PATCH 4/6] Specify we read and write launcher settings +Subject: [PATCH 4/5] Specify we read and write launcher settings Change-Id: Ifc8196588443b007602118389ca76d34ab531f14 --- @@ -9,10 +9,10 @@ Change-Id: Ifc8196588443b007602118389ca76d34ab531f14 1 file changed, 3 insertions(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml -index ff8f187..cace7db 100755 +index 4e71bcc6..26f4fce0 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml -@@ -37,6 +37,9 @@ +@@ -45,6 +45,9 @@ @@ -23,5 +23,5 @@ index ff8f187..cace7db 100755 tools:replace="android:icon,android:name" android:extractNativeLibs="false" -- -2.37.2 +2.39.2 diff --git a/packages/apps/ThemePicker/0005-Add-permission-for-launcher-preview-rendering.patch b/packages/apps/ThemePicker/0005-Add-permission-for-launcher-preview-rendering.patch new file mode 100644 index 0000000..691452c --- /dev/null +++ b/packages/apps/ThemePicker/0005-Add-permission-for-launcher-preview-rendering.patch @@ -0,0 +1,37 @@ +From 8ebb9654981aea1a79a4145eda7c55d2f5a02d1c Mon Sep 17 00:00:00 2001 +From: Danny Lin +Date: Tue, 5 Oct 2021 22:40:58 -0700 +Subject: [PATCH 5/5] Add permission for launcher preview rendering + +Change-Id: Ie707dcd98161e8f5993b0504295fddc3f395cd20 +--- + AndroidManifest.xml | 1 + + privapp_whitelist_com.android.wallpaper.xml | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/AndroidManifest.xml b/AndroidManifest.xml +index 26f4fce0..40281cf9 100755 +--- a/AndroidManifest.xml ++++ b/AndroidManifest.xml +@@ -8,6 +8,7 @@ + + + ++ + + + +diff --git a/privapp_whitelist_com.android.wallpaper.xml b/privapp_whitelist_com.android.wallpaper.xml +index e3f3b658..47133be8 100644 +--- a/privapp_whitelist_com.android.wallpaper.xml ++++ b/privapp_whitelist_com.android.wallpaper.xml +@@ -20,5 +20,6 @@ + + + ++ + + +-- +2.39.2 +