diff options
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 1 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherAppWidgetHost.java | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 0a20fa48d..d576041d3 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -3500,6 +3500,7 @@ public class Launcher extends Activity .commit(); } + mAppWidgetHost.setQsbWidgetId(widgetId); if (widgetId != -1) { mQsb = mAppWidgetHost.createView(this, widgetId, searchProvider); mQsb.updateAppWidgetOptions(opts); diff --git a/src/com/android/launcher3/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java index c274f2ecd..de7c61000 100644 --- a/src/com/android/launcher3/LauncherAppWidgetHost.java +++ b/src/com/android/launcher3/LauncherAppWidgetHost.java @@ -22,6 +22,7 @@ import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.os.TransactionTooLargeException; import android.view.LayoutInflater; +import android.view.View; import java.util.ArrayList; @@ -35,16 +36,31 @@ public class LauncherAppWidgetHost extends AppWidgetHost { private final ArrayList<Runnable> mProviderChangeListeners = new ArrayList<Runnable>(); - Launcher mLauncher; + private int mQsbWidgetId = -1; + private Launcher mLauncher; public LauncherAppWidgetHost(Launcher launcher, int hostId) { super(launcher, hostId); mLauncher = launcher; } + public void setQsbWidgetId(int widgetId) { + mQsbWidgetId = widgetId; + } + @Override protected AppWidgetHostView onCreateView(Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { + if (appWidgetId == mQsbWidgetId) { + return new LauncherAppWidgetHostView(context) { + + @Override + protected View getErrorView() { + // For the QSB, show an empty view instead of an error view. + return new View(getContext()); + } + }; + } return new LauncherAppWidgetHostView(context); } |