diff --git a/patches/0001-ICustomCaptureResult-Add-readout-timestamp.patch b/patches/0001-ICustomCaptureResult-Add-readout-timestamp.patch index 2bf063d..f3bf47f 100644 --- a/patches/0001-ICustomCaptureResult-Add-readout-timestamp.patch +++ b/patches/0001-ICustomCaptureResult-Add-readout-timestamp.patch @@ -1,80 +1,72 @@ -From 9eda50fdc94da67e223c0406040155567a411daf Mon Sep 17 00:00:00 2001 +From 78a50654592f58b40d405fc92d649521eaebcf13 Mon Sep 17 00:00:00 2001 From: Arian Date: Mon, 13 Mar 2023 15:46:13 +0100 -Subject: [PATCH 1/9] 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 diff --git a/patches/0005-Assume-that-mod_device-is-global.patch b/patches/0002-Assume-that-mod_device-is-global.patch similarity index 55% rename from patches/0005-Assume-that-mod_device-is-global.patch rename to patches/0002-Assume-that-mod_device-is-global.patch index 15c1422..d738bc9 100644 --- a/patches/0005-Assume-that-mod_device-is-global.patch +++ b/patches/0002-Assume-that-mod_device-is-global.patch @@ -1,7 +1,7 @@ -From fe5f37edc6c7d620b0a2e216cbb9d8e655d9df7a Mon Sep 17 00:00:00 2001 +From fdc226421c2c2e62101cf44e9b14c76fa4144aa8 Mon Sep 17 00:00:00 2001 From: danielml Date: Fri, 19 Apr 2024 17:32:08 +0200 -Subject: [PATCH 5/9] 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 --- - 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 diff --git a/patches/0002-Support-third-party-galleries.patch b/patches/0002-Support-third-party-galleries.patch deleted file mode 100644 index 30398e8..0000000 --- a/patches/0002-Support-third-party-galleries.patch +++ /dev/null @@ -1,66 +0,0 @@ -From f73bd633f5081be3e9589a07283d093f018d69e4 Mon Sep 17 00:00:00 2001 -From: Arian -Date: Fri, 8 Mar 2024 02:11:53 +0100 -Subject: [PATCH 2/9] 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;->(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;->(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 - diff --git a/patches/0003-Add-Ultra-HDR-heic-configurations-to-StreamConfigura.patch b/patches/0003-Add-Ultra-HDR-heic-configurations-to-StreamConfigura.patch new file mode 100644 index 0000000..46ef29f --- /dev/null +++ b/patches/0003-Add-Ultra-HDR-heic-configurations-to-StreamConfigura.patch @@ -0,0 +1,55 @@ +From 1fa46526a3652c4708ccda03fdca838e184298f3 Mon Sep 17 00:00:00 2001 +From: Arian +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 + diff --git a/patches/0006-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch b/patches/0004-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch similarity index 99% rename from patches/0006-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch rename to patches/0004-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch index ed68282..aca5a0e 100644 --- a/patches/0006-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch +++ b/patches/0004-Revert-icon-to-cupid-V14.0.2.0.TLCMICM.patch @@ -1,7 +1,7 @@ -From 9e073a6020760d78a553825434472756b990900e Mon Sep 17 00:00:00 2001 +From bcbf965c43c1f32b7626a69e8e4b235870b31ccf Mon Sep 17 00:00:00 2001 From: Arian Date: Tue, 23 Apr 2024 19:17:07 +0200 -Subject: [PATCH 6/9] 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 diff --git a/patches/0005-Redo-shortcut-icon-drawables.patch b/patches/0005-Redo-shortcut-icon-drawables.patch new file mode 100644 index 0000000..171d32c --- /dev/null +++ b/patches/0005-Redo-shortcut-icon-drawables.patch @@ -0,0 +1,505 @@ +From a473cedf3564e3c6882e21e4dd1da01e657779fb Mon Sep 17 00:00:00 2001 +From: Arian +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 +zcmV+p2l4n)Nk&En2LJ$9MM6+kP&il$0000G00012003A306|PpNc#f-00E!{ZU5m| +z`UjP9X1Xf8$V^o_bCaCTY$v~C+cxjkwr$(CZQHhOdyn%iI^F&I{r`I(5f0o&Qlw<@ +z7@MA;WQ?>VtyDIj&!((oOGKGrq&;U>>f~#^V&~d*-!zu8T?(mdr(*i<-(9Q`%UZEJ +zqJwD4ApxCKRQxDYB_XRB*@L7*f;ve#5;h5ICxozE64$jv9k3V~OPY1tL((!p+8t;KMcg3+bmCzskr9?ckR?OR2GUVC +zg?dL&)EGp@I4J5*jtnyAAB}1zQA_w?lTq4!QH~6=t(l@}6q^GF8E1=^K4}IE(C7Wn +zxS~wGd*kny@(*0kf5#GCxBC$Q&LOszK%kqmW~3iOF4znJ_(&$~#p)b}+ySh;Z_lO+ +zro9N@`~89M1)@_-sUG5RB0T(;>2Qa;6ox>e&Oc;@Z?1Lmj%G5Bw)OY +z$H>2crSzYxF8%B@^0)~2NP@03@w^APfP!2Kye~nzz-0F@ANF$KT?q>POh)_;tPElm +z@Xcfa`q_2soxsIGtO4-j&H{CH2`<8R_4Wb0e>!_ +zkPf{NSj)QDVR0CM1HyiQd)@UL@DuB9We!W%0yl@ttw%nw9_&0=?&mz$N5K0dLp;f8 +zuQuTEtCM*D^8$lIfWH<|Fz>+QJLj(8#-%ia3xE%Ay5;t}?z#WLM;^bXiCF;f;qkKs +z;%FBubohIem*WB8mz5H6pOvR>@n`Kq56=S)nI+E4tE&$?;;@4c*l+JWcY7arYbX&- +z*oekXzep?}t&~^_0d)(vg4w(!(SyLLB(n5)>MR+b2EHCU;xAw! +zNi6l4U?V#9XW*V)fRBkJmXc^4y9aGaz)3}w1|!`?=KsD{?2ag1#!{uwKT5ZhiYdKD+H-a# +zAc@s0cCJ05%rMfDv{Ko8KAWyG6hB7Fmf#=iZ1QYYKKie(BXH4?hw9r&sK$sU1{3aHgg?an4dUH;YWzOva6wP0X +z^CV2hh0ite8cH5*r>2cQs5=q>0RH!{|NldO|L9o1|IhwN?Mh{6lU)9G5&S06IlH!s +z>#8X=rQhHvl{Ov3Yk+k1lwhz4hsi=0N@4XhJe2^3NFb^Tq=ct07)x8 +zVd!ayjwkH1|E1^o{_jtyvBN;p9rcv{;=}j3J%v>rD>lH#jW|c75jrdh@$1&+m(kb{ +zr99)7BS^s+d#}Rt>$U@HNH3|lyLKF{kX-k6()pKL-BnX$q(rM8pKj(Mxgy;BE4)C~ +zV>fDC;2l*)c}=`x=m)Hgm5+n4bOPLJdq~ciFDf>duIqBNhRTAZoGoVue5RsVLMXRI +znUPA52nMp26@vextP90&*2o}3G2HAspAXGD8BzHR2tID_sLJuF>xo=76ben)*t_J! +zfDhTQIDZ4{+CJ&MdZ@6vz;Eyfwhu)JUMOjDkmE`mz%b%z&yx**8(YGCBpiFk?4=L_ +zBOTHA6UlqZvmfpGjED!;5Z?g-AY*oq>XNaoHX~b5pTyPQ{=nz||Fw#++58vBaeMQ| +z_Z@9c`H_XH?{ApzW*rZJR&jIJ!P`kbMH8I_S#wIm&Fdt~8svQJ0?tbqLu5S#%FJRA +wK1G>!)C38YL!D3m#5zxZTc@^?)_4-EP=PC;Z2$OT_RD{^)lyWL_y7O^06FY*h5!Hn + +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 +zcmVb{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`T4|4o*M=f+|37@=|N9sp*w`36 +zgl~O_fz44Dc}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<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!@|@=Xj{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=BL0 +z=A1^r1t2C< +z&y5V|U?hB|gvE&G)Uyf#`oPN$#uYErXzp*%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 +zcmV-k2BG;sFNGXC+ALU?!x>7%spf2Q6EmsSh?~K1S@|)n4xybcCw*6z1_FzBLadO +zNs6S1W!}9je1hUJQj)an`o_k3+e(&1lnf)~4Nf)>q2{wrLwUq7G28J#Q_rzu=AK`j +z@`0qEs*ac-YP-OoYe(5H)#ZT6TpjO)qzjC?Nj?$|FzY0kusmSbvshlU8I0H*r9UhK +zhRjeORh9!|=1NIadSFnml0cOYM)j+-DfhszUb!YEonYL~5-s8`2+)n|kOmQ^HK+$6 +z))%EBFNJ(Xv8>SnV(f^9(*S~O2+u~oB>Y4e4v5kT%W@#hvLGosI|d&P1$;QTgH9@# +zIDpLAB@A`xERZevmliUISFngHhsd=28#5l2t`~@(MuJyHJ|Vv7A}7>;V#fk11;o{Z +z5aPjA!~#&Yh>7k{Vd#(3%ZNh|>JZ}c^w1v*hiGXpme*z90tS8GA5Q;!47#vSJ3Gac +zssT*~zG0BJ+o6ct-(t{j1E6V*Qcb#yBd*O4{qf$VUMOnsrF%nvoL@s6*QH6RtS+w* +zF9X@jh_7_XsyOJfj@V157jYeQjaO-dh!D>4xz9^WpXZJj|8Uw=)iSa55e9s;m5JIW +z9`=665Wnx`p{bpPzSoHO=-jSd=N=*A>pm9RGc4Rf+_(Y%cw+6xW6FuSt?EHhX_*p +zp){qB9r%V6>HV8U>bv(XaImnC)OV{EN`FkWaELf3s1guoNpKF6MoRA7D0a@3JC}>y +zBgox*h~3kO-7AURgZ)o?J5{np!k$s=UR3NJSMJ`KVp+}{xl%C0q&1lv|~sT +zl)7x_&Gj19Zkvt;4=Pe~?YVcAAx+TG)`}0Fu%p${^1uJ_=YRZ=fB*R6p~sx-{ek(F +z&)}qA`mebxW@cKaUT_iSQr;&KfHL4o{alzm9rxG8VJBkq;)W-kwQ5$F4dG*$U!N~O +z^U9o~%#{jCfY879If#BP1fk@CueTg&c4~!|9?+=Mrd~VdCF#CdQ+BJxy>QPFF2zD) +zadd=7|18k|()0ZSGU4&|1Ax*oJU4BJZDzc}8+b6|P_9l+gsaU7XVgArEe}GRVQ2-L +z*P6HbEmAII&miF??n@Ah08xCX&Po0fH6-lW6PX8z#OAH}gNNz*okHs@JdSKT2pO8*<=0iHMt* +ztc0f2iJ*t%cEaAzUUW{+zQ3RVu@&LJc4VG}fWEqej_Q$1U6*;cICvY`NP`pq*AAc@ +zJOvLtoGMQD*E7y#xjVUL8OhVhtFPPjWB!}9X)<5_hV=kpqo!r{WnE7OE25p~7bQ7{ +zya0NaTppAxr3)f;(76x|#|n1zp#~BfBD7jZ|M)zuGng;yi}yEnVKKXQsnIFg2)qFE +zF2kgqP&vugPXgSJj>#5yEY0EAD+{=ff*6mUSYtkb~6Qh)#e0LwricmMzZ + +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+)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%uLP?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{=ltnC6 +zUQ#>X>77T_&d+M+eZBh$wfhvk`yaLYDz*DHz576#GYa;XdiSlG_rv5@r$s+%4ant2g=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*1id1HrAC(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 +zcmV-u2$%O#Nk&Fs2mk +z`-g~#39$7@mTcQ;D;-H;vO|w-hrvOE?))bglCEy|cSKA8b=%qwNmBl6yKlmL5^YA? +zwvFg&+xFPDZQC~5wiSgqgNV%d-YbZR2>^H9?hT^JY!VOqod(2K{du;((feh-`iYD* +zs`tIG$oVOav>e^EAm4TyD+wCkXX05ddZD$lniwC3A+?v5nCDR_CZiDZUJ#Rl0?iD& +z&Vj-$Cd{Ta1-&+m^ol~icG+|;6n;HpGN?$zghgyg$d&RpBRO~4*EdOe)P5!;>rVNI +ztT43l(633{#96Z>foG1?ktD9WZW5CDs$Gmo>Xm~=Ar_54Taes^`J_jZXCJ7OXw-dg +zPO|53=|VUfy)!52k8h}(cr7ST_4}`=dD>Y*|RK=qH_QrnJLtR +zDuc*A6cXuMq39tZhAmgz;5W~&=T87vfjiA?9@Y$o9|tbI;%DRLUI6%hJn*2IS_3Hj +zr4JE(;f3j0Nx4S>!uzv*fcwqR5a^Kq(d2vX*(rU00XRET>Id9oCjq_~Oafkc^ms)4 +zw_PO-0PeJt16u|i%itGj!V{llG2l(Is3oU(-k=kxYZ7g +z8pLq}aHAqK)1N>8RTo8%0B$t&Jz&wX1b&Z_luavkG_cFia>hcR1AXK29SiI*bWC}y +z1#V4Z0 +zyn%|v^bnY<!sH13W6HGfx3a++7)@zXpEEI_a|E2Vkwc6N5W}i@lWm +zfSY~_0m1?9j{c^W0rQpgxCizT`=s2jytO+8JfUR$=S~y<#~Qh}Ki+N!e#<2@gxHd= +zxA&CAOYH4K2)7i?UATDZiq&g3Y}z^`kJ}=yzO%A}jBY#Lo~F=4t>b=+SRlKJ_BOt( +z5MGGsPGsQQnd0J0>#i2Uf~YOPH6ZZKbdh;er`fAkEM2r1cP+YI6~fTAn=|2Js@YMaitLc +z4orxWw;Kq2SM4WrZn~4m)9Dy_yMbVun;cIYmRt6Rh;7Q#+YS8bX8sIoZfgHIl-!%n +zN8WDu)=6bvblFLLCbU(79iM)!kCOzixBSf4jW>GYWq5ZloNd0M8f;C`6OWDT{h5LcjD1_Wu)qL_;A#^i4vbZN5$k_hPt)JU+s353`(vx*_ +zUr$>QShb_?IP}KqQM4Cnv){~!o1}PH!OOxppB0e?l0yzGWeO#j;Oi+_ktI}i|QI{fD+Yf +zM^Ydtl_ATR;?!7e^Q+N@e0GGK4<;zz;=cSfa9!Cbxr5TAE2VLCP(pE6_ocn}{9CiF +zlwKyOG1-@qt2a3mG(1L(-PVfL|Ir15{sMj`ys%GqMWh~#OZ~-)IJ`#z@8qIrjF)Il +zVdol2WMlQ{emi=vz-Kgh=?MFh_J9A{L|{7)(t}K1;Jt&c2Gm!vEUK0#vaODKYL#y( +zkDzV$bEhqAq8Ox$F>6QIv&)Ej=}o966WZ~d;{cIz6Ni} +zylgSV#uoDVK?%zXE_dFr>M<^24Gt?=zSKbEF0cKM_>V^x?+{y2<;nr~_q1_26~KyA +znicvNxYVPehrMPwEZFzm-q +z3b6{$gEsgBF;}FB*7a9cmvFeW{Aza;pOAo$(+C0}`RMXa4Pc-M#1Cmf4P*>AZm^2) +zKl}PaS6!kze#rmc8?gs~juKTO4tg2;j(C4J*sY6L4*1`SJV`y2wCob_pzF#(9BGQn%)9@<%*@QpOdqg4rT3h>AJ7k2-n}vBEf_ST(LEw2066PrZll>B +zPV8-TX4CPYy;VqtLEuofHb!slR>=^>*cu|O)y!xzgv&$ZXje`DnJpLDj`EtX5*_3{ +zEo#1r_mIC;)O-=DqCW?5ALMQHZ8gL!+(kdzDOO1veZHx&(KgWky$BP%gA&?t7U2QP +z=%g7$Cn%+xBQq=%v_urOP}BlRc!ILJ83KKP(mDyxv<}KUi+Qzy5|4Cmk|=Y{ldvrm +z=Dg^l)Z4Mu@+fzArI0NcW>=}A*=q% +zm +zXHO~hGzl92Gm!KOrPT2Q$nZ6#)DfDk|83D+uatTLIi97II!ZJB-;nMR76<6i00?7H +zlmW7V(FUjm#!Q1Tr^|0%{iahHp{XOI_m!8Qb1Imec0ExiG1|&;`oxoO_A%;ga5{L) +z1FPS64lxnvv(~Q&O +ze|hm4a+-3&(=YH4S&dnd@)!h3J4h-4Vif|Umkf|vI6%r^2S*xOf#K><3XB1O5g3~Q +zU=qIy?Vw0>JzU0S}FAwP5OUO +zCBg3%E3{I`mMaUZr^Kp*mzzS3bx*XONR9#C +zMr?`l;C0-QXA`_nyVBHwGAB%1BY~1AJspS(t{iP0$TN- +zSbzZj_RRnPG~fT`g1`UFK;i!+pSGh93f#!*FxzhH4IzYuchLwxBsN}Yv@2T4DYJ0C +z%krDPnD)4xyZBE8j?{cE4&FpdYZqKH_IZNuZoWUgd|6)Zt7R+tWVg@=>P06K0{FJ;-yYdxh~ +z6+KhriNbAUR$>t+{eiu<9IofDeFwN^TgDZ7PIr!I_V(VkQ8ks +z9M9GFh-gI*yDy-_yHu3Mz+96t<*yinY26mUvBZbLjqa^jVv;x<@FaTreuK}0nApq0&2 +zrcuyt)P+q9d-extWt0?x06A>^B^j{v+bx7Sv`z&LaWY8jM*?rRHYM#s8avfRQ!sch#Z{$Q>71fB^nz8iz5(vZag5 +z2k60cd9TAb6zt0>+jeMo|9$-d`pysk?$N9vZR~p6Ohdc+`D8 + +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 +zcmV-G2*3AINk&FE2mki_DWvyO-fAnBe!xH3{(UmLBe +z2zp7|MnyxSqmS)plFbt$rf!Vz_>L?)o{C32`Uu6-tlDae8anWf?`D~q#<1J`i5v^= +zta4MJ$ztKjh+E7AyD=GdMQxg0nlQx$JK4SIT48lLc6Ey>$kWVj?+u9w_OSbN^+GDM +zti_m!sKuIWHq_O#KHEL2#2gSeS*5P6jaj8@s>c0URME +zQ7j?lP5|Eyv+e5u{5d2fZ4?+8A-gUI*6hXh2Yv={yAX~PL|E-cH@*A)4?q0y!;i}W +zJi_H3m*;Z0OY4nDg5rf&DqI;^FRD&O5t(YXJ9e|MuDGmS76ZVN51xK)G74{!m2MX``Y(XhcZ@JIA2k)g +z*pZ?*De7hbv-jfS>%9r!w*gT-l7gm?dklc*L}eu14d5_a +zJRO)UDktd~0PER%2UsCWaXGI6V*~bH1TZ8iE9qeXTiW{^Siq9flCB1Dfvxpc06&Q8 +zm9#y8|JJed5P&;Gr6ln;03Nk*&=|0KM^Rm(4h4{ZY~5mK%?I!#i)t3dj{?BtOST`` +z^tiVHVDiSItO>G)K7jrCyRoRAs4O0O#MW=yv8=YBFy@25C^74*Ar=<%h-2R7vWH%H +z^p=CTe06oyBhPttAxf+@GDOj}MjMg2)@UH2l#17Y{DyMg1u(24NJNuV+z#OJ0VzkU +z2L5J+eMCe7727Wd@b^nEi2QU7fE!dyDxjnSz812-A5;-2(x8GLTqEh5ZCGKFih3;- +zeBk?wg{=DJ>H${SP>foXF!RueNLHLRON3NuF-E1^w3qYR2x~7vb~`j@`D}$Oy~W6W +zTx)%vGR(BjB2;dT#@ea;c5P+-4tV=@6(uJtEj=a3*$G-oc^slP4P^r4w5LluxiC3z +z_GrecCY8Q^z0{D}K%Y+PNwu#>8&;Imn_Zg7R+2|}|HNhak +z-ZoeDSCa6We%DxWlf;{G%N<=Ia%HgH1%0*T+EA;oo?3(49Bj_XNk$EFyIJ2QqCXZS +zJq9KwEj4{jRR(F)jKouxGyN@fe$ucJh>UOQNcQw)a@qdgRA=j?+OUWIrvd<0P&go% +z0{{RJ766?ADr*3306uLplSZT?A)zdByLf;NiDPZ=s2+97?PVe#i1ud*fqR7(U#Bvl+dot6b$>&0RH_pbo?|&|Mf_2&B6Ly9-)HJ +z_b>+hV7o{=`rk&?T=86ug~z<<#B%e0KqsuNrotaEH7pc{YQ$p?*{8qB^vJSF!5D=16_s3V`zyZDv$#+ +zgk#y#Wy_sU}7)BFf{LU4PM +zci+H>P@qz8v1d4Cm^}>|X!%*a1 +zY8J?!N1V9A%W#=*`5Kae77+Bb0Cy$2gJVz$LF!OUOf^5toRnF)P*<9>pbkO$I{3ry +z2_hlEljoTb*)}2C6_c#(qe!Vh38O@!gh>a9)4NP=LA#G+00*7OB2pg$JVm04N23p5 +zI}S41c>8n;`1KAE<7pqdm^a993zY%)afv#5!REv-$4@Fgb9=Wi5j|Q7r=U-|alun& +zY$~42Be&ljm0DQ^%$2+lO27Epnt@M;@GU~@6dW!2lSqJl5t6nc{*FXd$@q(B^S}TD +zBY0V_bK+wErBfE+P3icfuZwAF+ICI06XavfbUI`nK4+C$(}xx(<_F>9oSCu9d*SpR-^tm;HE!oez?FnD?83X1&0N +qjp(L#a~O>~&$_oss&%NU_`!zUPIh02TLh8y>W%V!_>$5vxJ&8nWN?C#mNZQHhO+qUhm?Yoz4Bac=kmHtP>1b}4I?irbw%a`1F^eW|I +zZfdNrJqij(x-&%#)}0)%RI$eL$m>jW89GD<^C;0x+u^e(eH2^hHA2-kjk3%AMre|= +zDBtNfLJ>)0ICIGm^tu?@bVOKm2E*)jh-!B+^2-F64YO%{sD)yng1_4fb7`p2D13qh;OLe@S1A@&cK5HeOZ#o^3l~z*LU`sJY4SqdAN=^f!=T??6r2~C`fQXb5ME5Vl=k#fC!7oHapY6;x+pfW? +zYrRB7^xs=Vv=>JvssiFUe^Kq#IR?Si0XKQC#uLcd36o0TqAPx*{~lVF!#80-3&bTi +zSsGb$02a@sM6@Z-?L@RnE%s3Wa99o}qI*|eo^i`Bh<-+)9RM)FvgSV|@C6~B2>@Lz +zc(s5(HV`ra0ARQ*i*ERj>&rb*XlE6qSr9iq_4d0MuRU~G6zUo^Y$h#JP`l6y>^i+I +zUnxX8#&c{yD>FF~H!FT%FWP!6snJI$>22`0ffw|AuW6A{fE>DZB0Rr19 +zI*fwML_qVE +zV<}J4Ogn@;I+zpUrfksA8Y{DTlbr^rX$?+Q0`qgD9VRGiB>Pg+CBHFeHZ#;|f?NPr +zP&gp^0ssJz69An7Dr*3106uLfkVT{-A($;~)IbKrv4-5nAS^WmNZwV*KHHVf*JUA2 +z&2!3q9&_L%f!T8%5)U05*;R(&F=!?n|oFZ(HNCj +zt-9ZjQWdk`Otg+))=uUC0RH!8|Nlx4|LH8h|IxQF8vp&>dh(NRJwou^c_@;|ePRYW +z&uX?h521tC`rN%QMd!|uupY3Wg2;Fp{rPLag<$ia@~UKd6&rE^0o{8EmpO%9kLz>R +zK((g78!j7ZqdVL-v!%}@k!yjX?{t|%Kn30#WxN9<40P9LZ`1MpzXdqr$n5&VnG_x? +zcK^>kiSDRp5{|l*oE$N27+s(M05id+4K+7UhhBzu9rAna3Mwh2YdUSEyI_}#_lf#q?^;`GNXd`DkOJ{2GRU9LGwu=Ji==u-<-vC31 +zuSZgHO$D)@b|y=-@;vpTfCP1bpF~^uMUlN;y*5Ra*4x$5FDt^kfpq$xK}l_fEIz=J +zHj*-5e}?Oh*uVhY{-7!*3WToxyWyT^2GxcwO13cj& +zm$w=@9ydA>l<8yZG55RB9^>_+(OX9Z7MMHF4HApTvT(QS&8xuw0=P5qoR~Giu<(Ae +zyKM$s$N#%U-=JuK#q#KX<5Um7gu&Lk4E(882Tj=O`S=xtOcjLCIMv8~5CE1_VTNxj +si*x$|pAe`{zv7br{`7;M1&0Bt)bKmY&$ + +diff --git a/res/drawable/shortcat_cosmetic_mirror.xml b/res/drawable/shortcat_cosmetic_mirror.xml +index 8113a1b75..6d999f043 100644 +--- a/res/drawable/shortcat_cosmetic_mirror.xml ++++ b/res/drawable/shortcat_cosmetic_mirror.xml +@@ -1,6 +1,17 @@ + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/res/drawable/shortcut_capture_mode.xml b/res/drawable/shortcut_capture_mode.xml +index ae0d77ecb..de2383911 100644 +--- a/res/drawable/shortcut_capture_mode.xml ++++ b/res/drawable/shortcut_capture_mode.xml +@@ -1,6 +1,17 @@ + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/res/drawable/shortcut_document_mode.xml b/res/drawable/shortcut_document_mode.xml +index 92a302c12..cf5f89578 100644 +--- a/res/drawable/shortcut_document_mode.xml ++++ b/res/drawable/shortcut_document_mode.xml +@@ -1,6 +1,17 @@ + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/res/drawable/shortcut_professional_mode.xml b/res/drawable/shortcut_professional_mode.xml +index 16da060f0..afe3ffa78 100644 +--- a/res/drawable/shortcut_professional_mode.xml ++++ b/res/drawable/shortcut_professional_mode.xml +@@ -1,6 +1,17 @@ + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/res/drawable/shortcut_video_mode.xml b/res/drawable/shortcut_video_mode.xml +index 906dcc064..c0b9cd5f3 100644 +--- a/res/drawable/shortcut_video_mode.xml ++++ b/res/drawable/shortcut_video_mode.xml +@@ -1,6 +1,17 @@ + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +-- +2.47.2 + diff --git a/patches/0006-Support-third-party-galleries.patch b/patches/0006-Support-third-party-galleries.patch new file mode 100644 index 0000000..bcfb2d9 --- /dev/null +++ b/patches/0006-Support-third-party-galleries.patch @@ -0,0 +1,39 @@ +From 24289e24e62eb9ad4e5edaa46fb334b933a26ddc Mon Sep 17 00:00:00 2001 +From: Arian +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;->(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;->(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 + diff --git a/patches/0004-Change-com.android.camera.action.REVIEW-to-android.p.patch b/patches/0007-Change-com.android.camera.action.REVIEW-to-android.p.patch similarity index 53% rename from patches/0004-Change-com.android.camera.action.REVIEW-to-android.p.patch rename to patches/0007-Change-com.android.camera.action.REVIEW-to-android.p.patch index 7f7fe1d..907caa5 100644 --- a/patches/0004-Change-com.android.camera.action.REVIEW-to-android.p.patch +++ b/patches/0007-Change-com.android.camera.action.REVIEW-to-android.p.patch @@ -1,20 +1,33 @@ -From 317db7603d301e10fe460a46d273d35e9ca66856 Mon Sep 17 00:00:00 2001 +From 8ddf170162acb72cee84fb99b509b59cface32e4 Mon Sep 17 00:00:00 2001 From: Arian Date: Wed, 16 Oct 2024 01:29:58 +0200 -Subject: [PATCH 4/9] 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 diff --git a/patches/0007-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch b/patches/0008-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch similarity index 83% rename from patches/0007-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch rename to patches/0008-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch index 241606b..0d5190b 100644 --- a/patches/0007-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch +++ b/patches/0008-Read-AOSP-integer-camera_launch_source-intent-in-STI.patch @@ -1,19 +1,19 @@ -From 1616710aad76bf83a59263fd9f3b999251c075f2 Mon Sep 17 00:00:00 2001 +From 864bd6e24d941ceb1e69f16d585490fc11c843ae Mon Sep 17 00:00:00 2001 From: Arian Date: Tue, 15 Oct 2024 18:58:34 +0200 -Subject: [PATCH 7/9] 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 diff --git a/patches/0008-Force-enable-StartActivityWhenLocked.patch b/patches/0009-Force-enable-StartActivityWhenLocked.patch similarity index 54% rename from patches/0008-Force-enable-StartActivityWhenLocked.patch rename to patches/0009-Force-enable-StartActivityWhenLocked.patch index d149fd7..29b6b67 100644 --- a/patches/0008-Force-enable-StartActivityWhenLocked.patch +++ b/patches/0009-Force-enable-StartActivityWhenLocked.patch @@ -1,58 +1,61 @@ -From dc0b4be20e39254b63f68aad1b64925d915f7a70 Mon Sep 17 00:00:00 2001 +From 1b03067b74f8028f01cd11e411eae9e6e583ea50 Mon Sep 17 00:00:00 2001 From: Arian Date: Tue, 15 Oct 2024 19:06:16 +0200 -Subject: [PATCH 8/9] 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;->()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 diff --git a/patches/0009-Redo-shortcut-icon-drawables.patch b/patches/0009-Redo-shortcut-icon-drawables.patch deleted file mode 100644 index 19ff7b8..0000000 --- a/patches/0009-Redo-shortcut-icon-drawables.patch +++ /dev/null @@ -1,156 +0,0 @@ -From e69a7489fcb5b5d284a9c9f68aeca40aad5ff364 Mon Sep 17 00:00:00 2001 -From: Arian -Date: Thu, 9 Jan 2025 23:47:48 +0100 -Subject: [PATCH 9/9] Redo shortcut icon drawables - ---- - 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 ++++++++++++++++----- - 5 files changed, 80 insertions(+), 25 deletions(-) - -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 @@ - -- -- -- -- -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -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 @@ - -- -- -- -- -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -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 @@ - -- -- -- -- -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -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 @@ - -- -- -- -- -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -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 @@ - -- -- -- -- -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ --- -2.39.5 - diff --git a/patches/0003-Start-gallery-as-a-new-task.patch b/patches/0010-Start-gallery-as-a-new-task.patch similarity index 56% rename from patches/0003-Start-gallery-as-a-new-task.patch rename to patches/0010-Start-gallery-as-a-new-task.patch index b44059d..77bf7cd 100644 --- a/patches/0003-Start-gallery-as-a-new-task.patch +++ b/patches/0010-Start-gallery-as-a-new-task.patch @@ -1,30 +1,29 @@ -From 3a68b3351d0c027141dab90851e801fabc827cbc Mon Sep 17 00:00:00 2001 +From 174e47886ee3b734eafa368d89747d4b86b66a21 Mon Sep 17 00:00:00 2001 From: Arian Date: Tue, 15 Oct 2024 01:44:04 +0200 -Subject: [PATCH 3/9] 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 diff --git a/proprietary-files.txt b/proprietary-files.txt index a1e8b68..e14dd83 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,4 +1,4 @@ -# All unpinned blobs below are extracted from cupid V816.0.10.0.ULCMIXM +# All unpinned blobs below are extracted from cupid OS2.0.1.0.VLCMIXM product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk system_ext/lib64/libcamera_algoup_jni.xiaomi.so:system/lib64/libcamera_algoup_jni.xiaomi.so