407 Commits

Author SHA1 Message Date
Marco Nelissen
a6face4d40 Plumb KEYCODE_MEDIA_PAUSE and KEYCODE_MEDIA_PLAY up through the framework.
b/2764237

Change-Id: I9a20974fa0b7527230258f7d0bf829a031673a9d
2010-10-25 12:07:07 -07:00
Adam Powell
85446e95af Fix bug 3105695 - Action modes in dialogs or other small windows
Overlay action modes now show in their own windows aligned to the top
of the screen.

Change-Id: I81600bbd1bcaeb59fdcf0a959bd35f82165baa2c
2010-10-22 17:45:31 -07:00
Brad Fitzpatrick
385a753dea resolved conflicts for merge of 368fdba4 to master
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
2010-10-21 07:39:10 -07:00
Joe Onorato
431bb22695 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
2010-10-19 15:08:05 -04:00
Jeff Brown
3b2b354ec1 Add support for secure system overlays.
Manual merge from Gingerbread.

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
2010-10-15 17:10:55 -07:00
Jeff Brown
2d3f159aa9 Add support for secure system overlays. (DO NOT MERGE)
This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
2010-10-15 16:03:35 -07:00
Jim Miller
253a5ef886 Fix 3024528: Add owner info to SecureSettings.
Change-Id: Ibed62aa8881c795f0d48007fc04beac0e9c1d4a0
2010-10-14 15:51:55 -07:00
Jeff Brown
cd4af421ca am 4b255a23: am 03aa28fb: Merge "Improve the input policy handling a bit." into gingerbread
Merge commit '4b255a23041225103a6870e77a236f78c2816eda'

* commit '4b255a23041225103a6870e77a236f78c2816eda':
  Improve the input policy handling a bit.
2010-10-13 17:02:48 -07:00
Daniel Sandler
e02d808abf 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
2010-10-13 16:25:43 -04:00
Jeff Brown
3122e4488a Improve the input policy handling a bit.
Fixed some issues with Monkeys turning off their own screens.  Ook ook!
Added some more comments to explain what's going on.

Change-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12
2010-10-12 00:16:14 -07:00
Jeff Brown
e20c9e0264 Fix an event injection bug when the policy is bypassed.
Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Cherry pick of b931a1b4 from gingerbread into master.

Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
2010-10-11 17:54:12 -07:00
Jeff Brown
b931a1b418 Fix an event injection bug when the policy is bypassed.
Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
2010-10-11 16:26:13 -07:00
Joe Onorato
481bbb9c11 Merge "Get rid of the global actions menu on tablets." 2010-10-08 13:29:37 -07:00
Joe Onorato
d208e70926 Get rid of the global actions menu on tablets.
We have the system tray for that stuff.  Make long press on power
go directly to the shut down confirmation dialog.  Make that dialog
auto dismiss when the screen goes off.  Reword it when we're skipping
the global actions menu, because it feels too abrupt to say "The
phone will shut down" when they haven't clearly pressed a button
that says shut down.

Change-Id: I8c92a1362bd4ed242e6cd94c2dae6d9ff9c4c34d
2010-10-08 16:28:05 -04:00
Jim Miller
1657f43095 Merge "Fix 3061025: Extend wave lockscreen timeout while grabbed." 2010-10-08 12:52:24 -07:00
Jim Miller
4139b5505c Fix 3061025: Extend wave lockscreen timeout while grabbed.
This fix extends the lockscreen timeout to 30s while the
handle is being held.  As a precaution, it will still timeout
after 30s of not completing the lock. Once the handle is
released, the screen will go dark after 5s, which gives
it enough time to finish pending animations.

Change-Id: Ie89449b6b09de06ca8a88702cc85085b2556903c
2010-10-07 18:04:33 -07:00
Joe Onorato
d37870af20 Don't crash if there is no phone app and someone presses the phone button.
The phone button probably doesn't exist on products without phone apps,
but the monkeys still know how to find it.

Change-Id: I36aca53506c8d7d7565df8674aff9d59745139e0
2010-10-07 12:22:56 -04:00
Dianne Hackborn
38014763a2 am 89230e3b: am 458fc5f5: Merge "Fix issue #3041660: Camera image flips upside down when rotating device" into gingerbread
Merge commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d'

