Loading core/java/android/app/StatusBarManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class StatusBarManager { */ public void expand() { try { mService.activate(); mService.expand(); } catch (RemoteException ex) { // system process is dead anyway. throw new RuntimeException(ex); Loading @@ -99,7 +99,7 @@ public class StatusBarManager { */ public void collapse() { try { mService.deactivate(); mService.collapse(); } catch (RemoteException ex) { // system process is dead anyway. throw new RuntimeException(ex); Loading core/java/com/android/internal/statusbar/IStatusBar.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -23,5 +23,6 @@ oneway interface IStatusBar { void setIcon(int index, in StatusBarIcon icon); void removeIcon(int index); void disable(int state); } core/java/com/android/internal/statusbar/IStatusBarService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ import com.android.internal.statusbar.StatusBarIconList; /** @hide */ interface IStatusBarService { void activate(); void deactivate(); void expand(); void collapse(); void toggle(); void disable(int what, IBinder token, String pkg); void setIcon(String slot, String iconPackage, int iconId, int iconLevel); Loading packages/StatusBarPhone/src/com/android/policy/statusbar/phone/CommandQueue.java +23 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,12 @@ import com.android.internal.statusbar.IStatusBar; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.statusbar.StatusBarIconList; /** * This class takes the functions from IStatusBar that come in on * binder pool threads and posts messages to get them onto the main * thread, and calls onto Callbacks. It also takes care of * coalescing these calls so they don't stack up. */ class CommandQueue extends IStatusBar.Stub { private static final String TAG = "StatusBar.CommandQueue"; Loading @@ -34,6 +40,8 @@ class CommandQueue extends IStatusBar.Stub { private static final int OP_SET_ICON = 1; private static final int OP_REMOVE_ICON = 2; private static final int MSG_DISABLE = 0x00020000; private StatusBarIconList mList; private Callbacks mCallbacks; private Handler mHandler = new H(); Loading @@ -46,6 +54,7 @@ class CommandQueue extends IStatusBar.Stub { public void updateIcon(String slot, int index, int viewIndex, StatusBarIcon old, StatusBarIcon icon); public void removeIcon(String slot, int index, int viewIndex); public void disable(int state); } public CommandQueue(Callbacks callbacks, StatusBarIconList list) { Loading @@ -69,13 +78,20 @@ class CommandQueue extends IStatusBar.Stub { } } public void disable(int state) { synchronized (mList) { mHandler.removeMessages(MSG_DISABLE); mHandler.obtainMessage(MSG_DISABLE, state, 0, null).sendToTarget(); } } private final class H extends Handler { public void handleMessage(Message msg) { int what = msg.what & MSG_MASK; final int what = msg.what & MSG_MASK; switch (what) { case MSG_ICON: { int index = msg.what & INDEX_MASK; int viewIndex = mList.getViewIndex(index); final int index = msg.what & INDEX_MASK; final int viewIndex = mList.getViewIndex(index); switch (msg.arg1) { case OP_SET_ICON: { StatusBarIcon icon = (StatusBarIcon)msg.obj; Loading @@ -97,6 +113,9 @@ class CommandQueue extends IStatusBar.Stub { } break; } case MSG_DISABLE: mCallbacks.disable(msg.arg1); break; } } } Loading packages/StatusBarPhone/src/com/android/policy/statusbar/phone/PhoneStatusBarService.java +40 −4 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class PhoneStatusBarService extends StatusBarService { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_BACK: if (!down) { //TODO PhoneStatusBarService.this.deactivate(); //TODO PhoneStatusBarService.this.collapse(); } return true; } Loading Loading @@ -330,6 +330,42 @@ public class PhoneStatusBarService extends StatusBarService { mStatusIcons.removeViewAt(viewIndex); } /** * State is one or more of the DISABLE constants from StatusBarManager. */ public void disable(int state) { final int old = mDisabled; final int diff = state ^ old; mDisabled = state; if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) { if ((state & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.d(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); } } if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { if ((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes"); if (mTicking) { mTicker.halt(); } else { setNotificationIconVisibility(false, com.android.internal.R.anim.fade_out); } } else { Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: no"); if (!mExpandedVisible) { setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in); } } } else if ((diff & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) { if (mTicking && (state & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) { Slog.d(TAG, "DISABLE_NOTIFICATION_TICKER: yes"); mTicker.halt(); } } } /** * All changes to the status bar and notifications funnel through here and are batched. */ Loading Loading @@ -854,7 +890,7 @@ public class PhoneStatusBarService extends StatusBarService { // the stack trace isn't very helpful here. Just log the exception message. Slog.w(TAG, "Sending contentIntent failed: " + e); } //deactivate(); //collapse(); } } Loading Loading @@ -1224,7 +1260,7 @@ public class PhoneStatusBarService extends StatusBarService { if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) { if ((net & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.d(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); //animateCollapse(); } } if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { Loading Loading @@ -1261,7 +1297,7 @@ public class PhoneStatusBarService extends StatusBarService { String action = intent.getAction(); if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action) || Intent.ACTION_SCREEN_OFF.equals(action)) { //deactivate(); //collapse(); } else if (Telephony.Intents.SPN_STRINGS_UPDATED_ACTION.equals(action)) { updateNetworkName(intent.getBooleanExtra(Telephony.Intents.EXTRA_SHOW_SPN, false), Loading Loading
core/java/android/app/StatusBarManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class StatusBarManager { */ public void expand() { try { mService.activate(); mService.expand(); } catch (RemoteException ex) { // system process is dead anyway. throw new RuntimeException(ex); Loading @@ -99,7 +99,7 @@ public class StatusBarManager { */ public void collapse() { try { mService.deactivate(); mService.collapse(); } catch (RemoteException ex) { // system process is dead anyway. throw new RuntimeException(ex); Loading
core/java/com/android/internal/statusbar/IStatusBar.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -23,5 +23,6 @@ oneway interface IStatusBar { void setIcon(int index, in StatusBarIcon icon); void removeIcon(int index); void disable(int state); }
core/java/com/android/internal/statusbar/IStatusBarService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ import com.android.internal.statusbar.StatusBarIconList; /** @hide */ interface IStatusBarService { void activate(); void deactivate(); void expand(); void collapse(); void toggle(); void disable(int what, IBinder token, String pkg); void setIcon(String slot, String iconPackage, int iconId, int iconLevel); Loading
packages/StatusBarPhone/src/com/android/policy/statusbar/phone/CommandQueue.java +23 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,12 @@ import com.android.internal.statusbar.IStatusBar; import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.statusbar.StatusBarIconList; /** * This class takes the functions from IStatusBar that come in on * binder pool threads and posts messages to get them onto the main * thread, and calls onto Callbacks. It also takes care of * coalescing these calls so they don't stack up. */ class CommandQueue extends IStatusBar.Stub { private static final String TAG = "StatusBar.CommandQueue"; Loading @@ -34,6 +40,8 @@ class CommandQueue extends IStatusBar.Stub { private static final int OP_SET_ICON = 1; private static final int OP_REMOVE_ICON = 2; private static final int MSG_DISABLE = 0x00020000; private StatusBarIconList mList; private Callbacks mCallbacks; private Handler mHandler = new H(); Loading @@ -46,6 +54,7 @@ class CommandQueue extends IStatusBar.Stub { public void updateIcon(String slot, int index, int viewIndex, StatusBarIcon old, StatusBarIcon icon); public void removeIcon(String slot, int index, int viewIndex); public void disable(int state); } public CommandQueue(Callbacks callbacks, StatusBarIconList list) { Loading @@ -69,13 +78,20 @@ class CommandQueue extends IStatusBar.Stub { } } public void disable(int state) { synchronized (mList) { mHandler.removeMessages(MSG_DISABLE); mHandler.obtainMessage(MSG_DISABLE, state, 0, null).sendToTarget(); } } private final class H extends Handler { public void handleMessage(Message msg) { int what = msg.what & MSG_MASK; final int what = msg.what & MSG_MASK; switch (what) { case MSG_ICON: { int index = msg.what & INDEX_MASK; int viewIndex = mList.getViewIndex(index); final int index = msg.what & INDEX_MASK; final int viewIndex = mList.getViewIndex(index); switch (msg.arg1) { case OP_SET_ICON: { StatusBarIcon icon = (StatusBarIcon)msg.obj; Loading @@ -97,6 +113,9 @@ class CommandQueue extends IStatusBar.Stub { } break; } case MSG_DISABLE: mCallbacks.disable(msg.arg1); break; } } } Loading
packages/StatusBarPhone/src/com/android/policy/statusbar/phone/PhoneStatusBarService.java +40 −4 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class PhoneStatusBarService extends StatusBarService { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_BACK: if (!down) { //TODO PhoneStatusBarService.this.deactivate(); //TODO PhoneStatusBarService.this.collapse(); } return true; } Loading Loading @@ -330,6 +330,42 @@ public class PhoneStatusBarService extends StatusBarService { mStatusIcons.removeViewAt(viewIndex); } /** * State is one or more of the DISABLE constants from StatusBarManager. */ public void disable(int state) { final int old = mDisabled; final int diff = state ^ old; mDisabled = state; if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) { if ((state & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.d(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); } } if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { if ((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes"); if (mTicking) { mTicker.halt(); } else { setNotificationIconVisibility(false, com.android.internal.R.anim.fade_out); } } else { Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: no"); if (!mExpandedVisible) { setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in); } } } else if ((diff & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) { if (mTicking && (state & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) { Slog.d(TAG, "DISABLE_NOTIFICATION_TICKER: yes"); mTicker.halt(); } } } /** * All changes to the status bar and notifications funnel through here and are batched. */ Loading Loading @@ -854,7 +890,7 @@ public class PhoneStatusBarService extends StatusBarService { // the stack trace isn't very helpful here. Just log the exception message. Slog.w(TAG, "Sending contentIntent failed: " + e); } //deactivate(); //collapse(); } } Loading Loading @@ -1224,7 +1260,7 @@ public class PhoneStatusBarService extends StatusBarService { if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) { if ((net & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.d(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); //animateCollapse(); } } if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { Loading Loading @@ -1261,7 +1297,7 @@ public class PhoneStatusBarService extends StatusBarService { String action = intent.getAction(); if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action) || Intent.ACTION_SCREEN_OFF.equals(action)) { //deactivate(); //collapse(); } else if (Telephony.Intents.SPN_STRINGS_UPDATED_ACTION.equals(action)) { updateNetworkName(intent.getBooleanExtra(Telephony.Intents.EXTRA_SHOW_SPN, false), Loading