From 3d81eb6e06c568e45180719d9fb4f3c924888557 Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 9 Jan 2023 15:53:29 +0800 Subject: [PATCH] =?UTF-8?q?+=20support=20Alipay=20version=2010.3.10.8310?= =?UTF-8?q?=20*=20=E8=B0=83=E6=95=B4=E5=BE=AE=E4=BF=A1=E6=8C=87=E7=BA=B9?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=20+=204.6.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../surcumference/fingerprint/Constant.java | 5 +- .../com/surcumference/fingerprint/Lang.java | 2 +- .../fingerprint/plugin/AlipayBasePlugin.java | 55 +++++++++++++++++-- .../fingerprint/plugin/WeChatBasePlugin.java | 13 ++++- .../plugin/magisk/AlipayPlugin.java | 6 ++ .../plugin/xposed/AlipayPlugin.java | 7 +++ .../util/paydialog/WeChatPayDialog.java | 2 - .../fingerprint/view/AlipayPayView.java | 4 +- 9 files changed, 79 insertions(+), 17 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 607b52b..ffd7f76 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 14 targetSdkVersion 30 versionCode 22 - versionName "4.5.0" + versionName "4.6.0" buildConfigField "String", "APP_PRODUCT_NAME", "\"FingerprintPay\"" } diff --git a/app/src/main/java/com/surcumference/fingerprint/Constant.java b/app/src/main/java/com/surcumference/fingerprint/Constant.java index ddc625f..dc0fb23 100644 --- a/app/src/main/java/com/surcumference/fingerprint/Constant.java +++ b/app/src/main/java/com/surcumference/fingerprint/Constant.java @@ -34,8 +34,9 @@ public class Constant { public static final String AUTHOR_QQ_NAME = "Jason Eric"; public static final String ICON_FINGER_PRINT_ALIPAY_BASE64 = "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"; - public static final String ICON_FINGER_PRINT_WECHAT_BASE64 = "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"; - public static final String ICON_FINGER_PRINT_CLOSE = "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"; + public static final String ICON_FINGER_PRINT_WECHAT_BASE64 = "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"; + public static final String ICON_FINGER_PRINT_CLOSE_BASE64 = "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"; + public static final String ICON_ALIPAY_SETTING_ENTRY_BASE64 = "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"; public static class WeChat { public static final int WECHAT_VERSION_CODE_8_0_18 = 2060; diff --git a/app/src/main/java/com/surcumference/fingerprint/Lang.java b/app/src/main/java/com/surcumference/fingerprint/Lang.java index 92d551f..f8ee39c 100644 --- a/app/src/main/java/com/surcumference/fingerprint/Lang.java +++ b/app/src/main/java/com/surcumference/fingerprint/Lang.java @@ -132,7 +132,7 @@ public static String getString(int res) { case R.id.settings_sub_title_update_modules_same_time: return tr("将同时升级以下模块", "將同時升級以下模塊", "The following modules will be upgraded at the same time"); case R.id.fingerprint_verification: - return tr("请验证已有指纹", "請驗證已有指紋", "Fingerprint verification"); + return tr("请验证指纹", "請驗證指紋", "Fingerprint verification"); case R.id.wechat_general: return tr("通用", "一般", "General"); case R.id.app_settings_name: diff --git a/app/src/main/java/com/surcumference/fingerprint/plugin/AlipayBasePlugin.java b/app/src/main/java/com/surcumference/fingerprint/plugin/AlipayBasePlugin.java index 3cb8003..4482070 100644 --- a/app/src/main/java/com/surcumference/fingerprint/plugin/AlipayBasePlugin.java +++ b/app/src/main/java/com/surcumference/fingerprint/plugin/AlipayBasePlugin.java @@ -1,5 +1,6 @@ package com.surcumference.fingerprint.plugin; +import static com.surcumference.fingerprint.Constant.ICON_ALIPAY_SETTING_ENTRY_BASE64; import static com.surcumference.fingerprint.Constant.PACKAGE_NAME_ALIPAY; import android.app.Activity; @@ -13,6 +14,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.EditText; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; @@ -26,6 +28,7 @@ import com.surcumference.fingerprint.util.BlackListUtils; import com.surcumference.fingerprint.util.Config; import com.surcumference.fingerprint.util.DpUtils; +import com.surcumference.fingerprint.util.ImageUtils; import com.surcumference.fingerprint.util.NotifyUtils; import com.surcumference.fingerprint.util.StyleUtils; import com.surcumference.fingerprint.util.Task; @@ -66,7 +69,6 @@ protected void onActivityCreated(Activity activity) { L.d("activity", activity); try { final String activityClzName = activity.getClass().getName(); - mCurrentActivity = activity; if (BuildConfig.DEBUG) { L.d("activity", activity, "clz", activityClzName); } @@ -83,6 +85,7 @@ protected void onActivityCreated(Activity activity) { return; } mIsViewTreeObserverFirst = true; + int alipayVersionCode = getAlipayVersionCode(activity); activity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(() -> { if (mCurrentActivity == null) { return; @@ -95,7 +98,21 @@ protected void onActivityCreated(Activity activity) { if (mCurrentActivity != activity) { return; } - if (ViewUtils.findViewByName(activity, (getAlipayVersionCode(activity) >= 352 /** 10.2.13.7000 */ ? "com.alipay.android.safepaysdk" : "com.alipay.android.app"), "simplePwdLayout") == null + if (alipayVersionCode >= 661 /** 10.3.10.8310 */) { + if (ViewUtils.findViewByName(activity, "com.alipay.android.phone.mobilecommon.verifyidentity", "simplePwdLayout") == null + && ViewUtils.findViewByName(activity, "com.alipay.android.phone.mobilecommon.verifyidentity", "mini_linSimplePwdComponent") == null + && ViewUtils.findViewByName(activity, "com.alipay.android.phone.mobilecommon.verifyidentity", "input_et_password") == null ) { + return; + } + + if (mIsViewTreeObserverFirst) { + if (showFingerPrintDialog(activity)) { + mIsViewTreeObserverFirst = false; + } + } + return; + } + if (ViewUtils.findViewByName(activity, (alipayVersionCode >= 352 /** 10.2.13.7000 */ ? "com.alipay.android.safepaysdk" : "com.alipay.android.app"), "simplePwdLayout") == null && ViewUtils.findViewByName(activity, "com.alipay.android.phone.safepaybase", "mini_linSimplePwdComponent") == null && ViewUtils.findViewByName(activity, "com.alipay.android.phone.safepaysdk", "mini_linSimplePwdComponent") == null && ViewUtils.findViewByName(activity, "com.alipay.android.phone.mobilecommon.verifyidentity", "input_et_password") == null ) { @@ -132,6 +149,12 @@ protected void onActivityCreated(Activity activity) { } } + + public void onActivityResumed(Activity activity) { + L.d("activity resumed", activity); + mCurrentActivity = activity; + } + public void initFingerPrintLock(final Context context, final Runnable onSuccessUnlockCallback) { mFingerprintIdentify = new FingerprintIdentify(context); mFingerprintIdentify.setSupportAndroidL(true); @@ -178,7 +201,7 @@ public void onStartFailedByDeviceLocked() { } } - public void showFingerPrintDialog(final Activity activity) { + public boolean showFingerPrintDialog(final Activity activity) { final Context context = activity; try { if (getAlipayVersionCode(activity) >= 224) { @@ -186,7 +209,7 @@ public void showFingerPrintDialog(final Activity activity) { View payTextView = ViewUtils.findViewByText(activity.getWindow().getDecorView(), "支付宝支付密码", "支付寶支付密碼", "Alipay Payment Password"); L.d("payTextView", payTextView); if (payTextView == null) { - return; + return false; } } } @@ -260,6 +283,7 @@ public void showFingerPrintDialog(final Activity activity) { Task.onMain(100, () -> mFingerPrintAlertDialog = alipayPayView.showInDialog()); } catch (OutOfMemoryError e) { } + return true; } /** @@ -321,6 +345,14 @@ private void doSettingsMenuInject_10_1_38(final Activity activity) { L.e(e); } + int versionCode = getAlipayVersionCode(activity); + if (versionCode >= 661 /** 10.3.10.8310 */) { + ImageView itemIconImageView = new ImageView(activity); + itemIconImageView.setImageBitmap(ImageUtils.base64ToBitmap(ICON_ALIPAY_SETTING_ENTRY_BASE64)); + LinearLayout.LayoutParams itemIconImageViewLayoutParams = new LinearLayout.LayoutParams(DpUtils.dip2px(activity, 24), DpUtils.dip2px(activity, 24)); + itemIconImageViewLayoutParams.leftMargin = DpUtils.dip2px(activity, 12); + itemHlinearLayout.addView(itemIconImageView, itemIconImageViewLayoutParams); + } itemHlinearLayout.addView(itemNameText, new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1)); itemHlinearLayout.addView(itemSummerText, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); @@ -330,9 +362,20 @@ private void doSettingsMenuInject_10_1_38(final Activity activity) { LinearLayout rootLinearLayout = new LinearLayout(activity); rootLinearLayout.setOrientation(LinearLayout.VERTICAL); rootLinearLayout.addView(lineTopView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1)); - rootLinearLayout.addView(itemHlinearLayout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DpUtils.dip2px(activity, 45))); LinearLayout.LayoutParams lineParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1); - lineParams.bottomMargin = DpUtils.dip2px(activity, 20); + + if (versionCode >= 661 /** 10.3.10.8310 */) { + lineTopView.setVisibility(View.INVISIBLE); + itemHlinearLayout.setBackground(new XDrawable.Builder().defaultColor(Color.WHITE) + .pressedColor(0xFFEBEBEB).round(32).create()); + lineBottomView.setVisibility(View.INVISIBLE); + lineParams.bottomMargin = DpUtils.dip2px(activity, 8); + rootLinearLayout.addView(itemHlinearLayout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DpUtils.dip2px(activity, 50))); + } else { + rootLinearLayout.addView(itemHlinearLayout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DpUtils.dip2px(activity, 45))); + lineParams.bottomMargin = DpUtils.dip2px(activity, 20); + } + rootLinearLayout.addView(lineBottomView, lineParams); listView.addHeaderView(rootLinearLayout); diff --git a/app/src/main/java/com/surcumference/fingerprint/plugin/WeChatBasePlugin.java b/app/src/main/java/com/surcumference/fingerprint/plugin/WeChatBasePlugin.java index 8262efd..c2e20c0 100644 --- a/app/src/main/java/com/surcumference/fingerprint/plugin/WeChatBasePlugin.java +++ b/app/src/main/java/com/surcumference/fingerprint/plugin/WeChatBasePlugin.java @@ -254,8 +254,9 @@ protected void onPayDialogShown(ViewGroup rootView) { RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); fingerPrintLayout.setLayoutParams(layoutParams); - ImageView fingerprintImageView = new ImageView(context); + fingerPrintLayout.setClipChildren(false); + ImageView fingerprintImageView = new ImageView(context); try { final Bitmap bitmap = ImageUtils.base64ToBitmap(Constant.ICON_FINGER_PRINT_WECHAT_BASE64); fingerprintImageView.setImageBitmap(bitmap); @@ -279,8 +280,11 @@ public void onWindowDetached() { } catch (OutOfMemoryError e) { L.d(e); } - fingerPrintLayout.addView(fingerprintImageView); - + fingerprintImageView.setScaleY(4F); + fingerprintImageView.setScaleX(4F); + RelativeLayout.LayoutParams fingerprintImageViewLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + fingerprintImageViewLayoutParams.topMargin = DpUtils.dip2px(context, 24); + fingerPrintLayout.addView(fingerprintImageView, fingerprintImageViewLayoutParams); final Runnable switchToFingerprintRunnable = ()-> { mInputEditText.setVisibility(View.GONE); @@ -290,6 +294,9 @@ public void onWindowDetached() { passwordLayout.removeView(fingerPrintLayoutLast); } passwordLayout.addView(fingerPrintLayout); + passwordLayout.setClipChildren(false); + ((ViewGroup)passwordLayout.getParent()).setClipChildren(false); + ((ViewGroup)passwordLayout.getParent().getParent()).setClipChildren(false); initFingerPrintLock(context, ()-> { BlackListUtils.applyIfNeeded(context); diff --git a/app/src/main/java/com/surcumference/fingerprint/plugin/magisk/AlipayPlugin.java b/app/src/main/java/com/surcumference/fingerprint/plugin/magisk/AlipayPlugin.java index dafd351..bc1b129 100644 --- a/app/src/main/java/com/surcumference/fingerprint/plugin/magisk/AlipayPlugin.java +++ b/app/src/main/java/com/surcumference/fingerprint/plugin/magisk/AlipayPlugin.java @@ -5,6 +5,7 @@ import android.os.Bundle; import androidx.annotation.Keep; +import androidx.annotation.NonNull; import com.surcumference.fingerprint.BuildConfig; import com.surcumference.fingerprint.bean.PluginTarget; @@ -54,6 +55,11 @@ public static void init() { public void onActivityCreated(Activity activity, Bundle savedInstanceState) { plugin.onActivityCreated(activity); } + + @Override + public void onActivityResumed(@NonNull Activity activity) { + plugin.onActivityResumed(activity); + } }); } } diff --git a/app/src/main/java/com/surcumference/fingerprint/plugin/xposed/AlipayPlugin.java b/app/src/main/java/com/surcumference/fingerprint/plugin/xposed/AlipayPlugin.java index 023d58e..57659a4 100644 --- a/app/src/main/java/com/surcumference/fingerprint/plugin/xposed/AlipayPlugin.java +++ b/app/src/main/java/com/surcumference/fingerprint/plugin/xposed/AlipayPlugin.java @@ -43,6 +43,13 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { onActivityCreated((Activity) param.thisObject); } }); + XposedHelpers.findAndHookMethod(Activity.class, "onResume", new XC_MethodHook() { + + @TargetApi(21) + protected void afterHookedMethod(MethodHookParam param) throws Throwable { + onActivityResumed((Activity) param.thisObject); + } + }); } catch (Throwable l) { XposedBridge.log(l); } diff --git a/app/src/main/java/com/surcumference/fingerprint/util/paydialog/WeChatPayDialog.java b/app/src/main/java/com/surcumference/fingerprint/util/paydialog/WeChatPayDialog.java index 32bca5f..8403649 100644 --- a/app/src/main/java/com/surcumference/fingerprint/util/paydialog/WeChatPayDialog.java +++ b/app/src/main/java/com/surcumference/fingerprint/util/paydialog/WeChatPayDialog.java @@ -1,6 +1,5 @@ package com.surcumference.fingerprint.util.paydialog; -import android.graphics.Color; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; @@ -49,7 +48,6 @@ public static WeChatPayDialog findFrom(int versionCode, ViewGroup rootView) { } if (view instanceof EditText) { payDialog.inputEditText = (EditText)view; - view.setBackgroundColor(Color.RED); } } else if (view.getClass().getName().endsWith(".MyKeyboardWindow")) { L.d("密码键盘:" + view); diff --git a/app/src/main/java/com/surcumference/fingerprint/view/AlipayPayView.java b/app/src/main/java/com/surcumference/fingerprint/view/AlipayPayView.java index 5758b01..050debe 100644 --- a/app/src/main/java/com/surcumference/fingerprint/view/AlipayPayView.java +++ b/app/src/main/java/com/surcumference/fingerprint/view/AlipayPayView.java @@ -1,7 +1,7 @@ package com.surcumference.fingerprint.view; import static com.surcumference.fingerprint.Constant.ICON_FINGER_PRINT_ALIPAY_BASE64; -import static com.surcumference.fingerprint.Constant.ICON_FINGER_PRINT_CLOSE; +import static com.surcumference.fingerprint.Constant.ICON_FINGER_PRINT_CLOSE_BASE64; import android.app.AlertDialog; import android.content.Context; @@ -61,7 +61,7 @@ private void init(Context context) { mCloseImageContainer = new FrameLayout(context); ImageView closeImage = new ImageView(context); - closeImage.setImageBitmap(ImageUtils.base64ToBitmap(ICON_FINGER_PRINT_CLOSE)); + closeImage.setImageBitmap(ImageUtils.base64ToBitmap(ICON_FINGER_PRINT_CLOSE_BASE64)); mCloseImageContainer.setPadding(DpUtils.dip2px(context, 10),DpUtils.dip2px(context, 15),DpUtils.dip2px(context, 15),DpUtils.dip2px(context, 10)); mCloseImageContainer.addView(closeImage, new FrameLayout.LayoutParams(DpUtils.dip2px(context, 22), DpUtils.dip2px(context, 22)));