OSDN Git Service

Clicking the analog clock widget launches the AlarmClock.
authorPatrick Scott <phanna@android.com>
Tue, 13 Oct 2009 13:06:14 +0000 (09:06 -0400)
committerPatrick Scott <phanna@android.com>
Tue, 13 Oct 2009 13:06:14 +0000 (09:06 -0400)
Bug: 2171549

res/layout/analog_appwidget.xml
src/com/android/alarmclock/AnalogAppWidgetProvider.java

index 7a32477..6a10611 100644 (file)
@@ -15,6 +15,7 @@
 -->
 
 <AnalogClock xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/analog_appwidget"
     android:dial="@drawable/appwidget_clock_dial"
     android:hand_hour="@drawable/appwidget_clock_hour"
     android:hand_minute="@drawable/appwidget_clock_minute"
index 524b1d2..c522b17 100644 (file)
 
 package com.android.alarmclock;
 
-import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.appwidget.AppWidgetManager;
 import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.res.Resources;
-import android.database.Cursor;
-import android.graphics.PorterDuff;
-import android.net.Uri;
-import android.provider.Calendar;
-import android.provider.Calendar.Attendees;
-import android.provider.Calendar.Calendars;
-import android.provider.Calendar.EventsColumns;
-import android.provider.Calendar.Instances;
-import android.provider.Calendar.Reminders;
-import android.text.format.DateFormat;
-import android.text.format.DateUtils;
-import android.util.Config;
-import android.util.Log;
-import android.view.View;
 import android.widget.RemoteViews;
 
-import java.util.Arrays;
-
 /**
  * Simple widget to show analog clock.
  */
@@ -51,13 +31,19 @@ public class AnalogAppWidgetProvider extends BroadcastReceiver {
 
     public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
-        
+
         if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) {
             RemoteViews views = new RemoteViews(context.getPackageName(),
                     R.layout.analog_appwidget);
-            
-            int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
-            
+
+            views.setOnClickPendingIntent(R.id.analog_appwidget,
+                    PendingIntent.getActivity(context, 0,
+                        new Intent(context, AlarmClock.class),
+                        PendingIntent.FLAG_CANCEL_CURRENT));
+
+            int[] appWidgetIds = intent.getIntArrayExtra(
+                    AppWidgetManager.EXTRA_APPWIDGET_IDS);
+
             AppWidgetManager gm = AppWidgetManager.getInstance(context);
             gm.updateAppWidget(appWidgetIds, views);
         }