Update patches to fix launching camera on lockscreen

Change-Id: I7227b4cd063cc33d48b0e21b2f37a76e6f253553
This commit is contained in:
Arian
2024-10-15 19:37:27 +02:00
parent 1cc407cb55
commit f1e5743daa
7 changed files with 289 additions and 15 deletions

View File

@@ -1,7 +1,7 @@
From df68bd976ac27a8a6c828fa8f01baf1a7cd6256a Mon Sep 17 00:00:00 2001
From 9eda50fdc94da67e223c0406040155567a411daf 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/4] ICustomCaptureResult: Add readout timestamp
Subject: [PATCH 1/7] ICustomCaptureResult: Add readout timestamp
commit [1] added two arguments to the CaptureResultExtras constructor.
Patch MiuiCamera to provide these arguments
@@ -76,5 +76,5 @@ index 6406b1edd..14a9c706d 100644
invoke-virtual {v8, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
--
2.39.2
2.39.5

View File

@@ -1,17 +1,30 @@
From 50deadaa27d6a380343687cfe6a897d5b9a4acb8 Mon Sep 17 00:00:00 2001
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/4] Support third party galleries
Subject: [PATCH 2/7] Support third party galleries
---
smali/d/d/a/r4.smali | 5 -----
smali/d/d/a/r4.smali | 9 ++-------
.../provider/ParallelProcessProvider.smali | 13 -------------
2 files changed, 18 deletions(-)
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..8f72595a7 100644
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
@@ -49,5 +62,5 @@ index 6d731e0c7..5a905c3a2 100644
:goto_0
return v1
--
2.39.2
2.39.5

View File

@@ -0,0 +1,30 @@
From 3a68b3351d0c027141dab90851e801fabc827cbc 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/7] 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(+)
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
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
--
2.39.5

View File

@@ -1,7 +1,7 @@
From a69501fdf8a72ee2bdde043ef1a3389edc137598 Mon Sep 17 00:00:00 2001
From 048b39b79486bd4cc6aef4dded86e21b99297fb8 Mon Sep 17 00:00:00 2001
From: danielml <daniel@danielml.dev>
Date: Fri, 19 Apr 2024 17:32:08 +0200
Subject: [PATCH 3/4] Assume that mod_device is global
Subject: [PATCH 4/7] Assume that mod_device is global
Otherwise, the app tries to start a custom permissions dialog which
has dependencies on HyperOS Security Center app
@@ -26,5 +26,5 @@ index 8b7ab1ebf..03d2c4733 100644
sput-boolean v0, Ld/k/a/c;->E:Z
--
2.39.2
2.39.5

View File

@@ -1,7 +1,7 @@
From 1868252f703eb331150660ff4362bf9adb084ec3 Mon Sep 17 00:00:00 2001
From 175870e6930b2ac7b28fdcbabd84dcd10b3f06a5 Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 23 Apr 2024 19:17:07 +0200
Subject: [PATCH 4/4] Revert icon to cupid V14.0.2.0.TLCMICM
Subject: [PATCH 5/7] 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.2
2.39.5

View File

@@ -0,0 +1,151 @@
From 996fd06f9ddc008379ecd2801d9f3d3f650f63dd Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 15 Oct 2024 18:58:34 +0200
Subject: [PATCH 6/7] 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(-)
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 @@
const-string v0, "com.android.systemui.camera_launch_source"
- invoke-virtual {p0, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
-
- move-result-object p0
-
- 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
+ const/4 v1, -0x1
- if-nez v0, :cond_3
+ invoke-virtual {p0, v0, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
- 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
+ if-eq p0, v1, :cond_3
- move-result p0
+ # CAMERA_LAUNCH_SOURCE_QUICK_AFFORDANCE = 3
+ const/4 v1, 0x3
+ if-eq p0, v1, :cond_3
- if-eqz p0, :cond_4
+ goto :cond_4
:cond_3
const/4 v2, 0x1
@@ -2858,9 +2852,11 @@
const-string v1, "com.android.systemui.camera_launch_source"
- invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
+ const/4 v2, -0x1
- move-result-object v0
+ invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
+
+ move-result v0
.line 2
new-instance v1, Ljava/lang/StringBuilder;
@@ -2871,7 +2867,7 @@
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
- invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
@@ -2894,20 +2890,24 @@
move-result v1
- const-string v3, "power_double_tap"
+ # CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP = 1
+ const/4 v4, 0x1
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
- move-result p0
+ if-eq v0, v4, :cond_3
- invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
+ const/4 v2, 0x0
- move-result-object p0
+ :cond_3
+ invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
- return-object p0
+ move-result-object v2
+
+ return-object v2
.line 5
:cond_0
@@ -2924,38 +2924,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
-
- if-nez p0, :cond_1
-
- 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"
-
- .line 8
- 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, "miwatch"
-
- .line 9
- invoke-static {v0, p0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-
- move-result p0
+ if-eq v0, v4, :cond_1
- if-eqz p0, :cond_2
+ goto :cond_2
:cond_1
const/4 v2, 0x1
--
2.39.5

View File

@@ -0,0 +1,80 @@
From ac906597b89183b8cd886864d89d7953d7769cac Mon Sep 17 00:00:00 2001
From: Arian <arian.kulmer@web.de>
Date: Tue, 15 Oct 2024 19:06:16 +0200
Subject: [PATCH 7/7] 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(-)
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 @@
.end method
.method public static K(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
-
- const-string v1, "StartActivityWhenLocked"
-
- .line 1
- invoke-virtual {p0, v1, v0}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
-
- move-result p0
-
- if-eqz p0, :cond_0
-
- const/4 p0, 0x1
-
- goto :goto_0
-
- :cond_0
- 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: "
-
- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-
- invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
-
- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
-
- move-result-object v1
-
- new-array v0, v0, [Ljava/lang/Object;
-
- const-string v2, "CameraIntentManager"
+ .locals 1
- invoke-static {v2, v1, v0}, Lcom/android/camera/log/Log;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+ const/4 v0, 0x1
- return p0
+ return v0
.end method
.method public static M(Landroid/content/Intent;)Z
--
2.39.5