10 Commits
udc ... vic

Author SHA1 Message Date
Fabian Leutenegger
469eaee364 miuicamera-marble: Add more modern camera icon overlay
Change-Id: I25c5d8d8a842f32f78c8760c655ca31aacb8b876
2025-04-28 14:44:44 +09:00
Arian
027e8a9120 miuicamera-marble: Update patches for older apktool version which doesn't add newlines to resources
Change-Id: I531cd9dfe6d9c0db91588d8b8b4d2016c9dc8305
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-04-28 07:24:11 +07:00
Arian
5da9b72771 miuicamera-marble: Update patches and blobs to OS2.0.3.0.VMRMIXM
Change-Id: I3891f6701237128b0db118f4e276d2ccaeb4b67c
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-04-28 07:23:35 +07:00
Fiqri Ardyansyah
358cfe404e miuicamera-marble: Update from V816.0.17.0.UMRMIXM
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-03-28 22:09:12 +07:00
Fiqri Ardyansyah
37c5ea4759 Import missing blobs for processing noise reduction in low light environments
These two blobs were dropped in the main device tree by reason of the
elf32-little file being placed in vendor/lib64/camera. It's not a
problem seeing that the main device tree doesn't use the MIUI camera
app as the main camera app, but we have to restore these two blobs and
put them into vendor/lib/rfsa/adsp because the MIUI camera needs them
to process noise reduction in low light environments in other words if
these two blobs are absent so there is a lot of noise when processing
images in low light environments. So let's bring these two blobs back
and place them where they belong.

Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-03-28 22:03:28 +07:00
Arian
a6a321d791 Include patch to change shortcut icons
Change-Id: I4532a254401325485c9520fd169089820fbbb1d8
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-01-19 11:14:50 +07:00
Fiqri Ardyansyah
54fa5d3d3b miuicamera-marble: Allow to overrides some default camera apps
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-01-10 06:23:29 +07:00
Fiqri Ardyansyah
3842c4334c cupid => marble
Signed-off-by: Fiqri Ardyansyah <fiqri191002@gmail.com>
2025-01-10 06:23:20 +07:00
Arian
b6cfb8ba99 miuicamera-cupid: Patch algo jni lib to use correct Surface::connect method
In android 15 QPR1, google has removed a public method of the Surface class.
Our jni lib used that method and relies on the offset remaining the same, so
patch the lib to load it with the smaller offset.
6a5fdc1d5f

Change-Id: I97e7ca9f24adad3ede69b599f8d44fdc96646048
2025-01-09 18:29:57 +01:00
Arian
8cff84dbae miuicamera-cupid: Move to python extract-utils
Change-Id: I77cbcd41dc08ac111f83e619c49e2e330412b84c
2025-01-07 17:06:03 +01:00
22 changed files with 822 additions and 350 deletions

View File

@@ -7,6 +7,10 @@
# Inherit from the proprietary version
$(call inherit-product, vendor/xiaomi/miuicamera-marble/miuicamera-marble-vendor.mk)
# Overlays
PRODUCT_PACKAGES += \
MiuiCameraOverlay
# Public libraries
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/public.libraries-xiaomi.txt:$(TARGET_COPY_OUT_SYSTEM)/etc/public.libraries-xiaomi.txt

56
extract-files.py Executable file
View File

@@ -0,0 +1,56 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
'device/xiaomi/miuicamera-marble',
]
def lib_fixup_system_suffix(lib: str, partition: str, *args, **kwargs):
return f'{lib}_{partition}' if partition == 'system' else None
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
'vendor.xiaomi.hardware.campostproc@1.0': lib_fixup_system_suffix,
}
blob_fixups: blob_fixups_user_type = {
'system/lib64/libcamera_algoup_jni.xiaomi.so': blob_fixup()
.add_needed('libgui_shim_miuicamera.so')
.sig_replace('08 AD 40 F9', '08 A9 40 F9'),
'system/lib64/libcamera_mianode_jni.xiaomi.so': blob_fixup()
.add_needed('libgui_shim_miuicamera.so'),
'system/lib64/libmicampostproc_client.so': blob_fixup()
.remove_needed('libhidltransport.so'),
'system/priv-app/MiuiCamera/MiuiCamera.apk': blob_fixup()
.apktool_patch('patches'),
} # fmt: skip
module = ExtractUtilsModule(
'miuicamera-marble',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

View File

@@ -1,75 +0,0 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=miuicamera-marble
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true
KANG=
SECTION=
while [ "${#}" -gt 0 ]; do
case "${1}" in
-n | --no-cleanup )
CLEAN_VENDOR=false
;;
-k | --kang )
KANG="--kang"
;;
-s | --section )
SECTION="${2}"; shift
CLEAN_VENDOR=false
;;
* )
SRC="${1}"
;;
esac
shift
done
if [ -z "${SRC}" ]; then
SRC="adb"
fi
function blob_fixup() {
case "${1}" in
system/lib64/libcamera_algoup_jni.xiaomi.so|system/lib64/libcamera_mianode_jni.xiaomi.so)
"${PATCHELF}" --add-needed "libgui_shim_miuicamera.so" "${2}"
;;
system/lib64/libmicampostproc_client.so)
"${PATCHELF}" --remove-needed "libhidltransport.so" "${2}"
;;
system/priv-app/MiuiCamera/MiuiCamera.apk)
apktool_patch "${2}" "$MY_DIR/patches"
;;
esac
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
"${MY_DIR}/setup-makefiles.sh"

View File