* commit '89230e3b7b9ec455373e3f60b62ff65589a9c57d':
  Fix issue #3041660: Camera image flips upside down when rotating device
2010-10-05 12:54:41 -07:00
Dianne Hackborn
e5439f228f Fix issue #3041660: Camera image flips upside down when rotating device
Apps now must explicitly opt in to having their rotation changed while
forcing landscape mode.  Also add some new orientation constants for other
things apps may want to do.

Change-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd
2010-10-04 14:01:39 -07:00
Dianne Hackborn
27dec99148 resolved conflicts for merge of 4d28e8c5 to master
Change-Id: I2449488a84e44b3fb5f820b50951b2b2bfa3bcbf
2010-10-01 16:44:12 -07:00
Dianne Hackborn
6493e64c2a Fix issue #3037083: Problem report for Pinball
The app was toggling between hiding and showing the status bar, because
the dialog was large enough to fill the screen but didn't set to hide
the status bar.

It turns out that the code to determine the top fullscreen window is
intrinsically unstable, since it relies on comparing a window's frame
with the screen, yet the window frame can change as a result of changes
such as hiding the status bar.

Instead, we now simplify all of this to just say that the top fillxfill
window gets to control the status bar.

Change-Id: I22913adf7235fe0d52612f6738c7c94351274e38
2010-10-01 13:06:30 -07:00
Christopher Tate
a53146c556 Drag/drop APIs and infrastructure
A View initiates a drag-and-drop operation (hereafter just called a "drag")
by calling its startDrag(ClipData) method.  Within the processing of that
call, two callbacks are made into the originating View.  The first is to
onMeasureDragThumbnail().  Similarly to the core onMeasure() method, this
callback must respond by calling setDragThumbnailDimension(width, height) to
declare the size of the drag thumbnail image that should be used.  Following
this, the View's onDrawDragThumbnail(canvas) method will be invoked to
actually produce the bits of the thumbnail image.

If all goes well, startDrag() will return 'true', and the drag is off and
running.  (The other arguments to startDrag() provide reconciliation between
the current finger position and where the thumbnail should be placed on
the screen relative to it.)

Potential receipients of the ClipData behind the drag are notified by a
new dispatch mechanism, roughly parallel to motion event dispatch.  The core
routine is the View's onDragEvent(event) callback, with the mechanics of
dispatch itself being routed through dispatchDragEvent(event) -- as in
the case of motion events, the dispatch logic is in ViewGroup, with leaf
View objects not needing to consider the dispatch flow.

Several different event 'actions' are delivered through this dispatch
mechanism:

ACTION_DRAG_STARTED: this event is propagated to every View in every window
(including windows created during the course of a drag).  It serves as a
global notification that a drag has started with a payload whose matching
ClipDescription is supplied with the event.  A View that is prepared to
consume the data described in this event should return 'true' from their
onDragEvent() method, and ideally will also make some visible on-screen
indication that they are a potential target of the drop.

ACTION_DRAG_ENTERED: this event is sent once when the drag point
enters the View's bounds.  It is an opportunity for the View to set up
feedback that they are the one who will see the drop if the finger goes
up now.

ACTION_DRAG_LOCATION: when the drag point is over a given View, that
View will receive a stream of DRAG_LOCATION events, providing an
opportunity for the View to show visual feedback tied to the drag point.

ACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point
leaves the View's bounds.  The View should undo any visuals meant to
emphasize their being the hovered-over target.

ACTION_DROP: when the drag ends at a given point, the View under that
point is sent this event, with the full ClipData of the payload.

ACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global
broadcast that the drag has ended and all Views should return to their
normal visual state.  This happens after the DROP event.

Change-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6
2010-09-30 16:29:07 -07:00
Steve Howard
04e79051dc am 56d60903: am a7bfe6ad: Support "seascape" rotation for "landscape-only" apps
Merge commit '56d6090380027efc7910537a2c2b99097ca36778'

* commit '56d6090380027efc7910537a2c2b99097ca36778':
  Support "seascape" rotation for "landscape-only" apps
