From 499cb9f516062b654952d282f211bee44c31a3c2 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Fri, 16 Jul 2010 11:18:17 -0700 Subject: Initial changes to allow collections in widgets. Change-Id: I3cfa899bae88cd252912cecebc12e93c27a3b7c9 --- core/java/android/appwidget/AppWidgetHostView.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'core/java/android/appwidget/AppWidgetHostView.java') diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java index 3c19ea3d444b..22f4266e5b50 100644 --- a/core/java/android/appwidget/AppWidgetHostView.java +++ b/core/java/android/appwidget/AppWidgetHostView.java @@ -32,6 +32,9 @@ import android.util.SparseArray; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; +import android.widget.Adapter; +import android.widget.AdapterView; +import android.widget.BaseAdapter; import android.widget.FrameLayout; import android.widget.RemoteViews; import android.widget.TextView; @@ -257,6 +260,22 @@ public class AppWidgetHostView extends FrameLayout { } } + /** + * Process data-changed notifications for the specified view in the specified + * set of {@link RemoteViews} views. + */ + void viewDataChanged(RemoteViews remoteViews, int viewId) { + View v = findViewById(viewId); + if ((v != null) && (v instanceof AdapterView)) { + AdapterView adapterView = (AdapterView) v; + Adapter adapter = adapterView.getAdapter(); + if (adapter instanceof BaseAdapter) { + BaseAdapter baseAdapter = (BaseAdapter) adapter; + baseAdapter.notifyDataSetChanged(); + } + } + } + /** * Build a {@link Context} cloned into another package name, usually for the * purposes of reading remote resources. -- cgit v1.2.3