History log of /frameworks/base/core/java/android/view/SurfaceControl.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e4338f843b234b8651d20aef15c901cbd6847bfc 19-Apr-2017 Albert Chaulk <achaulk@google.com> Propagate UIDs for all SurfaceControl instances

Previously, a default value was being propagated for surfaces constructed
though paths other than WindowManagerService.createSurfaceControl. This
allows us to handle all surfaces in VR in a better way

Bug: 36589137
Test: Launch chrome (uses SurfaceView)
Change-Id: I8434c356ebe51173cae161ec1405e3d5f9a17723
/frameworks/base/core/java/android/view/SurfaceControl.java
af422a8c5b902831cbd2c97c71bbeed71604dd2e 11-Apr-2017 Robert Carr <racarr@google.com> Stack APPLICATION_MEDIA_OVERLAY windows with relative layering.

See accompanying frameworks/native commit
"SurfaceFlinger: Add parent-less relative layering" for a full explanation.

Test: Manual of bug repro steps. Plus tests for new SurfaceControl functionality included in frameworks/native.
Bug: 36693738
Change-Id: Ic54598117c1f44a206d33f03d0cc463fbef43fcc
/frameworks/base/core/java/android/view/SurfaceControl.java
897215d76ae2e7cbca63a505113f5d90ef892d81 29-Mar-2017 Robert Carr <racarr@google.com> Remove code for seamlessly rotating SurfaceView's.

No longer required :D

Bug: 36230754
Bug: 36727915
Test: Rotate camera in different modes.
Change-Id: I7708d61646a36bc0c35cfa91d441296eb49eff9a
/frameworks/base/core/java/android/view/SurfaceControl.java
d5c7dd6da810a6b89151b337bea79fd817e6b72a 08-Mar-2017 Robert Carr <racarr@google.com> Modify SurfaceView to use SurfaceFlinger child surfaces.

Here we have SurfaceView bypass the WindowManager and speak
directly to SurfaceFlinger using child surfaces. We also
implement some logic in the WM to handle child surfaces
in various Surface replacement scenarios.

For those following along in the revert Saga, this
also includes the follow up CLs to the original CL.
- Surface inset calculation
- Animation fixes.

The error causing the revert was an incorrect JNI signature
around deferTransactionUntilSurface. I've noted it inline.

