Previously, this status icon reflected just the incoming
call behavior:
- gone for audible (with or without vibrate),
- wiggling phone for vibrate,
- silent (speaker + X) for no audible ring or vibrate.
Now that silent mode has changed (see VIBRATE_IN_SILENT),
you can easily get into a state where this icon is
confusing by setting the incoming call ringer to *never*
vibrate but setting the overall device silent state to allow
vibration (VIBRATE_IN_SILENT=true). In this case, rocking
the volume all the way down would show a wiggling phone
(because the device is in vibrate-only mode) but the status
bar would show speaker+X (because the incoming call would
neither ring nor vibrate).
Now these two icons are consistent. This means, however,
that if this special condition is set by the user (device
vibrates in silent mode, but incoming calls should never
vibrate) and the device is in silent mode, the status bar
will show a wiggling phone even though incoming calls will
not vibrate the device. This puts the ringer on a more even
footing with other apps on the device, which may elect not
to vibrate even if VIBRATE_IN_SILENT=true overall.
Bug: 2598014
Change-Id: Ib942f68738d77ab0d9b9da4fac718ae5957c133c
For bug 2536842 to show signal strength in Emergency mode.
The STATE_EMERGENCY_ONLY of ServiceState is not in-use.
So add a hide interface to indicate Emergency mode.
Change-Id: I19398ac5e73a722dcaaf744347f961d1fa7513ac
There was a really dumb bug that was causing us to not always apply
the new configuration. As a result of fixing this, there were new
glithes in the transition between car and regular mode, so further
work here to fix that. And since I was actually working during the
night and seeing night mode, I noticed how obnoxiously bright the
status bar is compared to the car home at night, so it now nicely
dims itself when we switch to the night config. Oh and in doing
that I also found and fixed a bug in dispatching config changes to
a window (where they wouldn't get dispatched if the window didn't
resize).
FINALLY... tweak the wallpaper enter/exit animations a bit to
make them a little smoother.
Change-Id: I4e062093cbcfbc919307799a794846db2920216f
Use new method in UsbStorageActivity.
Fix moving dex files.
moveDex should be suffixed with LI since it uses Installer
Change-Id: Id5ef0254578e84b9aae2c2ac44f722eb5a0fda1c
A ServerThread holding a lock on mQueue in StatusBarService invoked a
callback in NotificationManagerService which required a lock on
mNotificationList. At the same time, a BinderThread holding a lock on
mNotificationList was attempting to post a message to StatusBarService
which requires lock on mQueue. The fix is to release the lock on mQueue
in handleMessage() before running the actions at the end of the method.
When the user taps on the enable button, it's hidden and
replaced with an indeterminate ProgressBar; this is in turn
hidden and replaced with the disable button in response to
broadcasts from the MountService. (Disabling UMS is
analogous.)
(Requires change Ic53cb370, which moves MountService's
operations out of the UI thread.)
Bug: 2483340
Change-Id: Ia25d99cd9709ee5a05316e8f05f66ca9da20aa25
Some error dialogs and related strings
MountService changes to follow unmount path when enabling ums.
Please note that MountService api setUmsEnabled does not return
error codes for now. This is a known limitation.
This is a huge usability win for average users who are
trying to transfer files: it coaches them through the
process while at the same time saving a number of steps.
If the user is just charging via USB, they're most likely
not actively using the device, in which case they won't
notice the difference.
Users with ADB turned on will see the old behavior (just the
ongoing notification, which pops the UsbStorageActivity if
tapped).
Bug: 2299129
Change-Id: Ib63a0a973dfdeb28741268fcf0e0fbc1b7be2922
- Low battery. (http://b/2320026)
- Dock/undock events.
- Keyguard lock/unlock events.
New system settings have been created to turn these on/off
and to specify the relevant sound files.
[Production notes: The provided low battery sound and dock
sounds were synthesized; the lock screen sounds are
processed samples of a ballpoint pen click mechanism.]
Bug: 2320026
Change-Id: I374285b0f94f59c7555bb8816580f5a8c802e90d
The new flag, DISABLE_NOTIFICATION_TICKER, will be used by
the car dock app (in conjunction with DISABLE_EXPAND) to
minimize distractions to the driver.
It may also be used by the secure lockscreen to avoid
leaking personal information when the screen is on but the
device is locked (e.g. when the desk dock app is running).
Change-Id: Ibc8efde7da7501767163ae0a75f7c369b824e2a2
The steps to reproduce this were kind of interesting. You needed to have
a notification with a bogus RemoteViews in the first position in the list,
and then have another notification come in with an earlier timestampe. In
that case, it would get a bad index for the new (not bogus) view that was
being added.
Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
This provides a quick fix for http://b/2298803 (if the
in-call UI comes up while the user is holding the
windowshade, the shade sticks in place and the display
becomes unresponsive).
(NB: The shade disappears immediately when the status bar is
disabled. It might be better for the shade to animate
closed; indeed, this seems to be what the code was trying to
do, but an unfortunate interaction of the animation and
touch-handling code is what caused this bug in the first
place.)
Change-Id: I92a824fe385c8d6e51993be1657b492e580f1e7b
Status bar uses the SINK_STATE_CHANGE intent to determine the icon.
This intent also has the device. Thus, we can get this intent for any
device and we update the icon wrongly. The same problem is with Wifi.
This was not commonly observed till now, but with the car dock changes
its easy to reproduce as we can get an incoming connection from the
car's bluetooth system. For Wifi, this will cause coexistance issues
especially with desk docks.
Dr No: Eastham
Bug: 2133530
Follow up to bug 2195678. This was one of the reprocussions that
I was worried about with respect to that bug, so I'm counting
Dr. No on that change as the one for this one.
Bug 2195678
We had all this stuff there to keep the notification view
around so it doesn't need to be reconstructed each time,
and we weren't using it. This fixes that, and it looks
much better now.
This thing needs to be rewritten. It's grown too complicated for what it's doing,
and I don't like the physics anyway.
Also, this leaves the bug where if you press back while it's animating down, the
animation is ignored. However it no longer jumps down all the way, it just
essentially ignores the back key.
Also, this makes the collapse get executed on the back key up event, so it works
with the swipe on the soft keys at the bottom of the screen.
Since the StatusBarPolicy is run in the System Process and shouldn't therefore call into
the Telephony process we decided to make sure all the needed info was passed along with the
original notifications.
bug: 2173053
This is the main entry point to the Bluetooth APIs, and returns the default
local Bluetooth adapter.
It replaces context.getSystemService(Context.BLUETOOTH_SERVICE). This was
never in a public SDK release.
DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
Also trigger low battery when battery reaches the specified level
rather than when it drops below the level.
Fixes bug b/1788656
Change-Id: I81f5cbb9892fc6574320d92e153211f83c69f415
Signed-off-by: Mike Lockwood <lockwood@android.com>