Commit Graph

77159 Commits

Author SHA1 Message Date
TreeHugger Robot
2eacbac8c3 Merge "[Companion] Fix notification access dialog being in new task" into oc-dev 2017-06-20 22:23:05 +00:00
TreeHugger Robot
59c6385bf9 Merge "Add a new flag to check if provisioning is completed on ATV" into oc-dev 2017-06-20 22:13:16 +00:00
Bryce Lee
d523125679 Merge "Limit creating new surface for legacy apps to size changes." into oc-dev 2017-06-20 22:05:29 +00:00
Mathieu Chartier
956ea5f09d Merge "Disable activity leak detection by default for userdebug" into oc-dev 2017-06-20 19:55:24 +00:00
Bryce Lee
453fc364c3 Limit creating new surface for legacy apps to size changes.
Creating the surface for every change (such as creation and
visibility) can lead to issues swapping buffers. This
changelist limits the action to only when the size changes.

Change-Id: Ic549d244613a93a43a9f4ddf284bbfb0c13300fa
Fixes: 62801621
Test: follow repro steps in bug, verified no crash.
Test: go/wm-smoke
2017-06-20 10:47:55 -07:00
Philip P. Moltmann
aed0c10d52 Merge "Correct lastId on onCreate with unexpected state" into oc-dev 2017-06-20 15:42:17 +00:00
Mathieu Chartier
ca8c1051ed Disable activity leak detection by default for userdebug
Causes too many GCs and related slowdowns.
Verified that assistant launch from holding down home button is now
faster than N.

Test: make and flash
Bug: 62769566

Change-Id: Ib0c1f7a45831b241d3376d1e56db3c6937913b1b
2017-06-20 02:51:31 +00:00
TreeHugger Robot
271e0aa02a Merge "Remove legacy advertiser from map after it's no longer used" into oc-dev 2017-06-20 01:38:42 +00:00
Adam Lesinski
b0a5fd0384 Merge "Fix potential race in Theme creation" into oc-dev 2017-06-20 01:07:11 +00:00
Eugene Susla
d149a08544 [Companion] Fix notification access dialog being in new task
Fixes: 62678460
Test: Tap recents while the dialog is shown and ensure it's not in a
separate task
Change-Id: I0572ddc84d76643ac8a373939273c221ff20676f
2017-06-19 17:51:01 -07:00
TreeHugger Robot
4eaba84065 Merge "Fixed updateAutofillValue() when mText is not set." into oc-dev 2017-06-20 00:27:37 +00:00
Philip P. Moltmann
e78c771cf5 Correct lastId on onCreate with unexpected state
onCreate might be called with a state not produced by
onSaveInstanceState. In this case the last autofill ID is not set, so we
incorrectly restore it to NO_ID instead of LAST_APP_AUTOFILL_ID

Change-Id: Id40c06bf223c0e3c6235b2d50779e3f4532898b5
Fixes: 62296699
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
(cherry picked from commit 1266d08be5)
2017-06-19 23:57:38 +00:00
Siarhei Vishniakou
b278424fa6 Merge "Revive DeadZone" into oc-dev 2017-06-19 23:48:00 +00:00
Jakub Pawlowski
bfa502c6a6 Remove legacy advertiser from map after it's no longer used
Test: manual
Bug: 62597369
Change-Id: Ief1e1b054f29b59b1ed72514b138d4f209f9847a
2017-06-19 23:37:19 +00:00
TreeHugger Robot
113918f309 Merge "Added back removed ctor from DisplayEventReceiver" into oc-dev 2017-06-19 23:16:18 +00:00
Adam Lesinski
1e87a365d6 Fix potential race in Theme creation
Bug: 38190555
Test: none
Change-Id: Id627bd6088dc469baffb1abb8310cd9e992996aa
2017-06-19 22:29:46 +00:00
TreeHugger Robot
ba003a97f8 Merge "[Companion] Fix NPE in associate" into oc-dev 2017-06-19 21:52:19 +00:00
Siarhei Vishniakou
6ad0e39f33 Revive DeadZone
Override dispatchTouchEvent for the root FrameLayout
of NavigationBar to process ACTION_OUTSIDE MotionEvents
and dispatch directly to DeadZone to keep track of the
most recent outside tap.
Clarified documentation of ACTION_OUTSIDE behaviour.

