diff options
| author | Adam Cohen <adamcohen@google.com> | 2012-09-07 17:37:26 -0700 |
|---|---|---|
| committer | Adam Cohen <adamcohen@google.com> | 2012-09-11 10:53:57 -0700 |
| commit | 0aa2d42e87e4a1ed5b83f356690e465d6a3587cc (patch) | |
| tree | ce6f9c5fddd8d6664a8b369b04c7b271a86392a6 /core/java/android/appwidget/AppWidgetHostView.java | |
| parent | ce3ef0abaa17b12dc0626b06421d58bf06974ae2 (diff) | |
Adding notion of keyguard widgets
-> Persisting certain appwidget options
-> Adding ability to specify appwidget options on bind
so as to avoid AppWidgetProvider update call with no
options.
Change-Id: I5631039f19f1822b8e123b559b6353c880c0192e
Diffstat (limited to 'core/java/android/appwidget/AppWidgetHostView.java')
| -rw-r--r-- | core/java/android/appwidget/AppWidgetHostView.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java index 603ceb7626f5..c86826ff19ed 100644 --- a/core/java/android/appwidget/AppWidgetHostView.java +++ b/core/java/android/appwidget/AppWidgetHostView.java @@ -513,7 +513,17 @@ public class AppWidgetHostView extends FrameLayout { theirContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater = inflater.cloneInContext(theirContext); inflater.setFilter(sInflaterFilter); - defaultView = inflater.inflate(mInfo.initialLayout, this, false); + AppWidgetManager manager = AppWidgetManager.getInstance(mContext); + Bundle options = manager.getAppWidgetOptions(mAppWidgetId); + + int layoutId = mInfo.initialLayout; + if (options.containsKey(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY)) { + int category = options.getInt(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY); + if (category == AppWidgetProviderInfo.WIDGET_CATEGORY_KEYGUARD) { + layoutId = mInfo.initialKeyguardLayout; + } + } + defaultView = inflater.inflate(layoutId, this, false); } else { Log.w(TAG, "can't inflate defaultView because mInfo is missing"); } |