2010-09-23 21:40:48 -07:00
Steve Howard
a7bfe6ad76 Support "seascape" rotation for "landscape-only" apps
Change-Id: Ibbbd850dc2bfb741b39c04c982fbdd98f3fa4a67
2010-09-23 17:46:41 -07:00
Jim Miller
3060421045 Add new WaveView widget to framework and integrate into LockScreen.
This adds a new "Energy Wave" widget to the internal widgets and
integrates it into LockScreen.

ValueAnimator needed a slight modification since it expects to
be run inside of Activities with a Looper. Additionally, this adds
an API, removeAllUpdateListeners(), which is needed to properly
recycle ValueAnimator objects.

Some minor code cleanup and UI tweaks after review.

Changed delay timeout from 1.3s to 0.5s.

Change-Id: Ibcf015e61fa8ba79d62f2019f1b29ace7caa00c8
2010-09-23 17:14:48 -07:00
Jeff Brown
5bd069fe1e am 27917946: am de04fb0a: Merge "Enforce serial ordering of MotionEvents." into gingerbread
Merge commit '279179461edccaa4217fe752a9abf6fcc2efa5a1'

* commit '279179461edccaa4217fe752a9abf6fcc2efa5a1':
  Enforce serial ordering of MotionEvents.
2010-09-23 14:57:14 -07:00
Jeff Brown
93ed4e3052 Enforce serial ordering of MotionEvents.
This change modifies ViewRoot to wait until the MotionEvent has been
delivered before telling the input dispatcher that it is finished.
The serial ordering guarantee will be required by new features that
may need to transfer touch focus from one window to another.

Change-Id: I0a64d1f0c8bc3f08846f213d6e28ce48b1d48e58
2010-09-23 13:56:30 -07:00
Jeff Brown
8d20f6b8cb am 40e3af61: am 8abc9e9b: Merge "Don\'t play a sound if a volume key press is canceled." into gingerbread
Merge commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6'

* commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6':
  Don't play a sound if a volume key press is canceled.
2010-09-12 18:16:32 -07:00
Jeff Brown
8b7a982d29 Don't play a sound if a volume key press is canceled.
Change-Id: I8e45af20ec83a81565e10be3648b95686fa897af
2010-09-12 18:09:11 -07:00
Joe Onorato
9305647eb6 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
2010-09-12 13:25:06 -04:00
Jim Miller
bc4603b0b1 Fix 2579224: Add a separate timeout for lockscreen vs display
This change adds a second timeout to the SecuritySettings page
separate from the standard display timeout.

Change-Id: I41fe10e31688308f52695ad3ee30a4b0507112bd
2010-09-01 21:00:30 -07:00
Jim Miller
ee969aa850 Fix 2797185: Show 3D Recents on xlarge device
This fixes a bug where some xlarge devices weren't showing 3D recent apps.
The cause was that the config wasn't guaranteed to be loaded by
the time we reach init() in PhoneWindowManager.

The fix looks at the property on-demand, which can't happen
until after the user sees the home screen, which guarantees the
configuration is loaded.

Change-Id: Ic41196f7a15218033b831e6e9cf9d536e0712844
2010-08-26 20:17:43 -07:00
Jim Miller
e6ad1a8ba2 Fix 2797185: Integrate 3D RecentApps View into system.
This adds 3D recents to the platform.  Enabling it is a
matter of setting 'config_enableRecentApps3D' on devices
capable of supporting it (those with OGLES2.0 at the moment).

Change-Id: Ife7bfe8ca02e7657821b68f915e31b0dab50cd2c
2010-08-25 20:43:00 -07:00
Adam Powell
f4a6ec4e93 Disable FEATURE_ACTION_BAR on windows with incompatible feature sets.
Change-Id: I70c860c72eb9e1f1f123764202334ab714f4f830
2010-08-24 14:18:10 -07:00
Adam Powell
6c6f575423 More ActionBar/config change tweaks. Preserve open overflow menus
Change-Id: Ic8ad2b1e3909fbf84ff4d852ae046a9f9508477c
2010-08-23 10:24:49 -07:00
Steve Howard
dfc8cde5c8 am 1f442104: am e0c8582e: Merge "Improve orientation sensing when waking up while flat." into gingerbread
Merge commit '1f4421048206ca1745ddd6366588759c9c5c38f9'

