diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-08-11 17:05:23 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-08-12 16:00:03 -0700 |
commit | 0fc1be164e982433e619bcbb16aa67e28ff681ef (patch) | |
tree | b72e41365906b7619407950d41375afb6eed5dc3 /src/com/android/launcher3/LauncherAppWidgetHost.java | |
parent | 0fe505bf82a265e51c556d7204976651cde7f55c (diff) | |
download | android_packages_apps_Trebuchet-0fc1be164e982433e619bcbb16aa67e28ff681ef.tar.gz android_packages_apps_Trebuchet-0fc1be164e982433e619bcbb16aa67e28ff681ef.tar.bz2 android_packages_apps_Trebuchet-0fc1be164e982433e619bcbb16aa67e28ff681ef.zip |
Updating the ui for widget restore flow
> Pending widget show a PreloadIconDrawable to indicate
installation progress
> Only the concerned widgets are reinflated on package
install and not the whole workspace.
> Adding support for storing default package icon in
IconCache
issue: 10779035
issue: 16737660
Change-Id: Id787ae4a5ef72d6e01aeb5a1bae5ab8840037679
Diffstat (limited to 'src/com/android/launcher3/LauncherAppWidgetHost.java')
-rw-r--r-- | src/com/android/launcher3/LauncherAppWidgetHost.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/launcher3/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java index fa5e38f8b..a309f268c 100644 --- a/src/com/android/launcher3/LauncherAppWidgetHost.java +++ b/src/com/android/launcher3/LauncherAppWidgetHost.java @@ -22,6 +22,8 @@ import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.os.TransactionTooLargeException; +import java.util.ArrayList; + /** * Specific {@link AppWidgetHost} that creates our {@link LauncherAppWidgetHostView} * which correctly captures all long-press events. This ensures that users can @@ -29,6 +31,8 @@ import android.os.TransactionTooLargeException; */ public class LauncherAppWidgetHost extends AppWidgetHost { + private final ArrayList<Runnable> mProviderChangeListeners = new ArrayList<Runnable>(); + Launcher mLauncher; public LauncherAppWidgetHost(Launcher launcher, int hostId) { @@ -64,9 +68,21 @@ public class LauncherAppWidgetHost extends AppWidgetHost { clearViews(); } + public void addProviderChangeListener(Runnable callback) { + mProviderChangeListeners.add(callback); + } + + public void removeProviderChangeListener(Runnable callback) { + mProviderChangeListeners.remove(callback); + } + protected void onProvidersChanged() { // Once we get the message that widget packages are updated, we need to rebind items // in AppsCustomize accordingly. mLauncher.bindPackagesUpdated(LauncherModel.getSortedWidgetsAndShortcuts(mLauncher)); + + for (Runnable callback : mProviderChangeListeners) { + callback.run(); + } } } |