Bug: 37552674
Test: open IME, tap any key, then quickly tap on top half
of the home button. The home button tap is ignored
and device does not go to homescreen.

Change-Id: Icb5cf6c76959f3514b8b94c09e38cc5434f31b23
2017-06-19 14:06:21 -07:00
TreeHugger Robot
139dbe5c1c Merge "Do not update currently open tooltip." into oc-dev 2017-06-19 21:01:47 +00:00
Wale Ogunwale
71f3099c53 Added back removed ctor from DisplayEventReceiver
...because some app can't help but access hidden APIs...

Test: builds
Change-Id: Ia1d4a71b46a53b44e3ebe5844e446009785a90ac
Fixes: 62719884
2017-06-19 13:53:32 -07:00
Felipe Leme
266752317b Fixed updateAutofillValue() when mText is not set.
updateAutofillValue() was crashing some apps when the mText was not set at the
time it was called. One solution would be to not set mText at all - since the
Autofill Service should rely only on getAutofillValue() - but that could break
existing services.

Hence, a safer solution is to set that field if it's null.

Test: existing CtsAutoFillServiceTestCases tests pass
Test: manual verification using Fly Delta app

Fixes: 62751039

Change-Id: I91a8e0ed5db4148f5eb5729b8e254aa3531f15e4
2017-06-19 11:43:33 -07:00
Siyamed Sinir
58df6ab93f Merge "Fix crash during TextView.onCreateContextMenu" into oc-dev 2017-06-19 16:53:17 +00:00
Sujith Ramakrishnan
314df160c0 Add a new flag to check if provisioning is completed on ATV
- This flag will be set once provisioning is completed
	  and reset when SetupWizard is re-enabled.

Test: None. Adding a static variable.

Bug: 62419382
Change-Id: Ie3e4c118d26f6bd035a451ed1914e73bdeda4e3f
2017-06-19 09:44:49 -07:00
TreeHugger Robot
215ebb941d Merge "Revert "Trim text from autofillvalue when checking for empty."" into oc-dev 2017-06-17 00:53:04 +00:00
Phil Weaver
c91290a6e9 Merge "Separate a11y and autofill view ids" into oc-dev 2017-06-17 00:46:05 +00:00
Casey Burkhardt
4ab690a50d Merge "Resolve 3 inconsistencies in accessibility button API - Unify logic for detecting availability of the accessibility button - Ensure the initial visibility state is propagated to A11yMS - Ensure services only receive availability callbacks for changes" into oc-dev 2017-06-17 00:41:06 +00:00
Eugene Susla
0435e5e79f [Companion] Fix NPE in associate
The root cause of the exception was that the activity destroy listener was
reacting to any activity being destroyed instead of just the one used with
the CompanionDeviceManager

Fixes: 62549525
Test: Ensure the attached bug no longer reproduces
Change-Id: I2f977e9ac9176247f5be9d08d19b3875f2b4a703
2017-06-16 17:22:04 -07:00
Bryce Lee
1e1c5d7b77 Merge "Create native Surface object on updateWindow for legacy apps." into oc-dev 2017-06-16 23:15:10 +00:00
Felipe Leme
313cf3fb93 Revert "Trim text from autofillvalue when checking for empty."
This reverts commit c5d4e068f2.

Change-Id: I4027cf0f91ebb9032c21efad7025118891188bc6
2017-06-16 22:57:58 +00:00
TreeHugger Robot
b3b13ff62c Merge "Trim text from autofillvalue when checking for empty." into oc-dev 2017-06-16 22:50:49 +00:00
TreeHugger Robot
a89414962d Merge "Use an optimized findViewNodeByAutofillId(id) to get just one node." into oc-dev 2017-06-16 21:45:46 +00:00
Phil Weaver
846cda9397 Separate a11y and autofill view ids
Autofill seems to need IDs to be preserved across things
like configuration changes, while accessibility will not
function without views with unique ids. Separating out the
two types of IDs. We can re-combine them once it's clear
that both demands can be satisfied.