* commit '1f4421048206ca1745ddd6366588759c9c5c38f9':
  Improve orientation sensing when waking up while flat.
2010-08-21 09:40:22 -07:00
Steve Howard
5eb49583e2 Improve orientation sensing when waking up while flat.
This change makes the window manager pass the currently displayed
orientation to the WindowOrientationListener each time to calls to get
the currently sensed orientation.  Now, when the
WindowOrientationListener doesn't know for sure what the orientation
of the device should be (for example, if the sensed orientation is
flat on a table), then it trusts the already-displayed orientation,
rather than trusting whatever sensors reading it most recently
received.

The main use case this addresses is:
* user uses device in portrait
* user turns off device, puts it in pocket
* while in pocket, screen gets turned on, activating orientaiton
  sensor, which senses landscape orientation
* screen timed out
* user takes device out, places it on a table (or looks down at it,
  holding it flat), and unlocks it

Previously, when the device was unlocked, the
WindowOrientationListener would return landscape orientation based on
its previous sensor readings.  Now, it will override those previous
readings because it knows they never actually took effect and the
device is presently flat.

This change also slightly modifies the way we handle flat orientation,
now completely ignoring data when the tilt distrust is nonzero (even
if the current sensor reading shows non-tilted).

Change-Id: Ia4950a41827f8c53a80487d0c2e83b556df781b9
2010-08-18 14:22:19 -07:00
Adam Powell
04253aa134 Back button closes ActionModes
Change-Id: I763782706ce7aa65a5a11129450d97a2bcb3a625
2010-08-18 11:59:16 -07:00
Dianne Hackborn
291905e34a Maybe fix #2925641: calling onCreateOptionsMenu before attached activity
Also add some APIs to PreferenceActivity.

Change-Id: I85894a3eb9cd3e5adb78b82e85454c0d74773178
2010-08-17 18:53:19 -07:00
Adam Powell
266b1008cf Fix some ActionBar bugs.
* Fix a bug where the options panel would not open on non-xlarge
  screens to show overflow menu items.

* Fix a bug where ActionBarView would try to add a custom nav view
  twice.

* Fix a bug where ActionBarView would expand too far in wrap_content mode

Change-Id: I433ea56524aad885d813ae8743fe2fcefa9649fa
2010-08-16 17:26:11 -07:00
Jae Yong Sung
8171b5182f lock screen for xlarge
Change-Id: Iab9f53609bf24be774752a9960aaaa654d7a614f
2010-08-13 15:08:05 -07:00
Adam Powell
b047208b3b Cleanup on CL 61012
Change-Id: I394909c65a4978be26db063c9f69f1098ab028b3
2010-08-12 10:44:33 -07:00
Adam Powell
f6148c53f9 Fix bug 2911311 and bug 2911700
Integrate the action bar overflow menu better with the options menu lifecycle.

Change-Id: I1e3fdba04b01718c3ee3367f92e5dabe7bc84b5c
2010-08-11 21:56:27 -07:00
Adam Powell
943fbb4f40 Merge "ActionBar overlay mode, height fetching, show/hide" 2010-08-11 17:26:10 -07:00
Jeff Brown
b219a83ff6 am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
  Add support for the PointerLocation overlay.
2010-08-11 16:22:47 -07:00
Adam Powell
6b336f835d ActionBar overlay mode, height fetching, show/hide
Change-Id: Ie931ed26ec885d891d6733132b517a53d95f8491
2010-08-11 16:17:57 -07:00
Jeff Brown
a41ca77fab Add support for the PointerLocation overlay.
This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications.  The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
2010-08-11 14:46:32 -07:00
Adam Powell
f75eeb28de Fix bug 2908822 - open/closePanel should do the right thing with ActionBars
Change-Id: Ic77f9dee864d17046f69c78a1e6d96a49b5c6180
2010-08-10 15:59:40 -07:00
Adam Powell
6dd73b45a4 Fix some lifecycle issues with populating the action bar's menu
Change-Id: I5f63df3260392b09fbb7120986702d01dac5906c
2010-08-06 11:30:35 -07:00
Adam Powell
8e552630e7 Let action modes overlay window content
Change-Id: Ic0512c3e6338e1de15facec0a6650f9da9808a24
2010-08-04 17:42:44 -07:00