History log of /frameworks/base/services/java/com/android/server/StatusBarManagerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9764218ff979f735aee2f1189e3547d5f3b02f83 29-Jul-2013 John Spurlock <jspurlock@google.com> Collapse/disable shade when hiding status bar window.

Provide system bar window visibility (showing/hiding) to sysui,
information it did not have before.

Use this new info to disable shade interaction when bars are hiding.

Bug: 8682123
Change-Id: I4105b789866f847582af1c68a703240d773fa71e
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
5feceebb892d4cb5777cea3c6174b206705d456b 23-Mar-2013 Daniel Sandler <dsandler@android.com> New NotificationListenerService.

This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.

Use this power wisely.

This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]

Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
8f3e6d5c836353444082e4696f5e933266384580 29-Nov-2012 John Spurlock <jspurlock@google.com> Fix multiuser bug in StatusBarManagerService.

First, do no harm.

Bug:7638210
Change-Id: I113b574a021d601b0c79d65a3b4b72eeb4c667ad
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
4e6922d89e72e79a8ab31ae2cb8a19d85bee91f8 04-Oct-2012 John Spurlock <jspurlock@google.com> Reset status bar in keyguard, fix MU status bar bug.

Two things going on here, status bar disabled flags need to be reset
on user switch. Also make status bar's internal disable-record lookup
multi-user aware.

Bug:7278793
Change-Id: I1d7088d956a065330736da4c09cc1874c528c133
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
13451a25fff12c1429f9ecdc24b2aa7696359f7d 28-Sep-2012 John Spurlock <jspurlock@google.com> Status bar: Keep disabled state per user.

Bug:7165607
Change-Id: If6f7a41c2516996612aef5e013dd0d2bd23f9084
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
11cf178100e71d3f9f34ab5865e03a277c5eadaa 27-Sep-2012 Daniel Sandler <dsandler@android.com> Cleanup internal status bar APIs.

IStatusBarService.collapseQuickSettings is gone;
collapseNotifications is now collapsePanels, which does what
collapse() used to do. Similarly,
IStatusBar.animateCollapseQuickSettings is now simply
IStatusBar.animateCollapse().

Bug: 7245229
Change-Id: Id157d2fdf34926d3c85ffa8b81c741a5359aede4
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
c91fb5875bfd7f91d50d6fe939873872b53c8b2f 26-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "Adding a global accessibility action to open quick settings." into jb-mr1-dev
e20a177d3f147f3011647c3bdab401f90b2c5d1d 26-Sep-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding a global accessibility action to open quick settings.

1. Added APIs for opening the quick settings to the StatusBarManagerService
and the local StatausBarManager. The new APIs are protected by the old
EXPAND_STATUS_BAR permission.
Renamed the expand* and collapse* non-public APIs that are expanding
the notifications to expandNotifications* collapseNotifications* to
better convey what they do given that this change adds
expandQuickSettings* and collapseQuickSettings*.
Added a global action to the accessibility layer to expand the quick
settings which is calling into the new status bar manager APIs.

bug:7030487

Change-Id: Ic7b46e1a132f1c0d71355f18e7c5a9a2424171c3
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
98edc951712823dbf5db2b7e9c203a0e98fc616b 25-Sep-2012 Amith Yamasani <yamasani@google.com> Load resources for the correct user

For apps that are only installed on secondary users, the SystemUI is
unable to see them by default. Added some methods to explicitly pass the
userId of the user the resources are requested for by the StatusBarIcon

Bug: 7214384

Also fix binding to remote views

Bug: 7192802

Change-Id: I5d6c5f624aa37fb231f3467f9764c8d99077a91d
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
4120375d46091df8527bb701882e056fbb0e6b06 31-Aug-2012 Dianne Hackborn <hackbod@google.com> Remove Binder.getOrigCallingUid().

Replaced all remaining places that used it with explicit user
specification.

While doing this, I ran into stuff that was creating PendingIntent
objects (that now need to specify the explicit user they are for),
which are also posting notifications... but have no way to specify
the user for the notification.

So the notification manager in the system process now also gets a
formal concept of a user associated with the notification, which
is passed in to all the necessary aidl calls. I also removed the
old deprecated aidl interface for posting/cancelling notifications,
since we now always need a user supplied.

There is more work that needs to be done here, though. For example
I think we need to be able to specify USER_ALL for a notification that
should be shown to all users (such as low storage or low battery).
Along with that, the PendingIntent creation needs to be tweaked to
be able to handle USER_CURRENT by evaluating the user at the point the
pending intent is sent.

