diff --git a/core/res/res/layout/autofill_save.xml b/core/res/res/layout/autofill_save.xml index dad9aad876f97..a6892c64837cc 100644 --- a/core/res/res/layout/autofill_save.xml +++ b/core/res/res/layout/autofill_save.xml @@ -40,13 +40,6 @@ android:singleLine="true"> - - - + + + MAX_SAVE_TIMEOUT_MS) { + throw new IllegalArgumentException("Maximum value is " + MAX_SAVE_TIMEOUT_MS + "ms"); + } + if (timeout <= 0) { + throw new IllegalArgumentException("Must be a positive value"); + } + mSaveTimeoutMs = timeout; + } + public void dump(PrintWriter pw) { pw.println("AufoFill UI"); final String prefix = " "; pw.print(prefix); pw.print("showsFillUi: "); pw.println(mFillUi != null); pw.print(prefix); pw.print("showsSaveUi: "); pw.println(mSaveUi != null); + pw.print(prefix); pw.print("save timeout: "); pw.println(mSaveTimeoutMs); } @android.annotation.UiThread diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java index d443dc34f9492..3f409ade68edc 100644 --- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java @@ -42,8 +42,6 @@ final class SaveUi { void onCancel(IntentSender listener); } - private static final long LIFETIME_MILLIS = 5 * DateUtils.SECOND_IN_MILLIS; - private final Handler mHandler = UiThread.getHandler(); private final @NonNull Dialog mDialog; @@ -53,7 +51,7 @@ final class SaveUi { private boolean mDestroyed; SaveUi(@NonNull Context context, @NonNull CharSequence providerLabel, @NonNull SaveInfo info, - @NonNull OnSaveListener listener) { + @NonNull OnSaveListener listener, int lifeTimeMs) { mListener = listener; final LayoutInflater inflater = LayoutInflater.from(context); @@ -119,7 +117,7 @@ final class SaveUi { mDialog.show(); - mHandler.postDelayed(() -> mListener.onCancel(null), LIFETIME_MILLIS); + mHandler.postDelayed(() -> mListener.onCancel(null), lifeTimeMs); } void destroy() {