OSDN Git Service

Introduce SystemUI-managed alternative system bars.
authorJohn Spurlock <jspurlock@google.com>
Mon, 17 Jun 2013 11:35:46 +0000 (07:35 -0400)
committerJohn Spurlock <jspurlock@google.com>
Fri, 21 Jun 2013 21:31:25 +0000 (17:31 -0400)
commit5c4541246c6a70f53552423dc35940386788bd5f
tree046c57c05b972b2a5e8929fd9cd748d365a592e9
parente36b93575f14239ff38ea8b71e39e41b0312326b
Introduce SystemUI-managed alternative system bars.

If a service component is defined in a new secure setting,
SystemUI will attempt to use that service as the status bar
provider.

Falls back to the existing in-process implementation configured
in the product config if the setting is missing or invalid.

Nothing changes yet from a permission point of view.  Alternative
system bar implementations still require the status bar permission.

Also nothing changes from an api point of view.  Alternative
system bar implementations use the existing IStatusBar interface.

This simply enables testing alternative system bar implementations
installed from other trusted, platform-signed packages.

Known caveat: the setting is stored per user, multi-user changes
will be handled in a future CL.

Change-Id: I0413df185f7e75f77ad2ae1bc3689306d5e6e0fb
core/java/android/provider/Settings.java
packages/SystemUI/src/com/android/systemui/SystemUIService.java
packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java [new file with mode: 0644]
packages/SystemUI/src/com/android/systemui/statusbar/SystemBars.java [new file with mode: 0644]
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java