Skip to content

Commit afc8cc5

Browse files
committed
opt: delete InitPackageResources (fix: some apps crash, like global home)
1 parent 8c30b50 commit afc8cc5

File tree

8 files changed

+78
-49
lines changed

8 files changed

+78
-49
lines changed

app/src/main/java/com/sevtinge/hyperceiler/XposedInit.java

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import de.robv.android.xposed.callbacks.XC_InitPackageResources;
4040
import de.robv.android.xposed.callbacks.XC_LoadPackage;
4141

42-
public class XposedInit extends BaseXposedInit implements IXposedHookInitPackageResources, IXposedHookZygoteInit, IXposedHookLoadPackage {
42+
public class XposedInit extends BaseXposedInit implements IXposedHookZygoteInit, IXposedHookLoadPackage {
4343
private final String TAG = "HyperCeiler";
4444

4545
@Override
@@ -72,30 +72,4 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Th
7272
init(lpparam);
7373
new SystemFrameworkForCorePatch().handleLoadPackage(lpparam);
7474
}
75-
76-
@Override
77-
public void handleInitPackageResources(XC_InitPackageResources.InitPackageResourcesParam resparam) throws Throwable {
78-
switch (resparam.packageName) {
79-
case "com.miui.tsmclient":
80-
if (mPrefsMap.getBoolean("tsmclient_auto_nfc")) {
81-
AutoNfc.INSTANCE.initResource(resparam);
82-
}
83-
break;
84-
85-
case "com.miui.home":
86-
if (mPrefsMap.getBoolean("home_other_icon_monet_color")) {
87-
EnableIconMonetColor.INSTANCE.initResource(resparam);
88-
}
89-
if (mPrefsMap.getBoolean("home_other_allow_share_apk")) {
90-
new AllowShareApk().initResource(resparam);
91-
}
92-
break;
93-
94-
case "com.miui.securitycenter":
95-
if (mPrefsMap.getBoolean("security_center_sidebar_line_color")) {
96-
SidebarLineCustom.INSTANCE.initResource(resparam);
97-
}
98-
break;
99-
}
100-
}
10175
}

app/src/main/java/com/sevtinge/hyperceiler/module/app/Home.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
import com.sevtinge.hyperceiler.module.hook.home.title.DisableHideFile;
112112
import com.sevtinge.hyperceiler.module.hook.home.title.DisableHideTheme;
113113
import com.sevtinge.hyperceiler.module.hook.home.title.DownloadAnimation;
114+
import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonetColor;
114115
import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonoChrome;
115116
import com.sevtinge.hyperceiler.module.hook.home.title.FakeNonDefaultIcon;
116117
import com.sevtinge.hyperceiler.module.hook.home.title.FixAnimation;
@@ -300,6 +301,10 @@ public void handleLoadPackage() {
300301
initHook(EnableMoreSetting.INSTANCE, mMoreSetting);
301302
initHook(EnableHideGestureLine.INSTANCE, mMoreSetting);
302303
}
304+
305+
//reshook
306+
initHook(EnableIconMonetColor.INSTANCE, mPrefsMap.getBoolean("home_other_icon_monet_color"));
307+
initHook(new AllowShareApk(), mPrefsMap.getBoolean("home_other_allow_share_apk"));
303308
}
304309

305310
}

app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,8 @@ public void handleLoadPackage() {
144144

145145
// initHook(new EnableGameSpeed(), mPrefsMap.getBoolean("security_center_game_speed"));
146146

147+
//reshook
148+
initHook(SidebarLineCustom.INSTANCE, mPrefsMap.getBoolean("security_center_sidebar_line_color"));
149+
147150
}
148151
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/other/AllowShareApk.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020

2121
import android.content.Context;
2222

23-
import com.sevtinge.hyperceiler.R;
2423
import com.sevtinge.hyperceiler.module.base.BaseHook;
2524

