1141 Commits

Author SHA1 Message Date
Jeff Sharkey
4519a02608 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
2011-09-08 12:34:44 -07:00
Adam Powell
1d07e16c9d Fix bug 5174277 - Trouble with Menus
Make sure that options menu panel presenters associated with a PhoneWindow
get re-wired properly when a new menu is generated.

Change-Id: Ic06130019aec8b8edc372054c348f147d164fc5f
2011-09-07 20:47:13 -07:00
Jim Miller
62c3efd204 Fix 2679658: Be more aggressive about recreating lock screen.
In the past we were overly cautious about not recreating the lockscreen
under steady state conditions.  However, that allowed lockscreen
to get into weird states where the screen orientation and the
loaded layout disagree. Once in this state, the user could not
recover because we would never reload the layout due to the fixed
orientation of lock screen.

This avoids the problem by being more aggressive about reloading
the layout.  It now recreates the lockscreen (for reals) whenever
a view requests it via recreateMe().

In addition it serializes recreateMe() requests to ensure a pending
configuration change event has a chance to propagate and be handled
by the lockscreen looper.

Change-Id: I86a54abba899eb314f7cc8dbf6cbb98266bc548a
2011-09-06 19:23:52 -07:00
Dianne Hackborn
6b0c11da5a Merge "Fix issue #5150899: Call activity takes 15MB we never get back." 2011-09-02 17:18:32 -07:00
Dianne Hackborn
5d927c2d8e Fix issue #5150899: Call activity takes 15MB we never get back.
Persistent process can no longer use hardware acclerated drawing
when running on a low-memory device.

Change-Id: I3110335617af1c98fcede9bf41f4a1d0c20d0e87
2011-09-02 12:22:18 -07:00
Jeff Sharkey
054340d0a3 Show statusbar clock based on lockscreen status.
Keep track of lockscreen clock visibility, and only hide statusbar
clock when one is provided by lockscreen.  This fixes bug where widget
would hide all clocks.

Bug: 5242065
Change-Id: I48de98ecb956c7f22bd40b54d771c78c1a80c14c
2011-09-02 10:31:15 -07:00
Dianne Hackborn
69666e0781 Merge "Fix issue #5229575: Youtube link shared through messaging is not..." 2011-09-01 15:54:43 -07:00
Dianne Hackborn
ba24e4d8bb Fix issue #5229575: Youtube link shared through messaging is not...
...opening after selecting option "Youtube" as a luncher.

Also:

* Tweak window animations so that the wallpaper exist animations do not
stop too early (causing the wallpaper to suddenly disappear).
* Make sure no input is being processed while booting, to avoid
accidentally doing things especially in the upgrade dialog.
* Some other small cleanup.

Change-Id: I40a6b53731991d4e31ac4502e3d85f0e47507481
2011-09-01 12:39:17 -07:00
Mike Lockwood
e3646dd8d9 Show back button in status bar when in an activity in front of the lockscreen.
When the lockscreen is up we still enable the home and recent app buttons,
but the back button is only enabled if the lockscreen is not obscured by other activities

Fixes problem escaping from the DeskClock app when the screen is locked.

Bug: 5206013

Change-Id: I68c9e4513018f51e2ee4fc11254e42ecbef834e4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-09-01 13:56:25 -04:00
Dianne Hackborn
d040edbae9 Use floating point window positions.
Gets rid of gapps between windows during animations.

Change-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39
2011-08-31 14:18:32 -07:00
Jeff Brown
9d4bc852ea Merge "Fix input channel leak. Bug: 5156144" 2011-08-31 13:01:16 -07:00
Jeff Sharkey
f52c70b2cc Disable clock in lockscreen; better flag logic.
When showing lockscreen, hide clock and navigation.  Clean up logic
to be easier to understand.

Bug: 5112812
Change-Id: I20e3563aa36644db678c7839d47f01f223fe8d37
2011-08-30 22:30:07 -07:00
Jeff Brown
cc4f7db698 Fix input channel leak.
Bug: 5156144

Input channels could leak or simply live longer than they should
in some cases.

1. Monitor channels (used by the pointer location overlay) are never
   unregistered, so they would leak.

   Added code to handle failures in the receive callback by closing
   the input channel.

2. The DragState held onto its input window and application handles
   even after the input channel was disposed.

   Added code to null these handles out when they are no longer needed.