Bug: 62301218
Test: Run a11y and autofill CTS, and verify that the play
store app functions with TalkBack after a screen rotation.

Change-Id: I17a99de2874768fc0ade3aa354130dd1f6b4cd7e
2017-06-16 14:36:36 -07:00
Winson Chung
64b044680c Merge changes I20bdab1b,Id82f9081 into oc-dev
* changes:
  Fix backwards flag causing crash.
  Fixing issue with PiP aspect ratio being clobbered.
2017-06-16 21:32:50 +00:00
Bryce Lee
02949f1415 Create native Surface object on updateWindow for legacy apps.
There are some apps that use the Surface object itself to indicate
changes. As a result, recycling the existing Surface object for
updates can lead to such apps ignoring events such as size changes.

This changelist restores the original behavior for legacy apps, where
the underlying native Surface object is recreated during updates.

Fixes: 62108743
Test: go/wm-smoke
Test: Open affected application, observe expansion to fullscreen when
      nav bar disappears. Rotate to other orientation and observe
      expansion to fullscreen.

Change-Id: I874602b6b8686c6ecb05cf7b1a04ec4b700ad3f9
2017-06-16 14:00:40 -07:00
Felipe Leme
c5d4e068f2 Trim text from autofillvalue when checking for empty.
Test: VirtualContainerActivityTest#testSaveDialogNotShownWhenBackIsPressed
Fixes: 62667931

Change-Id: I7e673eedd39fff7af89c694d0bfc5a495f14ea26
2017-06-16 13:41:37 -07:00
Rob Carr
6f87503ed8 Merge "ViewRootImpl: More null checks for performTraversals." into oc-dev 2017-06-16 19:55:12 +00:00
Siyamed Sinir
532f3c989e Fix crash during TextView.onCreateContextMenu
Test: bit CtsWidgetTestCases:TextViewTest

Bug:62450393
Change-Id: I162c28d253ca197eba9c4c148c76179c2880daa5
2017-06-16 19:32:41 +00:00
TreeHugger Robot
6cde68752c Merge "Throw IAE when service add null AutofillIds on SaveInfo methods." into oc-dev 2017-06-16 19:23:45 +00:00
Felipe Leme
94b56207a4 Use an optimized findViewNodeByAutofillId(id) to get just one node.
Session was using findViewNodesByAutofillIds(ids) before, which not only was
not optimal, but error prone (for example, it could return a non-empty array
with an empty value).

Test: CtsAutoFillServiceTestCases pass
Fixes: 62532979

Change-Id: If984f1263cc3f2aac1d1e098687fe02d73c55211
2017-06-16 11:51:49 -07:00
Vladislav Kaznacheev
dd469d171d Do not update currently open tooltip.
Currently if View.setTooltipText is called while
the tooltip is being shown for that view, it will
update the displayed text. The tooltip then will
resize to wrap around the new text, but not change
its position. This looks confusing if the new text
is significantly shorter or longer.

Removing this functionality until proper
re-positioning is implemented.

Bug: 38491655
Test: android.view.cts.TooltipTest passes
Change-Id: I79689288185888854b992b89e19fe381d3ac50e4
2017-06-16 11:31:23 -07:00
TreeHugger Robot
5d969b9862 Merge "enable/disable dexopt for instant apps remotely" into oc-dev 2017-06-16 18:07:53 +00:00
Winson Chung
06b50ab4b9 Fix backwards flag causing crash.
Bug: 62692677
Test: Use an activity options that requires the bitmap copy, ensure
      that it does not crash.

Change-Id: I20bdab1b91dfe47f7fe134fd17fe104eb4b27ec1
2017-06-16 11:07:29 -07:00
Casey Burkhardt
469a2087d5 Resolve 3 inconsistencies in accessibility button API
- Unify logic for detecting availability of the accessibility button
- Ensure the initial visibility state is propagated to A11yMS
- Ensure services only receive availability callbacks for changes

Test: Manual, created test accessibility services
      targeting specific breakages
Bug: 38345417

