diff options
Diffstat (limited to 'tests/appwidgets/AppWidgetHostTest/src/com/android/tests/appwidgethost/TestAppWidgetProvider.java')
-rw-r--r-- | tests/appwidgets/AppWidgetHostTest/src/com/android/tests/appwidgethost/TestAppWidgetProvider.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/appwidgets/AppWidgetHostTest/src/com/android/tests/appwidgethost/TestAppWidgetProvider.java b/tests/appwidgets/AppWidgetHostTest/src/com/android/tests/appwidgethost/TestAppWidgetProvider.java new file mode 100644 index 0000000..b5d91d4 --- /dev/null +++ b/tests/appwidgets/AppWidgetHostTest/src/com/android/tests/appwidgethost/TestAppWidgetProvider.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.appwidgethost; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.appwidget.AppWidgetManager; +import android.os.Bundle; +import android.os.SystemClock; +import android.util.Log; +import android.widget.RemoteViews; + +public class TestAppWidgetProvider extends BroadcastReceiver { + static final String TAG = "TestAppWidgetProvider"; + + static final String PREFS_NAME = "com.android.tests.appwidgethost.TestAppWidgetProvider"; + static final String PREF_PREFIX_KEY = "prefix"; + + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + Log.d(TAG, "intent=" + intent); + + if (AppWidgetManager.ACTION_APPWIDGET_ENABLED.equals(action)) { + Log.d(TAG, "ENABLED"); + } + else if (AppWidgetManager.ACTION_APPWIDGET_DISABLED.equals(action)) { + Log.d(TAG, "DISABLED"); + } + else if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) { + Log.d(TAG, "UPDATE"); + // BEGIN_INCLUDE(getExtra_EXTRA_APPWIDGET_IDS) + Bundle extras = intent.getExtras(); + int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS); + // END_INCLUDE(getExtra_EXTRA_APPWIDGET_IDS) + + SharedPreferences prefs = context.getSharedPreferences( + TestAppWidgetProvider.PREFS_NAME, 0); + String prefix = prefs.getString(PREF_PREFIX_KEY, "hai"); + + AppWidgetManager gm = AppWidgetManager.getInstance(context); + RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.test_appwidget); + views.setTextViewText(R.id.oh_hai_text, prefix + ": " + SystemClock.elapsedRealtime()); + if (false) { + gm.updateAppWidget(appWidgetIds, views); + } else { + gm.updateAppWidget(new ComponentName("com.android.tests.appwidgethost", + "com.android.tests.appwidgethost.TestAppWidgetProvider"), views); + } + } + } +} + |