Commit Graph

103576 Commits

Author SHA1 Message Date
TreeHugger Robot
c3721ac874 Merge "Deprecates the animatingBounds from WM to SysUI" into rvc-dev 2020-04-10 23:13:52 +00:00
Hongwei Wang
3c981f6eb7 Deprecates the animatingBounds from WM to SysUI
PipTouchHandler, similar to other components in SysUI, should be in-sync
with the destination bounds calculated within SysUI rather than WM.

Fixed also the empty movement bounds upon the first call to
PipTouchHandler#onMovementBoundsChanged. Together, this change should
fix the PIP not being lifted on IME show up. PipTouchHandlerTest is
updated correspondingly.

Bug: 153352899
Test: manually enter/exit PiP
Test: atest PipTouchHandlerTest
Change-Id: I2912af2a181b7fb57c6d90751744d46c6b3366d2
2020-04-10 13:47:14 -07:00
Cody Kesting
fb9ff36b95 Merge "Fix typo in VpnManager Docs." into rvc-dev 2020-04-10 15:52:10 +00:00
Ryan Mitchell
6cb79cdfb7 Merge changes from topic "invalidate_idmap" into rvc-dev
* changes:
  Fix InstallOverlayTests fail to install overlay
  Test that upgrading target apk invalidates idmap
  Invalidate idmap when target updates
2020-04-10 15:50:15 +00:00
TreeHugger Robot
fd09fe5cea Merge "Return actual failure to parse base APK" into rvc-dev 2020-04-10 15:28:13 +00:00
TreeHugger Robot
51ec322208 Merge "Add an empty IMM#windowDismissed(IBinder) for app compat" into rvc-dev 2020-04-10 15:10:43 +00:00
Yurii Zubrytskyi
4e21986e59 [incfs] Fix a leaked pending_reads FD
Bug: 153670585
Test: adb install/uninstall a dozen times
Change-Id: Iac05b5dc3792e55c2f103ac08bdd734b3b398882
2020-04-10 14:49:31 +00:00
Darryl Johnson
6c6d81a121 Merge "Temporal fix of the Android Auto orientation chaniging on phone's orientation change." into rvc-dev 2020-04-10 14:07:36 +00:00
Wei Sheng Shih
1a46294fdb Merge "Support addWindow as other user" into rvc-dev 2020-04-10 08:33:12 +00:00
Ming-Shin Lu
1c92e1f789 Merge "Trigger onTaskAppeared when a task started from recents becomes ready." into rvc-dev 2020-04-10 05:46:13 +00:00
Yohei Yukawa
7029cc3da8 Add an empty IMM#windowDismissed(IBinder) for app compat
It seems that there are several applications that call
InputMethodManager#windowDismissed(IBinder), which was recently
removed [1], then crash due to unhandled NoSuchMethodException
exception.

The most probable hypothesis that explains why these apps ended up
calling this method via reflection is trying to address object leaks
from InputMethodManager, which we have received reports then fixed all
the known issues [2][3][4][5][6].  There are several Internet articles
that claim calling InputMethodManager#windowDismissed(IBinder) can
*fix* such object leaks, which is in fact no longer necessary in
recent versions of Android.  However, it seems that some of such apps
didn't gracefully take care of cases where IMM#windowDismissed()
doesn't exist then ended up crashing due to unhandled
NoSuchMethodException.

Note also that AndroidX Activity (androidx.activity.ComponentActivity)
already implements a similar workaround [7] hence app developers no
longer need to work around by themselves.

Anyways, in order to avoid unnecessary crashes from apps that call
IMM#windowDismissed() via reflection, this CL re-introduce it as an
empty method.  As their goal is supposed to be clearing internal
fields within InputMethodManager to avoid object leaks, an empty
method is believed to be sufficient.

 [1]: Ib455704fe1e9d243f93190a84f230210dbceac2a
      970d9d2e0c
 [2]: Iad09cf5dbb7f6f156fd39ed243431432e00f8945
      4478de3c02
 [3]: Iaf3fe2c065b5bf91e49a729ba46262114bb6da88
      b13f015ab5
 [4]: I219394178e4172bc47864297f1418e677dba25e5
      5f05965f54
 [5]: Id6afc8fc64512225578c62557b96c7dc2e969adf
      0f3a99d837
 [6]: I8fabb30f14bcb2cd7019e29b6642b4562d49d248
      dff365ef4d
 [7]: I615e92f0c64b6d668b31f2c83527b7409a7bef6f
      b1bf8502e0574a4bfcf450235595372b7cb3778a