3. Input channels previously used as input event targets would stick
   around until the targets were cleared (usually on the next
   event).

   Added code to detect when the input dispatcher is in
   an idle state and to proactively clear the targets then
   to ensure that resources are released promptly.

4. Native input window handles held onto the input channel even
   after the input window was removed from the input dispatcher.
   Consequently, the input channel would not be disposed until
   the input window handle itself was freed.  Since the input
   window handle is held from managed code, this meant that the
   window's input channel could stick around until the next GC.

   Refactored the input window handle to separate the properties
   (info) and identify (handle) state into different objects.
   Then modified the dispatcher to release the properties (info)
   when no longer needed, including the input channel.

7. The pointer location overlay does not actually use its
   standard input channel, only the monitor input channel.

   Added INPUT_FEATURE_NO_INPUT_CHANNEL to allow windows to
   request that they not be provided with an input channel
   at all.

Improved some of the error handling logic to emit the status
code as part of the exception message.

Change-Id: I01988d4391a70c6678c8b0e936ca051af680b1a5
2011-08-30 21:40:28 -07:00
Jim Miller
1c18828d20 Fix 5044158: Integrate music transport control into LockScreen
This integrates a new version of TransportControlView into LockScreen
and adds plumbing to handle new AudioService events to show/hide the view
and updates the required assets for all devices.

Updated to use new AudioManager API. Since the current API only supports
one RCD, the handler now lives in TransportControlView.

Change-Id: I220d4dd760bef35bd84209adc3c5829bf5bc9a2c
2011-08-29 18:29:21 -07:00
Jim Miller
4ae8cb9e73 Fix 5044158: Reduce overall memory footprint of lockscreen
On devices that do not require showing lock before unlock, we now only create
just the unlock screen.  In addition to simplifying the code, this also
prevents keeping around a potentially unusued lock screen and saves ~1MB
in the system process on devices with only a secure lockscreen.

Change-Id: I533f2692b44a7991d4850cecc874c76166e7ce71
2011-08-29 16:02:24 -07:00
Adam Powell
6055f3e0d6 Fix bug 5217267 - Action bars and menu shortcuts
Don't try to "close" the menu after completing a shortcut action if an
action bar is present.

Change-Id: I54a75543cf9a52e3186ff464924a0b37d0b20b9d
2011-08-29 11:41:13 -07:00
Jim Miller
816879f2d5 Merge "Fix 5216579: Don't show IME switch option in numeric mode of lockscreen" 2011-08-28 15:10:27 -07:00
Jim Miller
b0166bc62f Fix 5216579: Don't show IME switch option in numeric mode of lockscreen
Since LockScreen provides its own PIN entry keyboard, we don't need to show
the IME switcher button.

Change-Id: I04528acaee66e5109d631c0c79a3e7c64876e4c5
2011-08-28 15:00:29 -07:00
Svetoslav Ganov
d96dbbe335 Merge "Lock screen should be kept on while it is touch explored." 2011-08-26 18:18:04 -07:00
Dianne Hackborn
295e3c27e4 Fix issue #5214105 and work on issue #5109947.
Change-Id: Iff2cfec5280a314989d915aa830c16124f921611
5214105: taking a screenshot while "Android is upgrading..." crashes device
5109947: Race condition between retrieving a content provider and updating its oom adj
2011-08-25 13:19:08 -07:00
Svetoslav Ganov
2e1db30d18 Lock screen should be kept on while it is touch explored.
1. The lock screen goes off after a certain timeout but a blind
   user performing touch exploration of that screen needs more
   time to find controls and interact with them. Therfore, we
   reset the lock timeout by poking the wake lock on the last
   hover event so the lock timeout will start ticking after
   the user has stopped interacting with the lock screen.

bug:5133879

Change-Id: I340d2a820e90f6fd63a45d65a5457ce6e570189c
2011-08-25 11:11:40 -07:00
Dianne Hackborn
29aae6f36e Fix issue #4279860: previous UI flashes before showing lock screen...
...(when turning display on after recently turning it off)

Also clean up when we decide to turn the screen on to improve that
transition.  There are still problems here with turning it on
before the wallpaper gets dispayed.

