629 Commits

Author SHA1 Message Date
Daniel Sandler
58f48edd21 am f5699b82: am b4b44bd3: DO NOT MERGE. Restore status bar on phones.
* commit 'f5699b82adef34b0b6bd88554c6a017f8662985e':
  DO NOT MERGE. Restore status bar on phones.
2011-06-03 11:26:17 -07:00
Daniel Sandler
b4b44bd329 DO NOT MERGE. Restore status bar on phones.
Bug: 4529373
Change-Id: Ie08522dbf762e80ac077ce403ff83312cec907f7
2011-06-03 11:11:10 -07:00
Dianne Hackborn
b9e2f68b28 am 13e2bef4: am 80cf4e79: Merge "Fix issue #4500511: Holo effect background doesn\'t reach top of screen anymore" into honeycomb-mr2
* commit '13e2bef4f67c5bc5ce93aade1431ae3332d361f0':
  Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
2011-06-01 12:43:35 -07:00
Dianne Hackborn
a239c84525 Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
Change-Id: Iebefe924e71206f3e6388eaee64f7b1416bc3239
2011-06-01 12:30:38 -07:00
Dianne Hackborn
7322e557cf am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2
* commit 'a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1':
  Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2011-05-31 18:11:29 -07:00
Dianne Hackborn
2f0b17573d Fix issue #4502672: Wrong xml resources used for homescreen widgets.
There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config.  For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
2011-05-31 18:04:14 -07:00
Dianne Hackborn
76450622f0 am d5238cc1: am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2
* commit 'd5238cc1ab8366389b2aada228f2f2e5cbb3244e':
  Rework how we decide whether to use system or status bar.
2011-05-26 14:14:35 -07:00
Dianne Hackborn
81e56d535c Rework how we decide whether to use system or status bar.
The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
2011-05-26 10:46:19 -07:00
Jeff Brown
da97f16c5d am c5c7e047: am d0132e8e: Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
* commit 'c5c7e047d1a1c56ba55bdfea9391d1907f355dbc':
  Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
2011-05-25 14:46:25 -07:00
Jeff Brown
b9b9b3e271 am 6f37a7f9: am eea0aa25: Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)
* commit '6f37a7f9b6f83fbcc919dc452e72838623e8bb5d':
  Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)
2011-05-25 14:46:21 -07:00
Jeff Brown
14c45e2ef9 am 16f1d2ca: am 36001a9f: Merge "Support chorded fallback keys. (DO NOT MERGE)" into honeycomb-mr2
* commit '16f1d2ca00a2c793e510edba5266a6d0998efbfc':
  Support chorded fallback keys. (DO NOT MERGE)
2011-05-25 14:42:30 -07:00
Jeff Brown
d0132e8e18 Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME.  Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: I07e72dc4e1f3cd8edaf357c1d49e79f60d6d1604
2011-05-25 14:37:15 -07:00
Jeff Brown
eea0aa2587 Support primitive ALT-TAB style navigation using Recent Apps. (DO NOT MERGE)
Change-Id: I0296a09519ba9417c208d197ebd996b586ee3daa
2011-05-25 14:37:15 -07:00
Jeff Brown
524ee64b91 Support chorded fallback keys. (DO NOT MERGE)
Also be more careful about canceling fallback keys during focus
transitions, when the application handles the key, or when the
policy decides to do something different.

Fixed a crash due to JNI CallObjectMethod returning an undefined
value (not null) when an exception is thrown.

Fixed a crash due to the policy trying to create a Dialog for
recent apps on the dispatcher thread.  It should happen on the
policy's Looper instead.

Bug: 4187302
Change-Id: I043f82913830f411b3bb4018d6422467b6ca454f
2011-05-24 15:21:46 -07:00
Dianne Hackborn
06a8ceacb0 am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.
* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
  Add new "-swNNNdp" resource qualifier.
2011-05-19 19:34:21 -07:00
Dianne Hackborn
69cb87576b Add new "-swNNNdp" resource qualifier.
Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
2011-05-19 18:23:29 -07:00
Adam Powell
143c529f28 am 21f1d49f: am a7f52d46: Merge "DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge." into honeycomb-mr2
* commit '21f1d49f0eac47c1ebbabf82f145dc60f988d069':
  DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge.
2011-05-17 09:55:53 -07:00
Adam Powell
a7f52d4665 Merge "DO NOT MERGE Use action bar overflow menus on large configurations as well as xlarge." into honeycomb-mr2 2011-05-17 09:41:52 -07:00
Adam Powell
b07f943273 DO NOT MERGE Use action bar overflow menus on large configurations as
well as xlarge.

ICS will have a more intelligent way of determining this.

