Commit Graph

7659 Commits

Author SHA1 Message Date
Filip Gruszczynski
8c1ee9d8f5 Use full display size for calculating volume dialog size.
Bug: 26485500
Change-Id: I25ef29a3d611617b4dc59a315b072fafb3f3f825
2016-01-12 13:22:38 -08:00
Adrian Roos
292494a58b Merge "Apply transformations while offsetting focused rects" 2016-01-12 20:21:25 +00:00
Adrian Roos
83e725da7a Apply transformations while offsetting focused rects
Change-Id: Id6ebf8d50bd74f52fb76cf12bf14ccc0dcf7e34b
2016-01-12 12:25:36 +01:00
Yohei Yukawa
f55ed12fd1 Merge "Enrich JavaDoc for IC#deleteSurroundingText()." 2016-01-12 00:08:39 +00:00
Jorim Jaggi
737af724eb Snap docked stack after screen rotation
- Move DividerSnapAlgorithm to com.android.internal, also move
some utility stuff into DividerUtils which is used from both
SystemUI and window manager
- When the screen rotation changes, rotate the stacks like before
but then also snap the docked stack to a valid snap position.

Change-Id: I9e1aa13f42f398a25c9016e6f20395ee212e405b
2016-01-11 23:05:56 +00:00
Winson Chung
3dc52ed179 Revert "Snap docked stack after screen rotation"
This reverts commit e65d6bb207.

Change-Id: I245aa9be3ea98ff742e02b02f6f1d344bc2e8182
2016-01-11 17:53:17 +00:00
Jorim Jaggi
e65d6bb207 Snap docked stack after screen rotation
- Move DividerSnapAlgorithm to com.android.internal, also move
some utility stuff into DividerUtils which is used from both
SystemUI and window manager
- When the screen rotation changes, rotate the stacks like before
but then also snap the docked stack to a valid snap position.

Change-Id: Ifb0c65dfbdfca2343a76b12de982c0701fe0c3ab
2016-01-11 16:58:54 +00:00
Filip Gruszczynski
411c06fbf9 Only allow activities to move to full screen stack.
We allowed activities to move to any stack, but that's too much
freedom. Instead we only allow them to move from freeform stack to a
fullscreen stack.

Change-Id: I04de9bbf18cf4431d7bd34d6c727de82802661ef
2016-01-07 16:58:13 -08:00
Sriram Viswanathan
9ebbe6afe7 Changes to support navigation bar system UI in car mode.
The change has all the platform changes required to support
modifications in the navbar dimensions and custom icons in car mode.
The UX is not frozen yet, but have placeholder resources provided
by android auto UX engineers.
The change assumes that the car mode configuration is known to the
WindowManagerService and uses its current ui mode to request the
latest from the policy (PhoneWindowManager.java). The change is
modeled on the way rotation is handled, where the Policy knows the
different view attributes for uiMode and just returns back the
window sizes based on the current uiMode requested. The policy does
know the current uiMode, but the order of when that changes is not
deterministic [from logs it does happen before any request to update
UI occurs, but guess that could change].

Bug: 25996809
Change-Id: Ia46cbe5096382d26c9eb8ec74cf59a059b767edb
2016-01-07 12:47:23 -08:00
Prashant Malani
9d7272a669 Merge "Re-hide AXIS_SCROLL constant." 2016-01-07 20:42:34 +00:00
Prashant Malani
8171658b9f Re-hide AXIS_SCROLL constant.
Bug: 22836852
Bug: 18707397
Change-Id: I9cf7111cf5e3b73efca2ec8c98bf07941d1cec4e
2016-01-07 20:41:16 +00:00
Filip Gruszczynski
60db7c317d Merge "Use activity dimensions instead of display to calculate dialog size." 2016-01-07 17:08:56 +00:00
Alan Viverette
2ba4dfc7de Merge "Avoid drawable invalidation during draw()" 2016-01-07 15:54:36 +00:00
Yohei Yukawa
5f137933d1 Enrich JavaDoc for IC#deleteSurroundingText().
As a preparation work for Bug 6526420, where we are going to
introduce a new variant of IC#deleteSurroundingText(), this CL attempts
to clarify about the expected behavior of IC#deleteSurroundingText().

