summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherAppWidgetHost.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2014-08-11 17:05:23 -0700
committerSunny Goyal <sunnygoyal@google.com>2014-08-12 16:00:03 -0700
commit0fc1be164e982433e619bcbb16aa67e28ff681ef (patch)
treeb72e41365906b7619407950d41375afb6eed5dc3 /src/com/android/launcher3/LauncherAppWidgetHost.java
parent0fe505bf82a265e51c556d7204976651cde7f55c (diff)
downloadandroid_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.java16
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();
+ }
}
}