package com.odoo.addons.mail.widgets;
import java.util.ArrayList;
import java.util.List;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
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.odoo.R;
import com.odoo.support.OUser;
public class MailWidgetConfigure extends ActionBarActivity implements
OnItemClickListener {
public static final String KEY_INBOX = "inbox";
public static final String KEY_TODO = "to-do";
public static final String KEY_TOME = "to:me";
public static final String KEY_ARCHIVE = "archive";
private static final String PREFS_NAME = "com.odoo.widgetsWidgetProvider";
List<String> mOptionsList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_mail_configure_layout);
setTitle("Widget Configure");
setResult(RESULT_CANCELED);
mOptionsList.add(getString(R.string.drawer_inbox));
mOptionsList.add(getString(R.string.drawer_todo));
mOptionsList.add(getString(R.string.drawer_tome));
mOptionsList.add(getString(R.string.drawer_archives));
initListView();
initActionbar();
if (OUser.current(this) == null) {
Toast.makeText(this, getString(R.string.toast_no_acccount_found),
Toast.LENGTH_LONG).show();
finish();
}
}
private void initActionbar() {
getActionbar().setHomeButtonEnabled(true);
getActionbar().setDisplayHomeAsUpEnabled(true);
}
private ActionBar getActionbar() {
return getSupportActionBar();
}
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);
MailWidget.updateMessageWidget(this, appWidgetManager,
new int[] { mAppWidgetId });
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, resultValue);
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
finish();
return super.onOptionsItemSelected(item);
}
}