1/* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.alarmclock; 18 19import android.app.PendingIntent; 20import android.appwidget.AppWidgetManager; 21import android.content.BroadcastReceiver; 22import android.content.Context; 23import android.content.Intent; 24import android.widget.RemoteViews; 25 26/** 27 * Simple widget to show analog clock. 28 */ 29public class AnalogAppWidgetProvider extends BroadcastReceiver { 30 static final String TAG = "AnalogAppWidgetProvider"; 31 32 public void onReceive(Context context, Intent intent) { 33 String action = intent.getAction(); 34 35 if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) { 36 RemoteViews views = new RemoteViews(context.getPackageName(), 37 R.layout.analog_appwidget); 38 39 views.setOnClickPendingIntent(R.id.analog_appwidget, 40 PendingIntent.getActivity(context, 0, 41 new Intent(context, AlarmClock.class), 42 PendingIntent.FLAG_CANCEL_CURRENT)); 43 44 int[] appWidgetIds = intent.getIntArrayExtra( 45 AppWidgetManager.EXTRA_APPWIDGET_IDS); 46 47 AppWidgetManager gm = AppWidgetManager.getInstance(context); 48 gm.updateAppWidget(appWidgetIds, views); 49 } 50 } 51} 52 53