Fix: 152261618
Test: manually verified with apps in question
Change-Id: I599896a96267fc60a738eac31be02b770e10dff3
2020-04-09 22:38:04 -07:00
TreeHugger Robot
2a7091d896 Merge "Fine tune performance for notifyContentCapture()" into rvc-dev 2020-04-10 04:42:58 +00:00
Winson Chung
cb437ade00 Merge changes I7d2ca2a2,I9f1fc593 into rvc-dev
* changes:
  Fix a couple issues with previous CL (keeping tasks hidden)
  Keep task hidden until task appeared
2020-04-10 03:03:21 +00:00
TreeHugger Robot
c0404ff5e5 Merge "Pass inline suggestions renderer info Bundle to Frameworks and IME" into rvc-dev 2020-04-10 02:19:23 +00:00
Cody Kesting
b840c602ed Fix typo in VpnManager Docs.
Bug: 153364039
Test: n/a. Docs change only.
Change-Id: I8259bfc09735515f428bb41d69fedd3ea1961f79
Merged-In: I8259bfc09735515f428bb41d69fedd3ea1961f79
(cherry picked from commit 3150b04b67)
2020-04-10 00:30:38 +00:00
Winson Chung
1b5d055f2e Keep task hidden until task appeared
- If the task is previously not visible or has no visible children at
  the point when we start controlling it in the task org, hide the task
  until we send taskAppeared to ensure that the task org can reparent
  and show it otherwise we could see a flash of the task.

  This happens mainly from two cases:
  - when starting a new task with a given win mode, we show it and wait
    for first draw before notifying the task org
  - when transitioning into pip from swipe up, the activity is hidden
    and when it requests to enter pip is made visible again

  Since we are hiding the task w/ the pending transaction, we also need
  to defer all task org callbacks until that's applied to ensure proper
  lifecycle of the calls.
- Also skip app transitions for task org tasks for now

This reverts commit d2fb07e4f6.

Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
      first.  Enter pip, ensure that we don't see flash of the task
      before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests
Change-Id: I9f1fc5931df1d69a7086c02b633347162cda94bf
2020-04-09 15:55:03 -07:00
Sergey Volnov
51ecd453b3 Merge "Fix Content Capture Data Share" into rvc-dev 2020-04-09 22:35:08 +00:00
Winson
36c4470a20 Return actual failure to parse base APK
This exposes errors directly, which mirrors what PackageParser
used to do. Just a leftover TODO from the refactor.

Bug: 153472626

Test: manual install broken APK and check the error is logged

Change-Id: I06804ad7396196e28ce2177a671d4eef3958e1d6
2020-04-09 13:51:37 -07:00
Adam He
89afcd6f5d Pass inline suggestions renderer info Bundle to Frameworks and IME
Bug: 146454892
Test: manual verification
Change-Id: I5db6c3795a4a295486e497f2d27eaa561e1a3887
2020-04-09 13:30:33 -07:00
Rob Carr
0a57530be1 Merge "ViewRootImpl: Pass buffer to finishDrawing when requested" into rvc-dev 2020-04-09 20:26:43 +00:00
Sergey Volnov
6c74f7cc9a Fix Content Capture Data Share
Fixing a typo in the previous commit: s/remove/put/

Bug: 153013604
Test: ran CTS tests on sdk_gphone_x86
Change-Id: Iabe8ce51f38ac921aa5cc0e78b559e4a512b9273
2020-04-09 21:23:03 +01:00
Hui Yu
d0139b01dd Merge "Document process capability in AppOps.md." into rvc-dev 2020-04-09 19:42:09 +00:00
lumark
04bceb99f1 Trigger onTaskAppeared when a task started from recents becomes ready.
In quick switch flows, launcher will first swipe task snapshot
through recents animation, and then start new task with custom animation
options through startActivityFromRecents after gesture finish detected,
and then finish recents animation finally.

But that way user may experience flickering before the new task launch
and recents animation finish.

To improve quick switch flickering, we ignore the new task's custom
animation from recents and generate task remote animation target,
and then trigger a callback for launcher to control/animate this
task surface, more like a part of RecentsAnimation,