With this CL, the expected behavior when the number of existing
characters is smaller than the number of characters to be deleted is
now documented by simply describing the current behavior of
BaseInputConnection, that is, IC#deleteSurroundingText() will delete
characters until it deletes requested number of characters in code units
or reaches to an end.

This is purely documentation work.  No behavior change is intended.

Bug: 6526420
Change-Id: I7280dec07e1c043bd26b3b12fd866b9d8b6186cc
2016-01-07 08:09:34 +00:00
Filip Gruszczynski
34dab0b3d9 Use activity dimensions instead of display to calculate dialog size.
This adjusts the code for measuring and laying out dialog windows, which
used display dimensions as a basis for calculating the dialog
dimensions. Because of this dialogs would be too large in multi window
mode, where the parent bounds are far smaller than full display. This
switches to using dimensions for configuration received from activity
manager.

Mind, this is still not working as needed, because the resources return
minimal size of the dialog as if it was displayed on a full display,
rather than within activity bounds.

The CL also introduces better logging tags in ViewRootImpl and
DecorView. These normal approach works reasonably well when there is a
single activity on the display. However, when multiple windows are
displayed, it becomes impossible to determine which view root/decor view
logged what. This adds a suffix, that allows to identify the owner.

Bug: 26251921

Change-Id: I515a1ff9a81ee5ad086773196db71915e88a25eb
2016-01-06 17:35:54 -08:00
Chris Craik
4420eae399 Merge "Check api level before throwing in drawable setters" 2016-01-06 18:18:07 +00:00
Vadim Tryshev
1ee3e370f9 Merge "Fixing crash in D&D due to race conditions during drag end." 2016-01-06 02:55:06 +00:00
Jorim Jaggi
0fe356e83e Fix unnecessary relayouts
Make sure mPendingBackDropFrame is always up-to-date.

Bug: 26396351
Change-Id: Icb61f3581ee75e94d45fc0f8ae0895535bb130ea
2016-01-05 14:44:07 +01:00
Jorim Jaggi
5098159ae3 Dim stack while dismissing
When dismissing the docked or fullscreen stack, a dim layer is
introduced for a nicer visual effect.

Change-Id: I9f12e331e978208aa9fd9e9883b3c8a36d4da3a0
2016-01-05 13:50:32 +01:00
Jorim Jaggi
a6c934e2a3 Use different asset when docked stack exists
- Add the ability to add a listener when the existence of the
docked stack changes.
- Register SystemUI as such a listener and switch the recents
button asset when docked stack exists.

Change-Id: I05350878c5adc7ad9f0399f0c42d8d1615d44d02
2016-01-05 13:49:41 +01:00
Chris Craik
b7244809f5 Check api level before throwing in drawable setters
bug:25801789

TextureView started throwing in these in N.

Change-Id: I538d1c57deb0a5a6a25c297833af06d3f237600c
2016-01-04 15:49:12 -08:00
Wale Ogunwale
6cae765b67 Added support for android.R.attr#alwaysFocusable
Allows an activity to always be focusable regardless of if it is in a
stack whose activities are normally not focusable. For example, activities
in pinned stack aren't focusable. This flag allows them to be focusable.

Also, changed ActivityInfo.#{resizeable, supportsPip} to use flags.

Bug: 26273032
Bug: 26034613
Change-Id: I8c63e6d3256757e2e6931e08b8a65269f5169d35
2016-01-04 22:23:56 +00:00
Alan Viverette
8cda8e9159 Avoid drawable invalidation during draw()
Prevents infinite invalidation loop when reusing a drawable asset within
a single draw() call. Also reduces unnecessary extra invalidations due to
drawable setters (ex. setBounds()) being called during draw().

Bug: 26329675
Change-Id: I31b3c99e8efd4193415cc562a84c8939a2f56c2d
2016-01-04 12:36:28 -05:00
Mathew Inwood
4985c5c782 Experimental: verify cached constructors before use.
Caching constructors can cause problems for dynamically loaded code if
the same class name appears in more than on classloader. Before using
cached constructors, verifty that they come from a valid classloader, i.e.
one that appears in the classloader chain of the current contexts
classloader. Remove ones that do not from the map to allow the associated
classes to be unloaded in case they're no longer in use.