Change-Id: I2250b32830cdfc2ecdc1dff7b7130dced2c1db29
2017-06-15 18:39:27 -07:00
Felipe Leme
18d0ef70b0 Throw IAE when service add null AutofillIds on SaveInfo methods.
Test: existing CtsAutoFillServiceTestCases pass
Test: manual verification using Contacts app
Test: manual verification adding a CTS test case that crashes the app, but such
      test cannot be commit because once the issue is fixed, it crashes the
      service (the right way to test this fix is through unit tests against
      exceptional conditions, but we don't support those on Autofill yet).

Fixes: 62649290

Change-Id: I8fc01fa929270219cd40035ff02eaf0dda5ecbfa
2017-06-15 16:33:52 -07:00
Robert Carr
32f37ab023 ViewRootImpl: More null checks for performTraversals.
Let's first understand how mView could become null. Notice
at the beginning of performTraversals, there is a check that
mView != null, and so it is nulled while we are in the function.
mView is package private and there are only two places which assign
to it, ViewRootImpl#setView and ViewRootImpl#doDie. setView is guarded
by mView == null. But mView was not null (per the check at the beginning
of performTraversals) and so mView is being nulled by doDie().

doDie() only has 3 callpoints:
        1. ViewRootImpl#die(). Here though, calling it is guarded by
        !mIsInTraversal. !mIsInTraversal is unconditionally set at the
        beginning of performTraversals, and so this isn't our caller.
        2. ViewRootHandler, handling MSG_DIE. This runs on the same thread
        as performTraversal, and so it can't be our nuller.
        3. WindowManagerGlobal#addView. This must be our nuller.

We see WindowManagerGlobal#addView will call doDie in the case that
we attempt to add a view which we had previously set to be removed
but deferred removal of. Now we can construct a reasonable sequence
for getting here:
    1. requestLayout(). Perform traversals ends up on handler.
    2. removeView(). MSG_DIE ends up on handler, View ends up in mDyingViews
    3. performTraversals is executed by the handler
    4. From a callback initiated by performTraversals (e.g. measure)
       the client calls WindowManagerGlobal#addView on the view which
       was just removed.
    5. We are still in performTraversals so MSG_DIE hasn't been processed
       yet. This means that WindowManagerGlobal will perform the doDie
       immediately nulling mView.
    6. We return to performTraversals and crash.

We can see shortly after the offending call to doDie, a new ViewRoot will be
constructed and so whatever traversal we are doing on the old one doesn't
seem particularly important. It doesn't seem that we can do any better
than letting it fall through without crashing.

Bug: 38421184
Test: go/wm-smoke. Feed to the monkeys.
Change-Id: I55f310a3533175c9df4a82878be5a60fd01b80c1
2017-06-15 12:52:53 -07:00
Sudheer Shanka
2ca51820f0 Merge "Use correct timestamps of events for logging." into oc-dev 2017-06-15 19:25:08 +00:00
Dianne Hackborn
ef0554438f Merge "Work on issue #36891897: Need to ensure foreground services..." into oc-dev 2017-06-15 18:45:35 +00:00
Todd Kennedy
133c5da0d9 enable/disable dexopt for instant apps remotely
Change-Id: I997b8ae515f7bf2570edca4ed7ab4b46198148a5
Fixes: 62591398
Test: Manual; install instant app and see that it doesn't dexopt
Test: Manua; update gservices flag, install instant app and see that it does dexopt
2017-06-15 09:44:34 -07:00
Dianne Hackborn
cb01563d7e Work on issue #36891897: Need to ensure foreground services...
...can't hide themselves

Tune the policies for when we tell about apps running in the
background after their services have stopped.

- If it ran while the screen was on, the time we require for it
to be running is much shorter (a couple seconds) as well as the
time we tell about it having run (with another tunable for the
minimum time we tell about this).

- If it has only run while the screen is off and stops a sufficient
amount of time before the screen goes on (currently a second) then
we will not show anything when the screen goes on.

- If it stops when the screen turns on, we will make sure the user
sees about it for a short period of time (currently 5 seconds).

Also includes some improved debug output about handler message
queues.

Test: manual

Change-Id: Iab438410d7182b2dfe4f9c1cce7069b26b34834c
2017-06-14 17:33:41 -07:00
TreeHugger Robot
31443a17e8 Merge "Add a workaround for simulate secondary display" into oc-dev 2017-06-14 20:14:05 +00:00