Also, adding removeTask method for launcher can flexibility remove the
new task animation target once no need to animate, so that launcher
can decide when to finish recents animation.

Bug: 152480470
Test: manual as below steps:
  1) Doing quick switch task.
  2) Make sure launcher can receive onTaskAppeared callback.
  3) Make sure launcher calls removeTask successfully.
  4) Make sure launcher can finish recents animation after 3).
Change-Id: I0692a280a49719229fa8871509bad37a1343a00f
2020-04-10 02:20:03 +08:00
Fabian Kozynski
a35a860c36 Merge "Added Settings intents" into rvc-dev 2020-04-09 17:58:44 +00:00
Selim Cinek
279238f3c2 Merge changes I7dc8f5fd,Ia5262ca7 into rvc-dev
* changes:
  Fixed the transformation of min priority notifications
  Always use the largeIcon as avatar replacement
2020-04-09 17:55:27 +00:00
Pavel Grafov
c4adf5e87b Merge "Copy the remaining policies on migration." into rvc-dev 2020-04-09 17:30:36 +00:00
Nikita Ioffe
e9ed63aa92 Merge "Introduce static @hide PowerManager.isRebootingUserspaceSupportedImpl()" into rvc-dev 2020-04-09 16:39:54 +00:00
TreeHugger Robot
9f990dedb3 Merge "Add an API to set layer trace flags" into rvc-dev 2020-04-09 16:26:21 +00:00
Yuncheol Heo
8ecd6a377b Merge "Move multi window mode to the caller." into rvc-dev 2020-04-09 16:06:01 +00:00
Pavel Grafov
57c69d1e30 Copy the remaining policies on migration.
* accountTypesWithManagementDisabled
* disableScreenCapture

For security logging nothing has to be done since the state is
stored in a system property, just changed it so that the logging
will be started after the migration and only events for the
right user are logged.

Also removed the todo about hardening for power cut case, the
risk of additional complexity sees to outweight the benefit.

Bug: 149075700
Test: atest DevicePolicyManagerServiceMigrationTest
Change-Id: I3a58325f2d6f415e51998c5096c5fc123d26602d
2020-04-09 15:47:18 +01:00
Nikita Ioffe
57300d9057 Introduce static @hide PowerManager.isRebootingUserspaceSupportedImpl()
This method consolidates logic of testing whenever rebooting userspace
is supported in a place that can be used both from
PowerMager.isRebootingUserspaceSupported() API and from
PowerManagerService.reboot() implementation.

Consequently, this makes `adb shell svc power reboot userspace` also
benefit from that check, and fail userspace reboot on devices that don't
support it.

Also tweaked logic of ignoring RemoteException to take into account
userspace reboot.

Test: adb root
Test: adb shell setprop init.userspace_reboot.is_supported 0
Test: adb shell svc power reboot userspace & verified error message
Test: adb shell setprop init.userspace_reboot.is_supported 1
Test: adb shell svc power reboot userspace & verified no error message
Test: atest PowerManagerTest
Test: atest CtsUserspaceRebootHostSideTestCases
Bug: 152803929
Change-Id: I2d3a8e0ae1320c408a838c5c5fdf4cd977b167b3
2020-04-09 14:07:22 +01:00
TreeHugger Robot
bc98d3edb0 Merge "Enhance exception message on SQLiteCantOpenDatabaseException" into rvc-dev 2020-04-09 12:54:52 +00:00
Andrei-Valentin Onea
1775d16adb Merge "Add method to greylist" into rvc-dev 2020-04-09 11:17:11 +00:00
Charles Chen
5c082c998f Merge "Fix WindowContext leak" into rvc-dev 2020-04-09 07:39:29 +00:00
Yvonne Jiang
eb31eb5bae Merge "Fix secondary lock screen implementation such that DevicePolicyKeyguardService calls are made on the main (UI) thread." into rvc-dev 2020-04-09 07:26:48 +00:00
Vishnu Nair
9eb672e5a9 Add an API to set layer trace flags
This will be used by FlickerTests to capture composition state
in SurfaceFlinger trace.

Test: atest FlickerLibTest:LayersTraceMonitorTest
Fixes: 153563549

