package com.openerp.widgets.message; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.appwidget.AppWidgetManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import com.openerp.R; import com.openerp.support.OEUser; public class MessageWidgetConfigure extends Activity implements OnItemClickListener { public static final String KEY_INBOX = "KEY_INBOX"; public static final String KEY_TODO = "KEY_TODO"; public static final String KEY_TOME = "KEY_TOME"; public static final String KEY_ARCHIVE = "KEY_ARCHIVE"; private static final String PREFS_NAME = "com.openerp.widgetsWidgetProvider"; List<String> mOptionsList = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.widget_message_configure_layout); setTitle("Widget Configure"); setResult(RESULT_CANCELED); mOptionsList.add("Inbox"); mOptionsList.add("To-Do"); mOptionsList.add("To:me"); mOptionsList.add("Archive"); initListView(); if (OEUser.current(this) == null) { Toast.makeText(this, "No account found", Toast.LENGTH_LONG).show(); finish(); } } private void initListView() { ListView lstOptions = (ListView) findViewById(R.id.widgetMessageConfigure); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mOptionsList); lstOptions.setAdapter(adapter); lstOptions.setOnItemClickListener(this); } static void savePref(Context context, int appWidgetId, String key, String value) { SharedPreferences.Editor prefs = context.getSharedPreferences( PREFS_NAME, 0).edit(); prefs.putString(key + "_" + appWidgetId, value); prefs.commit(); } static String getPref(Context context, int appWidgetId, String key) { SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0); String value = prefs.getString(key + "_" + appWidgetId, ""); return value; } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Intent intent = getIntent(); Bundle extras = intent.getExtras(); int mAppWidgetId = 0; if (extras != null) { mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); } savePref(this, mAppWidgetId, "message_filter", mOptionsList.get(position).toString()); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this); MessageWidget.updateWidget(this, appWidgetManager, new int[] { mAppWidgetId }); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId); setResult(RESULT_OK, resultValue); finish(); } }