@@ -0,0 +1,10 @@
//
// Copyright (C) 2023 Paranoid Android
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "MiuiCameraOverlay",
product_specific: true,
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="co.aospa.camera.overlay">
<overlay
android:isStatic="true"
android:priority="800"
android:targetPackage="com.android.camera" />
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -1,80 +1,72 @@
From 9eda50fdc94da67e223c0406040155567a411daf Mon Sep 17 00:00:00 2001
From 965fc465edde36cb894a1c6fe10bd658adcb44d7 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Mon, 13 Mar 2023 15:46:13 +0100
Subject: [PATCH 1/8] ICustomCaptureResult: Add readout timestamp
Subject: [PATCH 01/10] ICustomCaptureResult: Add readout timestamp
commit [1] added two arguments to the CaptureResultExtras constructor.
Patch MiuiCamera to provide these arguments
https://github.com/LineageOS/android_frameworks_base/commit/91e7522cb28d2b1e2e12adc8726db8190d711f2e
---
.../protocol/ICustomCaptureResult.smali | 32 +++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
.../protocol/ICustomCaptureResult.smali | 24 +++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/smali_classes4/com/xiaomi/protocol/ICustomCaptureResult.smali b/smali_classes4/com/xiaomi/protocol/ICustomCaptureResult.smali
index 6406b1edd..14a9c706d 100644
index ee18158d8..fb279525d 100644
--- a/smali_classes4/com/xiaomi/protocol/ICustomCaptureResult.smali
+++ b/smali_classes4/com/xiaomi/protocol/ICustomCaptureResult.smali
@@ -412,7 +412,7 @@
@@ -388,7 +388,7 @@
.end method
.method public static toTotalCaptureResult(Lcom/xiaomi/protocol/ICustomCaptureResult;IZ)Landroid/hardware/camera2/TotalCaptureResult;
- .locals 23
+ .locals 27
- .locals 22
+ .locals 24
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
@@ -509,7 +509,7 @@
@@ -486,7 +486,7 @@
if-lt v1, v8, :cond_0
if-lt v0, v6, :cond_0
- const/16 v1, 0xb
+ const/16 v1, 0xd
- const/16 v0, 0xb
+ const/16 v0, 0xd
:try_start_1
new-array v8, v1, [Ljava/lang/Class;
@@ -547,6 +547,18 @@
new-array v6, v0, [Ljava/lang/Class;
@@ -522,6 +522,16 @@
aput-object v20, v8, v21
aput-object v19, v6, v20
+ sget-object v20, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
+ # hasReadoutTimestamp
+ const/16 v22, 0xb # index in array v6
+ sget-object v19, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
+ aput-object v19, v6, v22
+
+ const/16 v23, 0xb
+ # readoutTimestamp
+ const/16 v23, 0xc # index in array v6
+ sget-object v19, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
+ aput-object v19, v6, v23
+
+ aput-object v20, v8, v23
+
+ sget-object v20, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
+
+ const/16 v24, 0xc
+
+ aput-object v20, v8, v24
+
.line 7
invoke-virtual {v7, v8}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
.line 8
invoke-virtual {v5, v6}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
@@ -624,6 +636,22 @@
@@ -597,6 +607,16 @@
aput-object v19, v1, v21
aput-object v18, v0, v20
+ const/16 v25, 0x0
+
+ invoke-static/range {v25 .. v25}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
+
+ # hasReadoutTimestamp, set to false (reuse v17 with value 0)
+ invoke-static/range {v17 .. v17}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
+ move-result-object v20
+ aput-object v20, v0, v22
+
+ aput-object v20, v1, v23
+
+ const/16 v26, 0x0
+
+ invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ # readoutTimestamp, set to 0
+ invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+ move-result-object v20
+ aput-object v20, v0, v23
+
+ aput-object v20, v1, v24
+
.line 10
invoke-virtual {v8, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
.line 11
invoke-virtual {v6, v0}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
--
2.39.5
2.47.2

View File

@@ -1,7 +1,7 @@
From fe5f37edc6c7d620b0a2e216cbb9d8e655d9df7a Mon Sep 17 00:00:00 2001
From 5639536b1794a1e6b7f61a949e39f34d1b32ef49 Mon Sep 17 00:00:00 2001
From: danielml <daniel@danielml.dev>
Date: Fri, 19 Apr 2024 17:32:08 +0200
Subject: [PATCH 5/8] Assume that mod_device is global
Subject: [PATCH 02/10] Assume that mod_device is global
Otherwise, the app tries to start a custom permissions dialog which
has dependencies on HyperOS Security Center app
@@ -9,22 +9,22 @@ has dependencies on HyperOS Security Center app
Change-Id: I8962a6e409f5aa30f84fccd482fefe78767069c2
Signed-off-by: danielml <daniel@danielml.dev>
---
smali_classes3/d/k/a/c.smali | 2 +-
smali_classes4/id/c.smali | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/smali_classes3/d/k/a/c.smali b/smali_classes3/d/k/a/c.smali
index 8b7ab1ebf..03d2c4733 100644
--- a/smali_classes3/d/k/a/c.smali
+++ b/smali_classes3/d/k/a/c.smali
@@ -595,7 +595,7 @@
diff --git a/smali_classes4/id/c.smali b/smali_classes4/id/c.smali
index 77fe65202..b3fe37366 100644
--- a/smali_classes4/id/c.smali
+++ b/smali_classes4/id/c.smali
@@ -566,7 +566,7 @@
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
- move-result v0
+ const/4 v0, 0x1
sput-boolean v0, Ld/k/a/c;->E:Z
sput-boolean v0, Lid/c;->E:Z
--
2.39.5
2.47.2

View File

@@ -1,66 +0,0 @@
From f73bd633f5081be3e9589a07283d093f018d69e4 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Fri, 8 Mar 2024 02:11:53 +0100
Subject: [PATCH 2/8] Support third party galleries
---
smali/d/d/a/r4.smali | 9 ++-------
.../provider/ParallelProcessProvider.smali | 13 -------------
2 files changed, 2 insertions(+), 20 deletions(-)
diff --git a/smali/d/d/a/r4.smali b/smali/d/d/a/r4.smali
index 07a6b9ce3..fe260e18b 100644
--- a/smali/d/d/a/r4.smali
+++ b/smali/d/d/a/r4.smali
@@ -1001,10 +1001,10 @@
invoke-direct {p0, v0}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
- const-string v0, "com.miui.gallery"
+ const-string v0, "android.intent.category.APP_GALLERY"
.line 4
- invoke-virtual {p0, v0}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
+ invoke-virtual {p0, v0}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
.line 5
invoke-virtual {p1, p0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
@@ -1135,11 +1135,6 @@
invoke-direct {p0, v0, p2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
:goto_0
- const-string p1, "com.miui.gallery"
-
- .line 12
- invoke-virtual {p0, p1}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
-
const/4 p1, 0x1
const-string p2, "from_MiuiCamera"
diff --git a/smali_classes4/com/xiaomi/camera/parallelservice/provider/ParallelProcessProvider.smali b/smali_classes4/com/xiaomi/camera/parallelservice/provider/ParallelProcessProvider.smali
index 6d731e0c7..5a905c3a2 100644
--- a/smali_classes4/com/xiaomi/camera/parallelservice/provider/ParallelProcessProvider.smali
+++ b/smali_classes4/com/xiaomi/camera/parallelservice/provider/ParallelProcessProvider.smali
@@ -786,19 +786,6 @@
.line 6
invoke-static {v0, v3, v2}, Lcom/android/camera/log/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
- .line 7
- invoke-static {}, Ld/k/a/b;->j2()Ld/k/a/b;
-
- move-result-object v0
-
- invoke-virtual {v0}, Ld/k/a/b;->v2()Z
-
- move-result v0
-
- if-nez v0, :cond_0
-
- const/4 v1, 0x4
-
:cond_0
:goto_0
return v1
--
2.39.5

View File

@@ -0,0 +1,55 @@
From f53e5d318a9db8ce9beee1ba1b8f560147e90c66 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Sat, 26 Apr 2025 17:58:26 +0200
Subject: [PATCH 03/10] Add Ultra HDR heic configurations to
StreamConfigurationMap constructor
Commit "Add HEIC_ULTRAHDR image format"[1] added three new parameters to the constructor of StreamConfigurationMap.
Since HyperOS 2, xiaomi has added these methods but guarded them for sdk 36 and above.
Android 15 QPR2 (still sdk 35) added these methods already, so enforce the usage of the new constructor.
[1]: https://github.com/LineageOS/android_frameworks_base/commit/ba41b51131af923a797480a6e707d390d39852c2
---
smali_classes4/lg/c.smali | 24 +-----------------------
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/smali_classes4/lg/c.smali b/smali_classes4/lg/c.smali
index f85f6142c..6397ad206 100644
--- a/smali_classes4/lg/c.smali
+++ b/smali_classes4/lg/c.smali
@@ -553,31 +553,9 @@
.end method
.method public static e()Z
- .locals 2
-
- sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
-
- const/16 v1, 0x23
-
- if-gt v0, v1, :cond_1
-
- if-ne v0, v1, :cond_0
-
- sget v0, Landroid/os/Build$VERSION;->PREVIEW_SDK_INT:I
-
- if-lez v0, :cond_0
-
- goto :goto_0
-
- :cond_0
- const/4 v0, 0x0
+ .locals 1
- goto :goto_1
-
- :cond_1
- :goto_0
const/4 v0, 0x1
- :goto_1
return v0
.end method
--
2.47.2

View File

@@ -1,7 +1,7 @@
From 9e073a6020760d78a553825434472756b990900e Mon Sep 17 00:00:00 2001
From a81a955b70f09b5be2b33f8aca7052533e60ed27 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 23 Apr 2024 19:17:07 +0200
Subject: [PATCH 6/8] Revert icon to cupid V14.0.2.0.TLCMICM
Subject: [PATCH 04/10] Revert icon to cupid V14.0.2.0.TLCMICM
---
res/mipmap-anydpi/ic_launcher_camera_cv.xml | 6 ++++++
@@ -7467,5 +7467,5 @@ literal 0
HcmV?d00001
--
2.39.5
2.47.2

View File

@@ -0,0 +1,510 @@
From cbccda119ecbfe17a7ac575736b0b1e27585aaad Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Thu, 9 Jan 2025 23:47:48 +0100
Subject: [PATCH 05/10] Redo shortcut icon drawables
---
.../shortcut_capture_mode.webp | Bin 1806 -> 0 bytes
.../shortcut_document_mode.webp | Bin 1278 -> 0 bytes
.../shortcut_professional_mode.webp | Bin 1630 -> 0 bytes
.../shortcut_video_mode.webp | Bin 1326 -> 0 bytes
res/drawable-night/shortcut_capture_mode.webp | Bin 2152 -> 0 bytes
.../shortcut_document_mode.webp | Bin 1614 -> 0 bytes
.../shortcut_professional_mode.webp | Bin 2112 -> 0 bytes
res/drawable-night/shortcut_video_mode.webp | Bin 1698 -> 0 bytes
res/drawable/shortcat_cosmetic_mirror.xml | 21 +++++++++++++-----
res/drawable/shortcut_capture_mode.xml | 21 +++++++++++++-----
res/drawable/shortcut_document_mode.xml | 21 +++++++++++++-----
res/drawable/shortcut_professional_mode.xml | 21 +++++++++++++-----
res/drawable/shortcut_video_mode.xml | 21 +++++++++++++-----
13 files changed, 80 insertions(+), 25 deletions(-)
delete mode 100644 res/drawable-night-440dpi/shortcut_capture_mode.webp
delete mode 100644 res/drawable-night-440dpi/shortcut_document_mode.webp
delete mode 100644 res/drawable-night-440dpi/shortcut_professional_mode.webp
delete mode 100644 res/drawable-night-440dpi/shortcut_video_mode.webp
delete mode 100644 res/drawable-night/shortcut_capture_mode.webp
delete mode 100644 res/drawable-night/shortcut_document_mode.webp
delete mode 100644 res/drawable-night/shortcut_professional_mode.webp
delete mode 100644 res/drawable-night/shortcut_video_mode.webp
diff --git a/res/drawable-night-440dpi/shortcut_capture_mode.webp b/res/drawable-night-440dpi/shortcut_capture_mode.webp
deleted file mode 100644
index 115b3e746db119eb2a71da12a245ece959365be8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1806
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
diff --git a/res/drawable-night-440dpi/shortcut_document_mode.webp b/res/drawable-night-440dpi/shortcut_document_mode.webp
deleted file mode 100644
index c4ca9b81e40edb0b8487fd3d4214e7f170ce1d09..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1278
zcmV<a1OfX}Nk&HY1ONb6MM6+kP&il$0000G000120037206|PpNFo9N00EHQY<t^Q
zq&qL^0->b{X(|8(LjMxhBv~n&cz|q^oPO?^p8qGm0V2YI+enI(EYo3k&&(541huhw
z-Sp0nqj!B%=hkSIUXxvWV(70klax*ANT4e>iO{>2#I`#fpV`4t6y0GKnf*Y~9QINF
zBn?HiG12a-D7w`w3hRy%*sUXAJtfgwF$E>F5XQ<mCG=cNo_|G2y_)g2-{!;<d-I%<
zdoF((*2648XgOi%G4Si}pWYFO-RwImg0cE8a}to|YZ@e)ugeEPx&P{(0gGYwnFE1&
z_?(X%8cu&?M_i`UQxN%dnuzP}BQ1OW9mM`-PwmIn6mdC)2%d=R=ADwwQwWa}37j57
zcw$q&<Jg1{jwEslA@DDjrH(J&Zjv`<l*%y4l)A>`T4|4o*M=f+|37@=|N9sp*w`36
zgl~O_fz44Dc}<vyscukddQ^Iciu0)W5%solM2(x#qb@w|CAbg5jYr)4k)x7ZRIEY8
z;MPCbdX3z^Fqjx=`)!hO6t&;v?agDd_9kxo7`8o++yB7rFTwWjaQmaM{b$(zKJNGg
z?05?9_z&!O73}yL?sy>23xM%U-0@cA@nQDndD635i7Zk+O{z^4Ki(?2>m(81tyK(X
z33605Q;{^0({*E1ME4OZ*RWS{ogE?-ad()h=;~c7r`>6l#!V@@+?5-ZQj=Y?0?A)z
zMx|F9o7YY6{5X2oH+61}R&o_qP&gp20ssK;5CEM4Dp&wm06uLjl13yVp`k0A94LSd
ziDhj?(3t~Cfmcqm_ctlr81zfG18~mt2J=Vw>#zg7=L3Ih4d4Z<<ELLw<-Q)abEZ~U
zXZkAvKo87`sVI+<$WK>w089d1Pi_6;iez$JQxn>Jp0gEl>2i?vZdAb~q2G@qi+o5E
zm#rH?xB(x)QXDQPm~j9A{^@a9{NZr+`oIigl`SYYCcFLhn?^-n&XKE`a2#SaS!w4$
zYyf=9__3CzX*y3wI*^11Qm{fUKc?GOsXBAOEcnk6h=?7^LS_20|A@8t!@|@=X<M$s
zvaj}!!Do&<0x-r5LK&(_BVjtF|M0>j{f6Ky3m9RrBlUPuDZ)U)#SgvncKk!Ens&Um
zY!dgTWsw~CZ~ky~$g_tC%|RO@cdL|i$P}AvSmE2FHCk>x{SIOu#MV0-FZq?U82R06
z)q@r)S)Z)FPyNM>;@flj^LK5^Z#6-c3Q+Y9mky_RxA{Eup+1TwP{*J38l>Fk7?B;^
zxcWLOWd00V_mZifz}zSe7qtu<6C9OWX4v?aYaYG0;F>z+?kpUN+f{t<Xz=aL>=BL0
z=A1^r1t<wo7G)plVR4opytsQWuPCcP((r3+1KRIX&GMA4PBe!6&SM5@ELMR-8>2C<
z&y5V|U?hB|gvE&G)Uyf#`oPN$#uYErX<HEH)k3Nz{p*yqZ~I)XQGo$l<eG@oCg^qj
zM56?xH{jpO^Vh(}6)5gC-48Wb`&V!P8~$iBD?33=%Q%BwIn=STwtB*2*6docZ8opP
z<^S%H;?uFnv_-(!#4r7PvRnhnl2|edwF_5dex~!#u}i0zPq~zkE*VZC>zp*%W?V1j
o3$gOA3D94yP>g}V)I@R~H{SLC+?$9yrH0{Ri6fIhPk;ab0C{G3i2wiq
diff --git a/res/drawable-night-440dpi/shortcut_professional_mode.webp b/res/drawable-night-440dpi/shortcut_professional_mode.webp
deleted file mode 100644
index cb9a8f36c20788ef95c6bba9e67ec80f861a3b7f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1630
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
diff --git a/res/drawable-night-440dpi/shortcut_video_mode.webp b/res/drawable-night-440dpi/shortcut_video_mode.webp
deleted file mode 100644
index 080cf00f815a6a3a2acf21df57c700631cc2dea1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1326
zcmV+}1=0FaNk&E{1pok7MM6+kP&il$0000G000120037206|PpNN55800EFA0gNI!
z-IMHgILmY}hXYl;)wME2mzpDH{0ZBc9bV>ph$*Fv?QbyZ*iuUmhzJO7Bq@?2_V~IF
z3!h*jXkFUR^2&$FB={=N`l+)<Ue{d+Krk$HohbF82ZnxF7s56RU|Te8e3G_@DEf91
znbsJhIc`P$C&?kIxr=sc1koMEIaDh_z_J#BG=PX9WitRV2h3QR20^DS=l*#Rbv~iL
zJ`cjqlV6<%ai{sW>AEZh6{eIh3_1w4|KDDM63gU&j6jW}|7A{4q}!cb6Z!7t160}C
z?aWvg<6VxlL7DBH`N(U-+wC+#oz3kO`Y5({Q$Xg#?Ny?;kMke(Erw*){vz4GYix#F
zcq%uL<qh^Hvr@-9#23^zULd}Ukwm&=ej%;^(G|pBY`VrQkU>P?e@kc1kXbM`2y*EY
z;`;;Cx?&xOv2XP^Zu*@3fmDp+ZxHbd;&*a^?Mre0J0iY5#`xy?nG}fl^Wh#~kmYiG
zJk9&&@=A)okM;wP%1d#b{muCxc8pD!Xl0@oy>ICK6ulSejYrY^@qm{<^yWMH{QQNS
zpXKYxV{$!_t$&{p-yI^?KiPV{=ltnC<a({QztGzcsqNqN_M1}u@relivD$uK@BE>6
zUQ#>X>77T_&d+M+eZBh$wfhvk`yaLYDz*DHz576#GYa;XdiSlG_rv5@r$s+%4a<S#
zZCq2K_z9`uTN8=+vSwnK2;`_yVj}4xr|aCAh_)hDu5ru6HEBmG;=Y}j=-Ot4ex_(z
zBV&EY`gA|68%bSvffPt#q3evi)}{R{uY8zHg0J$dpE_&!8dgv^AeaIG0Pqk1odGIX
z09XJ%Z8DQaq$44rE0TNAfDMUb5kN|w9_*ww`RWFdHtciQ`WfDk-e~_Vb^!!yZS}XX
zBliJz{sjv}u<hEj-|i$vqWQOY8_{8WyN@j|Te{P${1>nt2g=Q*8y4$>s2*qk!a-b(
zhj}?ziey52-Gq|+JL(z0V>~qS>;IYi;eG;fjusJm0092&qaXi=*tRbEP!rhZuEg1=
z&-2oXV{5sian>+uywRPdklox>l&mtt?>Wd4gPWMg+195vK*9C4)oGX?xWmBHOS3{&
zJe2+E_}Ma7Jkntp$!lH+ahib)KjAad86!mAo}~J5);&l6eZLpi-*TV?u!cWGAHCDl
z4P?cPC|4`gdXX2=xCr;N!|>Sc&Npp%ZLKEG^c$GT=P!x8cd%>d971i|r;Y4?J<`mh
zbUs(Ej9Oi*O_&H2Kmq!)Ip3H}tYFH2%;P`ifmQOiV0MpN4ynF_$3;Wr)Bf8l^VN5%
ztqqVGBaa*1id1H<Rm??mPy(7G?~4fo)ngpAva|ZblKRA!k3I8_imlpJ=D3h4f#t3u
z4H~m>rAC(2X(~PBuSaVdflr01H=lUN$5knOpmvlCiimM$^lx{NA$@Vuos-H7*7VNU
z?tfBGV5ixi6fXecp37xXlz|>a&Vrz_6zg7lPys(^8tfUa4F+Lm$rl#;Q{nY75JY)+
z^8tP8?*3VmGab}X)jXvYQP=>XaB!9`Pp)T`7jxa>`H7u++OUiy;$3LoK_s02_u6OD
zVqOlpd|NyI`+0yC70AB_VEfq8W_6+`nafb61Ml4ivalG4#9?u3+H-&yZD9ru@ZXdB
k?QiCbKe6xx!gb6-Q~!Op%{;bgsc|DgOW?f5R89Z@06xN{nE(I)
diff --git a/res/drawable-night/shortcut_capture_mode.webp b/res/drawable-night/shortcut_capture_mode.webp
deleted file mode 100644
index 7b79e3f1c2563fb54f25b82a2ea1c33d25da4ba9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2152
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
diff --git a/res/drawable-night/shortcut_document_mode.webp b/res/drawable-night/shortcut_document_mode.webp
deleted file mode 100644
index 31edabe330b5722535ce973deb1810d0b7b51ca7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1614
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
MiiwNTaDV^+0NQ;G^#A|>
diff --git a/res/drawable-night/shortcut_professional_mode.webp b/res/drawable-night/shortcut_professional_mode.webp
deleted file mode 100644
index 9be6f1bdb2fd0fed5a4252dbc884a41cc37a2071..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2112
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
diff --git a/res/drawable-night/shortcut_video_mode.webp b/res/drawable-night/shortcut_video_mode.webp
deleted file mode 100644
index 3fc697e75759d1a567769240b7363be82fb3342d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1698
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
diff --git a/res/drawable/shortcat_cosmetic_mirror.xml b/res/drawable/shortcat_cosmetic_mirror.xml
index af90307a7..6d999f043 100644
--- a/res/drawable/shortcat_cosmetic_mirror.xml
+++ b/res/drawable/shortcat_cosmetic_mirror.xml
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector android:height="88.0dip" android:width="88.0dip" android:viewportWidth="88.0" android:viewportHeight="88.0"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#ff000000" android:pathData="M44,44m-44,0a44,44 0,1 1,88 0a44,44 0,1 1,-88 0" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillAlpha="0.06361997" android:fillType="evenOdd" />
- <path android:fillColor="#ff000000" android:pathData="M56 39C56 46.1797 50.1797 52 43 52C35.8203 52 30 46.1797 30 39C30 31.8203 35.8203 26 43 26C50.1797 26 56 31.8203 56 39ZM60 39C60 48.3888 52.3888 56 43 56C33.6112 56 26 48.3888 26 39C26 29.6112 33.6112 22 43 22C52.3888 22 60 29.6112 60 39ZM27 60C26.4477 60 26 60.4477 26 61V63C26 63.5523 26.4477 64 27 64H59C59.5523 64 60 63.5523 60 63V61C60 60.4477 59.5523 60 59 60H27Z" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillType="evenOdd" />
-</vector>
\ No newline at end of file
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@android:color/white" />
+ <foreground>
+ <inset android:inset="10%">
+ <vector
+ android:width="88dp"
+ android:height="88dp"
+ android:viewportWidth="88"
+ android:viewportHeight="88">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M56 39C56 46.1797 50.1797 52 43 52C35.8203 52 30 46.1797 30 39C30 31.8203 35.8203 26 43 26C50.1797 26 56 31.8203 56 39ZM60 39C60 48.3888 52.3888 56 43 56C33.6112 56 26 48.3888 26 39C26 29.6112 33.6112 22 43 22C52.3888 22 60 29.6112 60 39ZM27 60C26.4477 60 26 60.4477 26 61V63C26 63.5523 26.4477 64 27 64H59C59.5523 64 60 63.5523 60 63V61C60 60.4477 59.5523 60 59 60H27Z" />
+ </vector>
+ </inset>
+ </foreground>
+</adaptive-icon>
diff --git a/res/drawable/shortcut_capture_mode.xml b/res/drawable/shortcut_capture_mode.xml
index eccd7defb..de2383911 100644
--- a/res/drawable/shortcut_capture_mode.xml
+++ b/res/drawable/shortcut_capture_mode.xml
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector android:height="89.0dip" android:width="88.0dip" android:viewportWidth="88.0" android:viewportHeight="89.0"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#ff000000" android:pathData="M44,44.5m-44,0a44,44 0,1 1,88 0a44,44 0,1 1,-88 0" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillAlpha="0.05935861" android:fillType="evenOdd" />
- <path android:fillColor="#ff000000" android:pathData="M52.3147,29.1434C52.7093,29.6722 52.9185,30.3163 52.9101,30.976L52.8011,39.5061L59.7661,44.4318C61.1189,45.3884 61.44,47.2606 60.4833,48.6133C60.1024,49.152 59.5545,49.5501 58.9245,49.7459L52.3972,51.7745L60.9608,60.3388C61.5466,60.9246 61.5466,61.8743 60.9608,62.4601C60.375,63.0459 59.4253,63.0459 58.8395,62.4601L50.2742,53.8955L48.2459,60.4245C47.7541,62.0066 46.0728,62.8905 44.4906,62.3987C43.8606,62.2029 43.3127,61.8048 42.9318,61.2661L38.0061,54.3011L29.476,54.4101C27.8193,54.4313 26.4591,53.1054 26.4375,51.4487C26.4295,50.789 26.6388,50.1449 27.0334,49.6161L32.1354,42.7792L29.3958,34.7003C28.8637,33.1312 29.7044,31.4279 31.2734,30.8958C31.8983,30.6839 32.5755,30.6839 33.2003,30.8958L41.2792,33.6354L48.1161,28.5334C49.444,27.5424 51.3237,27.8156 52.3147,29.1434ZM49.9103,30.9377L41.8094,36.983L32.2369,33.7369L35.483,43.3094L29.4377,51.4103L39.5448,51.2812L45.3811,59.5339L48.3816,49.8816L58.0339,46.8811L49.7812,41.0448L49.9103,30.9377Z" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillType="nonZero" />
-</vector>
\ No newline at end of file
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@android:color/white" />
+ <foreground>
+ <inset android:inset="10%">
+ <vector
+ android:width="88dp"
+ android:height="88dp"
+ android:viewportWidth="88"
+ android:viewportHeight="88">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M52.3147,29.1434C52.7093,29.6722 52.9185,30.3163 52.9101,30.976L52.8011,39.5061L59.7661,44.4318C61.1189,45.3884 61.44,47.2606 60.4833,48.6133C60.1024,49.152 59.5545,49.5501 58.9245,49.7459L52.3972,51.7745L60.9608,60.3388C61.5466,60.9246 61.5466,61.8743 60.9608,62.4601C60.375,63.0459 59.4253,63.0459 58.8395,62.4601L50.2742,53.8955L48.2459,60.4245C47.7541,62.0066 46.0728,62.8905 44.4906,62.3987C43.8606,62.2029 43.3127,61.8048 42.9318,61.2661L38.0061,54.3011L29.476,54.4101C27.8193,54.4313 26.4591,53.1054 26.4375,51.4487C26.4295,50.789 26.6388,50.1449 27.0334,49.6161L32.1354,42.7792L29.3958,34.7003C28.8637,33.1312 29.7044,31.4279 31.2734,30.8958C31.8983,30.6839 32.5755,30.6839 33.2003,30.8958L41.2792,33.6354L48.1161,28.5334C49.444,27.5424 51.3237,27.8156 52.3147,29.1434ZM49.9103,30.9377L41.8094,36.983L32.2369,33.7369L35.483,43.3094L29.4377,51.4103L39.5448,51.2812L45.3811,59.5339L48.3816,49.8816L58.0339,46.8811L49.7812,41.0448L49.9103,30.9377Z" />
+ </vector>
+ </inset>
+ </foreground>
+</adaptive-icon>
diff --git a/res/drawable/shortcut_document_mode.xml b/res/drawable/shortcut_document_mode.xml
index 040e92cb8..cf5f89578 100644
--- a/res/drawable/shortcut_document_mode.xml
+++ b/res/drawable/shortcut_document_mode.xml
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector android:height="88.0dip" android:width="88.0dip" android:viewportWidth="88.0" android:viewportHeight="88.0"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#ff000000" android:pathData="M44,44m-44,0a44,44 0,1 1,88 0a44,44 0,1 1,-88 0" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillAlpha="0.06361997" android:fillType="evenOdd" />
- <path android:fillColor="#ff000000" android:pathData="M58,26C60.2091,26 62,27.7909 62,30L62,58C62,60.2091 60.2091,62 58,62L30,62C27.7909,62 26,60.2091 26,58L26,30C26,27.7909 27.7909,26 30,26L58,26ZM57,29L31,29C29.9456,29 29.0818,29.8159 29.0055,30.8507L29,31L29,57C29,58.0544 29.8159,58.9182 30.8507,58.9945L31,59L57,59C58.0544,59 58.9182,58.1841 58.9945,57.1493L59,57L59,31C59,29.8954 58.1046,29 57,29ZM51.5,43C52.0523,43 52.5,43.4477 52.5,44L52.5,45C52.5,45.5523 52.0523,46 51.5,46L36.5,46C35.9477,46 35.5,45.5523 35.5,45L35.5,44C35.5,43.4477 35.9477,43 36.5,43L51.5,43ZM51.5,35C52.0523,35 52.5,35.4477 52.5,36L52.5,37C52.5,37.5523 52.0523,38 51.5,38L36.5,38C35.9477,38 35.5,37.5523 35.5,37L35.5,36C35.5,35.4477 35.9477,35 36.5,35L51.5,35Z" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillType="nonZero" />
-</vector>
\ No newline at end of file
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@android:color/white" />
+ <foreground>
+ <inset android:inset="10%">
+ <vector
+ android:width="88dp"
+ android:height="88dp"
+ android:viewportWidth="88"
+ android:viewportHeight="88">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M58,26C60.2091,26 62,27.7909 62,30L62,58C62,60.2091 60.2091,62 58,62L30,62C27.7909,62 26,60.2091 26,58L26,30C26,27.7909 27.7909,26 30,26L58,26ZM57,29L31,29C29.9456,29 29.0818,29.8159 29.0055,30.8507L29,31L29,57C29,58.0544 29.8159,58.9182 30.8507,58.9945L31,59L57,59C58.0544,59 58.9182,58.1841 58.9945,57.1493L59,57L59,31C59,29.8954 58.1046,29 57,29ZM51.5,43C52.0523,43 52.5,43.4477 52.5,44L52.5,45C52.5,45.5523 52.0523,46 51.5,46L36.5,46C35.9477,46 35.5,45.5523 35.5,45L35.5,44C35.5,43.4477 35.9477,43 36.5,43L51.5,43ZM51.5,35C52.0523,35 52.5,35.4477 52.5,36L52.5,37C52.5,37.5523 52.0523,38 51.5,38L36.5,38C35.9477,38 35.5,37.5523 35.5,37L35.5,36C35.5,35.4477 35.9477,35 36.5,35L51.5,35Z" />
+ </vector>
+ </inset>
+ </foreground>
+</adaptive-icon>
diff --git a/res/drawable/shortcut_professional_mode.xml b/res/drawable/shortcut_professional_mode.xml
index e65157e6d..afe3ffa78 100644
--- a/res/drawable/shortcut_professional_mode.xml
+++ b/res/drawable/shortcut_professional_mode.xml
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector android:height="89.0dip" android:width="88.0dip" android:viewportWidth="88.0" android:viewportHeight="89.0"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#ff000000" android:pathData="M44,44.5m-44,0a44,44 0,1 1,88 0a44,44 0,1 1,-88 0" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillAlpha="0.05935861" android:fillType="evenOdd" />
- <path android:fillColor="#ff000000" android:pathData="M48.7352,25.5C50.1403,25.5 51.4423,26.2372 52.1652,27.442L53.7087,30.0145C53.8894,30.3157 54.2149,30.5 54.5662,30.5L59,30.5C61.7614,30.5 64,32.7386 64,35.5L64,56.5C64,59.2614 61.7614,61.5 59,61.5L29,61.5C26.2386,61.5 24,59.2614 24,56.5L24,35.5C24,32.7386 26.2386,30.5 29,30.5L33.4338,30.5C33.7851,30.5 34.1106,30.3157 34.2913,30.0145L35.8348,27.442C36.5577,26.2372 37.8597,25.5 39.2648,25.5L48.7352,25.5ZM48.7352,28.5L39.2648,28.5C38.9135,28.5 38.588,28.6843 38.4073,28.9855L36.8638,31.558C36.1409,32.7628 34.8389,33.5 33.4338,33.5L29,33.5C27.8954,33.5 27,34.3954 27,35.5L27,56.5C27,57.6046 27.8954,58.5 29,58.5L59,58.5C60.1046,58.5 61,57.6046 61,56.5L61,35.5C61,34.3954 60.1046,33.5 59,33.5L54.5662,33.5C53.1611,33.5 51.8591,32.7628 51.1362,31.558L49.5927,28.9855C49.412,28.6843 49.0865,28.5 48.7352,28.5ZM44,36C48.6944,36 52.5,39.8056 52.5,44.5C52.5,49.1944 48.6944,53 44,53C39.3056,53 35.5,49.1944 35.5,44.5C35.5,39.8056 39.3056,36 44,36ZM44,39C40.9624,39 38.5,41.4624 38.5,44.5C38.5,47.5376 40.9624,50 44,50C47.0376,50 49.5,47.5376 49.5,44.5C49.5,41.4624 47.0376,39 44,39Z" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillType="nonZero" />
-</vector>
\ No newline at end of file
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@android:color/white" />
+ <foreground>
+ <inset android:inset="10%">
+ <vector
+ android:width="88dp"
+ android:height="89dp"
+ android:viewportWidth="88"
+ android:viewportHeight="89">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M48.7352,25.5C50.1403,25.5 51.4423,26.2372 52.1652,27.442L53.7087,30.0145C53.8894,30.3157 54.2149,30.5 54.5662,30.5L59,30.5C61.7614,30.5 64,32.7386 64,35.5L64,56.5C64,59.2614 61.7614,61.5 59,61.5L29,61.5C26.2386,61.5 24,59.2614 24,56.5L24,35.5C24,32.7386 26.2386,30.5 29,30.5L33.4338,30.5C33.7851,30.5 34.1106,30.3157 34.2913,30.0145L35.8348,27.442C36.5577,26.2372 37.8597,25.5 39.2648,25.5L48.7352,25.5ZM48.7352,28.5L39.2648,28.5C38.9135,28.5 38.588,28.6843 38.4073,28.9855L36.8638,31.558C36.1409,32.7628 34.8389,33.5 33.4338,33.5L29,33.5C27.8954,33.5 27,34.3954 27,35.5L27,56.5C27,57.6046 27.8954,58.5 29,58.5L59,58.5C60.1046,58.5 61,57.6046 61,56.5L61,35.5C61,34.3954 60.1046,33.5 59,33.5L54.5662,33.5C53.1611,33.5 51.8591,32.7628 51.1362,31.558L49.5927,28.9855C49.412,28.6843 49.0865,28.5 48.7352,28.5ZM44,36C48.6944,36 52.5,39.8056 52.5,44.5C52.5,49.1944 48.6944,53 44,53C39.3056,53 35.5,49.1944 35.5,44.5C35.5,39.8056 39.3056,36 44,36ZM44,39C40.9624,39 38.5,41.4624 38.5,44.5C38.5,47.5376 40.9624,50 44,50C47.0376,50 49.5,47.5376 49.5,44.5C49.5,41.4624 47.0376,39 44,39Z" />
+ </vector>
+ </inset>
+ </foreground>
+</adaptive-icon>
diff --git a/res/drawable/shortcut_video_mode.xml b/res/drawable/shortcut_video_mode.xml
index a2e677508..c0b9cd5f3 100644
--- a/res/drawable/shortcut_video_mode.xml
+++ b/res/drawable/shortcut_video_mode.xml
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
-<vector android:height="88.0dip" android:width="88.0dip" android:viewportWidth="88.0" android:viewportHeight="88.0"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <path android:fillColor="#ff000000" android:pathData="M44,44m-44,0a44,44 0,1 1,88 0a44,44 0,1 1,-88 0" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillAlpha="0.05935861" android:fillType="evenOdd" />
- <path android:fillColor="#ff000000" android:pathData="M51,28.5C53.2091,28.5 55,30.2909 55,32.5L55,37.923L60.2924,34.2591C61.6546,33.316 63.5235,33.6558 64.4666,35.0181C64.8139,35.5198 65,36.1155 65,36.7257L65,51.2743C65,52.9311 63.6569,54.2743 62,54.2743C61.3898,54.2743 60.7941,54.0882 60.2924,53.7409L55,50.077L55,55.5C55,57.7091 53.2091,59.5 51,59.5L29,59.5C26.7909,59.5 25,57.7091 25,55.5L25,32.5C25,30.2909 26.7909,28.5 29,28.5L51,28.5ZM51,31.5L29,31.5C28.4477,31.5 28,31.9477 28,32.5L28,55.5C28,56.0523 28.4477,56.5 29,56.5L51,56.5C51.5523,56.5 52,56.0523 52,55.5L52,32.5C52,31.9477 51.5523,31.5 51,31.5ZM62,36.7257L55,41.5719L55,46.4281L62,51.2743L62,36.7257Z" android:strokeColor="#00000000" android:strokeWidth="1.0" android:fillType="nonZero" />
-</vector>
\ No newline at end of file
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@android:color/white" />
+ <foreground>
+ <inset android:inset="10%">
+ <vector
+ android:width="88dp"
+ android:height="88dp"
+ android:viewportWidth="88"
+ android:viewportHeight="88">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M51,28.5C53.2091,28.5 55,30.2909 55,32.5L55,37.923L60.2924,34.2591C61.6546,33.316 63.5235,33.6558 64.4666,35.0181C64.8139,35.5198 65,36.1155 65,36.7257L65,51.2743C65,52.9311 63.6569,54.2743 62,54.2743C61.3898,54.2743 60.7941,54.0882 60.2924,53.7409L55,50.077L55,55.5C55,57.7091 53.2091,59.5 51,59.5L29,59.5C26.7909,59.5 25,57.7091 25,55.5L25,32.5C25,30.2909 26.7909,28.5 29,28.5L51,28.5ZM51,31.5L29,31.5C28.4477,31.5 28,31.9477 28,32.5L28,55.5C28,56.0523 28.4477,56.5 29,56.5L51,56.5C51.5523,56.5 52,56.0523 52,55.5L52,32.5C52,31.9477 51.5523,31.5 51,31.5ZM62,36.7257L55,41.5719L55,46.4281L62,51.2743L62,36.7257Z" />
+ </vector>
+ </inset>
+ </foreground>
+</adaptive-icon>
--
2.47.2

View File

@@ -0,0 +1,39 @@
From ef92e12156bda49382c281500be06171269b6087 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Fri, 8 Mar 2024 02:11:53 +0100
Subject: [PATCH 06/10] Support third party galleries
---
smali/com/android/camera/l3.smali | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/smali/com/android/camera/l3.smali b/smali/com/android/camera/l3.smali
index f348205c2..510101446 100644
--- a/smali/com/android/camera/l3.smali
+++ b/smali/com/android/camera/l3.smali
@@ -1057,9 +1057,9 @@
invoke-direct {p0, v0}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
- const-string v0, "com.miui.gallery"
+ const-string v0, "android.intent.category.APP_GALLERY"
- invoke-virtual {p0, v0}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
+ invoke-virtual {p0, v0}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
invoke-virtual {p1, p0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
@@ -1166,10 +1166,6 @@
invoke-direct {p0, v0, p2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
:goto_0
- const-string p1, "com.miui.gallery"
-
- invoke-virtual {p0, p1}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
-
const-string p1, "from_MiuiCamera"
const/4 p2, 0x1
--
2.47.2

View File

@@ -1,20 +1,33 @@
From 317db7603d301e10fe460a46d273d35e9ca66856 Mon Sep 17 00:00:00 2001
From 57a7855bc79c71705cd93756891738990ec71530 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Wed, 16 Oct 2024 01:29:58 +0200
Subject: [PATCH 4/8] Change com.android.camera.action.REVIEW to
Subject: [PATCH 07/10] Change com.android.camera.action.REVIEW to
android.provider.action.REVIEW
This is the standard intent for review actions
---
smali/d/d/a/r4.smali | 4 ++--
smali/d/d/a/z5.smali | 2 +-
smali/com/android/camera/a6.smali | 2 +-
smali/com/android/camera/l3.smali | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/smali/d/d/a/r4.smali b/smali/d/d/a/r4.smali
index b359f481d..77e0e1358 100644
--- a/smali/d/d/a/r4.smali
+++ b/smali/d/d/a/r4.smali
@@ -1060,7 +1060,7 @@
diff --git a/smali/com/android/camera/a6.smali b/smali/com/android/camera/a6.smali
index d1de985de..c1684100c 100644
--- a/smali/com/android/camera/a6.smali
+++ b/smali/com/android/camera/a6.smali
@@ -185,7 +185,7 @@
.field public static d1:Z = false
-.field public static final e:Ljava/lang/String; = "com.android.camera.action.REVIEW"
+.field public static final e:Ljava/lang/String; = "android.provider.action.REVIEW"
.field public static final e0:I = 0x8c36
diff --git a/smali/com/android/camera/l3.smali b/smali/com/android/camera/l3.smali
index 510101446..81652eeaa 100644
--- a/smali/com/android/camera/l3.smali
+++ b/smali/com/android/camera/l3.smali
@@ -1096,7 +1096,7 @@
move-result p0
@@ -23,28 +36,15 @@ index b359f481d..77e0e1358 100644
if-eqz p0, :cond_0
@@ -1129,7 +1129,7 @@
@@ -1157,7 +1157,7 @@
const-string p1, "GalleryHelper"
- const-string v1, "gotoGallery: com.android.camera.action.REVIEW"
+ const-string v1, "gotoGallery: android.provider.action.REVIEW"
.line 10
invoke-static {p1, v1, p0}, Lcom/android/camera/log/Log;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
diff --git a/smali/d/d/a/z5.smali b/smali/d/d/a/z5.smali
index 451fe1cdf..b5b43f066 100644
--- a/smali/d/d/a/z5.smali
+++ b/smali/d/d/a/z5.smali
@@ -175,7 +175,7 @@
.field public static d1:Ljava/lang/Integer; = null
-.field public static final e:Ljava/lang/String; = "com.android.camera.action.REVIEW"
+.field public static final e:Ljava/lang/String; = "android.provider.action.REVIEW"
.field public static final e0:I = 0x7
--
2.39.5
2.47.2

View File

@@ -1,19 +1,19 @@
From 1616710aad76bf83a59263fd9f3b999251c075f2 Mon Sep 17 00:00:00 2001
From b4af6462e1f3ff5b5fa46fad6235d7c9c869de2b Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 15 Oct 2024 18:58:34 +0200
Subject: [PATCH 7/8] Read AOSP integer camera_launch_source intent in
Subject: [PATCH 08/10] Read AOSP integer camera_launch_source intent in
STILL_IMAGE_CAMERA case
MIUI changed the camera_launch_source to be a string, but AOSP provides integers.
---
smali/d/d/a/b4.smali | 83 ++++++++++++++------------------------------
1 file changed, 27 insertions(+), 56 deletions(-)
smali/com/android/camera/s2.smali | 78 +++++++++++--------------------
1 file changed, 27 insertions(+), 51 deletions(-)
diff --git a/smali/d/d/a/b4.smali b/smali/d/d/a/b4.smali
index bb1870a2f..980cfb364 100644
--- a/smali/d/d/a/b4.smali
+++ b/smali/d/d/a/b4.smali
@@ -1181,27 +1181,21 @@
diff --git a/smali/com/android/camera/s2.smali b/smali/com/android/camera/s2.smali
index 780c24a06..0317049aa 100644
--- a/smali/com/android/camera/s2.smali
+++ b/smali/com/android/camera/s2.smali
@@ -909,25 +909,21 @@
const-string v0, "com.android.systemui.camera_launch_source"
@@ -23,7 +23,6 @@ index bb1870a2f..980cfb364 100644
-
- const-string v0, "lockscreen_affordance"
-
- .line 7
- invoke-static {p0, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result v0
@@ -35,7 +34,6 @@ index bb1870a2f..980cfb364 100644
- const-string v0, "power_double_tap"
+ move-result p0
- .line 8
- invoke-static {p0, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+ # CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP = 1
+ const/4 v1, 0x1
@@ -51,7 +49,7 @@ index bb1870a2f..980cfb364 100644
:cond_3
const/4 v2, 0x1
@@ -2858,9 +2852,11 @@
@@ -2604,9 +2600,11 @@
const-string v1, "com.android.systemui.camera_launch_source"
@@ -63,9 +61,9 @@ index bb1870a2f..980cfb364 100644
+
+ move-result v0
.line 2
new-instance v1, Ljava/lang/StringBuilder;
@@ -2871,7 +2867,7 @@
@@ -2616,7 +2614,7 @@
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
@@ -74,7 +72,7 @@ index bb1870a2f..980cfb364 100644
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
@@ -2894,20 +2890,24 @@
@@ -2638,19 +2636,23 @@
move-result v1
@@ -84,7 +82,6 @@ index bb1870a2f..980cfb364 100644
if-eqz v1, :cond_0
.line 4
- invoke-static {v0, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
+ const/4 v2, 0x1
@@ -103,12 +100,12 @@ index bb1870a2f..980cfb364 100644
+
+ return-object v2
.line 5
:cond_0
@@ -2924,38 +2924,9 @@
iget-object p0, p0, Lcom/android/camera/s2;->a:Landroid/content/Intent;
@@ -2665,35 +2667,9 @@
if-eqz p0, :cond_1
.line 6
- invoke-static {v0, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result p0
@@ -117,16 +114,14 @@ index bb1870a2f..980cfb364 100644
-
- const-string p0, "double_click_volume_down"
-
- .line 7
- invoke-static {v0, p0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result p0
-
- if-nez p0, :cond_1
-
- const-string p0, "stabilizer"
- const-string/jumbo p0, "stabilizer"
-
- .line 8
- invoke-static {v0, p0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result p0
@@ -135,7 +130,6 @@ index bb1870a2f..980cfb364 100644
-
- const-string p0, "miwatch"
-
- .line 9
- invoke-static {v0, p0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result p0
@@ -147,5 +141,5 @@ index bb1870a2f..980cfb364 100644
:cond_1
const/4 v2, 0x1
--
2.39.5
2.47.2

View File

@@ -1,58 +1,61 @@
From dc0b4be20e39254b63f68aad1b64925d915f7a70 Mon Sep 17 00:00:00 2001
From dab6eb567005b584e22b8813a21fcb6c5e8a6ac1 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 15 Oct 2024 19:06:16 +0200
Subject: [PATCH 8/8] Force enable StartActivityWhenLocked
Subject: [PATCH 09/10] Force enable StartActivityWhenLocked
MIUI sends this with the intent, but on AOSP we don't get this parameter
---
smali/d/d/a/b4.smali | 54 +++-----------------------------------------
1 file changed, 3 insertions(+), 51 deletions(-)
smali/com/android/camera/s2.smali | 57 ++-----------------------------
1 file changed, 3 insertions(+), 54 deletions(-)
diff --git a/smali/d/d/a/b4.smali b/smali/d/d/a/b4.smali
index 980cfb364..eac9068f7 100644
--- a/smali/d/d/a/b4.smali
+++ b/smali/d/d/a/b4.smali
@@ -312,59 +312,11 @@
diff --git a/smali/com/android/camera/s2.smali b/smali/com/android/camera/s2.smali
index 0317049aa..a824e9e4e 100644
--- a/smali/com/android/camera/s2.smali
+++ b/smali/com/android/camera/s2.smali
@@ -276,62 +276,11 @@
.end method
.method public static K(Landroid/content/Intent;)Z
.method public static L(Landroid/content/Intent;)Z
- .locals 3
- .annotation system Ldalvik/annotation/MethodParameters;
- accessFlags = {
- 0x0
- }
- names = {
- "intent"
- }
- .end annotation
-
- const/4 v0, 0x0
-
- if-eqz p0, :cond_0
- if-eqz p0, :cond_1
-
- const-string v1, "StartActivityWhenLocked"
-
- .line 1
- invoke-virtual {p0, v1, v0}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
-
- move-result v1
-
- if-nez v1, :cond_0
-
- const-string v1, "android.media.action.STILL_IMAGE_CAMERA_SECURE"
-
- invoke-virtual {p0}, Landroid/content/Intent;->getAction()Ljava/lang/String;
-
- move-result-object p0
-
- invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
-
- move-result p0
-
- if-eqz p0, :cond_0
- if-eqz p0, :cond_1
-
- :cond_0
- const/4 p0, 0x1
-
- goto :goto_0
-
- :cond_0
- :cond_1
- move p0, v0
-
- .line 2
- :goto_0
- new-instance v1, Ljava/lang/StringBuilder;
-
- invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
-
- const-string v2, "start activity when locked: "
- const-string/jumbo v2, "start activity when locked: "
-
- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-
@@ -74,7 +77,7 @@ index 980cfb364..eac9068f7 100644
+ return v0
.end method
.method public static M(Landroid/content/Intent;)Z
.method public static N(Landroid/content/Intent;)Z
--
2.39.5
2.47.2

View File

@@ -1,30 +1,29 @@
From 3a68b3351d0c027141dab90851e801fabc827cbc Mon Sep 17 00:00:00 2001
From f3a134ee57b657344b98fcc054a3ff42f7745388 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 15 Oct 2024 01:44:04 +0200
Subject: [PATCH 3/8] Start gallery as a new task
Subject: [PATCH 10/10] Start gallery as a new task
When launched from lockscreen user will have to unlock for the gallery to be opened, then the gallery is living in the camera process which is wrong.
Let it create a new task for it.
---
smali/d/d/a/r4.smali | 5 +++++
1 file changed, 5 insertions(+)
smali/com/android/camera/l3.smali | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/smali/d/d/a/r4.smali b/smali/d/d/a/r4.smali
index fe260e18b..b359f481d 100644
--- a/smali/d/d/a/r4.smali
+++ b/smali/d/d/a/r4.smali
@@ -1006,6 +1006,11 @@
.line 4
diff --git a/smali/com/android/camera/l3.smali b/smali/com/android/camera/l3.smali
index 81652eeaa..fd0988934 100644
--- a/smali/com/android/camera/l3.smali
+++ b/smali/com/android/camera/l3.smali
@@ -1061,6 +1061,10 @@
invoke-virtual {p0, v0}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
+ # FLAG_ACTIVITY_NEW_TASK
+ const v0, 0x10000000
+
+ invoke-virtual {p0, v0}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
+
.line 5
invoke-virtual {p1, p0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
invoke-virtual {p1}, Lcom/android/camera/ActivityBase;->ri()V
--
2.39.5
2.47.2

View File

@@ -1,7 +1,9 @@
# All unpinned blobs below are extracted from cupid V816.0.6.0.ULCMIXM
# All unpinned blobs below are extracted from marble OS2.0.3.0.VMRMIXM
product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk;OVERRIDES=Aperture,Snap,Camera2,GoogleCameraGo
product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk;OVERRIDES=Aperture,Camera,Camera2,GoogleCameraGo
system_ext/lib64/libcamera_algoup_jni.xiaomi.so:system/lib64/libcamera_algoup_jni.xiaomi.so
system_ext/lib64/libcamera_mianode_jni.xiaomi.so:system/lib64/libcamera_mianode_jni.xiaomi.so
system_ext/lib64/libmicampostproc_client.so:system/lib64/libmicampostproc_client.so
system_ext/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so;MODULE=vendor.xiaomi.hardware.campostproc@1.0-system
system_ext/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so;MODULE_SUFFIX=_system
vendor/lib64/camera/libQnnHtpV69.so:vendor/lib/rfsa/adsp/libQnnHtpV69.so
vendor/lib64/camera/libQnnHtpV69Skel.so:vendor/lib/rfsa/adsp/libQnnHtpV69Skel.so

1
setup-makefiles.py Executable file
View File

@@ -0,0 +1 @@
#!./extract-files.py --regenerate_makefiles

View File

@@ -1,62 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project#
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=miuicamera-marble
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
function vendor_imports() {
cat << EOF >> "$1"
"device/xiaomi/miuicamera-marble",
EOF
}
function lib_to_package_fixup_system_variants() {
if [ "$2" != "system" ]; then
return 1
fi
case "$1" in
vendor.xiaomi.hardware.campostproc@1.0)
echo "$1-system"
;;
*)
return 1
;;
esac
}
function lib_to_package_fixup() {
lib_to_package_fixup_clang_rt_ubsan_standalone "$1" ||
lib_to_package_fixup_proto_3_9_1 "$1" ||
lib_to_package_fixup_system_variants "$@"
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
# Warning headers and guards
write_headers
write_makefiles "${MY_DIR}/proprietary-files.txt" true
# Finish
write_footers