26-
import de.robv.android.xposed.callbacks.XC_InitPackageResources;
27-
2825
public class AllowShareApk extends BaseHook{
2926
@Override
3027
public void init() throws NoSuchMethodException {
@@ -51,13 +48,4 @@ protected void before(MethodHookParam param) {
5148
//mResHook.setResReplacement("com.miui.home", "XML", "file_paths", R.xml.hook_home_file_paths);
5249

5350
}
54-
55-
public void initResource(XC_InitPackageResources.InitPackageResourcesParam resparam) throws Throwable {
56-
try {
57-
resparam.res.setReplacement("com.miui.home", "xml", "file_paths", R.xml.hook_home_file_paths);
58-
//resparam.res.setReplacement("com.miui.home", "xml", "launcher_settings", R.xml.hook_home_launcher_settings);
59-
} catch (Exception e) {
60-
logE(String.valueOf(e));
61-
}
62-
}
6351
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/title/EnableIconMonetColor.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,29 @@ package com.sevtinge.hyperceiler.module.hook.home.title
2020

2121
import android.annotation.SuppressLint
2222
import android.content.res.Resources
23+
import android.graphics.*
2324
import com.sevtinge.hyperceiler.module.base.BaseHook
2425
import com.sevtinge.hyperceiler.module.base.BaseXposedInit
2526
import de.robv.android.xposed.callbacks.XC_InitPackageResources
2627

2728
object EnableIconMonetColor : BaseHook() {
2829

29-
override fun init() {}
30-
30+
@SuppressLint("DiscouragedApi")
31+
override fun init() {
32+
val monet = "system_accent1_100"
33+
val monoColorId = Resources.getSystem().getIdentifier(monet, "color", "android")
34+
var monoColor = Resources.getSystem().getColor(monoColorId, null)
35+
if (BaseXposedInit.mPrefsMap.getBoolean("home_other_use_edit_color")) {
36+
monoColor = mPrefsMap.getInt("home_other_your_color_qwq", -1)
37+
}
38+
mResHook.setObjectReplacement(
39+
"com.miui.home",
40+
"color",
41+
"monochrome_default",
42+
Color.valueOf(monoColor)
43+
)
44+
}
45+
/*
3146
@SuppressLint("DiscouragedApi")
3247
fun initResource(resParam: XC_InitPackageResources.InitPackageResourcesParam) {
3348
val monet = "system_accent1_100"
@@ -50,5 +65,5 @@ object EnableIconMonetColor : BaseHook() {
5065
// ColorEntries.toString(),
5166
// "Monet"
5267
// )
53-
}
68+
}*/
5469
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/SidebarLineCustom.kt

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,40 @@ import de.robv.android.xposed.callbacks.XC_InitPackageResources
2424

2525
object SidebarLineCustom : BaseHook() {
2626

27-
override fun init() {}
28-
27+
override fun init() {
28+
val mSidebarLineColorDefault =
29+
mPrefsMap.getInt("security_center_sidebar_line_color_default", -1294740525)
30+
val mSidebarLineColorDark =
31+
mPrefsMap.getInt("security_center_sidebar_line_color_dark", -6842473)
32+
val mSidebarLineColorLight =
33+
mPrefsMap.getInt("security_center_sidebar_line_color_light", -872415232)
34+
logI(
35+
TAG,
36+
"com.miui.securitycenter",
37+
"mSidebarLineColorDefault is $mSidebarLineColorDefault"
38+
)
39+
logI(TAG, "com.miui.securitycenter", "mSidebarLineColorDark is $mSidebarLineColorDark")
40+
logI(TAG, "com.miui.securitycenter", "mSidebarLineColorLight is $mSidebarLineColorLight")
41+
mResHook.setResReplacement(
42+
"com.miui.securitycenter",
43+
"color",
44+
"sidebar_line_color",
45+
mSidebarLineColorDefault
46+
)
47+
mResHook.setResReplacement(
48+
"com.miui.securitycenter",
49+
"color",
50+
"sidebar_line_color_dark",
51+
mSidebarLineColorLight
52+
)
53+
mResHook.setResReplacement(
54+
"com.miui.securitycenter",
55+
"color",
56+
"sidebar_line_color_light",
57+
mSidebarLineColorDark
58+
)
59+
}
60+
/*
2961
fun initResource(resParam: XC_InitPackageResources.InitPackageResourcesParam) {
3062
val mSidebarLineColorDefault =
3163
mPrefsMap.getInt("security_center_sidebar_line_color_default", -1294740525)
@@ -58,7 +90,7 @@ object SidebarLineCustom : BaseHook() {
5890
"sidebar_line_color_light",
5991
mSidebarLineColorDark
6092
)
61-
}
93+
}*/
6294

6395

6496
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/navigation/HandleLineCustom.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public void init() throws NoSuchMethodException {
1616
int mNavigationHandleDarkColor =
1717
mPrefsMap.getInt("system_ui_navigation_handle_custom_color_dark", -1);
1818
mResHook.setObjectReplacement("com.android.systemui", "color",
19-
"navigation_bar_home_handle_dark_color", mNavigationHandleDarkColor);
19+
"navigation_bar_home_handle_dark_color", mNavigationHandleLightColor);
2020
mResHook.setObjectReplacement("com.android.systemui", "color",
21-
"navigation_bar_home_handle_light_color", mNavigationHandleLightColor);
21+
"navigation_bar_home_handle_light_color", mNavigationHandleDarkColor);
2222
}
2323
}

app/src/main/java/com/sevtinge/hyperceiler/module/hook/tsmclient/AutoNfc.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,20 @@ object AutoNfc : BaseHook() {
7272
}
7373
}
7474
}
75+
mResHook.setResReplacement(
76+
"com.miui.tsmclient",
77+
"string",
78+
"nfc_off_hint",
79+
R.string.tsmclient_nfc_turning_on
80+
)
81+
mResHook.setResReplacement(
82+
"com.miui.tsmclient",
83+
"string",
84+
"immediately_open",
85+
R.string.tsmclient_nfc_turn_on_manually
86+
)
7587
}
76-
88+
/*
7789
fun initResource(resparam: XC_InitPackageResources.InitPackageResourcesParam) {
7890
val moduleRes = XModuleResources.createInstance(mModulePath, resparam.res)
7991
resparam.res.setReplacement(
@@ -88,7 +100,7 @@ object AutoNfc : BaseHook() {
88100
"immediately_open",
89101
moduleRes.fwd(R.string.tsmclient_nfc_turn_on_manually)
90102
)
91-
}
103+
}*/
92104

93105
private suspend fun waitNFCEnable(context: Context, nfcAdapter: NfcAdapter) {
94106
repeat(15) {

0 commit comments

Comments
 (0)