summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Slaven <bpk@hoopajoo.net>2011-01-10 17:52:48 (GMT)
committerSteve Slaven <bpk@hoopajoo.net>2011-01-10 17:52:48 (GMT)
commitc14710d90c515eeb3a69026a49e92f43cc6ba881 (patch)
tree7023cbe9f97009e542c8eeab31cca5f97178e7f6
parente92a5d66a4eab093e624632f35f1e3904a06cc17 (diff)
downloadSoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.zip
SoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.tar.gz
SoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.tar.bz2
Configure extra buttons activity
-rw-r--r--src/net/hoopajoo/android/SoftKeys/ConfigureExtra.java133
1 files changed, 133 insertions, 0 deletions
diff --git a/src/net/hoopajoo/android/SoftKeys/ConfigureExtra.java b/src/net/hoopajoo/android/SoftKeys/ConfigureExtra.java
new file mode 100644
index 0000000..811ffff
--- /dev/null
+++ b/src/net/hoopajoo/android/SoftKeys/ConfigureExtra.java
@@ -0,0 +1,133 @@
+/*
+ *
+ * Copyright (c) 2010 Steve Slaven
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+*/
+package net.hoopajoo.android.SoftKeys;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.net.Uri;
+import android.os.Bundle;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.Spinner;
+
+public class ConfigureExtra extends Activity implements OnClickListener {
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.configure_extra);
+
+ SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences( this );
+
+ List<CustomKey> items = new ArrayList<CustomKey>();
+
+ items.add( new CustomKey( 0, "NONE" ) );
+ items.add( new CustomKey( -1, "SLEEP" ) );
+
+ for( int cnt = 1; cnt < 100; cnt++ ) {
+ String name = K.keyIdToName( cnt );
+ if( name != null ) {
+ items.add( new CustomKey( cnt, name ) );
+ }
+ }
+
+ ArrayAdapter<CustomKey> adapter = new ArrayAdapter<CustomKey>( this, android.R.layout.simple_spinner_item, items );
+
+ int i = 0;
+ for( int id : new int[] {
+ R.id.extra_custom1, R.id.extra_custom2,
+ R.id.extra_custom3, R.id.extra_custom4,
+ R.id.extra_custom5, R.id.extra_custom6
+ } ) {
+ i++;
+ String pref_name = "service_extra_custom" + i + "_keyid";
+ int keycode = settings.getInt( pref_name, 0 );
+ String keyname = K.keyIdToName( keycode );
+ if( keyname == null ) {
+ keyname = "NONE";
+ }
+ Spinner s = (Spinner)findViewById( id );
+ s.setAdapter( adapter );
+
+ int idx = 0;
+ for( CustomKey item : items ) {
+ if( item.mId == keycode ) {
+ s.setSelection( idx );
+ }
+ idx++;
+ }
+ }
+
+ findViewById( R.id.extra_modify_cancel ).setOnClickListener( this );
+ findViewById( R.id.extra_modify_save ).setOnClickListener( this );
+ }
+
+ public void onClick( View v ) {
+ if( v.getId() == R.id.extra_modify_save ) {
+ SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences( this );
+ SharedPreferences.Editor e = settings.edit();
+ int i = 0;
+ for( int id : new int[] {
+ R.id.extra_custom1, R.id.extra_custom2,
+ R.id.extra_custom3, R.id.extra_custom4,
+ R.id.extra_custom5, R.id.extra_custom6
+ } ) {
+ i++;
+ String pref_name = "service_extra_custom" + i + "_keyid";
+ Spinner s = (Spinner)findViewById( id );
+ CustomKey k = (CustomKey)s.getSelectedItem();
+ e.putInt( pref_name, k.mId );
+ }
+ e.commit();
+ ((Globals)getApplication()).restartService();
+ }
+ this.finish();
+ }
+
+ private class CustomKey {
+ public String mName;
+ public int mId;
+
+ CustomKey( int id, String name ) {
+ mName = name;
+ mId = id;
+ }
+
+ public String toString() {
+ return mName;
+ }
+ }
+}