AI 146394: Add ExampleAppWidgetConfigure to manifest and correct update issues.

This adds widget configuration to manifest so we don't crash when trying to insert.  We also correctly push a second update once prefix title has been saved; previously we showed a stale title until next widget update.  Also return the title prefix correctly for a given appWidgetId.
  BUG=1792887

Automated import of CL 146394
This commit is contained in:
Jeffrey Sharkey
2009-04-15 17:15:21 -07:00
committed by The Android Open Source Project
parent b1196f91f5
commit 28a20dae3e
2 changed files with 16 additions and 3 deletions

View File

@@ -1648,6 +1648,12 @@
</intent-filter>
</receiver>
<activity android:name=".appwidget.ExampleAppWidgetConfigure">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<receiver android:name=".appwidget.ExampleBroadcastReceiver" android:enabled="false">
<intent-filter>
<action android:name="android.intent.ACTION_TIMEZONE_CHANGED" />

View File

@@ -84,10 +84,17 @@ public class ExampleAppWidgetConfigure extends Activity {
View.OnClickListener mOnClickListener = new View.OnClickListener() {
public void onClick(View v) {
final Context context = ExampleAppWidgetConfigure.this;
// When the button is clicked, save the string in our prefs and return that they
// clicked OK.
saveTitlePref(ExampleAppWidgetConfigure.this, mAppWidgetId,
mAppWidgetPrefix.getText().toString());
String titlePrefix = mAppWidgetPrefix.getText().toString();
saveTitlePref(context, mAppWidgetId, titlePrefix);
// Push widget update to surface with newly set prefix
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ExampleAppWidgetProvider.updateAppWidget(context, appWidgetManager,
mAppWidgetId, titlePrefix);
// Make sure we pass back the original appWidgetId
Intent resultValue = new Intent();
@@ -108,7 +115,7 @@ public class ExampleAppWidgetConfigure extends Activity {
// If there is no preference saved, get the default from a resource
static String loadTitlePref(Context context, int appWidgetId) {
SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
String prefix = prefs.getString(PREF_PREFIX_KEY, null);
String prefix = prefs.getString(PREF_PREFIX_KEY + appWidgetId, null);
if (prefix != null) {
return prefix;
} else {