Commit Graph

4242 Commits

Author SHA1 Message Date
Dianne Hackborn
32884c376f am 6fea1665: am 1ab64b81: Merge "Add new sample code for writing a ViewGroup." into jb-mr2-dev
* commit '6fea1665a91dafa49b78d1c92c53bb0fa1736020':
  Add new sample code for writing a ViewGroup.
2013-03-07 00:40:44 +00:00
Dianne Hackborn
1ab64b819b Merge "Add new sample code for writing a ViewGroup." into jb-mr2-dev 2013-03-07 00:34:55 +00:00
Dianne Hackborn
7caab0ff2d Add new sample code for writing a ViewGroup.
Change-Id: Id6714b062884c9ed60703e5c199f16683c00a800
2013-03-06 13:47:04 -08:00
John Spurlock
4a682c2c8f Merge "Quick typo fix to View.java docs." 2013-03-06 18:39:33 +00:00
John Spurlock
7eae2d5d97 Quick typo fix to View.java docs.
navagation -> navigation

Change-Id: I0afd46824afc9a9aedcfc383e633b4bed6b28918
2013-03-06 12:57:05 -05:00
Mathias Agopian
3205ebf67b am 563c374f: am f4d6f153: Merge "remove suppor for SurfaceControl.FX_SURFACE_SCREENSHOT" into jb-mr2-dev
* commit '563c374faf2c9e2741e0c73edff22237aa0562e5':
  remove suppor for SurfaceControl.FX_SURFACE_SCREENSHOT
2013-03-06 16:53:51 +00:00
Mathias Agopian
f4d6f153e6 Merge "remove suppor for SurfaceControl.FX_SURFACE_SCREENSHOT" into jb-mr2-dev 2013-03-06 03:52:50 +00:00
Mathias Agopian
11e7d88d14 remove suppor for SurfaceControl.FX_SURFACE_SCREENSHOT
the window manager can now use the SurfaceControl.screenshot
API with a "regular" surface.

Change-Id: I76bed81d5e7b078ea1b3e8f96814aba32e9d5405
2013-03-05 14:14:55 -08:00
Dianne Hackborn
ee61a7fb95 am 530b2b1c: am a5513616: Merge "Add new WindowId for cross-process monitoring of focus." into jb-mr2-dev
* commit '530b2b1c98e3a3d86fd90cd91a08005370b8aa49':
  Add new WindowId for cross-process monitoring of focus.
2013-03-05 21:08:13 +00:00
Dianne Hackborn
a55136169e Merge "Add new WindowId for cross-process monitoring of focus." into jb-mr2-dev 2013-03-05 17:37:43 +00:00
Dianne Hackborn
e3f23a36d8 Add new WindowId for cross-process monitoring of focus.
This is a class representing a window and providing limited
interaction with it, which can be handed across processes.

Change-Id: I22885f2064a9cc8c68d690a5858c2e28bbb6a0f3
2013-03-05 09:33:48 -08:00
Chet Haase
573596de3b Merge "ListView transient state fix" 2013-03-05 14:26:35 +00:00
Romain Guy
4001b31cba am 370929f4: am d23b2747: Merge "Finish current Canvas operations then resume previous Canvas Bug #8297260" into jb-mr2-dev
* commit '370929f4bf6b9d7a196eae531f38cdec19140dfd':
  Finish current Canvas operations then resume previous Canvas Bug #8297260
2013-03-05 03:15:37 +00:00
Romain Guy
d23b2747ef Merge "Finish current Canvas operations then resume previous Canvas Bug #8297260" into jb-mr2-dev 2013-03-05 03:11:11 +00:00
Romain Guy
e78b8003a5 Finish current Canvas operations then resume previous Canvas
Bug #8297260

Change-Id: Ia30bb61ff5db805ec5d57f5e4c22c275f649ecdb
2013-03-04 19:08:02 -08:00
Mathias Agopian
c18fb64084 am e94fcd6c: am 188f8c5e: Merge "screenshots can now go into a Surface from java" into jb-mr2-dev
* commit 'e94fcd6c494931afc1d7f70138db01de37cdb9fc':
  screenshots can now go into a Surface from java
2013-03-05 02:37:43 +00:00
Mathias Agopian
0449a40586 screenshots can now go into a Surface from java
A Surface can trivially be created from a SurfaceTexture.
Update ElectronBeam to use this new API.

