package net.dev123.yibo;
import java.util.Date;
import net.dev123.commons.util.TimeSpanUtil;
import net.dev123.yibo.common.Constants;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.RemoteViews;
public class RollerWidget extends AppWidgetProvider {
private static final String TAG = "RollerWidget";
private static RollerWidgetWrap widgetWrap;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
initDefaultWidget(context);
Intent serviceIntent = new Intent(context, RollerWidgetService.class);
context.startService(serviceIntent);
if (Constants.DEBUG) Log.d(TAG, "onUpdate");
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
String action = intent.getAction();
if (RollerWidgetWrap.ALART_ACTION.equals(action)) {
if (widgetWrap == null) {
widgetWrap = new RollerWidgetWrap();
Intent serviceIntent = new Intent(context, RollerWidgetService.class);
context.startService(serviceIntent);
}
widgetWrap.onReceive(context, intent);
}
if (Constants.DEBUG) Log.d(TAG, "onReceive");
}
@Override
public void onDisabled(Context context) {
super.onDisabled(context);
if (Constants.DEBUG) Log.d(TAG, "onDisabled");
}
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
super.onDeleted(context, appWidgetIds);
Intent serviceIntent = new Intent(context, RollerWidgetService.class);
context.stopService(serviceIntent);
if (Constants.DEBUG) Log.d(TAG, "onDeleted");
}
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
if (Constants.DEBUG) Log.d(TAG, "onEnabled");
}
private void initDefaultWidget(Context context) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_roller);
remoteViews.setImageViewResource(R.id.ivProfilePicture, R.drawable.icon_header_default_min);
remoteViews.setTextViewText(R.id.tvCreateAt, TimeSpanUtil.toTimeSpanString(new Date()));
String page = "0/0";
remoteViews.setTextViewText(R.id.tvPage, page);
ComponentName thisWidget = new ComponentName(context, RollerWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, remoteViews);
}
}