diff options
author | satok <satok@google.com> | 2010-11-20 15:46:23 +0900 |
---|---|---|
committer | satok <satok@google.com> | 2010-11-25 14:02:04 +0900 |
commit | cd7cd2969f545ad061a9b4ecd0044f15eb1b4abb (patch) | |
tree | a0fe4e4099c4aa9ab97ef4dc764e93341e2cfd7e /services/java/com/android/server/StatusBarManagerService.java | |
parent | d1544d38a2a281c4c7d39b6386cfb58ff2fabe20 (diff) |
Store the current IME's token in the system bar for changing the current IME to a shortcut IME from the system bar
Bug: 3212206
Bug: 3201828
- Added a shortcut IME button. This will be used for calling a shortcut IME (e.g. Voice input)
- Made the positions of IME buttons left aligned
- IME token is required to change IME because of the security reasons.
Change-Id: I48ba5e2509b3aa1bfd2394f9201427fa6b93c6d3
Diffstat (limited to 'services/java/com/android/server/StatusBarManagerService.java')
-rw-r--r-- | services/java/com/android/server/StatusBarManagerService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/StatusBarManagerService.java b/services/java/com/android/server/StatusBarManagerService.java index 596db572475a..cbfa4eed21db 100644 --- a/services/java/com/android/server/StatusBarManagerService.java +++ b/services/java/com/android/server/StatusBarManagerService.java @@ -73,6 +73,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub boolean mLightsOn = true; boolean mMenuVisible = false; boolean mIMEButtonVisible = false; + IBinder mIMEToken = null; private class DisableRecord implements IBinder.DeathRecipient { String pkg; @@ -257,7 +258,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub } } - public void setIMEButtonVisible(final boolean visible) { + public void setIMEButtonVisible(final IBinder token, final boolean visible) { enforceStatusBar(); if (SPEW) Slog.d(TAG, (visible?"showing":"hiding") + " IME Button"); @@ -267,11 +268,12 @@ public class StatusBarManagerService extends IStatusBarService.Stub // mIMEButtonVisible because mIMEButtonVisible may not have been set to false when the // previous IME was destroyed. mIMEButtonVisible = visible; + mIMEToken = token; mHandler.post(new Runnable() { public void run() { if (mBar != null) { try { - mBar.setIMEButtonVisible(visible); + mBar.setIMEButtonVisible(token, visible); } catch (RemoteException ex) { } } @@ -351,7 +353,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub // ================================================================================ public void registerStatusBar(IStatusBar bar, StatusBarIconList iconList, List<IBinder> notificationKeys, List<StatusBarNotification> notifications, - int switches[]) { + int switches[], List<IBinder> binders) { enforceStatusBarService(); Slog.i(TAG, "registerStatusBar bar=" + bar); @@ -370,6 +372,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub switches[1] = mLightsOn ? 1 : 0; switches[2] = mMenuVisible ? 1 : 0; switches[3] = mIMEButtonVisible ? 1 : 0; + binders.add(mIMEToken); } } |