package dk.thoerup.side9; import android.app.Activity; import android.appwidget.AppWidgetManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.Spinner; public class Side9Config extends Activity { int mAppWidgetId; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.config); Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); } //////////////////////////////////////////////////////////// SharedPreferences prefs = getSharedPreferences(Side9WidgetProvider.TAG, Context.MODE_PRIVATE); Button okBtn = (Button) findViewById(R.id.ok); okBtn.setOnClickListener( okListener ); CheckBox savetosd = (CheckBox) findViewById(R.id.savetosd); boolean save = prefs.getBoolean("saveimage", false); savetosd.setChecked(save); Spinner ontouch = (Spinner) findViewById(R.id.ontouch); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.ontouchtargets, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); ontouch.setAdapter(adapter); int ontouchsel = prefs.getInt("ontouch", 0); ontouch.setSelection(ontouchsel); } private void updateWidget() { AppWidgetManager mgr = AppWidgetManager.getInstance(Side9Config.this); Side9WidgetProvider prov = new Side9WidgetProvider(); int widgets[] = new int[] { mAppWidgetId }; prov.onUpdate(this, mgr, widgets ); } OnClickListener okListener = new OnClickListener() { @Override public void onClick(View v) { CheckBox savetosd = (CheckBox) findViewById(R.id.savetosd); boolean save = savetosd.isChecked(); Spinner ontouch = (Spinner) findViewById(R.id.ontouch); int ontouchsel = ontouch.getSelectedItemPosition(); SharedPreferences prefs = getSharedPreferences(Side9WidgetProvider.TAG, Context.MODE_PRIVATE); Editor edit = prefs.edit(); edit.putBoolean("saveimage", save); edit.putInt("ontouch", ontouchsel); edit.commit(); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId); //you MUST return this intent setResult(RESULT_OK, resultValue); finish(); updateWidget(); } }; }