Change-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66
2011-08-23 17:44:52 -07:00
Adam Powell
82349c54ce Fix bug 5202226 - Leave menu button visible for no-button phones if
targetSdk < ICS

Compatibility support for existing apps. Apps in the wild that
properly target <=GB phones and HC tablets should be able to expect
that their small-screen UI will continue to work as intended on ICS
devices. Make sure that we show the soft menu button in the nav bar if
the current device was not officially supported in Honeycomb, the app
does not target ICS or newer, and the window does not have an action
bar.

Change-Id: I069c30841d3827a60ef8040831fde6f4c051d0ee
2011-08-23 14:12:06 -07:00
Mathias Agopian
67403e096e BLUR_BEHIND flag is not supported anymore
Bug: 5185650
Change-Id: I56541d4967b90b150a734be1bbeff696eb6a4fb3
2011-08-22 20:03:58 -07:00
Dianne Hackborn
661cd52e0e Add progress dialog for booting after an upgrade.
This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog.  This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
2011-08-22 13:42:05 -07:00
Jim Miller
4f36995777 Fix 5026428: Rework unlock attempt logic with active DPM to show better messages
Prior to this change, we didn't have a mechanism to warn the user when
they were approaching the wipe data threshold dictated by active DPMs.

Here's the new flow:

- If a device policy manager is installed and sets the max
password attempts, we start warning the user when they are within
a grace period of hitting the max (currently hard-wired to 5).

- We continue to show a dialog after each continued attempt
until the user reaches 0 remaining attempts.

- We now show a message when they hit 0 so they know why their device is
being reset.  The device will reboot and wipe data shortly after this final
dialog is shown.

Also increased the criteria for a pattern attempt from 3 dots to 4 dots
since the user can never set a pattern less than 4 in length. This will
greatly reduce the likelihood of a false wipe on the pattern unlock screens
without compromising security.

Change-Id: I28825ef21dfa2e2b6540e743252c6d50c41e5ad7
2011-08-21 13:57:01 -07:00
Jim Miller
6d97842849 Merge "Fix 5021968: Add input method switcher button to lock screen." 2011-08-19 16:30:13 -07:00
Jim Miller
858f8eaac7 Fix 5021968: Add input method switcher button to lock screen.
This adds an IME switcher button to lock screen.  It is only
shown if the user has more than one applicable and enabled IME installed.

Change-Id: I5f9503a205c2edb27170825539ba4a6ef25418ed
2011-08-19 15:46:03 -07:00
Dianne Hackborn
c0e3f2453c Fix issue #5186318: Can't take multiple screenshots
Locking good.  Races bad.

Change-Id: I59dd0ec2de47973c38fd646c2f441dd174eba444
2011-08-19 14:19:10 -07:00
Adam Powell
0f4739f7d0 Merge "Fix bug 5186258 - Incorrect window width is used for custom panel views in the MATCH_PARENT case" 2011-08-18 18:52:29 -07:00
Adam Powell
3429ff53d0 Fix bug 5186258 - Incorrect window width is used for custom panel
views in the MATCH_PARENT case

Change-Id: I11c4a58303fa3c4a9f3540908c6409bacd84a35e
2011-08-18 18:32:48 -07:00
Jim Miller
cd2bad41af Fix 5149726: Add slight delay to initial lock screen 'ping' animation.
This adds a slight delay before the first ping animation runs.  The
idea is to ensure enough time for the display to come on and the user
to notice the animation.

Change-Id: I3d981f5d50efa14683bb08cf6a1430244ce67e55
2011-08-18 17:45:33 -07:00
Adam Powell
84f4936dee Fix bug 5183332 - monkeys are jerks
Change-Id: I15beb7b55ff5809b95dc869a9b0c43c49d1571c6
2011-08-18 11:09:57 -07:00
Daniel Sandler
130453c2eb Fix DISABLE_EXPAND in the tablet status bar.
The codepath that honored this flag had been routed around
when notification peeks were disabled. (The bug was allowing
notifications to be accessed from a secure lockscreen.)

Bug: 5173959
Change-Id: I35dee343ee4f0288530580054f8bb9f511ebe6af
2011-08-18 09:41:01 -04:00
Dianne Hackborn
9f550e91f4 Merge "Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot" 2011-08-17 17:46:48 -07:00
Dianne Hackborn
fc8fa63861 Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot
We now do the screenshot in a separate process.

