diff options
author | Steve Slaven <bpk@hoopajoo.net> | 2011-01-10 17:52:48 (GMT) |
---|---|---|
committer | Steve Slaven <bpk@hoopajoo.net> | 2011-01-10 17:52:48 (GMT) |
commit | c14710d90c515eeb3a69026a49e92f43cc6ba881 (patch) | |
tree | 7023cbe9f97009e542c8eeab31cca5f97178e7f6 /src/net/hoopajoo | |
parent | e92a5d66a4eab093e624632f35f1e3904a06cc17 (diff) | |
download | SoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.zip SoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.tar.gz SoftKeys-c14710d90c515eeb3a69026a49e92f43cc6ba881.tar.bz2 |
Configure extra buttons activity
Diffstat (limited to 'src/net/hoopajoo')
-rw-r--r-- | src/net/hoopajoo/android/SoftKeys/ConfigureExtra.java | 133 |
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; + } + } +} |