Skip to content

Commit 21b755a

Browse files
committed
fix 动作太快输入失败
1 parent d74d371 commit 21b755a

File tree

2 files changed

+48
-10
lines changed

2 files changed

+48
-10
lines changed

app/src/main/java/com/yyxx/wechatfp/xposed/plugin/XposedAlipayPlugin.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -257,20 +257,39 @@ public void showFingerPrintDialog(final Activity activity) {
257257
return;
258258
}
259259

260+
Runnable onCompleteRunnable = () -> {
261+
AlertDialog dialog = mFingerPrintAlertDialog;
262+
if (dialog != null) {
263+
dialog.dismiss();
264+
}
265+
};
266+
260267
if (!tryInputGenericPassword(activity, pwd)) {
268+
boolean tryAgain = false;
261269
try {
262270
inputDigitPassword(activity, pwd);
263271
} catch (NullPointerException e) {
264-
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
272+
tryAgain = true;
265273
} catch (Exception e) {
266274
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
267275
L.e(e);
268276
}
277+
if (tryAgain) {
278+
Task.onMain(1000, ()-> {
279+
try {
280+
inputDigitPassword(activity, pwd);
281+
} catch (NullPointerException e) {
282+
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
283+
} catch (Exception e) {
284+
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
285+
L.e(e);
286+
}
287+
onCompleteRunnable.run();
288+
});
289+
return;
290+
}
269291
}
270-
AlertDialog dialog = mFingerPrintAlertDialog;
271-
if (dialog != null) {
272-
dialog.dismiss();
273-
}
292+
onCompleteRunnable.run();
274293
});
275294

276295
AlertDialog dialog = new AlertDialog.Builder(new ContextThemeWrapper(context, android.R.style.Theme_Holo_Light_Dialog_MinWidth)).setView(rootVLinearLayout).setOnDismissListener(dialogInterface -> {

app/src/main/java/com/yyxx/wechatfp/xposed/plugin/XposedTaobaoPlugin.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,20 +269,39 @@ public void showFingerPrintDialog(final Activity activity) {
269269
return;
270270
}
271271

272+
Runnable onCompleteRunnable = () -> {
273+
AlertDialog dialog = mFingerPrintAlertDialog;
274+
if (dialog != null) {
275+
dialog.dismiss();
276+
}
277+
};
278+
272279
if (!tryInputGenericPassword(activity, pwd)) {
280+
boolean tryAgain = false;
273281
try {
274282
inputDigitPassword(activity, pwd);
275283
} catch (NullPointerException e) {
276-
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
284+
tryAgain = true;
277285
} catch (Exception e) {
278286
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
279287
L.e(e);
280288
}
289+
if (tryAgain) {
290+
Task.onMain(1000, ()-> {
291+
try {
292+
inputDigitPassword(activity, pwd);
293+
} catch (NullPointerException e) {
294+
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
295+
} catch (Exception e) {
296+
Toast.makeText(context, Lang.getString(Lang.TOAST_PASSWORD_AUTO_ENTER_FAIL), Toast.LENGTH_LONG).show();
297+
L.e(e);
298+
}
299+
onCompleteRunnable.run();
300+
});
301+
return;
302+
}
281303
}
282-
AlertDialog dialog = mFingerPrintAlertDialog;
283-
if (dialog != null) {
284-
dialog.dismiss();
285-
}
304+
onCompleteRunnable.run();
286305
});
287306

288307
AlertDialog dialog = new AlertDialog.Builder(new ContextThemeWrapper(context, android.R.style.Theme_Holo_Light_Dialog_MinWidth)).setView(rootVLinearLayout).setOnDismissListener(dialogInterface -> {

0 commit comments

Comments
 (0)