Bug: 21690610
Change-Id: I84f2894cd03a5dc0c33aed9cd710e4a1f6d9515f
2015-12-31 12:32:40 +00:00
Vladislav Kaznacheev
b23a757aa2 Bind DropPermissions life cycle to Activity
Move requestDropPermissions from DragEvent to Activity.
Permissions will be granted using UriPermissionOwner
 associated with this activity and revoked when the activity
 is destroyed (if DropPermissions.release is not called before that).

Change-Id: Ic8f8fc3f56f57e83b9bc34ae8c96d82c2c9c4e1d
2015-12-22 14:40:11 -08:00
Robert Carr
cd9a18c7f8 Set SCALING_MODE_NO_SCALE_CROP for SurfaceView.
When resizing SurfaceView along with a main application window,
we want to be able to update the crop of the SurfaceView without waiting
for a buffer at a new size. If we fail to do so the SurfaceView may
extend beyond the edge of the host surface.

Bug: 26010823
Change-Id: I3bb52f82c02bb729a2494a3a43b9654d9aae9532
2015-12-21 14:57:52 -08:00
Selim Cinek
a69f2a6449 Fixed a measuring bug with the notification children container
The notification children didn't respect the given dimensions
when measuring and was simply measuring itself as high as desired.
This lead to a bug where the parent could crash when a layer was
set on it.
We are now measuring the container at most with the height of
the given size and let children draw over our view bounds.
In oder to still allow touch in those regions we also
override the touch rect.
This also simplifies the rest of the touch handling.

Bug: 26159274
Change-Id: I728553a6386455e6632e2511be8a3e7cb447e89b
2015-12-19 15:46:34 -08:00
Vadim Tryshev
151778998a Fixing crash in D&D due to race conditions during drag end.
*** MERGING TO MASTER ***

Drag-end event processing for a child view can remove the GroupView,
Which will synchronously call dispatchDetachedFromWindow(), which will
null mChildrenInterestedInDrag.
This causes a crash when trying to clear the map.

Fixing by introducing a local variable.

Bug: 25433279
Change-Id: I2ef88f7f97935dbafda54634831fbbff747b8f2e
(cherry picked from commit 2e2f1066ad89110365cdb504bf6568569d94da58)
2015-12-19 01:50:29 +00:00
Jun Mukai
56cd51a704 Merge "Introduce pointer capture API." 2015-12-18 23:30:10 +00:00
Daniel Koulomzin
db3631f8c1 Merge "Making ViewRootImpl drop input events when the Activity is in ambient mode." into cw-e-dev am: cbef517d02 am: 898e330aae am: 94794af6be
am: 3f66df086a

* commit '3f66df086a210bc0dec7a0bd86081f6f79b3a712':
  Making ViewRootImpl drop input events when the Activity is in ambient mode.
2015-12-18 21:04:41 +00:00
Daniel Koulomzin
3f66df086a Merge "Making ViewRootImpl drop input events when the Activity is in ambient mode." into cw-e-dev am: cbef517d02 am: 898e330aae
am: 94794af6be

* commit '94794af6bee35c249857f0440c361d589b77aa5d':
  Making ViewRootImpl drop input events when the Activity is in ambient mode.
2015-12-18 12:15:10 -08:00
Wale Ogunwale
8216eb2221 Added PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME window flag
Allows us to differentiate between child windows that always want to be
laid-out in the parent frame regardless of multi-windowing mode
(PopupWindows) and those that don't (SurfaceViews).

Bug: 26255254
Change-Id: Icbc245a24f9a38698444196846ddb25016ef7e2a
2015-12-18 10:42:42 -08:00
Jun Mukai
347e5d498f Introduce pointer capture API.
This depends on I4189eb4d93f50c2865b7a325727be5ceebcc71f8 of
frameworks/native.

Bug: 5452473
Change-Id: Ie21e521f3e5c581f976dc0feb5d84bfa48b046cd
2015-12-18 10:22:43 -08:00
Daniel Koulomzin
087ae471c2 Making ViewRootImpl drop input events when the Activity is in ambient
mode.

WearableActivityController tells ViewRootImpl about ambient mode.

