From 60785880083405f4751c47882d8df570b7a82e69 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 23 Mar 2017 15:41:21 -0700 Subject: [PATCH] Temporarily ignore RuntimeException when displaying the UI. Change-Id: Ia01f9204736418a8f1e5027aef755d0855feab04 Fixes: 36392498 Test: manual verification by forcing an exception --- .../com/android/server/autofill/ui/AutoFillUI.java | 8 +++++++- .../java/com/android/server/autofill/ui/FillUi.java | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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 776fa1e58db83..375a72607aa5d 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 85eecdf722434..f432b27103dbb 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");