Change-Id: I1ba6460dec09b8259db858c78a9157bb7742c85d
2011-05-16 13:46:38 -07:00
Dianne Hackborn
60e13114eb am 1d340a3c: am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2
* commit '1d340a3c24913d8750900355cd92ef5742eea11f':
  DO NOT MERGE.  From main -- Start work on simulating landscape/portrait when orientation is locked.
2011-05-16 13:16:45 -07:00
Dianne Hackborn
68066c2f38 DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.

Change-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58
2011-05-16 13:08:07 -07:00
Dianne Hackborn
63446167b9 am fddd927f: am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2
* commit 'fddd927fb78bb206287203f4f447a416b525115a':
  DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
2011-05-16 13:04:49 -07:00
Dianne Hackborn
29735689ce DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
2011-05-16 12:57:38 -07:00
Dianne Hackborn
05be6d6fe0 am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
  Better compat mode part one: start scaling windows.
2011-05-09 17:10:34 -07:00
Dianne Hackborn
e2515eebf4 Better compat mode part one: start scaling windows.
First step of improving app screen size compatibility mode.  When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling.  Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling.  The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible.  It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode.  This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well.  I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly.  There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
2011-05-09 17:03:24 -07:00
Conley Owens
ded7c652d7 am 893812b2: am e6e3322a: am 8fff7805: Merge "Remove duplicate \'=\' in exception message"
* commit '893812b2ee4a640ad398f7f79f90b92d52a5f3b1':
  Remove duplicate '=' in exception message
2011-04-29 14:55:35 -07:00
Bernhard Reutner-Fischer
c1a9b03a35 Remove duplicate '=' in exception message
Remove duplicate '=' in IllegalArgumentException of MyAdapter::getItem()

Change-Id: I151a1432a9f54c8d42bae295f3967b0be2223026
2011-04-28 20:06:44 +02:00
Jim Miller
1b365921e8 Fix 3201849: Enable hardware acceleration in LockScreen WaveView [DO NOT MERGE]
Change-Id: I07bbed7843857158cd2c1ffd9b184bde7fd5860d
2011-03-10 17:20:21 -08:00
Patrick Dubroy
8620d9533a Remove guard preventing onDetachedFromWindow() from being called
This was the cause of 3510699: Launcher has leaked IntentReceiver.

Change-Id: I7d0e4662314d657f6ac06a9a9d37861f8d8ee975
2011-03-07 11:07:26 -08:00
Jeff Brown
56194ebec6 Wake screen from external HID peripherals.
Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only.  The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
2011-03-02 19:57:07 -08:00
Dianne Hackborn
039e634f61 am 4b8c9b74: am 7fff2d19: am 1de4a2ca: am 62619392: Merge "Fix leak when keylock is recreated."
* commit '4b8c9b740528301d3ca60fe3b4b861fcd85ceb0a':
  Fix leak when keylock is recreated.
2011-03-02 12:52:56 -08:00
Dianne Hackborn
d20d5523c7 Merge "Fix issue #3387676 com.android.browser: java.lang.NullPointerException..." 2011-03-01 18:34:01 -08:00
Jim Miller
c13c8d82ae Merge "Fix 3463772: Bring back alarm icon on LockScreen" 2011-03-01 18:17:06 -08:00
Jim Miller
599351e93d Fix 3463772: Bring back alarm icon on LockScreen
Change-Id: Icdf948c774d280e22da84e9241b345244a56befd
2011-03-01 18:14:48 -08:00
Dianne Hackborn
b66ad57ca0 Fix issue #3387676 com.android.browser: java.lang.NullPointerException...
Unable to destroy activity {com.android.browser/com.android.browser.BrowserActivity}:
java.lang.NullPointerException at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2809)

Add a bunch of guards to not call on to the window callback after the
window is destroyed.

Change-Id: I66ca0705f421bafdfe953d03654c8f78d9e68249
2011-03-01 17:11:08 -08:00
Dianne Hackborn
4b8c9b7405 am 7fff2d19: am 1de4a2ca: am 62619392: Merge "Fix leak when keylock is recreated."
* commit '7fff2d19a24f9f9b669676864dc5652ab179d2fc':
  Fix leak when keylock is recreated.
2011-03-01 11:13:14 -08:00
Adam Powell
d3c9704d3e Fix bug 3497307 - Fix issues with FEATURE_ACTION_MODE_OVERLAY
Properly close down overlay windows when decor is detached. Delay
opening popup overlays to prevent issues when restoring instance
state.

Change-Id: I7ff44ce65e78c0172a12a9ddfe11460c885593ca
2011-02-28 21:40:26 -08:00
Dianne Hackborn
1de4a2ca58 am 62619392: Merge "Fix leak when keylock is recreated."
* commit '626193926df0b3c7236e5c244f30d797d9192e0d':
  Fix leak when keylock is recreated.
