From 3fc648d3b792f63d3b99509300a602d23c842433 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 25 Jan 2016 17:28:37 -0800 Subject: [PATCH] Preventing a Runtime widget crash from crashing the Launcher Bug: 26750103 Change-Id: I31f120bb0c4d64b903b3dd5dae0ae46f95bcdf59 --- .../launcher3/LauncherAppWidgetHostView.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/com/android/launcher3/LauncherAppWidgetHostView.java b/src/com/android/launcher3/LauncherAppWidgetHostView.java index c49d43fb1d..18ae753c92 100644 --- a/src/com/android/launcher3/LauncherAppWidgetHostView.java +++ b/src/com/android/launcher3/LauncherAppWidgetHostView.java @@ -267,4 +267,19 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc getOnFocusChangeListener().onFocusChange(this, focused || isFocused()); } } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + try { + super.onLayout(changed, left, top, right, bottom); + } catch (final RuntimeException e) { + post(new Runnable() { + @Override + public void run() { + // Update the widget with 0 Layout id, to reset the view to error view. + updateAppWidget(new RemoteViews(getAppWidgetInfo().provider.getPackageName(), 0)); + } + }); + } + } }