summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorcretin45 <cretin45@gmail.com>2016-04-13 21:52:04 (GMT)
committercretin45 <cretin45@gmail.com>2016-04-13 23:17:21 (GMT)
commit5e5f8259c31ce5c628922f0ce0760df6704856bb (patch)
tree54301af2a15e5799e21b9a72209328bccf432ab5 /src
parentb607527a65b6f0276e2744bbb36aea9bfeae69a9 (diff)
downloadandroid_packages_apps_Trebuchet-5e5f8259c31ce5c628922f0ce0760df6704856bb.zip
android_packages_apps_Trebuchet-5e5f8259c31ce5c628922f0ce0760df6704856bb.tar.gz
android_packages_apps_Trebuchet-5e5f8259c31ce5c628922f0ce0760df6704856bb.tar.bz2
Trebuchet: Don't crash when AppWidgetService is unavailable
Issue-id: CYNGNOS-2437 Change-Id: Ie83f26482539a821f498e07bec6d955c849b02c7
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/Launcher.java3
-rw-r--r--src/com/android/launcher3/LauncherAppWidgetHost.java7
2 files changed, 8 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 7396933..bcff560 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -523,7 +523,6 @@ public class Launcher extends Activity
mAppWidgetManager = AppWidgetManagerCompat.getInstance(this);
mAppWidgetHost = new LauncherAppWidgetHost(this, APPWIDGET_HOST_ID);
- mAppWidgetHost.startListening();
if (sRemoteFolderManager == null) {
sRemoteFolderManager = new RemoteFolderManager(this);
@@ -1099,6 +1098,8 @@ public class Launcher extends Activity
if (mLauncherCallbacks != null) {
mLauncherCallbacks.onStart();
}
+ // If AppwidgetService failed to bind in onCreate, this will attempt binding again.
+ onAppWidgetHostReset();
}
@Override
diff --git a/src/com/android/launcher3/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java
index 6c3a1e8..6105a06 100644
--- a/src/com/android/launcher3/LauncherAppWidgetHost.java
+++ b/src/com/android/launcher3/LauncherAppWidgetHost.java
@@ -21,6 +21,7 @@ import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
import android.os.TransactionTooLargeException;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -69,6 +70,7 @@ public class LauncherAppWidgetHost extends AppWidgetHost {
try {
super.startListening();
} catch (Exception e) {
+ /*
if (e.getCause() instanceof TransactionTooLargeException) {
// We're willing to let this slide. The exception is being caused by the list of
// RemoteViews which is being passed back. The startListening relationship will
@@ -76,7 +78,10 @@ public class LauncherAppWidgetHost extends AppWidgetHost {
// widgets upon bind anyway. See issue 14255011 for more context.
} else {
throw new RuntimeException(e);
- }
+ }*/
+ // If we can't bind to the app widget service, move on. We will retry at the next
+ // onStart().
+ Log.e("LauncherAppWidgetHost", "Error binding to IAppWidgetService", e);
}
}