Also change the recents panel to not use hardware acceleration
on lower-end devices.  And improve how it gets shown to not
load all data up-front which results in a long delay when you have
lots of recents.

Change-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a
2011-08-17 17:45:05 -07:00
Adam Powell
926808dc9b Merge "Fix bug 533274 - Menu key opens wrong menu in action mode" 2011-08-17 16:53:03 -07:00
Adam Powell
012da5a27f Fix bug 533274 - Menu key opens wrong menu in action mode
Don't open the options menu in response to the menu key when an action
mode is active.

Change-Id: I89cd251dd14276fc381e20f82725d42ac9264181
2011-08-17 16:38:10 -07:00
Adam Powell
4fd8d5330e Fix bug 5167786 - make sure custom option panels still work.
Change-Id: Ife3ca80f593c141f680fcc5178687112a538474d
2011-08-17 15:44:00 -07:00
Adam Powell
f35d049b99 Fix bug 5168889 - action bar not respecting return codes of onCreate/Prepare menu
Change-Id: If28630cb21e74bde7a2474ce060078ea30170b9d
2011-08-17 13:57:52 -07:00
Erik Gilling
bb04b678cd Merge "Set rotation to landscape on HDMI instead of 0" 2011-08-16 15:57:24 -07:00
Erik Gilling
10a058c96b Set rotation to landscape on HDMI instead of 0
When the native orientation of the device is not landscape HDMI display
will be wrong.

Change-Id: Ie1d4f6b7247e0a43ff13b5318b644ec7cff293f2
Signed-off-by: Erik Gilling <konkers@android.com>
2011-08-16 15:45:34 -07:00
Adam Powell
e43fca9957 Offer a masked version of setUiOptions for windows to only modify certain flags.
Change-Id: I36aaff982767f8984c468e8c13f8d5ec8c3c0040
2011-08-16 13:07:22 -07:00
Dianne Hackborn
62f20ecf49 Add new am option to profile the launching of an activity.
Change-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b
2011-08-15 17:55:57 -07:00
Dianne Hackborn
61aa9f3b56 Merge "Don't use HW accel drawing in lock screen on lower-end devices." 2011-08-12 15:16:54 -07:00
Dianne Hackborn
b375632c9c Don't use HW accel drawing in lock screen on lower-end devices.
This saves about 8MB in the system process because we don't need
to do HW accelerated drawing there anymore.

Change-Id: Ieaf72fe772536e12d10cf129d9338ca9fce6a6d4
2011-08-12 14:23:03 -07:00
Daniel Sandler
8b08b88640 Properly disable status bar on secure lockscreens.
(Broken implementation appeared in change I967e455.)

Bug: 5158885
Change-Id: I0e22c269ff76d19bcdd5e51e1722e34fdc025dfa
2011-08-12 14:49:36 -04:00
Daniel Sandler
294a6199bd Merge "Subtract the navigation bar from DisplayMetrics." 2011-08-10 18:54:20 -07:00
Daniel Sandler
36412a7e7c Subtract the navigation bar from DisplayMetrics.
Its region is now treated like the system bar: inaccessible
to applications and therefore not worth reporting as part of
the display.

(Note that using setSystemUiVisibility you can gain
temporary access to the navigation bar region, unlike the
sempiternal system bar.)

The navigation bar is now considerably less in control of
its own behavior (the window manager assumes it will be a
certain size and in a certain position in landscape and
portrait). This change also fixes the navbar so that it
becomes GONE instead of merely INVISIBLE (allowing
underlying windows to expand in size accordingly).

Bug: 5052456 // the feature
Bug: 5067627 // notification shade falling behind the navbar
Bug: 4959805 // fix third-party apps relying on DisplayMetrics
Change-Id: I60257fc5c858e0edcaba8cfc1f8d58dd99a68258
2011-08-10 16:10:59 -04:00
Daniel Sandler
74d188c911 Initial support for notification panel access in keyguard.
The special touch target and fancy animations (see bug
5052059) aren't there yet; we'll probably need a different
flavor of DISABLE_EXPAND to specify that state. But this is
a start and should get the basic feature into testers'
hands.

Bug: 5052059
Change-Id: I967e4557e467d1762d6566643bb401eb84f94e92
2011-08-10 00:00:31 -04:00