diff options
Diffstat (limited to 'src/net/hoopajoo/android/SoftKeys/SoftKeysService.java')
-rw-r--r-- | src/net/hoopajoo/android/SoftKeys/SoftKeysService.java | 93 |
1 files changed, 56 insertions, 37 deletions
diff --git a/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java b/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java index 1118406..bdfe63e 100644 --- a/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java +++ b/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java @@ -71,43 +71,14 @@ public class SoftKeysService extends Service { OnClickListener c = new OnClickListener() { @Override public void onClick( View v ) { - // send an intent to the main window - Intent i = null; - boolean hide = auto_hide; - switch( v.getId() ) { - case R.id.home: - i = new Intent( Keys.ACTION_HOME ); - break; - - case R.id.back: - i = new Intent( Keys.ACTION_BACK ); - if( hide ) { - hide = auto_hide_after_back; - } - break; - - case R.id.menu: - i = new Intent( Keys.ACTION_MENU ); - break; - - case R.id.search: - i = new Intent( Keys.ACTION_SEARCH ); - break; - - case R.id.exit: - hide = true; - break; - } - - if( i != null ) { - i.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - i.setClass( v.getContext(), Keys.class ); - v.getContext().startActivity( i ); - } - - if( hide ) { - toggle_bar(); - } + genericClick( v, false ); + } + }; + + OnLongClickListener lc = new OnLongClickListener() { + @Override + public boolean onLongClick( View v ) { + return genericClick( v, true ); } }; @@ -416,6 +387,54 @@ public class SoftKeysService extends Service { } + private boolean genericClick( View v, boolean longclick) { + // send an intent to the main window + Intent i = null; + boolean hide = auto_hide; + switch( v.getId() ) { + case R.id.home: + i = new Intent( SendInput.ACTION_CODE ); + i.putExtra( "keyname", "home" ); + break; + + case R.id.back: + i = new Intent( SendInput.ACTION_CODE ); + i.putExtra( "keyname", "back" ); + if( hide ) { + hide = auto_hide_after_back; + } + break; + + case R.id.menu: + i = new Intent( SendInput.ACTION_CODE ); + i.putExtra( "keyname", "menu" ); + break; + + case R.id.search: + i = new Intent( SendInput.ACTION_CODE ); + i.putExtra( "keyname", "search" ); + break; + + case R.id.exit: + hide = true; + break; + } + + if( i != null ) { + i.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + i.putExtra( "long", longclick ); + + //i.setClass( v.getContext(), Keys.class ); + v.getContext().startActivity( i ); + } + + if( hide ) { + toggle_bar(); + } + + return true; + } + @Override public void onDestroy() { super.onDestroy(); |