Bug: 6940974
Change-Id: I20459443d0d853e3f8ae23104c08d185c336abea
2013-03-04 17:45:26 -08:00
Philip Milne
c2a6e194a6 Merge "Optical Bounds: clear inherited layoutModes when layoutMode of root layout is set to a new value." 2013-03-05 00:00:12 +00:00
Philip Milne
f091b66246 Optical Bounds: clear inherited layoutModes when layoutMode of root layout is set to a new value.
This is an addendum to:

https://googleplex-android-review.googlesource.com/#/c/246507

Change-Id: Ia9d6fdfe7fdb76c1152466315ff3b1c42c077ee2
2013-03-04 15:46:22 -08:00
Christopher Tate
267097b00b DO NOT MERGE: Don't crash when we get a drag-ended after being detached
Removing view groups during a drag would cause an NPE here.  The
child views will still get the drag-ended event as expected.

(Cherrypicked from downstream)

Bug 8298439

Change-Id: Ic14cbf9fdc305b91c1627f6882a45d34ee1c34ae
2013-03-04 14:02:29 -08:00
Christopher Tate
e9accff210 Don't crash when we get a drag-ended after being detached
Removing view groups during a drag would cause an NPE here.  The
child views will still get the drag-ended event as expected.

Bug 8298439

Change-Id: I665ba1d139e8aaa820f5f515186bc4ce8bcdb1ea
2013-03-04 13:19:39 -08:00
Chet Haase
9e7c7d7b85 ListView transient state fix
ListView child views with transientState (setHasTransientState(true)) are not
handled correctly when the data set changes, such as when an item is added
or removed. The problem is that the transient views are cached by their
position, but this position is out of sync between the ListView and the adapter
until the ListView layout process is complete.

A better way, which unfortunately only works on ListViews with stable IDs, is
to cache the views by their itemID instead, and to use that ID to determine when
and where to reuse/retrieve a transient view during the ListView layout.

Issue #8254775 View.setHasTransient state has side-effects when deleting content in ListView

Change-Id: Ic3b1669ed79dd6cf9e4c1c6c26f9d75ccf074b3e
2013-03-04 12:51:21 -08:00
Romain Guy
57b7725e9b am 84ea20d0: Merge "Restore the ability to track native Surface changes Bug #8230990" into jb-mr2-dev
* commit '84ea20d0ba7611782c7aa364cd41744fca359e35':
  Restore the ability to track native Surface changes Bug #8230990
2013-03-01 02:40:13 +00:00
Romain Guy
8b5aa48469 Restore the ability to track native Surface changes
Bug #8230990

ViewRootImpl needs to know when the native Surface objects changes
to recreate the EGL surface. A recent refactoring in Surface broke
the behavior of getGenerationId(). This simply restores the old
behavior (every change increments the generation ID by 1.)

Change-Id: Ife1df1ffb2ee7a373b8ebf2431192702ba10f344
2013-02-28 18:16:31 -08:00
Svetoslav
6b25e726cb Remove a workaround for accessibility managers that works across users.
The system and some processes such as the keyguard and system UI
run across users. Hence, the local accessibility manager should call
into the backing system service with the id of the current user.
For all other processes the local manager uses the current user id.
There was a method that is to be called before the local accessibility
manager has been accessed to initialize it to work across users.
This had to be done for keyguard and system UI.

This change removed the workaround and now the local accessibility
manager determines under the hood which user id to use while calling
into the system. If the local manager is in the system process or
its process has permissions to work across uses, the manager uses
UserHandle.USER_CURRENT, otherwise it uses the user if its process.

Change-Id: I3e97fe98805adca01c1a0127a276828e90926f95
2013-02-28 17:57:29 -08:00
Svetoslav
e71384bcce am 2a45b9fe: Merge "Fake accessibility service used by UiAutomation not destroyed." into jb-mr2-dev
* commit '2a45b9fe99b10baeedb9c4529dcc5177ad7e3584':
  Fake accessibility service used by UiAutomation not destroyed.
2013-02-28 22:38:05 +00:00
Svetoslav
3c55e5c659 Fake accessibility service used by UiAutomation not destroyed.
UiAutomation registers a fake accessibility service to introspect
the screen. Upon the death of the shell process that started an
instrumentation in which a UiAutomation resides the connection
between the UiAutomation and the system is kept alive allowing
the instrumentation to introspect the screen even after the death
of the shell process.

bug:8285905

Change-Id: I1a16d78abbea032116c4baed175cfc0d5dedbf0c
2013-02-27 18:32:17 -08:00
Jim Miller
5ecd81154f Move keyguard to its own process.
This is in preparation to moving keyguard into its own process.

