diff options
Diffstat (limited to 'src/net/hoopajoo/android/SoftKeys/Keys.java')
-rw-r--r-- | src/net/hoopajoo/android/SoftKeys/Keys.java | 71 |
1 files changed, 64 insertions, 7 deletions
diff --git a/src/net/hoopajoo/android/SoftKeys/Keys.java b/src/net/hoopajoo/android/SoftKeys/Keys.java index 9a28721..ddb87dc 100644 --- a/src/net/hoopajoo/android/SoftKeys/Keys.java +++ b/src/net/hoopajoo/android/SoftKeys/Keys.java @@ -122,8 +122,13 @@ public class Keys extends Activity implements OnClickListener, OnLongClickListen // reorder the buttons, they will be in the order of the buttons[] array // default is the order from my captivate: // menu, home, back, search - int[] buttons = { R.id.menu, R.id.home, R.id.back, - R.id.search, R.id.settings, R.id.exit }; + int[] buttons = { + R.id.menu, R.id.home, + R.id.back, R.id.search, + R.id.extra_custom1, R.id.extra_custom2, + R.id.volume_down, R.id.volume_up, + R.id.sleep, + R.id.settings, R.id.exit }; // now sort the buttons, we loop from 1 to 4, find the stuff with the same // index as our index we're using, and add them to the list. This should pick @@ -149,6 +154,11 @@ public class Keys extends Activity implements OnClickListener, OnLongClickListen } } // now add choose and exit, always last + buttons[ button_index++ ] = R.id.extra_custom1; + buttons[ button_index++ ] = R.id.extra_custom2; + buttons[ button_index++ ] = R.id.volume_down; + buttons[ button_index++ ] = R.id.volume_up; + buttons[ button_index++ ] = R.id.sleep; buttons[ button_index++ ] = R.id.settings; buttons[ button_index++ ] = R.id.exit; @@ -169,11 +179,46 @@ public class Keys extends Activity implements OnClickListener, OnLongClickListen b.setVisibility( settings.getBoolean( "exitbutton", true ) ? View.VISIBLE : View.GONE ); } - - if( i == R.id.settings ) { - b.setVisibility( - settings.getBoolean( "choosebutton", true ) ? View.VISIBLE : View.GONE ); - } + } + + String pref = null; + boolean def = false; + + switch( i ) { + case R.id.settings: + pref = "choosebutton"; + def = true; + break; + + case R.id.extra_custom1: + pref = "show_extra_custom1"; + def = false; + break; + + case R.id.extra_custom2: + pref = "show_extra_custom2"; + def = false; + break; + + case R.id.volume_down: + pref = "show_volume_down"; + def = false; + break; + + case R.id.volume_up: + pref = "show_volume_up"; + def = false; + break; + + case R.id.sleep: + pref = "show_sleep"; + def = false; + break; + } + + if( pref != null ) { + b.setVisibility( + settings.getBoolean( pref, def ) ? View.VISIBLE : View.GONE ); } } } @@ -574,6 +619,18 @@ public class Keys extends Activity implements OnClickListener, OnLongClickListen this.finish(); return true; + case R.id.volume_down: + keyids.add( K.KEYID_VOLUME_DOWN ); + break; + + case R.id.volume_up: + keyids.add( K.KEYID_VOLUME_UP ); + break; + + case R.id.sleep: + keyids.add( -1 ); + break; + default: d( "Unknown click event: " + id ); return true; |