Bug: 28858420
Bug: 31518219
Bug: 34888808
Bug: 35588318
Bug: 35396882
Test: Existing tests still pass (except for the ones that don't and will be deleted).
Change-Id: Ie56b6f7ab16f32d7fc459b8eba26594337ad55de
/frameworks/base/core/java/android/view/SurfaceControl.java
5aec7b90310ba05f9816fd89030ba41ce48c568e 08-Mar-2017 Wonsik Kim <wonsik@google.com> Revert "Modify SurfaceView to use SurfaceFlinger child surfaces."

This reverts commit cd4aeef88052571365d4e193a2c41e2e6d145491.

Bug: 36027342
Bug: 36015884
Change-Id: Ifd5b69caf64d65a8cd6570b7fe1fb6abe90e30b8
/frameworks/base/core/java/android/view/SurfaceControl.java
cd4aeef88052571365d4e193a2c41e2e6d145491 03-Mar-2017 Robert Carr <racarr@google.com> Modify SurfaceView to use SurfaceFlinger child surfaces.

Here we have SurfaceView bypass the WindowManager and speak
directly to SurfaceFlinger using child surfaces. We also
implement some logic in the WM to handle child surfaces
in various Surface replacement scenarios.

For those following along in the revert Saga, this
also includes the follow up CLs to the original CL.
- Surface inset calculation
- Animation fixes.

The error causing revert was a deferTransactionUntil(-1)...-1
cast to uint, defer transaction until MAX_UINT.

Bug: 28858420
Bug: 31518219
Bug: 34888808
Bug: 35588318
Bug: 35396882
Test: Existing tests still pass (except for the ones that don't and will be deleted).
Change-Id: Ib37236950a1dd3c4f9f4b58fd41ef9003c0557ef
/frameworks/base/core/java/android/view/SurfaceControl.java
3896db14751f16f4053e8fa4a82c3d6803054e5b 03-Mar-2017 Jeff Tinker <jtinker@google.com> Revert "Modify SurfaceView to use SurfaceFlinger child surfaces."

This reverts commit 693f3432ae77d1fcfaaf9d168de861192aacb4c4.

P0: When playing encrypted content the Fugu displays a blank screen.

Test: with topic "surfaceview-without-wm" reverted, encrypted playback
works on ToT oc-release. See repro steps in 35917840#12.

bug:35917840

Change-Id: I37fa1e427daff3a1c18ed1c92d035421d891f67c
/frameworks/base/core/java/android/view/SurfaceControl.java
693f3432ae77d1fcfaaf9d168de861192aacb4c4 19-Dec-2016 Robert Carr <racarr@google.com> Modify SurfaceView to use SurfaceFlinger child surfaces.

Here we have SurfaceView bypass the WindowManager and speak
directly to SurfaceFlinger using child surfaces. We also
implement some logic in the WM to handle child surfaces
in various Surface replacement scenarios.

Bug: 28858420
Bug: 31518219
Bug: 34888808
Bug: 35588318
Bug: 35396882
Test: Existing tests still pass (except for the ones that don't and will be deleted).
Change-Id: Icb7259365b51ebe8c7f6c7cd4f9ba29f9fce08a4
/frameworks/base/core/java/android/view/SurfaceControl.java
0edf18f34c4dc81e45580bc0a3b3b9b072caa725 22-Feb-2017 Robert Carr <racarr@google.com> Correct SurfaceControl matrix parameter names.

DsDx is used for the X scale but DtDy is used for the Y scale, it
seems like this is a simple mix up. Correct before documenting
SurfaceControl.

Test: Animations and such work.
Change-Id: Ic52b67596bf576f58346e4db66661b06ea1bdc2f
/frameworks/base/core/java/android/view/SurfaceControl.java
3bf2e57f8d8823f02c4e1d7bc954c4ed7c68ab84 22-Nov-2016 Albert Chaulk <achaulk@google.com> Propagate surface type and owner through to SurfaceFlinger.

This allows VrWindowManager to identify things like permission
dialogues in the list of SurfaceFlinger layers that show up while a
VR application is running and display them without leaving VR mode.

Bug: 30984984
Test: Run VR application, request permission at runtime, observe and
accept permission in VrWindowManager without leaving VR mode.

Change-Id: I347313b5fcd08dea3cd6fddfaeb15640938e3a87
/frameworks/base/core/java/android/view/SurfaceControl.java
838120c9db673d5ad5a614ad1fa9a2cf8030b8eb 02-Nov-2016 Robert Carr <racarr@google.com> Expose Java side for parenting SurfaceControl

Proposed by itself so others can experiment.

Test: Native side covered by SF Transaction test. Java side tested manually for now.
Change-Id: I44cf3acd65480bfe14e26db83e905f3ade73f7e0
/frameworks/base/core/java/android/view/SurfaceControl.java
6486d31dcbffb7179127a72ceefa11a1e726271f 10-Jan-2017 Robert Carr <racarr@google.com> Expose SurfaceControl method to screenshot to GraphicBuffer.

A graphic buffer is most useful, as we can both attach it
to starting windows, and directly use it in Sys-UI. The old
codepath for starting windows/saved surfaces, is co-existing
at the moment, so I don't make large attempts to clean up
the existing screenshot code.

Bug: 31339431
Test: Manual test in combination with other branches
Change-Id: I562fdd5460dbce3201ba090272e8731850780f20
/frameworks/base/core/java/android/view/SurfaceControl.java
67e2ae86396c6d0f989285275cbf908dee5e71f7 12-Oct-2016 Aurimas Liutikas <aurimas@google.com> Fix import statement in view|transition|animation packages.

This change also remove trailing whitespace.

Test: code still compiles
Change-Id: I7eff4546320d67d2bae58d31bad0625ea0791b8f
/frameworks/base/core/java/android/view/SurfaceControl.java
3b716249cc2f94aa9842576b618998c28593be90 17-Aug-2016 Robert Carr <racarr@google.com> WindowManager RemoteSurfaceTrace infrastructure

Add "wm surface-trace" command which enables tracing of surface
commands to be switched on at runtime. Primarily intended for use
by WM CTS tests. First target in CTS will be to use show/hide
events to eliminate polling in WM tests and increase speed. Next up
looking at things like verifying various transitions and relaunch
scenarios are flicker free. Later we may want to look at a smarter
or more structured format...but it's really not much hassle to parse
the commands off a pipe so I wanted to get us started.

Test: cts-tradefed run singleCommand cts -o --module CtsWindowManagerHostTestCases --test android.server.cts.SurfaceViewMovementTests#testSurfaceMovesWithParent
Change-Id: I1ff912c405a6cb9996ee9b6e2c465d57706191ba
/frameworks/base/core/java/android/view/SurfaceControl.java
1c9977b762b4bac46b4470f04c898bfd17da5d90 12-Jul-2016 Michael Wright <michaelwr@google.com> Rename color transform to color mode and persist the value.

Also, standardize on a set of possible modes for the displays to
enter and separate the configuration of the color mode from the
configuration of the display mode.

Bug: 29044347

Change-Id: I6af0a7d1f11bc72d4cefc380f115c1fb00788864
/frameworks/base/core/java/android/view/SurfaceControl.java
6da3cc0237d2483ead16a7013d1326bccc5112af 17-Jun-2016 Robert Carr <racarr@google.com> Implement seamless rotation mode.

Add a rotation mode which does not require freezing
the screen. For situations like Camera where only small
elements move on screen, this allows for seamless changes
of display orientation. This is achieved by transforming the
windows with their current buffer in the same transaction that
we rotate the display. We set things up so the windows are
frozen this way until they submit buffers in the new orientation.
There is a special case in the Camera window itself, and it's use
of NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY. In this case the buffer
contents are rotated by SurfaceFlinger and will never resize, for these
windows we just need to update the scaling matrix.

Bug: 28823590
Change-Id: I52dc6a86fcb3c08f736f0977ba3975a24fb8136c
/frameworks/base/core/java/android/view/SurfaceControl.java
a9408d4a4809dd229fb7fb8f9594cb6db4b1da64 03-Jun-2016 Robert Carr <racarr@google.com> PiP animation: Move window with resize when ending animation.

At the end of the animation (when going from larger to smaller),
we are left with a scaled surface, that we want to seamlessly
resize to an unscaled surface of the new size. Because we have scaled
the shadow region of the surface, the position of the content
will differ before and after the resize applies. We use new
SurfaceFlinger API to cause position updates to apply after
resize. Because we have to switch into SCALING_MODE_FREEZE,
we could end up prematurely cropping the window, so we
switch to using screen space crop for the pinned stack.

Bug: 28899837
Change-Id: I9b762a237413e4fa3d432e67d30c7125bfef484c
/frameworks/base/core/java/android/view/SurfaceControl.java
e9953b1752a583058e639ef3de456988ab6ef7bf 24-May-2016 Robert Carr <racarr@google.com> Force pending transactions to flush before screenshot.

Following 14e54ba747 (ag/1043009) we need to push an empty
synchronous transaction if we want to ensure all previous
transactions have occured before taking a screenshot. In
light of Bug 7552304 it seems wise to do this before screenshoting
applications.

Bug: 27098060
Bug: 7552304
Change-Id: I6d7dfbe634a288c55449d2f1d6fbbfc13bab08ad
/frameworks/base/core/java/android/view/SurfaceControl.java
9ff94c0251722c44eece7c3561b4ed36b286d4a8 31-Mar-2016 Michael Wright <michaelwr@google.com> Plumb HDR capabilities to Display

Bug: 25684127
Change-Id: I0a4fcdc59aa1a7b295c8df03699466685300e735
/frameworks/base/core/java/android/view/SurfaceControl.java
1ca6a33f36357281b3445e85d9e67cacd1a12ede 12-Apr-2016 Robert Carr <racarr@google.com> Force windows to be scalable during pinned animation.

We resize windows at the beginning of the pinned stack
animation when animating to a larger size, and so for some
duration a resize will be pending. We need to force the window
out of SCALING_MODE_FREEZE so we can animate during this period.

Bug: 27891386
Change-Id: I5cff599ed67f2c179e938662b6f0d99bd790aaba
/frameworks/base/core/java/android/view/SurfaceControl.java
27982e65eebdd8c23619e29c4d85a8b208e30200 09-Mar-2016 Pablo Ceballos <pceballos@google.com> Java bindings for SurfaceControl::setFinalCrop

Bug 26559810

Change-Id: I74eefa91b2d38e55fb9e27e7dc2cd3536e610108
/frameworks/base/core/java/android/view/SurfaceControl.java
47e36a3e270ff3e94750d730ac2a9f0bdfe96c04 01-Mar-2016 Chong Zhang <chz@google.com> Force disconnect when the surface is about to be saved.

Some client will not disconnect, and if we're saving the surface (instead
of destroying it), we need to make sure the surface is disconnected.
Otherwise the client won't be able to reconnect to the same surface.

bug: 27295820
Change-Id: I471b8fbe8f590c900e17a017167466fc8a70b87a
/frameworks/base/core/java/android/view/SurfaceControl.java
64e516f5fa56d71bf6b5076e5620c30dc5810ba1 29-Oct-2015 Rob Carr <racarr@google.com> Sync SurfaceView position changes to parent render.

In order to provide pixel perfect movement of SurfaceViews
'within' other views (e.g. scrolling) we need to be able to
synchronize the attached (parent window) painting with the
movement of the SurfaceView (recall, SurfaceViews are positioned
behind their attached windows and the parent must render a
transparent region for the SurfaceView to appear). Provide
a new WindowManager method to reposition an attaching window
(that is to say, a window which has an attached window like
SurfaceView) and defer the transaction until the parent frame.
SurfaceView is hooked up to use this for movement. This is still
'racy' in the hardware accelerated case as the render thread
could be on either side of dequeing the frame we are working on.

Bug: 22802885
Change-Id: I025d2bdcbe15c1c11047cc0dbca2cf2b7d67c632
/frameworks/base/core/java/android/view/SurfaceControl.java
7e1d861a9a3f76e1f79eb6806d4aa8bbeb560773 16-Oct-2015 Rob Carr <racarr@google.com> Revert "Sync SurfaceView position changes to parent render."

This reverts commit 6104dc95606b3399356dd011ca6d71fcd954154c.

Change-Id: If9d709bc65e7a817bd2c1b5768c7c33a9317638f
/frameworks/base/core/java/android/view/SurfaceControl.java
6104dc95606b3399356dd011ca6d71fcd954154c 28-Sep-2015 Robert Carr <racarr@google.com> Sync SurfaceView position changes to parent render.

In order to provide pixel perfect movement of SurfaceViews
'within' other views (e.g. scrolling) we need to be able to
synchronize the attached (parent window) painting with the
movement of the SurfaceView (recall, SurfaceViews are positioned
behind their attached windows and the parent must render a
transparent region for the SurfaceView to appear). Provide
a new WindowManager method to reposition an attaching window
(that is to say, a window which has an attached window like
SurfaceView) and defer the transaction until the parent frame.
SurfaceView is hooked up to use this for movement. This is still
'racy' in the hardware accelerated case as the render thread
could be on either side of dequeing the frame we are working on.

Change-Id: Ic33915043380ab8cd9eb4920e224b35234ed867d
/frameworks/base/core/java/android/view/SurfaceControl.java
904f485bc6013060e81b627be61314b3d7fe5ef8 31-Aug-2015 Dan Stoza <stoza@google.com> SurfaceControl: Add colorTransform to DisplayInfo

Adds the colorTransform field, which defines a vendor-specific color
transform (e.g., wide gamut, sRGB, etc.) to the PhysicalDisplayInfo
class, and populates it from the corresponding field from
ISurfaceComposer.

Bug: 20853317
Change-Id: Ic59ca5142bdaa73c42d9c044d7aae345255f1dad
/frameworks/base/core/java/android/view/SurfaceControl.java
f5ad42f4324bfb7aa28f0967e2fcc89f55d6e91f 12-Jun-2015 Wale Ogunwale <ogunwale@google.com> Update surfaces secure flag on screen capture setting change

Also, added 'wm screen-capture [userId] [true|false]'
command.

Bug: 20934462
Change-Id: I14711003d7691fc4495428c12c9ff3457cd3773c
/frameworks/base/core/java/android/view/SurfaceControl.java
1d13406538b79785d2d0928689b8d5037e851ecf 22-Aug-2014 Riley Andrews <riandrews@google.com> Use surfaceflinger for recents thumbnail rotations.

+ This removes 30ms of latency on app to home transitions
on volantis.
Change-Id: Ia3747b8f8be0d41b9b3d095753edfe1df185c84d
/frameworks/base/core/java/android/view/SurfaceControl.java
01e840ff9441e005153d799e71d65b38bcb21902 27-Jun-2014 Michael Wright <michaelwr@google.com> Add resize method for virtual displays

Change-Id: I2632fc56c2d2cba356379e42f5c1a3e283b11d1e
/frameworks/base/core/java/android/view/SurfaceControl.java
68eccdade2aad22b7eb34a28572c204dcd54f7b9 07-Jul-2014 Riley Andrews <riandrews@google.com> Add cursor flags into SpriteController to suppor async cursor updates.
- This is fairly blindly taken from nvidia's implementation.

Change-Id: I825ecbd9cb4b394793dce079591b37efca546bbe
/frameworks/base/core/java/android/view/SurfaceControl.java
5dc219142a756d57355b511c8f8ab913c01710da 18-Jul-2014 Jeff Brown <jeffbrown@google.com> Add new Display.STATE_DOZE_SUSPEND power state.

Change-Id: Ia62f4f0d25234281dc600d0b7f08b3c6a312db7a
/frameworks/base/core/java/android/view/SurfaceControl.java
e8b1aeb51e1e5da64f1d4fd40f2ee1e815886fe5 13-Jun-2014 Andy McFadden <fadden@android.com> Add two new display info fields

This adds SurfaceFlinger's app VSYNC offset and buffer deadline
values to DisplayInfo. The values will be available to apps
through queries on a Display object (currently hidden).

Bug 14612039

Change-Id: I48760f58a9d74d99651b02a9d595f420410f2bb5
/frameworks/base/core/java/android/view/SurfaceControl.java
c55929a2a5686fe456b19cd54a73b8bde2a4332b 25-May-2014 Prashant Malani <pmalani@google.com> Add call to set power mode for display

The blank/unblank interface is being replaced by a generic
setPowerMode() call. This will allow the support of low power modes in
displays where such functionality is available. Currently three modes
are defined:

- POWER_MODE_OFF
- POWER_MODE_DOZE
- POWER_MODE_NORMAL

POWER_MODE_OFF would be analogous to blanking the screen,
POWER_MODE_NORMAL akin to unblanking it, and POWER_MODE_DOZE would
trigger an entry into the display's low power mode.

We also tie the JNI call to set power mode to the call from services which
actually invokes it.

The generic setPowerMode() call can be expanded to potentially include
other display power states.

Bug: 13472578
Change-Id: I74677506d3ee2ccc50ba70c5102d96b31fe7b837
Signed-off-by: Prashant Malani <pmalani@google.com>
/frameworks/base/core/java/android/view/SurfaceControl.java
9890e341bf9d565309cd7db5e6c4194c66c0a1d8 23-May-2014 Dan Stoza <stoza@google.com> SurfaceFlinger: Add sourceCrop to screenshot

Adds a sourceCrop Rect parameter to screenshot commands, which allows
clients to capture only a portion of the screen instead of the whole
screen.

Bug: 15137922
Change-Id: I629447573cd34ffb96334cde7ba02490b9ea06d8
/frameworks/base/core/java/android/view/SurfaceControl.java
00101052b5bf99a29acea3525864ed64b709c16c 03-May-2014 Dan Stoza <stoza@google.com> Enable changing display configuration

This allows querying and switching display device configurations
through the ISurfaceComposer/SurfaceComposerClient interface.

Bug: 14320401
Change-Id: Ie4363bc8353d95428f1114ea48e5b1c8976e1730
/frameworks/base/core/java/android/view/SurfaceControl.java
1376d600d8e0eefdbc0aa11d398cf7517fc77129 13-Mar-2014 Svetoslav <svetoslavganov@google.com> Adding render stats APIs to UiAutomation (framework).

bug:12927198

Change-Id: Iae21481c75ae58dcdab3731bf5f1e2844e29d434
/frameworks/base/core/java/android/view/SurfaceControl.java
475e3f0e887cd23d3107acc06d29d440c60fbecf 17-Mar-2014 Wonsik Kim <wonsik@google.com> Revert "VideoPlaneView initial implementation"

This reverts commit 5f8aa4142919b3001fd2621f7acd5f609a5129a5.

Change-Id: I161748f365512c5e24acba2c3d9ebd9405fa8e3f
/frameworks/base/core/java/android/view/SurfaceControl.java
5f8aa4142919b3001fd2621f7acd5f609a5129a5 18-Feb-2014 Wonsik Kim <wonsik@google.com> VideoPlaneView initial implementation

Note that eventually VideoPlaneView should not inherit from SurfaceView.

Remove a few trailing spaces too.

Change-Id: Ia0a461169d560435a827861be2cc15f1e3ee68fa
/frameworks/base/core/java/android/view/SurfaceControl.java
16ec12ae77fdd2b09ea0ea0885ac52f11bd32c59 15-Feb-2014 Dan Stoza <stoza@google.com> Allow disabling layer rotation during screenshots

Add the ability to ignore layers' transformation matrices during
screenshot capture, which will allow the window manager to capture
unrotated images for recents during the device rotation animation.

Bug: 11805195
Change-Id: I96e65506b198d34724eb3aa84815aae6f6de4935
/frameworks/base/core/java/android/view/SurfaceControl.java
40b9ef1e2d91615cba6fb5d9527f81090a705026 30-Jan-2014 Andy McFadden <fadden@android.com> Remove setFlags()

Remove setFlags(), which doesn't seem to be used, and make the flag
declarations private. The flags can be set with hide(), show(), and
setOpaque().

Change-Id: I2bdff0881d9397b0c4455f6663c2a1e8084df719
/frameworks/base/core/java/android/view/SurfaceControl.java
acdbb9a9e1443b6690864446d76e4067f2bd7640 30-Jan-2014 Andy McFadden <fadden@android.com> Merge "Allow "opaque" flag to be updated"
314405bf891904d1bbeeaf0f9fc387c1a1aded9a 30-Jan-2014 Andy McFadden <fadden@android.com> Allow "opaque" flag to be updated

Added a setOpaque() call and a bunch of comments.

Bug 12387406

Change-Id: Ic066cba926223f22f9bc56a7013987001d9cc795
/frameworks/base/core/java/android/view/SurfaceControl.java
36bef0bf30d6bae48cf3837df351075ca4fce654 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
/frameworks/base/core/java/android/view/SurfaceControl.java
7023df08f14ec5dee76ac54c03e870f84e297636 27-Jan-2014 Narayan Kamath <narayan@google.com> Revert "AArch64: Make graphics classes 64-bit compatible"

This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976.

Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
/frameworks/base/core/java/android/view/SurfaceControl.java
18b4cbeedef21c1fa666a110a157bab66edff976 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
/frameworks/base/core/java/android/view/SurfaceControl.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/core/java/android/view/SurfaceControl.java
ed8902d3b5452860d87aaa0ed7fba8abb73fc983 15-Nov-2013 Mike Lockwood <lockwood@google.com> Remove obsolete "headless" support

Change-Id: I18e7a4c5166163372ec0a8abbef1063668a0f5b6
/frameworks/base/core/java/android/view/SurfaceControl.java
a86ab640f7bb0bf3cb4eaed80473ca8c5d131903 30-Aug-2013 Igor Murashkin <iam@google.com> Surface: Change OutOfResourcesException to be a runtime exception

- Deprecates SurfaceTexture.OutOfResourcesException, it wasn't used
- Make all JNI code throw only Surface.OutOfResourcesException
- Get rid of redundant SurfaceControl.OutOfResourcesException

Bug: 10566539
Change-Id: I58126260771b9ccff6a69c672ce7719b9f98138d
/frameworks/base/core/java/android/view/SurfaceControl.java
6a6bc216d15293886ad088bb0ca99aadb7df85dc 08-Aug-2013 Jesse Hall <jessehall@google.com> Use new ISurfaceComposer::destroyDisplay method

Bug: 10191053
Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
/frameworks/base/core/java/android/view/SurfaceControl.java
fc0ebd7d379ff63c00ebf78ca252fab5070213da 01-May-2013 Jeff Brown <jeffbrown@google.com> Really make Surface thread-safe.

There were many places where the native object was being
accessed improperly. Also some places where CloseGuard might
not be acquired or released correctly or where the generation
count might not be updated.

Fixed them all.

That said, Surface isn't intended to be used concurrently
so please don't do it. This is only intended to make
hard to find crashes less likely.

Bug: 8328715
Change-Id: I981ef33425823e0fd7ad6b64443f2ec9b0c8335e
/frameworks/base/core/java/android/view/SurfaceControl.java
49ff2c615e53cd9c3e8b5e4792a68026fb079671 17-Mar-2013 Mathias Agopian <mathias@google.com> improve SurfaceControl.screenshot documentation

Change-Id: I7e17f69f74df8610b5b85fac0127727df973be42
/frameworks/base/core/java/android/view/SurfaceControl.java
11e7d88d1441c20605d7f06ab31ef2c81590d5c4 05-Mar-2013 Mathias Agopian <mathias@google.com> remove suppor for SurfaceControl.FX_SURFACE_SCREENSHOT

the window manager can now use the SurfaceControl.screenshot
API with a "regular" surface.

Change-Id: I76bed81d5e7b078ea1b3e8f96814aba32e9d5405
/frameworks/base/core/java/android/view/SurfaceControl.java
0449a40586b45ee05f760802020dc2f8a6e0506b 02-Mar-2013 Mathias Agopian <mathias@google.com> 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
/frameworks/base/core/java/android/view/SurfaceControl.java
ffddc9b8045235a493ec506965ae4892601eb23d 26-Feb-2013 Mathias Agopian <mathias@google.com> 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
/frameworks/base/core/java/android/view/SurfaceControl.java
b7b696ee717056b70f3cc7b801cf2ca573fa9a25 22-Feb-2013 Michael Wright <michaelwr@google.com> Remove SurfaceControl.setPosition(int, int)

This was just casting and calling the float version anyways, which Java does
automatically.

Bug: 8153162
Change-Id: If2f99995ff38b92e40777896baf6694786031898
/frameworks/base/core/java/android/view/SurfaceControl.java
29479ebe1007361222bf6ab4d5e2a27927d4b8e8 14-Feb-2013 Mathias Agopian <mathias@google.com> clean-up following Surface split

Change-Id: I853a76d92d957ee38a36fcdd280d6407ec316987
/frameworks/base/core/java/android/view/SurfaceControl.java
3866f0d581ceaa165710feeee9f37fe1b0d7067d 12-Feb-2013 Mathias Agopian <mathias@google.com> split Surface in two classes: SurfaceControl and Surface

SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.

Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
/frameworks/base/core/java/android/view/SurfaceControl.java