AppWidgetProvider1x1.java :  » Widget » futonic-lockscreenswitchwidget » com » futonredemption » nokeyguard » appwidgets » Android Open Source

Android Open Source » Widget » futonic lockscreenswitchwidget 
futonic lockscreenswitchwidget » com » futonredemption » nokeyguard » appwidgets » AppWidgetProvider1x1.java
package com.futonredemption.nokeyguard.appwidgets;

import com.futonredemption.nokeyguard.Constants;
import com.futonredemption.nokeyguard.Intents;
import com.futonredemption.nokeyguard.LockScreenState;
import com.futonredemption.nokeyguard.R;

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;

public class AppWidgetProvider1x1 extends AppWidgetProvider {
  
  public void onReceive(Context context, Intent intent) {
    
    // Handle the basic AppWidget intents.
    super.onReceive(context, intent);

    // Handle non-appwidget intents.
    final String action = intent.getAction();

    if (! AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) {
      refreshWidgets(context);
    }
  }

  @Override
  public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);

    refreshWidgets(context);
  }

  private void refreshWidgets(final Context context) {
    context.startService(Intents.refreshWidgets(context));
  }

  @Override
  public void onDisabled(Context context) {
    context.startService(Intents.enableKeyguard(context));
  }

  public static void UpdateAllWidgets(final Context context, final LockScreenState state) {
    int i, len;
    final AppWidgetManager widget_manager = AppWidgetManager.getInstance(context);
    final int[] ids1x1 = widget_manager.getAppWidgetIds(new ComponentName(context, AppWidgetProvider1x1.class));

    len = ids1x1.length;
    for (i = 0; i < len; i++) {
      AppWidgetProvider1x1.UpdateWidget(context, widget_manager, ids1x1[i], state);
    }
  }

  public static void UpdateWidget(final Context context, final AppWidgetManager widgetManager, final int widgetId, final LockScreenState state) {
    RemoteViews views = null;

    views = new RemoteViews(context.getPackageName(), R.layout.appwidget_1x1);

    PendingIntent toggleIntent = null;
    int iconId = 0;
    int indicatorId = 0;

    if (state.Mode == Constants.MODE_Disabled) {
      toggleIntent = Intents.pendingEnableKeyguard(context);
      indicatorId = R.drawable.appwidget_settings_ind_off_single;
    } else if (state.Mode == Constants.MODE_ConditionalToggle) {
      toggleIntent = Intents.pendingEnableKeyguard(context);
      indicatorId = R.drawable.appwidget_settings_ind_mid_single;
    } else {
      toggleIntent = Intents.pendingDisableKeyguard(context);
      indicatorId = R.drawable.appwidget_settings_ind_on_single;
    }

    if (state.IsLockActive) {
      iconId = R.drawable.ic_appwidget_screenlock_on;
    } else {
      iconId = R.drawable.ic_appwidget_screenlock_off;
    }

    views.setOnClickPendingIntent(R.id.imgKeyguard, toggleIntent);
    views.setOnClickPendingIntent(R.id.indKeyguard, Intents.pendingShowPreferencesActivity(context));
    views.setImageViewResource(R.id.imgKeyguard, iconId);
    views.setImageViewResource(R.id.indKeyguard, indicatorId);
    widgetManager.updateAppWidget(widgetId, views);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.