Commit Graph

6644 Commits

Author SHA1 Message Date
Dianne Hackborn
484bc6e5a7 Merge "More work on collecting assist data." 2015-03-13 16:41:29 +00:00
Clara Bayarri
80c3856122 Support a Primary and a Floating ActionMode in DecorView.
This CL modifies the support for a single ActionMode in PhoneWindow.
DecorView to support both a Primary and a Floating ActionModes
simultaneously.

Things pending after this CL:
- Handling an actual Floating ActionMode
- Cleaning up the now unused ActionModeWrapper and its related code

Change-Id: Ie2e5ec27393ce9eededadf5bc379bab39981a365
2015-03-13 10:51:51 +00:00
Clara Bayarri
4423d91de5 Add a type parameter to startActionMode() calls.
This requires adding a new method to View and Window.Callback to pass
down the type as a parameter.

For compatibility purposes, the new method implementations keep the
type and call the old method, in case clients have subclassed it.

Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
2015-03-13 10:51:51 +00:00
Dianne Hackborn
a83ce1dd2a More work on collecting assist data.
Optimize parceling of AssistData (which is now renamed to
AssistStructure) by pooling duplicated class name strings.

Change text associated with a view node to a CharSequence,
so styling information comes along.

Include global text attributes -- size, colors, etc.

Introduce a new AssistContent structure, which allows us
to propagate information about the intent and data the
activity is looking at.  This further allows us to propagate
permission grants, so the assistant can dig in to that data.
The default implementation propagates the base intent of an
activity, so if for example you bring up the assistant while
doing a share the assistant itself has the same information
and access that was given to the share activity (so it could
for example share it in another way if it wanted to).

Did some optimization of loading PersistableBundle from xml,
to avoid duplicating hash maps and such.

Changed how we dispatch ACTION_ASSIST to no longer include
the more detailed AssistStructure (and new AssistContent)
data when launching; now the example code that intercepts
that needs to be sure to ask for assist data when it starts
its session.  This is more like it will finally be, and allows
us to get to the UI more quickly.

Change-Id: I88420a55761bf48d34ce3013e81bd96a0e087637
2015-03-12 17:07:51 -07:00
Filip Gruszczynski
c6ee744a90 Merge "Allow polling for WindowInsets." 2015-03-12 15:12:45 +00:00
Jeff Brown
3d4e7efe37 Move sync barrier methods into MessageQueue.
The methods were previously defined on Looper but on reflection
they actually make more sense on the MessageQueue instead since
the Looper class is primarily concerned with thread lifecycle
rather than the actual messages themselves.

Change-Id: Iff356b94754fc9960774fa17e3eec9604229cba6
2015-03-11 15:00:34 -07:00
Filip Gruszczynski
954289d9a9 Allow polling for WindowInsets.
Change-Id: I36feb2403b1bcf6de5d8808734c46999a38e7403
2015-03-11 14:11:58 -07:00
John Reck
b36016c65f Cleanups & simplifications
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
2015-03-11 11:29:13 -07:00
Chris Craik
a57e9365ca Add several CallSupers to View
Change-Id: I3011bd9757273f9c1d35f552bd6fefd4bf830029
2015-03-10 10:12:55 -07:00
Chris Craik
ddd72599bf Merge "Rename and simplify DisplayList Canvas classes" 2015-03-10 16:29:01 +00:00
Chris Craik
c9070ebd13 Rename and simplify DisplayList Canvas classes
Change-Id: I49fd2ce02e01401209fe2a378e9f9547c7b27c61
2015-03-09 19:09:55 -07:00
Alan Viverette
93795053da Make TypedArray and LayoutInflater exceptions more useful
Include unresolved TypedValue data in TypedArray exceptions, wrap all
LayoutInflater exceptions with the parser position.