Moved keyguard source and resources into new .apk.

Got basic test app working.  Still need to implement MockPatternUtils
and means to pass it into KeyguardService with local binder interface.

Added new ACCESS_KEYGUARD_SECURE_STORAGE permission.

Temporarily disabled USER_PRESENT broadcast.

Remove unintentional whitespace changes in PhoneWindowManager, etc.

Checkpoint basic working version.

Move to systemui process.

Synchronize with TOT.

Sync with recent user API changes.

Fix bug with returing interface instead of stub for IKeyguardResult.  Create KeyguardServiceDelegate to allow
for runtime-selectable local or remote interface.

More keyguard crash robustness.

Keyguard crash recovery working.  Currently fails safe (locked).

Fix selector view which was still using frameworks resources.

Remove more references to internal framework variables.  Use aliases for those we should move but
currently have dependencies.

Allow runtime switching between service and local mode.

Fix layout issue on tablets where orientation was reading the incorrect constant
from the framework.  Remove more framework dependencies.

Fix PIN keyboard input.

Remove unnecessary copy of orientation attrs.

Remove unused user selector widget and attempt to get multi user working again.

Fix multi-user avatar icon by grabbing it from UserManager rather than directly since
keyguard can no longer read it.

Merge with AppWidget userId changes in master.

Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
2013-02-27 17:27:53 -08:00
Philip Milne
cfb631b0e5 When layoutMode is undefined, inherit the value defined by the parent (recursively).
Change-Id: Ib5f1150d2ac132d9ec79204a974cea8945d742b4
2013-02-26 16:58:11 -08:00
Jean Chalard
0ba20e9d0c am 17100f39: Merge "Fix dead key -> space combination." into jb-mr2-dev
* commit '17100f3976a537a4d037b1f27fd643fafd2abc79':
  Fix dead key -> space combination.
2013-02-26 22:35:19 +00:00
Jean Chalard
17100f3976 Merge "Fix dead key -> space combination." into jb-mr2-dev 2013-02-26 22:29:00 +00:00
Dianne Hackborn
442ebdf535 am 1bf1af60: Add documentation for overscan flag.
* commit '1bf1af60a3ec3da69aafbe1fe93c17312cb3e00e':
  Add documentation for overscan flag.
2013-02-26 18:43:39 +00:00
Dianne Hackborn
1bf1af60a3 Add documentation for overscan flag.
Change-Id: Ibed06f23b2011a66021344384150e9d4ba6e61ed
2013-02-26 10:36:10 -08:00
Jean Chalard
548655045a Fix dead key -> space combination.
This also fixes "dead key -> same dead key" combination.
Both these key sequences should only give the non-combining
version of the combining character.

Bug: 8158374
Change-Id: I51f01685dd2997c2c5316ce6aa4f10ac9354c877
2013-02-25 23:48:59 -08:00
Craig Mautner
2e5528c5e0 Merge "Revert ActivityManager changes for tasks. DO NOT MERGE" into jb-mr2-dev 2013-02-26 01:08:28 +00:00
Craig Mautner
2ad920759b Revert ActivityManager changes for tasks. DO NOT MERGE
Keeping all activity=>task changes in master and removing them
from jb-mr2.

Revert "Update histories simultaneously."
Revert "Add null check to setAppGroupId."
Revert "Fix crashing bug in validator."
Revert "Switch topRunning* and moveTaskTo*"
Revert "Begin switch over to task based history."
Revert "Reset and reuse Iterators and don't new() one."
Revert "Remove AppWindowToken lists."
Revert "Fix build."
Revert "Remove unused App methods."
Revert "Stop using AppToken movement and start using Task."
Revert "Replace access to mAppTokens with AppTokenIterator"
Revert "Refactor setAppOpVisibility implementation."
Revert "Add AppWindowTokens to TaskList."
Revert "Make ActivityStack.mHistory private."
Revert "Migrate AppWindowToken lists into DisplayContent."

Change-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb
2013-02-25 17:07:39 -08:00
Mathias Agopian
19a38f6f40 Merge "Fix SurfaceControl.setDisplaySurface() such that it accepts a null Surface" into jb-mr2-dev 2013-02-26 00:55:25 +00:00
Mathias Agopian
ffddc9b804 Fix SurfaceControl.setDisplaySurface() such that it accepts a null Surface
also fix a typo that made us call the wrong Surface ctor