Change-Id: I3d09196ced43a1b0bac811e8f458c28be4e44992
2020-04-09 04:04:46 +00:00
Jeff Sharkey
de7f060772 Merge "Offer a NOTIFY_NO_DELAY flag for notifications." into rvc-dev 2020-04-09 03:14:42 +00:00
TreeHugger Robot
0fcab06f80 Merge "Fix an issue that setMaxSuggestions(-1) throws unexpectedly" into rvc-dev 2020-04-09 02:23:23 +00:00
Steven Thomas
288c434f34 Merge "Add acquireFrameRateFlexibilityToken permission comment" into rvc-dev 2020-04-09 01:08:40 +00:00
TreeHugger Robot
58de85c41e Merge "Revert "Fix exception handling in getState() binder cache"" into rvc-dev 2020-04-08 23:58:45 +00:00
Yuncheol Heo
5d62e75560 Move multi window mode to the caller.
Bug: 153576019
Test: Checks if Maps will move into the ActivityView when Home is pressed (in AAOS)
Change-Id: I040bf008a2f41130d6f118f359c9cefffb5acfc4
2020-04-08 16:43:52 -07:00
TreeHugger Robot
ffce5f2b7c Merge "Make OPSTR_MANAGE_EXTERNAL_STORAGE test API" into rvc-dev 2020-04-08 23:21:23 +00:00
Makoto Onuki
a868d701d7 Enhance exception message on SQLiteCantOpenDatabaseException
Bug: 150248286
Test: atest CtsDatabaseTestCases
Change-Id: I39f7a3516dfbe0198b1ef5f68af1265df98c5a0a
2020-04-08 16:19:42 -07:00
Hui Yu
3b1110b170 Document process capability in AppOps.md.
Bug: 153581565
Test: NA
Change-Id: I3c42cf5022c0e7e5b008570fdc656260bb13475f
2020-04-08 16:12:21 -07:00
Jeff Sharkey
9d475e958d Offer a NOTIFY_NO_DELAY flag for notifications.
We've heard reports that some ContentProviders are sensitive to their
notifications being delayed, so this change adds a NOTIFY_NO_DELAY
flag that they can use to bypass any background delays.

Bug: 149370968
Test: none
Change-Id: I0465c8dee92cd5708c04035bc0396ce2d1083f67
2020-04-08 16:32:41 -06:00
Lee Shombert
2a8802d2ca Revert "Fix exception handling in getState() binder cache"
This reverts commit 81a3e1c578.

Bug: b/153505953

Change-Id: I58c46e534ccadf332d10fff8f99c85ad24340c27
2020-04-08 21:12:52 +00:00
Makoto Onuki
52c24bdedf Merge "Context.getSystemService() shouldn't return null..." into rvc-dev 2020-04-08 19:33:30 +00:00
Andrei Onea
a8766420c6 Add method to greylist
Add Landroid/hardware/camera2/CameraMetadata;->getNativeMetadataPtr()J
to greylist so that
CameraManagerTest#testCameraCharacteristicsNdkFromSdk no longer needs
to forego hidden api checks.

Bug: 149594233
Test: atest CameraManagerTest#testCameraCharacteristicsNdkFromSdk
Test: adb install -r -g CtsCameraTestCases.apk && \
      adb  shell am instrument -e class \
	'android.hardware.camera2.cts.CameraManagerTest#testCameraCharacteristicsNdkFromSdk' \
	-w 'android.camera.cts/androidx.test.runner.AndroidJUnitRunner'
Change-Id: Ibd53dd198efc5722e20f153ef5cc9433e5b7539d
2020-04-08 19:56:52 +01:00
Robert Carr
6cc720b70a ViewRootImpl: Pass buffer to finishDrawing when requested
As the final enabler for the BLASTSyncEngine, we add a new relayout
result BLAST_SYNC. If the WindowState is participating in a BLAST sync
during relayout we return it to the client. If we return it to the
client the client will direct it's next draw in to a BLAST transaction
and report that transaction via finishDrawing. You can now observe
the BLASTSyncEngine working end to end in TaskOrganizerMultiWindowTests.
We do a few small clean-ups in TaskOrganizerMultiWindowTest while we
are there.

Bug: 153561718
Test: TaskOrganizerMultiWindowTests
Change-Id: I719b731350b942aafa444a33972aaef8973422ea
2020-04-08 11:18:09 -07:00
Andrii Kulian
ac4b972e7a Merge "6/n Manage multiple task display area in the policy" into rvc-dev 2020-04-08 17:35:42 +00:00