That's for another change, however.

Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
fe0806a3b60ff54c7444a51b91353e2299ed1bca 16-May-2012 Daniel Sandler <dsandler@android.com> Removing a notification that isn't there isn't a big deal.

You shouldn't do it, but there's no need to fault your
process.

Bug: 6396830
Change-Id: I47c20b9829e4e8bb98862f33c3c52be1b5987f37
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
3a3a6cfd8ec12208ca75c0d0d871d19d76c34194 26-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new feature to let apps layout over status bar / system bar.

The main change is a few new flags you can supply to
View.setSystemUiVisibility(). One is a new visibility mode,
SYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as
the global FLAG_FULLSCREEN option for windows, but driven as
part of the system UI state.

There are also three new flags for telling the framework that you
would like to have your application's UI ignore screen
decorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going
behind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
for ignoring full screen decorations (that is the status bar).

In combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE
to have the framework report consistent insets to your application.

When using NO_NAVIGATION, when the user taps the screen we now
also automatically clear ONLY_CONTENT, so that we atomically show
both UI elements. This should make it easy for apps like video
players that want to move between fully full-screen and regular
modes.

The ActionBar has also been extended when in overlay mode so
that it will adjust the system window insets to also account
for its space, and allow it to be hidden using the new
SYSTEM_UI_FLAG_FULLSCREEN.

Change-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
7f2668c8469934ce83a5647977f6e74ab782cf07 27-Mar-2012 Michael Jurka <mikejurka@google.com> Preload recents on phones with hard nav keys

Also refactor recents code across Phone/Tablet

Change-Id: Id557c5cb0f7d9378f81c40b20511a5d98bf4078e
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
df89e65bf0fcc651d20b208c8d8d0b848fb43418 07-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix how we hide and show the nav bar.

The PhoneWindowManager is now responsible for hiding and showing
the nav bar.

For hiding, it just moves it off the screen (easy way to get a
nice slide animation on and off). At the same time, we use a
new WM facility to put up a fake input window to capture all
touch events.

When a touch event is received, we force the system UI to clear
the navigation hiding bit so it will be shown again.

This removes a bunch of code from the system UI for hiding and
showing the nav bar. Also removes the code calling from userActivity()
to the system UI, which was bad. (Also no longer using userActivity()
fixes bugs around re-showing the nav bar due to key presses and
other wrong things.)

Change-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
4519a02608b9e02a2c0dbc7dff37c21167db8f24 08-Sep-2011 Jeff Sharkey <jsharkey@android.com> Always disable() through SBMS; watch date.

Touching StatusBar.disable() directly can make the cached value over
in StatusBarManagerService stale. Instead, dispatch DISABLE_BACK
through setSystemUiVisibility() on tablets; it's unused on phones.

Also DISABLE_NOTIFICATION_TICKER when showing secure lockscreen, and
watch for TIME_CHANGED in DateView.

Bug: 5255469
Bug: 5242677
Change-Id: I4efaf9799b2f229f49d7024da5dafceacd5e08bb
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
60ee25643e0a7b8841063a4e97b0f18c51807e91 22-Jul-2011 Daniel Sandler <dsandler@google.com> The fullest of fullscreen modes.

View.setSystemUiVisibility() now properly accepts a
bitfield, including:

* SYSTEM_UI_FLAG_LOW_PROFILE: "lights out mode"
(previously known, erroneously, as STATUS_BAR_HIDDEN)

* SYSTEM_UI_FLAG_HIDE_NAVIGATION: for when you need every
single pixel on a device that also has a navigation bar

These flags are painstakingly aggregated across the entire
view hierarchy and carefully delivered to the status bar
service, which in turn gently passes them along to the bar
implementation.

To really get access to the whole screen, you need to use
HIDE_NAVIGATION in conjunction with FLAG_FULLSCREEN and
FLAG_LAYOUT_IN_SCREEN. See development/samples/Overscan for
an example of how to do this.

Change-Id: I5fbfe009d9ceebbbf71db73f14a7008ea7c1d4da
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
6179ea3196e9306d3f14361fe9ef14191b1edba6 28-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding accessibility support to the Status Bar.

1. Added content description to pretty much all animals
in the zoo including buttons in the navigation bar,
notifications and status icons for battery, signal,
data, etc.

2. Rectored to avoid ovelaying views since they block
touch exploratino. In general overlaying views
cause trouble for touch exploration and accessibility
in general.