Bug: 8225509
Change-Id: I23f92179b6003d4c3e0febb35166c1caeafa27f5
2013-02-25 16:49:57 -08:00
Mathias Agopian
ee5cedeca4 Merge "Fix SurfaceControl.setDisplaySurface() such that it accepts a null Surface" 2013-02-26 00:46:00 +00:00
Mathias Agopian
a35b3a0696 Fix SurfaceControl.setDisplaySurface() such that it accepts a null Surface
also fix a typo that made us call the wrong Surface ctor

Bug: 8225509
Change-Id: I4d6ec342469c1c55f1a2c753a046981f601dc4ca
2013-02-25 16:42:51 -08:00
Romain Guy
08bca88b27 Rename debug property and expose it in HardwareRenderer
Change-Id: If46a9bc14a50f6c9a202d901881b36bbac32cba3
2013-02-25 16:21:30 -08:00
Dianne Hackborn
c4aad01cbb Formalize overscan metrics.
The window manager now maintains and reports a new formal
"overscan insets" for each window, much like the existing
content and visible insets.  This is used to correctly
position the various UI elements in the various combination
of layout options.  In particular, this allows us to have
an activity that is using fitSystemWindows to have the content
of its UI extend out to the visible content part of the screen
while still positioning its fixed UI elements inside the
standard content rect (and the entire window extending all
the way into the overscan area to fill the screen as desired).

Okay, maybe that is not written so clearly.  Well, it made
my head hurt too, so suffer!

The key thing is that windows now need to know about three
rectangles: the overall rectangle of the window, the rectangle
inside of the overscan area, and the rectangle inside of the
content area.  The FLAG_LAYOUT_IN_OVERSCAN option controls
whether the second rectangle is pushed out to fill the entire
overscan area.

Also did some improvements to debug dumping in the window
manager.

Change-Id: Ib2368c4aff5709d00662c799507c37b6826929fd
2013-02-22 19:14:37 -08:00
Craig Mautner
12e563fff9 Merge "Create rotation animation modes." 2013-02-22 18:51:21 +00:00
Craig Mautner
3c1743705c Create rotation animation modes.
Allow fullscreen windows to specify crossfade or jumpcut animations
that override the default rotation animation. Only if the incoming
and outgoing topmost windows are fullscreen and both specify the
same animation to use.

Fixes bug 8182773.

Change-Id: I6b3c0020d7bd2cdfba5c66189e114ec62cd54fcf
2013-02-22 10:44:52 -08:00
Michael Wright
fe98be7533 am 65b0052a: Merge "Remove SurfaceControl.setPosition(int, int)"
* commit '65b0052a7473b73a18aef73460c9ebec77a2c2a0':
  Remove SurfaceControl.setPosition(int, int)
2013-02-21 16:09:05 -08:00
Michael Wright
b7b696ee71 Remove SurfaceControl.setPosition(int, int)
This was just casting and calling the float version anyways, which Java does
automatically.

Bug: 8153162
Change-Id: If2f99995ff38b92e40777896baf6694786031898
2013-02-21 15:52:50 -08:00
Chris Craik
c4ca87f0f4 am 8a47d8ea: Merge "Clean up clipping and deferral logic"
* commit '8a47d8eaec26d0937aee94a057f561f246748339':
  Clean up clipping and deferral logic
2013-02-20 10:42:40 -08:00
Chris Craik
8a47d8eaec Merge "Clean up clipping and deferral logic" 2013-02-20 18:40:03 +00:00
Chris Craik
5d11676414 Clean up clipping and deferral logic
bug:8037003

-Merges replay methods
-Bounds checking for DrawBitmapMesh, DrawRects and DrawDisplayList
-Use clip as bounds for otherwise unbounded draw operations

Clip-as-bounds is correct for drawColor and functor, but other draw
operations (pos text, text on path, and layers) still need true bounds
calculation

Change-Id: I5d5149d2c624f01e3fe46628bf156e835e69b9d5
2013-02-19 18:56:10 -08:00
Romain Guy
04bef5a6bb am 9943155b: Merge "Show Dalvik stack trace if an exception happens at draw time External bug: http://code.google.com/p/android/issues/detail?id=49379"
* commit '9943155b4db517deb72bd433d1cc9916bd84ae70':
  Show Dalvik stack trace if an exception happens at draw time External bug: http://code.google.com/p/android/issues/detail?id=49379
2013-02-19 15:37:43 -08:00