Fixed bug: newly added apps didn't show up immediately
Now, whenever apps change visibility or are removed, we invalidate the bitmap cache for CellLayout
Change-Id: I883ea6cc07b1b09775bb7d262417acb34fbec3de
diff --git a/src/com/android/launcher2/LauncherAppWidgetHostView.java b/src/com/android/launcher2/LauncherAppWidgetHostView.java
index c45140e..85a80f9 100644
--- a/src/com/android/launcher2/LauncherAppWidgetHostView.java
+++ b/src/com/android/launcher2/LauncherAppWidgetHostView.java
@@ -28,13 +28,13 @@
/**
* {@inheritDoc}
*/
-public class LauncherAppWidgetHostView extends AppWidgetHostView {
+public class LauncherAppWidgetHostView extends AppWidgetHostView
+ implements VisibilityChangedBroadcaster {
private boolean mHasPerformedLongPress;
-
private CheckForLongPress mPendingCheckForLongPress;
-
private LayoutInflater mInflater;
-
+ private VisibilityChangedListener mOnVisibilityChangedListener;
+
public LauncherAppWidgetHostView(Context context) {
super(context);
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -110,4 +110,16 @@
removeCallbacks(mPendingCheckForLongPress);
}
}
+
+ public void setVisibilityChangedListener(VisibilityChangedListener listener) {
+ mOnVisibilityChangedListener = listener;
+ }
+
+ @Override
+ protected void onVisibilityChanged(View changedView, int visibility) {
+ if (mOnVisibilityChangedListener != null) {
+ mOnVisibilityChangedListener.receiveVisibilityChangedMessage(this);
+ }
+ super.onVisibilityChanged(changedView, visibility);
+ }
}