Skip to content

Commit b5120f2

Browse files
MarcLandiscodex-corp
authored andcommitted
reimplement navbar cursor keys (1/2)
AOSBfied Change-Id: Iffd8d7f98dc5ec3e5f208821e8eb09723f00b1df Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
1 parent 74e402e commit b5120f2

15 files changed

Lines changed: 161 additions & 47 deletions

File tree

core/java/android/provider/Settings.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4732,6 +4732,12 @@ public static void setShowGTalkServiceStatusForUser(ContentResolver cr, boolean
47324732
*/
47334733
public static final String NAVIGATION_BAR_WIDTH = "navigation_bar_width";
47344734

4735+
/**
4736+
* Show arrow buttons as left and right dpad keys
4737+
* @hide
4738+
*/
4739+
public static final String NAVIGATION_BAR_DPAD_KEYS = "navigation_bar_dpad_keys";
4740+
47354741
/**
47364742
* Electronic beam animation mode
47374743
* 0 = off,

core/java/com/android/internal/util/aokp/AwesomeAction.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,12 @@ public void run() {
245245
camera.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
246246
mContext.startActivity(camera);
247247
break;
248+
case ACTION_DPAD_LEFT:
249+
injectKeyDelayed(KeyEvent.KEYCODE_DPAD_LEFT);
250+
break;
251+
case ACTION_DPAD_RIGHT:
252+
injectKeyDelayed(KeyEvent.KEYCODE_DPAD_RIGHT);
253+
break;
248254
}
249255

250256
}
@@ -280,8 +286,8 @@ public void run() {
280286
final KeyEvent ev = new KeyEvent(SystemClock.uptimeMillis(),
281287
SystemClock.uptimeMillis(),
282288
KeyEvent.ACTION_DOWN, mInjectKeyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD,
283-
0,
284-
KeyEvent.FLAG_FROM_SYSTEM, InputDevice.SOURCE_KEYBOARD);
289+
0, KeyEvent.FLAG_FROM_SYSTEM | KeyEvent.FLAG_KEEP_TOUCH_MODE,
290+
InputDevice.SOURCE_KEYBOARD);
285291
InputManager.getInstance().injectInputEvent(ev,
286292
InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
287293
}
@@ -297,8 +303,9 @@ public KeyUp(int keycode) {
297303
public void run() {
298304
final KeyEvent ev = new KeyEvent(SystemClock.uptimeMillis(),
299305
SystemClock.uptimeMillis(),
300-
KeyEvent.ACTION_UP, mInjectKeyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
301-
KeyEvent.FLAG_FROM_SYSTEM, InputDevice.SOURCE_KEYBOARD);
306+
KeyEvent.ACTION_UP, mInjectKeyCode, 0, 0, KeyCharacterMap.VIRTUAL_KEYBOARD,
307+
0, KeyEvent.FLAG_FROM_SYSTEM | KeyEvent.FLAG_KEEP_TOUCH_MODE,
308+
InputDevice.SOURCE_KEYBOARD);
302309
InputManager.getInstance().injectInputEvent(ev,
303310
InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
304311
}

core/java/com/android/internal/util/aokp/AwesomeConstants.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public static enum AwesomeConstant {
6666
ACTION_ALARM { @Override public String value() { return "**alarm**";}},
6767
ACTION_UNLOCK { @Override public String value() { return "**unlock**";}},
6868
ACTION_CAMERA { @Override public String value() { return "**camera**";}},
69+
ACTION_DPAD_LEFT { @Override public String value() { return "**dpad_left**";}},
70+
ACTION_DPAD_RIGHT { @Override public String value() { return "**dpad_right**";}},
6971
ACTION_NULL { @Override public String value() { return "**null**";}},
7072
ACTION_APP { @Override public String value() { return "**app**";}};
7173
public String value() { return this.value(); }
@@ -210,6 +212,12 @@ public static String getProperName(Context context, String actionstring) {
210212
case ACTION_CAMERA:
211213
value = res.getString(com.android.internal.R.string.action_camera);
212214
break;
215+
case ACTION_DPAD_LEFT:
216+
value = res.getString(com.android.internal.R.string.action_dpad_left);
217+
break;
218+
case ACTION_DPAD_RIGHT:
219+
value = res.getString(com.android.internal.R.string.action_dpad_right);
220+
break;
213221
case ACTION_APP:
214222
value = res.getString(com.android.internal.R.string.action_app);
215223
break;
@@ -305,6 +313,12 @@ public static Drawable getActionIcon(Context context,String actionstring) {
305313
case ACTION_CAMERA:
306314
value = getSystemUIDrawable(context, "com.android.systemui:drawable/ic_lockscreen_camera");
307315
break;
316+
case ACTION_DPAD_LEFT:
317+
value = getSystemUIDrawable(context, "com.android.systemui:drawable/ic_sysbar_ime_left");
318+
break;
319+
case ACTION_DPAD_RIGHT:
320+
value = getSystemUIDrawable(context, "com.android.systemui:drawable/ic_sysbar_ime_right");
321+
break;
308322
case ACTION_APP: // APP doesn't really have an icon - it should look up
309323
//the package icon - we'll return the 'null' on just in case
310324
case ACTION_NULL:

core/java/com/android/internal/util/aokp/NavBarHelpers.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public class NavBarHelpers {
4343
AwesomeConstant.ACTION_EVENT,
4444
AwesomeConstant.ACTION_TODAY,
4545
AwesomeConstant.ACTION_ALARM,
46+
AwesomeConstant.ACTION_DPAD_LEFT,
47+
AwesomeConstant.ACTION_DPAD_RIGHT,
4648
/* these are just not implemented yet: */
4749
AwesomeConstant.ACTION_TORCH,
4850
AwesomeConstant.ACTION_WIDGETS

core/res/res/values/probam_strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
<string name="action_app_window">App Window</string>
3838
<string name="action_ribbon">AOKP Ribbon</string>
3939
<string name="action_app">Custom App/Shortcut</string>
40+
<string name="action_dpad_left">Arrow left </string>
41+
<string name="action_dpad_right">Arrow right</string>
4042

4143
<!-- Animation Strings -->
4244
<string name="animation_default">Default</string>

core/res/res/values/symbols.xml

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1983,37 +1983,40 @@
19831983
<java-symbol type="drawable" name="ic_navbar_blank" />
19841984
<java-symbol type="drawable" name="ic_navbar_blank_activated" />
19851985

1986-
<!-- Awesome Action -->
1987-
<java-symbol type="string" name="action_home"/>
1988-
<java-symbol type="string" name="action_back"/>
1989-
<java-symbol type="string" name="action_recents"/>
1990-
<java-symbol type="string" name="action_recents_gb"/>
1991-
<java-symbol type="string" name="action_search"/>
1992-
<java-symbol type="string" name="action_screenshot"/>
1993-
<java-symbol type="string" name="action_menu"/>
1994-
<java-symbol type="string" name="action_ime"/>
1995-
<java-symbol type="string" name="action_kill"/>
1996-
<java-symbol type="string" name="action_lastapp"/>
1997-
<java-symbol type="string" name="action_power"/>
1998-
<java-symbol type="string" name="action_notifications"/>
1999-
<java-symbol type="string" name="action_assist"/>
2000-
<java-symbol type="string" name="action_clockoptions"/>
2001-
<java-symbol type="string" name="action_voiceassist"/>
2002-
<java-symbol type="string" name="action_torch"/>
2003-
<java-symbol type="string" name="action_silent"/>
2004-
<java-symbol type="string" name="action_vib"/>
2005-
<java-symbol type="string" name="action_silent_vib"/>
2006-
<java-symbol type="string" name="action_event"/>
2007-
<java-symbol type="string" name="action_today"/>
2008-
<java-symbol type="string" name="action_alarm"/>
2009-
<java-symbol type="string" name="action_unlock"/>
2010-
<java-symbol type="string" name="action_camera"/>
2011-
<java-symbol type="string" name="action_null"/>
2012-
<java-symbol type="string" name="action_app"/>
2013-
<java-symbol type="string" name="action_ribbon"/>
2014-
<java-symbol type="string" name="action_widgets"/>
2015-
<java-symbol type="string" name="action_app_window"/>
2016-
<java-symbol type="string" name="app_killed_message"/>
1986+
<!-- Awesome Action -->
1987+
<java-symbol type="string" name="action_home"/>
1988+
<java-symbol type="string" name="action_back"/>
1989+
<java-symbol type="string" name="action_recents"/>
1990+
<java-symbol type="string" name="action_recents_gb"/>
1991+
<java-symbol type="string" name="action_search"/>
1992+
<java-symbol type="string" name="action_screenshot"/>
1993+
<java-symbol type="string" name="action_menu"/>
1994+
<java-symbol type="string" name="action_ime"/>
1995+
<java-symbol type="string" name="action_kill"/>
1996+
<java-symbol type="string" name="action_lastapp"/>
1997+
<java-symbol type="string" name="action_power"/>
1998+
<java-symbol type="string" name="action_notifications"/>
1999+
<java-symbol type="string" name="action_assist"/>
2000+
<java-symbol type="string" name="action_clockoptions"/>
2001+
<java-symbol type="string" name="action_voiceassist"/>
2002+
<java-symbol type="string" name="action_torch"/>
2003+
<java-symbol type="string" name="action_silent"/>
2004+
<java-symbol type="string" name="action_vib"/>
2005+
<java-symbol type="string" name="action_silent_vib"/>
2006+
<java-symbol type="string" name="action_event"/>
2007+
<java-symbol type="string" name="action_today"/>
2008+
<java-symbol type="string" name="action_alarm"/>
2009+
<java-symbol type="string" name="action_unlock"/>
2010+
<java-symbol type="string" name="action_camera"/>
2011+
<java-symbol type="string" name="action_null"/>
2012+
<java-symbol type="string" name="action_app"/>
2013+
<java-symbol type="string" name="action_ribbon"/>
2014+
<java-symbol type="string" name="action_widgets"/>
2015+
<java-symbol type="string" name="action_app_window"/>
2016+
<java-symbol type="string" name="app_killed_message"/>
2017+
<java-symbol type="string" name="action_dpad_left"/>
2018+
<java-symbol type="string" name="action_dpad_right"/>
2019+
20172020

20182021
<!-- Boot message dialog -->
20192022
<java-symbol type="drawable" name="busy_dlg_animation" />
819 Bytes
Loading
887 Bytes
Loading
916 Bytes
Loading
944 Bytes
Loading

0 commit comments

Comments
 (0)