summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java8
-rw-r--r--services/autofill/java/com/android/server/autofill/ui/FillUi.java10
2 files changed, 17 insertions, 1 deletions
diff --git a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
index 776fa1e58db8..375a72607aa5 100644
--- a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
+++ b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java
@@ -18,6 +18,8 @@ package com.android.server.autofill.ui;
import static android.view.autofill.AutofillManager.AutofillCallback.EVENT_INPUT_HIDDEN;
import static android.view.autofill.AutofillManager.AutofillCallback.EVENT_INPUT_SHOWN;
+import static com.android.server.autofill.ui.Helper.DEBUG;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
@@ -160,7 +162,11 @@ public final class AutoFillUI {
*/
public void showFillUi(@NonNull AutofillId focusedId, @NonNull FillResponse response,
@NonNull Rect anchorBounds, @Nullable String filterText, @NonNull String packageName) {
- LogMaker log = (new LogMaker(MetricsProto.MetricsEvent.AUTOFILL_FILL_UI))
+ if (DEBUG) {
+ Slog.d(TAG, "showFillUi(): id=" + focusedId + ", bounds=" + anchorBounds + " filter="
+ + filterText);
+ }
+ final LogMaker log = (new LogMaker(MetricsProto.MetricsEvent.AUTOFILL_FILL_UI))
.setPackageName(packageName)
.addTaggedData(MetricsProto.MetricsEvent.FIELD_AUTOFILL_FILTERTEXT_LEN,
filterText == null ? 0 : filterText.length())
diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
index 85eecdf72243..f432b27103db 100644
--- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java
+++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
@@ -326,6 +326,16 @@ final class FillUi {
}
public void show(int desiredWidth, int desiredHeight, Rect anchorBounds) {
+ try {
+ // TODO: temporary workaround to avoud system_server crashes.
+ unsafelyShow(desiredWidth, desiredHeight, anchorBounds);
+ } catch (RuntimeException e) {
+ Slog.w(TAG, "Error showing Anchored window: w=" + desiredWidth + ", h="
+ + desiredHeight + ", b=" + anchorBounds, e);
+ }
+ }
+
+ private void unsafelyShow(int desiredWidth, int desiredHeight, Rect anchorBounds) {
final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.setTitle("FillUi");