Bug: 19658760
Change-Id: I8965bdc4d0c58c082cb7129c3b692a3e5418cfdb
2015-03-09 15:32:50 -07:00
Tor Norbye
b3ec733bb8 Annotate methods with size and range annotations
Change-Id: I666861f0dfae31402b1280e9a966a583b88e2e1a
2015-03-07 20:49:19 -08:00
Tor Norbye
c615c6fc9c Annotate methods to be called from overrides with @CallSuper
Change-Id: Ibc587c2aaee9f3e7f448079f72a75459fe4e15e7
2015-03-07 20:49:18 -08:00
Tor Norbye
c0a1b7f9a6 Merge "Annotate ARGB integer parameters with @ColorInt" 2015-03-06 23:15:27 +00:00
Scott Kennedy
5dc5c0aac8 Merge "Mark setAccessibilityDelegate()'s argument as @Nullable" 2015-03-06 02:31:30 +00:00
Scott Kennedy
89809a1cd4 Mark setAccessibilityDelegate()'s argument as @Nullable
Change-Id: I3c087e953e29e81285fc8efa4157f694eeaf075d
2015-03-05 17:49:11 -08:00
Tor Norbye
80756e3888 Annotate ARGB integer parameters with @ColorInt
Change-Id: I307f72a382272cf18ddb6b07d9fcb81228568d9a
2015-03-05 16:34:12 -08:00
John Reck
f4faeac352 Cleanup Bitmap JNI attempt #2
Original version missed a spot

This reverts commit c02977e3bb.

Change-Id: I56244ce10d709fcdef42a001fe4c6ba7b6bbb04d
2015-03-05 13:56:16 -08:00
Chad Jones
c02977e3bb Revert "Cleanup Bitmap JNI"
This reverts commit b2915245b7.

Change-Id: Idd7d7f33eec4ea5024c83de6b10d3d1a6ab2b17a
2015-03-05 19:34:26 +00:00
John Reck
b2915245b7 Cleanup Bitmap JNI
Fix a bunch of places where mNativeBitmap was being
poked at directly, switch them either to the NDK API
or to GraphicsJNI where it made sense

Change-Id: I6b3df3712d6497cba828c2d3012e725cb4ebb64d
2015-03-05 09:55:02 -08:00
John Spurlock
7b91c55b3f Merge "Remove unused imports in frameworks/base." 2015-03-02 20:43:50 +00:00
Clara Bayarri
727899fd0d Merge "Floating Toolbar: Wrap the ActionBar ActionMode handling." 2015-03-02 10:04:42 +00:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
Alan Viverette
25f0e6183b Revert "Use ObjectAnimator for fading scrollbars, set initial duration to 1500"
Bug: 19522833
Bug: 19528265
This reverts commit 72710f11ec.

Change-Id: I7235ae3ca53696f029cc18f19fe1d373c4f54bbf
2015-02-27 12:34:30 -08:00
Alan Viverette
228fd600ce Merge "Implement landscape layout for time picker dialog" 2015-02-27 18:13:54 +00:00
Clara Bayarri
c57e7bc338 Floating Toolbar: Wrap the ActionBar ActionMode handling.
Refactor the ActionBar handling of startActionMode to allow handling by
the ActionModeWrapper, using the previously created infrastructure.

Things pending after this CL:
- Representing the floating type
- Supporting two ActionModes in parallel in DecorView, one of each type

Change-Id: Ic126e004bdef5d91d8be3d6a07eea34aa97a611e
2015-02-27 14:04:33 +00:00
Chris Banes
9cc36ca1b5 MenuItem, navigation and overflow icon tinting
- iconTint and iconTintMode attrs for MenuItem, with
  associated setters.
- navigationTint and navigationTintMode attrs for Toolbar
  with associated setters.
- overlflowTint and overflowTintMode attrs for Toolbar
  with associated setters.

BUG: 18126050
BUG: 19148351
BUG: 19305408

Change-Id: Ibd1fae7cdbc7a7c42809e52541fae5d8beb18e92
2015-02-27 08:56:04 +00:00
P.Y. Laligand
a046faaf38 Always check for null when peeking at the InputMethodManager.
Change-Id: I8c0d66c63b617c58be3d5fcf3dfb0c55aa287dcb
2015-02-26 23:03:46 +00:00
Alan Viverette
62c79e9a64 Implement landscape layout for time picker dialog
Adds support overriding default alert dialog panel elements by including
them in the dialog's custom content view, but no public API (yet!) since
the panel IDs have never been public. Some minor cleanup and refactoring
in TimePickerDialog. Removes Holo styles for "clock" and "calendar" style
pickers since they are new in Material. If the new styles are used against
Holo they will match Material but with Holo primary/accent colors.