Bug: 25912259
Bug: 25973146
Bug: 25714113
Change-Id: Idcca2b254db3145039f50f2a7dfd38a224ec287e
2015-12-18 12:56:00 -05:00
Alan Viverette
ad217b68f8 Merge "Don't call public non-final getResources() from getAssets()" 2015-12-17 16:38:42 +00:00
Vladislav Kaznacheev
9149d2b117 Rename and simplify DropPermissionHolder
Rename DropPermissionHolder to DropPermissions and move
all server-side implementation details into a separate class.
Rename DragEvent.getDropPermissionHolder to
requestDropPermissions and make it take the permissions
implicitly.

Change-Id: Ia83f7cb8af07ce13ba9536d24b0f9d63331d8736
2015-12-16 17:10:36 -08:00
Alan Viverette
713a5cdb53 Don't call public non-final getResources() from getAssets()
Refactors to getResourcesInternal() and calls that from both methods.
Adds documentation on Context.getResources() and getAssets() that the
instances returned should be consistent with each other.

Bug: 26228895
Change-Id: I41b09f1e9a3a0315bcdf1c08a7b431a9a697bb6f
2015-12-16 15:46:32 -05:00
John Reck
bf4b31f7b2 resolve merge conflicts of 04ce46db64 to master.
Change-Id: I935bb47718f0e7d5fb48945dd8de6e28dac136e5
2015-12-16 11:07:53 -08:00
John Reck
04ce46db64 Merge "libhwui: make setSurface asynchronous"
am: 738a5d4f18

* commit '738a5d4f18e69c03700b77af0ea7e2a101da2c34':
  libhwui: make setSurface asynchronous
2015-12-16 18:44:57 +00:00
Jun Mukai
e4e75daa65 Exclude accessing settings from PointerIcon.
This code structure causes a crash as rerported, better to extract
access to the settings to InputManagerService, who actually cares
about it.

Bug: 26196092
Change-Id: I4e0dbcc24ccf5d11681738ca3576b64471aa8cc4
2015-12-15 16:40:50 -08:00
Wale Ogunwale
3e5f080528 Merge "Fixed bug with caption not showing for some apps that handle config changes" 2015-12-15 18:11:11 +00:00
Wale Ogunwale
eb6722c0bc Fixed bug with caption not showing for some apps that handle config changes
We currently decide when to show the decor caption onConfigurationChanged
However, if the app handles configuration changes or the threshold isn't
big enough for the configuration change to be reported to the app, we don't
display the caption in some cases when transitioning from fullscreen mode
to freeform mode.
We now also use the onMultiWindowModeChanged call to also determine if
the caption should be visible.

Change-Id: I237437f04ad90f904912ebac0253245f547b0e3e
2015-12-15 09:01:45 -08:00
Michael Wright
e5f4a9c112 Merge "Make KEYCODE_SPACE a confirm key." 2015-12-15 16:41:16 +00:00
Jun Mukai
81245161a0 Merge "Make public pointer icon API with custom icons." 2015-12-15 04:46:53 +00:00
Rob Carr
28ba383214 Merge "Move window replacement tracking to window state." 2015-12-15 04:05:19 +00:00
Jun Mukai
d4eaef7f4c Make public pointer icon API with custom icons.
BUG: 25778347, 23804184
Change-Id: If138b97c750c912e9848412c27b65004899961eb
2015-12-14 19:45:10 -08:00
Michael Wright
aa1a94daaa Make KEYCODE_SPACE a confirm key.
By default space should "click" the focused item. This behavior also
applies to GridView and ListView if the items are clickable, but will
continue the previous behavior of scrolling if it's just a list of
items you can't really interact with.

Change-Id: Ic3a0334614d1dc68ff98bc4b1fb1ae2f961f71af
2015-12-14 17:30:25 -05:00
Jun Mukai
7767322565 Merge "Allow specifying pointer shape from xml resource." 2015-12-14 21:34:28 +00:00
Jun Mukai
80fdc1bd36 Allow specifying pointer shape from xml resource.
Bug: 25777986
Change-Id: I8be5d2cb130299b0ea8f4f4d3dc582143f7ff553
2015-12-14 12:09:27 -08:00
Andreas Gampe
e37f2c6e11 Merge "Frameworks/base: Use Arrays.toString" 2015-12-14 20:05:27 +00:00