3. Avoid sending accessibility events in case the user is
touching outside of the StatauBAr panels to avoid
confusion.

4. Added records to accessibility events in the places where
this would help the presentation. So the event comes from
a given "leaf" view and its predecessor is adding a record
to the event for itself to provide more cotext. It is up
to the accessiiblity service to choose how to present that.

bug:4686943

Change-Id: I1c1bd123d828fb10911bca92130e9a05c1f020b3
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
3b1fc47d004f6b29af8f40d181baa3460b1e3b15 13-Jun-2011 Michael Jurka <mikejurka@google.com> Port recent apps from tablet to phone

- wire up to long press on home
- remove unused recents activity
- remove duplicate recents resources in -large directories (using -sw600dp instead)
- fix issue with zoom/scale translation when recents was brought up

Change-Id: I45538ccaff49b46ac3659c4828f9e2b0cd075241
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
3fe9cc5ea6a9e1acd52144c8ae6cb0492dba34ba 15-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e95c07bd to master

Change-Id: I9af0c08a9f1c1f68661efe051a66835e850b76f6
7d04932ef5c001769ccef244f551b75773f1666b 15-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4603422: Compatibility mode button doesn't always update

We now tell the system bar every time the top activity has changed for
it to re-evaluate its UI state.

Also fix issue #: 4607102 Low rider notifications. It turns out this
was due to the change in the dialog asset; the notification UI was relying
on this having a lot of padding to make it sit above the status bar.
Now we have an explicitly mechanism to set how much it overlaps (or doesn't)
the status bar.

Change-Id: Iab5ebd86e620ff4fc4cd77206e18af962ec2830e
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
1d4d30aebd2c22627131819cabfe95f97def2c83 28-Apr-2011 Daniel Sandler <dsandler@google.com> It's lights out for you, navigation bar!

Views requesting lights out mode will cause the navbar to
disappear (this is useful for viewing videos/photos/etc
using every pixel of the screen).

But there's a catch: any user activity at all will cause the
lights to come back on and the navbar to return.

Change-Id: I535ed3ba9ae7fab3282c402be256add765395b6f
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
a924dc0db952fe32509435fdb8dc9c84a9e181f3 17-Feb-2011 Dianne Hackborn <hackbod@google.com> Start window manager refactoring.

Move all of the pieces into a new com.android.server.wm package.

Change-Id: I942b7bcfb84ee0f843f47d58e55ffc5a93c0da94
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
2992ea782fa61780d8e0de7a36a2a84622f8694b 29-Jan-2011 Jeff Brown <jeffbrown@google.com> Add "Use physical keyboard" option to system bar IME button.

Bug: 3391067
Change-Id: I136087ca4f726d0068d5983d7d3686787ba60c55
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
7bb8eeb90cf55f409a282c1f36ca08aa48c10543 28-Jan-2011 Joe Onorato <joeo@google.com> Allow the status bar disable flags to be used as View's system ui visibility fields.

Bug: 3363046
Change-Id: I50ba06ed9a4d2f5d0e0c807437aea9900f44fee9
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
857fd9b8562c29913e03ed29288bd1802d37dc60 28-Jan-2011 Joe Onorato <joeo@google.com> Plumb whether an input view is actually visible or not through from the IME
to the status bar.

Bug: 3391067
Change-Id: I049531155bf7ee0b29874916c0b5b0a45b73c09e
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
55bf3809b98dad0b8268804e684d63ea59124148 25-Jan-2011 Joe Onorato <joeo@google.com> Make TabletStatusBar call into StatusBarManagerService when it goes out of lights out mode on its
own.

Bug: 3241144
Change-Id: Id09437a4f32f1d64daa7ae65e41c99897b5964d7
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
644f9c3ad93f6674abff4143b78404cd222b5e30 25-Jan-2011 Joe Onorato <joeo@google.com> Make FLAG_FULLSCREEN not go into lights out mode anymore.

Change-Id: I4a0aa8789f537717f82df4efb6a35108e1ab1784
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
664644d9e012aa2a28ac96f305b1ce6499ec8806 24-Jan-2011 Joe Onorato <joeo@google.com> visibility ("lights out") API.

1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself. (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
cd7cd2969f545ad061a9b4ecd0044f15eb1b4abb 20-Nov-2010 satok <satok@google.com> 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
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
06e0744e9e1a04a07e2e1bf9279124223bd674da 02-Nov-2010 satok <satok@google.com> Update the subtype icon properly.

Change-Id: Ib89959d1ea13f1e6f56e6280f90532e6695c4a00
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
e4c7b3f25ee3cb8d3fba4d15a8fbb97bc83d8dd1 30-Oct-2010 Joe Onorato <joeo@google.com> Status bar: Forward the disabled state to the status bar process when it comes up.

Bug: 3108996
Change-Id: I92c2ff645dc64ca2610e3de814e0cfef6cde88c3
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
06487a58be22b100daf3f950b9a1d25c3ea42aa2 29-Oct-2010 satok <satok@google.com> Add a functionarity for showing / hiding IME button on the system bar

Bug: 3077030

- IME communicates with status bar directly.

Change-Id: Ic5b6b5b7a2b8ea62372dcc9b9c36d81b9f2db651
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
f3c3c4fd14cb4185ec6df5a4355aab8b9f4039dc 21-Oct-2010 Joe Onorato <joeo@google.com> Refactor SystemUI so the status bar isn't a Service of its own.

There is now one SystemUIService, which starts the status bar service.
Pretty soon there will be other things running in here too. This way
we don't need to have each of them started by something individually.

This also moves the choice between tablet and phone status bar into
SystemUI.apk, which seems like a much better place for it.

Change-Id: Ib69ef2f43d648764f8dbb52008f5d036a1ee07d9
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
385a753dead6ef15f2e30eae47f73e642b3ef7ed 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 368fdba4 to master

Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
431bb2269532f2514861b908d5fafda8fa64da79 19-Oct-2010 Joe Onorato <joeo@google.com> Reduce logging.

Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
e02d808abf370965c3c4e4d38af11bc69110fde2 08-Oct-2010 Daniel Sandler <dsandler@google.com> Dynamically show the menu button on the system bar.

Windows with FLAG_NEEDS_MENU_KEY (or windowNeedsMenuKey=true
in their theme) will cause the system bar to show a menu
icon. (Note that the phone's status bar currently ignores
this, but phones tend to have hardware menu keys anyway.)

Additionally, all windows whose package's SDK version is
pre-Honeycomb will have FLAG_NEEDS_MENU_KEY set by default.

Bug: 3003728

Change-Id: I2d983763a726ea4f32cd1af9b0390e30478b11d1
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
f63b0f44eb53f535a65bd83dbc1d8b95abc501da 12-Sep-2010 Joe Onorato <joeo@google.com> Connect my plumbing to dsandler's awesome lights out mode.

It took a little bit of refactoring to move the authoritative state
about whether the lights are on or not into the StatusBarManagerService,
so that if the system ui process crashes, the bar comes up in the
right mode.

Change-Id: I95cfaf8f78ca4443ded5262272ea755d44dc5d17
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
9305647eb61bb60a1f42481a0c0d208dc9bbe965 10-Sep-2010 Joe Onorato <joeo@google.com> Plumb lights out mode through from the window manager to the status bar running in the system ui process.

Lights out mode itself isn't implemented.

Change-Id: Ieeef0eb9ae5be23000f770e74e8ee66472f4c673
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
0f0b11c8719495ce559b93366fe9cd79782d791c 04-Aug-2010 Daniel Sandler <dsandler@google.com> Basic support for notification payloads in the panel.

Line-item veto is there, but allows you to cancel some
notifications you probably shouldn't be canceling. (Should
hide the "X" in those cases.)

No preference given to "sticky" notifications, because
there's no such thing yet.

Notifications are now limited to 4 visible icons, per spec.
The implementation is a total hack for now.

Change-Id: Ibdf433ae94189117f983c510fe5e0cff0bf5c44c
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
9d39d0cb361c5d3bba04a6bacf299be2162a6e92 25-Jun-2010 Dianne Hackborn <hackbod@google.com> Make bad notifications crash their application.

Implement notification manager handling of bad notifications, to
call a new activity manager to have the owner's process crashed
(if there is one).

Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
75144ea38e79e3827e69a9f5b53a6fd3a74c4df5 07-Jun-2010 Joe Onorato <joeo@android.com> Move the status bar icon list, hopefully for the last time.

Change-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
f1f259165ffaa4095afbd50fea47ed091cbc14b3 07-Jun-2010 Joe Onorato <joeo@android.com> Call into the notification manager when the panel is revealed.

This lets it turn off the LED. However, it seems like somebody broke
the notification LEDs. GRRR.

Change-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java
7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57 07-Jun-2010 Joe Onorato <joeo@android.com> Move status_bar_latest_event and LatestItemView into SystemUI.apk.

Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package. (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java