Also implements themed color state lists to resolve TODOs in both time
and date pickers.

Bug: 19431361
Change-Id: I095fd8d653e02d9e5d20d66611432a08a7a5685e
2015-02-26 09:47:10 -08:00
Jeff Brown
37df39a93d Add missing headers.
Change-Id: Ida86e14986e6391e6f65581ef0987ad8d16576f9
2015-02-25 15:43:17 -08:00
Filip Gruszczynski
924a18baa2 am cf8c112e: am 01dd0e86: Merge "Force translucency from windowIsTranslucent on SwipeDismissLayout." into lmp-mr1-modular-dev
* commit 'cf8c112ed87752d79a869de9426b5c5a950b5c43':
  Force translucency from windowIsTranslucent on SwipeDismissLayout.
2015-02-25 18:52:02 +00:00
Jorim Jaggi
df4943d5e0 Merge "Do not forceLayout when window is resized" 2015-02-24 18:13:23 +00:00
Chad Jones
1fb5528643 resolved conflicts for merge of 57bb5f5c to master
Change-Id: Id5dfe7fc919305658312771a031c0764cef5515c
2015-02-23 21:19:58 -08:00
Joe LaPenna
57bb5f5c8b am c0c39516: Merge "Hold a wake lock while dozing when display updates are pending." into lmp-mr1-modular-dev
* commit 'c0c395162ff14b83694158663470ad60e065d9a9':
  Hold a wake lock while dozing when display updates are pending.
2015-02-24 00:46:48 +00:00
Clara Bayarri
6f542f5a40 Merge "Floating toolbars: Encapsulate StandaloneActionMode view creation." 2015-02-23 17:49:47 +00:00
Jorim Jaggi
24bec7ce7a Implement nice transitions for light status bar
- When the flag changes, apply an animation from the current value
- When the flag change is caused by an app transition, synchronize
  the status bar animation with the app transition animation.
  PhoneWindowManager calculates the timings based on some heuristics
  of the app transition animations and supplies these timings to
  StatusBarService.

Bug: 19233606
Change-Id: I4f99afba8f1eebb3524699ed4d7fbafee5463a37
2015-02-23 13:08:41 +01:00
Jorim Jaggi
77ba4803a5 Add AppTransitionListener
Introduces the concept of a listener to be notified about app
transition events. The only client at the moment is window manager
which notifies activity manager about completed transitions, but this
can be used for various clients, including the status bar.

Bug: 19233606
Change-Id: Ia6fec5837b6eb4db90f3cb1c999d3f157ba6dd4a
2015-02-23 12:44:25 +01:00
Alan Viverette
c0a9a7ad6d Merge "Use ObjectAnimator for fading scrollbars, set initial duration to 1500" 2015-02-20 22:31:49 +00:00
Alan Viverette
72710f11ec Use ObjectAnimator for fading scrollbars, set initial duration to 1500
Fairly intensive refactoring of ScrollabilityCache.

Change-Id: I88669c0b9b79ca12a237606d5ff8be0e7e8b37ba
2015-02-20 11:10:22 -08:00
Jeff Brown
c2932a1be3 Hold a wake lock while dozing when display updates are pending.
When the display state is DOZE or DOZE_SUSPEND, assume this means
that the AP may go to sleep at any time so hold a wake lock for
a little while starting when traversals are scheduled to ensure
that the AP remains awake long enough to draw and post the frame
to the display hardware.

This patch is somewhat approximate but should be good enough for
most devices today.

