package co.sfng.calendarwidget;
import android.app.Activity;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.View.OnClickListener;
public class AppWidgetConfigureActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize SharedPreferences with default values if it hasn't already.
PreferenceManager.setDefaultValues(getApplicationContext(), R.xml.preferences, false);
setContentView(R.layout.appwidget_settings);
findViewById(R.id.ok_button).setOnClickListener(mOnClickListener);
}
@Override
protected void onPause() {
super.onPause();
refreshWidgets();
}
private OnClickListener mOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
refreshWidgets();
finish();
}
};
private void refreshWidgets() {
// Obtain all app widget IDs.
Context context = getApplicationContext();
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName cn = new ComponentName(context, CalendarWidgetProvider.class);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(cn);
if (appWidgetIds != null && appWidgetIds.length != 0) {
// Broadcast update action to all running app widgets.
Intent intent = new Intent(context, CalendarWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
context.sendBroadcast(intent);
}
}
}