|
48 | 48 | import com.wei.android.lib.fingerprintidentify.bean.FingerprintIdentifyFailInfo; |
49 | 49 |
|
50 | 50 | import java.lang.reflect.Field; |
| 51 | +import java.lang.reflect.Method; |
51 | 52 | import java.util.ArrayList; |
52 | 53 | import java.util.List; |
53 | 54 | import java.util.WeakHashMap; |
@@ -135,6 +136,8 @@ public void onActivityResumed(Activity activity) { |
135 | 136 | || activityClzName.contains("com.tencent.mm.plugin.wallet.pwd.ui.WalletPasswordSettingUI") |
136 | 137 | || activityClzName.contains("com.tencent.mm.ui.vas.VASCommonActivity") /** 8.0.18 */) { |
137 | 138 | Task.onMain(100, () -> doSettingsMenuInject(activity)); |
| 139 | + } else if (activityClzName.equals("com.tencent.mm.plugin.setting.ui.setting_new.MainSettingsUI") /* 8.0.66 */) { |
| 140 | + Task.onMain(100, () -> doNewSettingsMenuInject(activity)); |
138 | 141 | } else if (getVersionCode(activity) >= Constant.WeChat.WECHAT_VERSION_CODE_8_0_20 && activityClzName.contains("com.tencent.mm.ui.LauncherUI")) { |
139 | 142 | startFragmentObserver(activity); |
140 | 143 | } else if (activityClzName.contains(".WalletPayUI") |
@@ -646,4 +649,17 @@ protected void doSettingsMenuInject(Context context, View targetView, String tar |
646 | 649 |
|
647 | 650 | itemView.addHeaderView(settingsItemRootLLayout); |
648 | 651 | } |
| 652 | + |
| 653 | + protected void doNewSettingsMenuInject(final Activity activity) { |
| 654 | + try { |
| 655 | + Method mAddMenuMethod = activity.getClass().getMethod("addTextOptionMenu", int.class, String.class, MenuItem.OnMenuItemClickListener.class); |
| 656 | + mAddMenuMethod.setAccessible(true); |
| 657 | + mAddMenuMethod.invoke(activity, R.id.app_settings_name, Lang.getString(R.id.app_settings_name), (MenuItem.OnMenuItemClickListener) item -> { |
| 658 | + new SettingsView(activity).showInDialog(); |
| 659 | + return true; |
| 660 | + }); |
| 661 | + } catch (Exception e) { |
| 662 | + L.e(e); |
| 663 | + } |
| 664 | + } |
649 | 665 | } |
0 commit comments