From d2c7fdd5a8e699cad556169cc5cd341f09ec530e Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Thu, 24 Sep 2026 10:49:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E6=B7=BB=E5=8A=A0=E5=A3=81?= =?UTF-8?q?=E7=BA=B8=E8=AE=BE=E7=BD=AE=E4=B8=8E=E9=87=8D=E7=BD=AE=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 36 +++++- iconloaderlib/build.gradle | 2 + keystore/iPlay50miniPro.jks | Bin 0 -> 2353 bytes keystore/sm8150.jks | Bin 0 -> 2427 bytes src/com/aoleyun/os/Launcher.java | 6 +- .../os/network/NetInterfaceManager.java | 2 + src/com/aoleyun/os/uiuiutils/JgyUtils.java | 9 +- .../aoleyun/os/uiuiutils/WallpaperUtils.java | 120 ++++++++++++++++++ 8 files changed, 170 insertions(+), 5 deletions(-) create mode 100644 keystore/iPlay50miniPro.jks create mode 100644 keystore/sm8150.jks create mode 100644 src/com/aoleyun/os/uiuiutils/WallpaperUtils.java diff --git a/build.gradle b/build.gradle index 38bd792..e7ea50b 100644 --- a/build.gradle +++ b/build.gradle @@ -159,6 +159,15 @@ android { v2SigningEnabled true } + iPlay50miniPro { + storeFile file("keystore/iPlay50miniPro.jks") + storePassword "123456" + keyAlias "iplay50minipro" + keyPassword "123456" + v1SigningEnabled true + v2SigningEnabled true + } + G10P { storeFile file("keystore/G10PMTK11.jks") storePassword "123456" @@ -265,6 +274,15 @@ android { v1SigningEnabled true v2SigningEnabled true } + + SM8150 { + storeFile file("keystore/sm8150.jks") + storePassword "logan-123456789" + keyAlias "platformkey" + keyPassword "logan-123456789" + v1SigningEnabled true + v2SigningEnabled true + } } buildTypes { @@ -315,13 +333,13 @@ android { buildConfigField "String", "platform", '"QualcommA"' versionNameSuffix "_debug" debuggable true - signingConfig signingConfigs.zhanRui + signingConfig signingConfigs.SM8150 } QualcommRelease.initWith(release) QualcommRelease { buildConfigField "String", "platform", '"QualcommA"' - signingConfig signingConfigs.zhanRui + signingConfig signingConfigs.SM8150 } G128TDebug.initWith(debug) @@ -492,6 +510,20 @@ android { signingConfig signingConfigs.G10P } + iPlay50miniProDebug.initWith(debug) + iPlay50miniProDebug { + buildConfigField "String", "platform", '"miniG99"' + versionNameSuffix "_debug" + debuggable true + signingConfig signingConfigs.iPlay50miniPro + } + + iPlay50miniProRelease.initWith(release) + iPlay50miniProRelease { + buildConfigField "String", "platform", '"miniG99"' + signingConfig signingConfigs.iPlay50miniPro + } + zhanRuiDebug.initWith(debug) zhanRuiDebug { versionNameSuffix "_debug" diff --git a/iconloaderlib/build.gradle b/iconloaderlib/build.gradle index d7ffc18..74810bb 100644 --- a/iconloaderlib/build.gradle +++ b/iconloaderlib/build.gradle @@ -47,6 +47,8 @@ android { c2Release {} G104Debug {} G104Release {} + iPlay50miniProDebug {} + iPlay50miniProRelease {} G10PDebug {} G10PRelease {} zhanRuiDebug {} diff --git a/keystore/iPlay50miniPro.jks b/keystore/iPlay50miniPro.jks new file mode 100644 index 0000000000000000000000000000000000000000..e5aeab8a7143ad52217b6b3edf5407851d5a9d52 GIT binary patch literal 2353 zcmd5-XIE3(7Ck2+34|t~vMee~n#2LJ%DlLG%PI#-X|_Wn|k zo2$F4hZp{Yj{ep>a}NLzaEL&04ACLc!bp$;6oN5;AOfHuP^{SKIVC+wv@hexn0Gki zNX!!7F1~Uc`smJk-pr4z(`Ipe>qe-|UBw-r-an2qr5<#TQsq)sPbieKM-O7IEOQk_ zQ;r`5H*#h<5z5ZI)qAU;m%{Pne6o#Ut$E`2nQNl$i@&}mNPX}?>07HYT)-RQrQ0-G z8DRyQh;h+oKhc3d2elIylsoGe6Ku)XPjdA5Ym133px0QcOnK#*$6GuD+QcQc;RfX;uA9_p%%N02#-Cb|)EFo+A z8eJ@#otIW3ITlDGvt*E{BJ`pS9%kMbj$%aRpOTMs?29 zxIM>abvD_a-Yvq>nqWeSN`yfCP<;Nogy1NQlQImWkT(G97zonCk7iDqDhP--h>VRY zDK8exg|Rx)Qv4?9rgqrprocJM>z_}?dT&=I(lRfj1~SqNRPb`Fd)DOXP&(QyOiwo?wO zzT^kR-#CB+*ZdHkMN)6wW}<_zfe8A?eYuycBK^c!nFzy;ouQ%O&Abw|%e{1bqmiTp zjQMp1Hi*t+L^Ra~9oHXU2(LjGz>vXOxSPjkVOZ`hphU7~t<3xEbRNtVIlK%B2 zJ=@5VN?gT^;e_kCw~thlSV&FxrK%faG|?~|+^C;T`-|5qT;S~si~83|%WY#n%aydd zjfJoCM0=^IBLQB5JSo987~z4uQ5=mk=}xJ&Ml8bYjSI8N?(k**?rhnzs@Q>I_y@BU0bz;Aei1|^#dFO(6uYw^v0MmI=Sk&y5s)CplDE9_O5EK_U>W~5dEnJO+%^gBt7>Aj5cMg7(@;1%x#7hwLg)W`DHX`fa7rq>ogVdZx+Us>cZ1He(2B{4 ziHk`69Cw~l_0MY{x0Yt+HAPDrb=%sJmwuC1< z^S%(BZ}Pcxik2O(pP4dWZY=(L$q+HQGoz6i zXK@gEWVL8X#<*m&zuIEZ*}Qv0H8t4eqq!l;h4q7L7?v|m^Q?x$mi%EA6Y$598kx4r zy7<9}^Oc5WvoNEmD{eGx!7g+cxfq@|G%BsNZZi$_;qbnW4z+LgebX@hty+68mRY=3 zUpn_k1ot)_sTE{bH#{5FqVMge}X`6?F6=Dwk-vXLb0TTrRf`j1kKRrKr zvL~K{fQyV}5+--QSGLTDma(M1u>UZ$bQ)XGC|`>473bwOBJiyV&)s8&XGc+I{E2Vk z%S?Rzg)-jwFqV2P;E~832ad&w%a(x)sIOKtI4z8#Zb7gVwj#a1qo>Wv$LOJTaRD&Q zkS7zn<+Z1Y^RDxw;a)6Z>uo&vfF+KpwdT#oQJcQq{4z-WyTyFo`J!UKe={SUf%Max z&%Ep%p)IOd34WynI{_P@B<$@@o}Db*%{NscojxHy~wcUk#Z7e-uikA<90 ZjpVA<)8&-mvoa0K%gzGDvn=OG=Co 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 DorNCl literal 0 HcmV?d00001 diff --git a/src/com/aoleyun/os/Launcher.java b/src/com/aoleyun/os/Launcher.java index 09579b8..29b27e0 100644 --- a/src/com/aoleyun/os/Launcher.java +++ b/src/com/aoleyun/os/Launcher.java @@ -485,10 +485,12 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); try { if ("Aiud_A8_ag_1095".equals(Build.MODEL) - ||JgyUtils.getInstance().checkAppPlatform() == JgyUtils.seewoPlatform + || JgyUtils.getInstance().checkAppPlatform() == JgyUtils.seewoPlatform ) { wallpaperManager.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.wallpapers_aiudu)); - }else { +// } else if (JgyUtils.getInstance().checkAppPlatform() == JgyUtils.QualcommPlatform) { +// wallpaperManager.clear(); + } else { wallpaperManager.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.wallpapers)); } } catch (IOException e) { diff --git a/src/com/aoleyun/os/network/NetInterfaceManager.java b/src/com/aoleyun/os/network/NetInterfaceManager.java index cfafb5d..b57a90d 100644 --- a/src/com/aoleyun/os/network/NetInterfaceManager.java +++ b/src/com/aoleyun/os/network/NetInterfaceManager.java @@ -208,6 +208,8 @@ public class NetInterfaceManager { set.add(JgyUtils.AUDG104Tag); } else if (platform == JgyUtils.seewoPlatform) { set.add(JgyUtils.seewoTag); + } else if (platform == JgyUtils.QualcommPlatform) { + set.add(JgyUtils.Qualcomm_TAG); } else if (platform == JgyUtils.DX11Platform) { set.add(JgyUtils.DX11_TAG); } else if (platform == JgyUtils.G12NLPlatform) { diff --git a/src/com/aoleyun/os/uiuiutils/JgyUtils.java b/src/com/aoleyun/os/uiuiutils/JgyUtils.java index 95564e2..1a9a9a2 100644 --- a/src/com/aoleyun/os/uiuiutils/JgyUtils.java +++ b/src/com/aoleyun/os/uiuiutils/JgyUtils.java @@ -45,6 +45,7 @@ public class JgyUtils { public static final int MT8768Platform = 17; public static final int AUDG104Platform = 18; public static final int seewoPlatform = 25; + public static final int QualcommPlatform = 30; public static final int DX11Platform = 31; public static final int G12NLPlatform = 32; @@ -65,6 +66,7 @@ public class JgyUtils { public static final String MT8768Tag = "MT8768"; public static final String AUDG104Tag = "AUDG104"; public static final String seewoTag = "seewo"; + public static final String Qualcomm_TAG = "QualcommA"; public static final String DX11_TAG = "DX11"; public static final String G12NL_TAG = "G12NL"; @@ -125,7 +127,10 @@ public class JgyUtils { } else if (seewoTag.equalsIgnoreCase(platform)) { Log.i(TAG, "checkAppPlatform: " + "seewo"); return seewoPlatform; - } else if (DX11_TAG.equalsIgnoreCase(platform)) { + }else if (Qualcomm_TAG.equalsIgnoreCase(platform)) { + Log.i(TAG, "checkAppPlatform: " + "QualcommA"); + return QualcommPlatform; + } else if (DX11_TAG.equalsIgnoreCase(platform)) { Log.i(TAG, "checkAppPlatform: " + "DX11"); return DX11Platform; } else if (G12NL_TAG.equalsIgnoreCase(platform)) { @@ -165,6 +170,8 @@ public class JgyUtils { getAppPlatformCallback.AppPlatform(AUDG104Platform); } else if (seewoTag.equalsIgnoreCase(platform)) { getAppPlatformCallback.AppPlatform(seewoPlatform); + } else if (Qualcomm_TAG.equalsIgnoreCase(platform)) { + getAppPlatformCallback.AppPlatform(QualcommPlatform); } else if (DX11_TAG.equalsIgnoreCase(platform)) { getAppPlatformCallback.AppPlatform(DX11Platform); } else if (G12NL_TAG.equalsIgnoreCase(platform)) { diff --git a/src/com/aoleyun/os/uiuiutils/WallpaperUtils.java b/src/com/aoleyun/os/uiuiutils/WallpaperUtils.java new file mode 100644 index 0000000..6f40fbd --- /dev/null +++ b/src/com/aoleyun/os/uiuiutils/WallpaperUtils.java @@ -0,0 +1,120 @@ +package com.aoleyun.os.uiuiutils; + +import android.app.WallpaperManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.os.AsyncTask; +import android.content.Context; +import android.os.ParcelFileDescriptor; +import android.util.Log; + +import java.io.IOException; + +public class WallpaperUtils { + + + /** + * @param lockOnly true=仅锁屏;false=按 flags 控制 + * @param flags 0 使用传统 setBitmap(主屏); + * WallpaperManager.FLAG_SYSTEM 主屏; + * WallpaperManager.FLAG_LOCK 锁屏; + * 可组合 FLAG_SYSTEM|FLAG_LOCK + */ + public static void setBitmapAsWallpaper(final Context context, + final Bitmap bmp, + final boolean lockOnly, + final int flags) { + new AsyncTask() { + @Override + protected Boolean doInBackground(Void... v) { + try { + WallpaperManager wm = WallpaperManager.getInstance(context); + if (lockOnly && android.os.Build.VERSION.SDK_INT >= 24) { + wm.setBitmap(bmp, null, true, WallpaperManager.FLAG_LOCK); + } else if (flags != 0 && android.os.Build.VERSION.SDK_INT >= 24) { + wm.setBitmap(bmp, null, true, flags); + } else { + wm.setBitmap(bmp); // 传统:设置主屏壁纸 + } + return true; + } catch (IOException e) { + Log.e("Wallpaper", "set failed", e); + return false; + } + } + }.execute(); + } + + // 获取当前主屏壁纸并重新设置(相当于“重设当前壁纸”) + public static void reapplyCurrentWallpaper(Context context) { + new AsyncTask() { + @Override + protected Bitmap doInBackground(Void... voids) { + try { + WallpaperManager wm = WallpaperManager.getInstance(context); + Drawable d = wm.getDrawable(); // 当前系统壁纸,无则返回默认 [11](@ref) + if (d instanceof BitmapDrawable) { + return ((BitmapDrawable) d).getBitmap(); + } + return null; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + @Override + protected void onPostExecute(Bitmap bmp) { + if (bmp == null) return; + setBitmapAsWallpaper(context, bmp, false, 0); + } + }.execute(); + } + + public static void reapplyLockWallpaper(Context context) { + if (android.os.Build.VERSION.SDK_INT < 24) return; + new AsyncTask() { + @Override + protected Bitmap doInBackground(Void... v) { + try { + WallpaperManager wm = WallpaperManager.getInstance(context); + ParcelFileDescriptor pfd = wm.getWallpaperFile(WallpaperManager.FLAG_LOCK); + if (pfd == null) { + pfd = wm.getWallpaperFile(WallpaperManager.FLAG_SYSTEM); + } + if (pfd == null) return null; + Bitmap bmp = BitmapFactory.decodeFileDescriptor(pfd.getFileDescriptor()); + pfd.close(); + return bmp; + } catch (Exception e) { + return null; + } + } + @Override + protected void onPostExecute(Bitmap bmp) { + if (bmp != null) setBitmapAsWallpaper(context, bmp, true, 0); + } + }.execute(); + } + + public static void applyBuiltInDefault(Context context) { + new AsyncTask() { + @Override + protected Bitmap doInBackground(Void... v) { + WallpaperManager wm = WallpaperManager.getInstance(context); + Drawable d = wm.getBuiltInDrawable(); // 框架内置默认壁纸 + if (d instanceof BitmapDrawable) { + return ((BitmapDrawable) d).getBitmap(); + } + return null; + } + + @Override + protected void onPostExecute(Bitmap bmp) { + if (bmp != null) setBitmapAsWallpaper(context, bmp, false, 0); + } + }.execute(); + } +} \ No newline at end of file