2011-02-28 18:03:12 -08:00
Kenneth Andersson
1e0c7ae184 Fix leak when keylock is recreated.
DigitalClock could sometimes leak when the keylock was recreated.
This happened because onDetachedFromWindow() was called BEFORE
onAttachedFromWindow().
This is the flow that causes the memory leak:
1) The LockPatternKeyGuardView is created and added. This will start
a loop dispatching onAttachedToWindow() to all views involved.
2) PatternUnlockScreen.onAttachedToWindow() is called
3) If the configuration has changed since creation, recreateMe() in
LockPatternKeyguardView.java is called.
4) recreateScreens() is called
5) PatternUnlockScreen is removed (to be re-added later) in
LockPatternKeyguardView.recreateUnlockScreen()
6) Since DigitalClock is a part of PatternUnlockScreen, its
onDetachedFromWindow() will be called.
7) The loop started in 1) will continue to dispatch
onAttachedToWindow() - and will eventually call
DigitalClock.onAttachedToWindow()
8) DigitalClock.onAttachedToWindow() registers a receiver that is
normally unregistered in onDetachedFromWindow(). But since
onDetachedFromWindow was already called in 6), it will not be called
again.
9) The receiver has leaked, and it has a reference to DigitalClock,
so that will leak as well, together with its parents e.g.
PatternUnlockScreen and LockPatternKeyguardView

The fix is to wait with the recreation of the screens (in 4) until
the loop (in 1) is finished. This is done by posting this as an event
instead of calling recreateScreens() immediately.

It is possible that this a fix for the root cause mentioned in
"Fix 3106227: use WeakReferences for receivers in DigitalClock class"
8b886fab5496b0b1f5193f21855220176deddc37 by Jim Miller
<jaggies@google.com>.

Change-Id: I6a5f6f49a565d459bf4e285f34f053cc1022286f
2011-02-28 14:09:08 +01:00
Mike Lockwood
6aea1154ba DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()
BUG: 3402847

Change-Id: I7cb199763e8d5386914b4c2173c9e1579b08674c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-26 14:32:00 -05:00
Jeff Brown
33bbfd2232 Add support for mouse hover and scroll wheel.
Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent.  Pointer events dispatched
this way are delivered to the view under the pointer.  Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView.  Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically.  (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
2011-02-25 17:06:07 -08:00
Patrick Dubroy
ece945291e Fix 3272590: Long-press on home & menu should be same as click
Change-Id: I151571900f4bb63910ccfb77fc64c8be9676a224
2011-02-24 10:03:23 -08:00
Daniel Sandler
ad788884de Merge "Rotation lock fix for sensor{Landscape,Portrait} activities." 2011-02-23 06:43:16 -08:00
Jeff Brown
1815c0275e Merge "Be more precise about tracking fallback keys." 2011-02-22 16:37:50 -08:00
Jeff Brown
bfaf3b9170 Be more precise about tracking fallback keys.
Only initiate fallback key handling if the first key down was
not handled and there is no other fallback key already in progress.
This prevents spurious fallbacks from being generated when
applications handle the initial down but not repeated downs or the up.

Change-Id: I8a513896cf96b16dc502cd72291926d5532aa2ab
2011-02-22 15:00:50 -08:00
Mike Lockwood
3c85a4e639 Merge "KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()" 2011-02-22 13:11:11 -08:00
Daniel Sandler
e7e5ac250c Rotation lock fix for sensor{Landscape,Portrait} activities.
E.g. if an app is sensorLandscape and the device rotation is
locked to landscape, the activity should not be allowed to
flip to seascape even if the device is inverted.

If the rotation is locked 90° from the activity's
supported orientations, we must override the lock as before,
but we now suppress the sensor input (confining the activity
to one of its two orientations). This best preserves the
spirit of the rotation lock while still allowing the
activity to run in a supported configuration.

Bug: 3453407
Change-Id: I8ee255e0250ba7e4534f4622ac37b82d31cf9936
2011-02-22 16:10:23 -05:00
Daniel Sandler
2ed6ad6aec Fix the flipping orientation lock.
We were setting ACCELEROMETER_ROTATION to 0 before putting
in the proper USER_ROTATION value, and PhoneWindowManager's
content observer would eagerly rotate the screen to the last
locked orientation before re-rotating to the updated locked
rotation.

Now we set USER_ROTATION first. Additionally, the
content observer is now the only place we set
mUserRotation{,Mode} (previously we would race with it in
setUserRotationMode()).

Bug: 3425657
Change-Id: I04ba1a3631c6d985c2e406c4d148c39fb5c36216
2011-02-22 15:24:55 -05:00
Jeff Brown
cc0c159e9b Add new hover move action and scroll wheel plumbing.
Added support for tracking the mouse position even when the mouse button
is not pressed.  To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes.  The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
2011-02-19 06:14:21 -08:00
Jeff Brown
6f2fba428c Add new axes for joysticks and mouse wheels.
Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
2011-02-19 05:23:10 -08:00