Note that the implementation uses the window manager to ensure that
the window which wants to draw is actually visible before acquiring
the wake lock.  There is a cost to this test (a round-trip) which
should not be significant today since we do not expect apps to draw
more than one frame or two while dozing.  However, if we wanted to
support animations in general, we might want to optimize it or
eliminate the check altogether (since we can already account for
the app's use of the wake lock).

Another way to implement this functionality might be for the view
hierarchy to listen for the power manager to report that it has entered
a non-interactive power state before deciding to poke draw locks.
This would be somewhat more accurate than watching the display state.
Also, the draw lock timeout logic could be implemented more directly
instead of using an ordinary timed wake lock.

Bug: 18284212
Change-Id: I84b341c678303e8b7481bd1620e634fe82cc4350
2015-02-20 10:54:09 -08:00
Yohei Yukawa
576f722175 Merge "Normalize deprecated 2-letter language code when necessary." 2015-02-20 17:33:52 +00:00
Yohei Yukawa
f487e0e395 Normalize deprecated 2-letter language code when necessary.
This is a follow up CL for I7d932e60311b80c05be8f02c9e803f18da0e0054,
which revealed that we could not use deprecated 2-letter code like "in"
to query subtype which has new language codes like "id".

This CL addresses the above issue by normalizing the language code
with Locale#Locale(String, String) before comparing one to another.

Change-Id: I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10
2015-02-21 02:26:40 +09:00
John Reck
df570c6e66 Merge "Initial attempt at jank-tracking stat collection" 2015-02-20 16:28:30 +00:00
John Reck
ba6adf66d3 Initial attempt at jank-tracking stat collection
Is a bit naive, perhaps overly aggressive, but sorta works

Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
2015-02-20 08:27:38 -08:00
Clara Bayarri
7415d6667e Merge "Floating Toolbars: Wrap the ActionMode creation in DecorView" 2015-02-20 10:26:15 +00:00
Craig Mautner
4f9796e028 Merge changes Ib2def344,Ifd15736b
* changes:
  Permit layout when stopped if reporting draw
  Refactor computeScreenConfigurationLocked and more.
2015-02-20 01:35:17 +00:00
Craig Mautner
72d6f21943 Permit layout when stopped if reporting draw
When a device was woken up in a different orientation than what it
went to sleep in, the window manager would force a resize to get it to
predraw in the new orientation. The predraw was done in the old
orientation however because layouts are skipped when the activity was
stopped.

This change allows layouts to proceed when the activity is stopped if
the flag to report resize events is true.

Fixes bug 18444400.

Change-Id: Ib2def3449dd67918f6fb838bdb1fe5cc6ec57f8e
2015-02-19 16:51:26 -08:00
Clara Bayarri
399b51397b Floating toolbars: Encapsulate StandaloneActionMode view creation.
This CL defines a new interface to be used by ActionModeWrapper.
This allows each client to inject a different primary ActionMode to
the wrapper and keep view creation code next to ActionMode
creation.
The interface method is only called when the wrapper actually
knows that will be the used type, avoinding unnecessary view
creations.

Things pending after this CL:
- Correct handling of ActionModes created by
callback.onWindowStartingActionMode(). This includes all current usages
in an existing ActionBar, as it is handled by Activity. In the current
state, we do not intercept these ActionModes and hence cannot change the
representation.
- Representing the floating type
- Supporting two ActionModes in parallel in DecorView, one of each type

Change-Id: Ic38e209877c3876161d8dd56902e25b51fbe40b6
2015-02-19 22:42:20 +00:00
Clara Bayarri
ed2a54cfd3 Floating Toolbars: Wrap the ActionMode creation in DecorView
This change will allow us to create ActionMode representations on the
fly after onCreateActionMode by using the Decorator pattern. The new
ActionModeWrapper will be responsible for the creating the
appropriate ActionMode depending on the type chosen by the client,
and setting it up.

Things pending that are NOT addressed by this CL:
- ActionModes created by callback.onWindowStartingActionMode(). This
includes all current usages in an existing ActionBar, as it is
handled by Activity. This requires some additional refactoring.
- Representing the floating type
- Moving the view creation code specific to StandaloneActionMode
from DecorView to ActionModeWrapper, decoupling DecorView from
StandaloneActionMode completely
- Supporting two ActionModes in parallel in DecorView, one of each type

Change-Id: I1a8db711f53b771eac74f0e6496106acf1ca2727
2015-02-19 22:40:31 +00:00