Skip to content

Commit 9db4b55

Browse files
authored
Merge pull request #259 from HdShare/fix-8066
简单适配微信8.0.66及以上设置页面
2 parents a2e737b + 9145ee6 commit 9db4b55

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

app/src/main/java/com/surcumference/fingerprint/plugin/impl/wechat/WeChatBasePlugin.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import com.wei.android.lib.fingerprintidentify.bean.FingerprintIdentifyFailInfo;
4949

5050
import java.lang.reflect.Field;
51+
import java.lang.reflect.Method;
5152
import java.util.ArrayList;
5253
import java.util.List;
5354
import java.util.WeakHashMap;
@@ -135,6 +136,8 @@ public void onActivityResumed(Activity activity) {
135136
|| activityClzName.contains("com.tencent.mm.plugin.wallet.pwd.ui.WalletPasswordSettingUI")
136137
|| activityClzName.contains("com.tencent.mm.ui.vas.VASCommonActivity") /** 8.0.18 */) {
137138
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));
138141
} else if (getVersionCode(activity) >= Constant.WeChat.WECHAT_VERSION_CODE_8_0_20 && activityClzName.contains("com.tencent.mm.ui.LauncherUI")) {
139142
startFragmentObserver(activity);
140143
} else if (activityClzName.contains(".WalletPayUI")
@@ -646,4 +649,17 @@ protected void doSettingsMenuInject(Context context, View targetView, String tar
646649

647650
itemView.addHeaderView(settingsItemRootLLayout);
648651
}
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+
}
649665
}

0 commit comments

Comments
 (0)