Commit Graph

93223 Commits

Author SHA1 Message Date
TreeHugger Robot
0d7d8d2baf Merge "Sets Tile default state to INACTIVE" into qt-dev 2019-05-20 13:34:25 +00:00
TreeHugger Robot
050d6df74c Merge "[wm]: Fixed TaskPositioner leak" into qt-dev 2019-05-19 23:12:25 +00:00
Jeff Sharkey
433b7fc88b Merge "Aggresive performance optimizations." into qt-dev 2019-05-18 05:48:35 +00:00
Jeff Sharkey
b66f4f4bad Aggresive performance optimizations.
Now that we have LocalCallingIdentity, we can start caching it in
very narrow cases.  We must be careful to not cache too long, since
any changes to granted permissions for the UID mean we need to
re-evaluate any cached answers.

The best middle-ground for this in the Q release is to use an active
camera session as a proxy for when we should create a cache object
and then later invalidate it.  (It's very unlikely that a user
changes permissions while actively using the camera, and this is
a strong signal that the caller is sensitive to performance.)

Many other sprinkled optimizations to avoid extra binder calls into
the OS, such as aggressively caching VolumeInfo related details.

Track IDs that are owned by each LocalCallingIdentity, to speed up
all future security checks.

Dispatch all change notifications asynchronously, and delay them by
several seconds while the camera is being actively used, to give
more important foreground work a fighting chance.  Invalidate
thumbnails asynchronously.

Optimizations to ModernMediaScanner where it's safe to skip the
"reconcile" and "clean" steps when we're focused on a single file
that we successfully scanned.

Local tests show this CL improves performance of a test app that
takes 100 rapid shots by 45%.  (All the collective optimizations
done so far this week add up to a 70% improvement.)

Bug: 130758409
Test: atest --test-mapping packages/providers/MediaProvider
Exempt-From-Owner-Approval: trivial manifest change
Change-Id: I38cc826af47d41219ef44eae6fbd293caa0c01d5
2019-05-18 05:48:21 +00:00
Sal Savage
c28d4714f2 Merge "Add timestamp and read status extra constants to MAP Client" into qt-dev 2019-05-18 02:22:38 +00:00
TreeHugger Robot
c7c173389a Merge "Camera: Always return 'null' for unsupported formats" into qt-dev 2019-05-17 21:35:23 +00:00
TreeHugger Robot
34bc57f738 Merge "Camera: Handle out-of-order frameNumber for ZSL requests" into qt-dev 2019-05-17 21:20:44 +00:00
Philip P. Moltmann
4f09b09f62 Merge "Whitelist all perms on installExistingPackage" into qt-dev 2019-05-17 19:56:19 +00:00
Nicolas Geoffray
94b2981853 Merge "Workaround for USAP support in jitzygote." into qt-dev 2019-05-17 12:31:12 +00:00
TreeHugger Robot
141e7b0395 Merge "Add support for returning installed apex modules in getInstalledModules" into qt-dev 2019-05-17 12:13:32 +00:00
Nicolas Geoffray
e66a2bf226 Workaround for USAP support in jitzygote.
USAP improve app startup by ~5ms, so enable it for the
jitzygote experiment.

Bug: 119800099
Test: boots and usap processes live
Change-Id: I918d81f56cc7e9fcc8a053feadd7878108e6d590
2019-05-17 08:42:28 +00:00
yj81.kwon
19585ffabf [wm]: Fixed TaskPositioner leak
If application process handles motion events late, it requests to start
moving task after MotionEvent.ACTION_UP is already fired. In that case,
system will wait for event that is not comming and cannot end drag state.
It's expected that the system finishes moving task when system receives
ACTION_UP by transfering touch focus. In a problem case, ACTION_UP event
is already sent to the application process before transfering touch focus.

If application receives ACTION_UP event after requesting moving task,
notify the system of finishing previous request.

Test: Quickly try to resize freeform windowing app repeatedly.
Test: atest WmTests:TaskPositioningControllerTests
Bug: 129507487

Change-Id: Ifa457ddc55524cae6da455e770472781a7805282
(cherry picked from commit 9a1cd7b5063229da536a1281916ae15ec9246d1a)
2019-05-16 16:42:10 -07:00
Joe Onorato
61935fd871 Merge "Add new IncidentManager.requestAuthorization method that takes an executor." into qt-dev 2019-05-16 21:23:54 +00:00
Adam He
815979d5df Merge "Metrics for content capture." into qt-dev 2019-05-16 19:53:04 +00:00
TreeHugger Robot
ee0d8180b6 Merge "Camera: Fix some documentation typos" into qt-dev 2019-05-16 18:59:55 +00:00
Joe Onorato
fffa4098a7 Add new IncidentManager.requestAuthorization method that takes an executor.
This is @hide for Q now that we're past API freeze, and will be
@SystemApi in master.

Bug: 126700920
Bug: 126701153
Bug: 130351719
Test: bit GtsIncidentConfirmationTestCases
Test: bit GtsIncidentManagerTestCases
Change-Id: Iac6a058017a86c1927502c529e5a7f3881eb56a7
2019-05-16 11:51:54 -07:00
Fabian Kozynski
5c6f04df30 Sets Tile default state to INACTIVE
When the Tile is created, we don't have its actual state, so it has to
start with some default state. Between the tile being bound and the
first time the state is updated by TileService, this is the default
state.

When the Tile for CustomTile is created, set its default state to
INACTIVE. On the first update it after it's bound it will be set
correctly. This is probably less upsetting than an ACTIVE tile that
suddenly becomes INACTIVE.

Test: manual using logs to verify that the Tile is never ACTIVE when it
shouldn't.
Fixes: 132813963

Change-Id: I58bad0a2a16ca42366a5772f62fe82c74a6e2fb7
2019-05-16 14:23:58 -04:00
Rubin Xu
8c10c28673 Merge "Do not compare ID when deduplicating SecurityEvent" into qt-dev 2019-05-16 11:17:48 +00:00
Michael Wachenschwanz
a324083f3d Merge "Clarify UsageStatsManager#queryUsageStats behavior" into qt-dev 2019-05-16 06:18:48 +00:00
Jeff Sharkey
04e5f7acff Merge "Cache resolved details about remote callers." into qt-dev 2019-05-16 03:29:16 +00:00
Sudheer Shanka
75fb684e00 Merge "Revoke prior uri grants when MediaProvider db gets recreated." into qt-dev 2019-05-16 01:27:38 +00:00
Jeff Sharkey
951f99ba02 Cache resolved details about remote callers.
The logic in MediaProvider is technically correct, but it's sometimes
inefficient in calling into the OS multiple times with the same
questions, such as validating getCallingPackage().

To mitigate this overhead, and start paving the way for more dynamic
delegation of permission checks, collect these details into a
LocalCallingIdentity object.  We carefully perform all permissions
checking against this new object, and avoid using any other
thread-local values from ContentProvider or Binder.

Local tests show this CL improves performance of a test app that
takes 100 rapid shots by 37%.

This change is a no-op refactoring.

Bug: 130758409, 115619667
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: If250a7675f2246cd10881acf615619d6d6061f3d
2019-05-15 19:20:01 -06:00
Sudheer Shanka
7a66be2a13 Revoke prior uri grants when MediaProvider db gets recreated.
Bug: 132084545
Test: manual
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: Ibf2f2357d712a212f25b3bd005572ac74fe524fd
2019-05-15 16:37:06 -07:00
Emilian Peev
0105dfbe78 Camera: Fix some documentation typos
Bug: 132419505
Test: Successful build
Change-Id: Ifb610998422264f565a16eae005e7096a6a2f611
2019-05-15 12:00:13 -07:00
Mohammad Samiul Islam
c15221e354 Add support for returning installed apex modules in getInstalledModules
Bug: 131929295
Test: atest ModuleMetadataTests
Change-Id: I40be703f9844521342761f5af671823514a93d88
2019-05-15 19:22:20 +01:00
Emilian Peev
0fde6be448 Camera: Always return 'null' for unsupported formats
According to the API documentation, output size queries must
return 'null' in case the respective format is not supported.

Bug: 132594990
Test: Camera CTS
Change-Id: I832efe73dae8753baa635b359a68062f2ef63476
2019-05-15 11:12:19 -07:00
Adam He
ff2185346e Metrics for content capture.
Bug: 119613670
Test: statsd_testdrive & manual test
Change-Id: Ib2c61d2a3c08a9db779790417eb0177c2420d8fd
Merged-In: If43465ccee7454a7ebf9e15caa23fce7bae33cfe
2019-05-15 11:12:02 -07:00
Philip P. Moltmann
a4bd150588 Whitelist all perms on installExistingPackage
The code allows to also whitelist only a select set of permissions, but
this is not yet exposed in the API.

Also: Fix up shell commands for restricted permissions

Fixes: 132368462
Test: - Enabled app via device admin in secondary profile
        -> verified that permissions were whitelisted
      - Installed existing and new app using --restrictpermissions and
        not
	-> verified that permissions were whitelisted or not
      atest AppRestrictionsHelperTest
            RestrictedPermissionsTest
Change-Id: I9cd76c555b40663f2e25ad86e8a54991baae346c
Merged-In: I9787e63d8beb8f6b1ba2d15532d4c0f69dbdf863
2019-05-15 11:09:45 -07:00
Rob Carr
e6ffb72e55 Merge "Restore new SurfaceView background implementation." into qt-dev 2019-05-15 17:41:01 +00:00
Rubin Xu
17d08f474c Do not compare ID when deduplicating SecurityEvent
Two SecurityEvents should be considered identical as long as
their event content equals, disregarding the id field.

Test: manual
Change-Id: I811f9a104ed3a0d9e02991aeb9e3653c5c02efc3
Fix: 132367517
2019-05-15 17:39:46 +01:00
Ian Pedowitz
3bd719b534 Merge "Revert "Revert "Remove deprecated System APIs added in Q.""" into qt-dev 2019-05-15 16:28:54 +00:00
Ian Pedowitz
028b649f71 Merge "Revert "Revert "Removing deprecated APIs added to Q""" into qt-dev 2019-05-15 16:28:54 +00:00
Ian Pedowitz
a326dfb1e5 Merge "Revert "Revert "Android Q is API 29""" into qt-dev 2019-05-15 16:28:54 +00:00
Jorim Jaggi
c3371300eb Merge "Fix copying of insets" into qt-dev 2019-05-15 10:26:02 +00:00
Tiger Huang
6e52f838ba Merge "Fix a bug about the z-order of layers caused by merging transactions" into qt-dev 2019-05-15 03:52:34 +00:00
Jeff Sharkey
9637326ea8 Merge "Explicitly request clearing of external storage." into qt-dev 2019-05-15 01:29:08 +00:00
Mehdi Alizadeh
60c9f4803a Merge "Updates java doc in AppPredictionService" into qt-dev 2019-05-15 01:14:05 +00:00
Jeff Sharkey
3ad357f649 Merge "Remember last time we mounted a volume." into qt-dev 2019-05-15 01:07:03 +00:00
Lei Yu
35fcd6b0e3 Merge "Use merged NetworkTemplate to query data usage" into qt-dev 2019-05-15 00:27:23 +00:00
Mehdi Alizadeh
8ed33831c9 Updates java doc in AppPredictionService
Bug: 123591863
Test: None
Change-Id: I1ef31e6c723199432f852ad38e1af35d6017cc1f
2019-05-14 15:05:31 -07:00
Jeff Sharkey
3811f35ff7 Remember last time we mounted a volume.
Bug: 131751531
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: Ia5f6153aa15ea923d30085060269125e15e8e62c
2019-05-14 15:50:00 -06:00
Jeff Sharkey
3f704637b4 Explicitly request clearing of external storage.
Similar to how we target DE and CE storage areas, callers need to
specifically ask to work with EXTERNAL storage.  This is because
external storage often lives on a separate device from where internal
DE and CE data lives.

As one specific example, if we're moving an app between two
"internal" storage devices, we don't want to clean up the data
for that package on external storage, since it's not being moved.

This change also expands to all mounted external storage devices,
not just the storage backed by the incoming UUID.

Bug: 113277754
Test: atest android.appsecurity.cts.StorageHostTest
Test: atest android.appsecurity.cts.ExternalStorageHostTest
Test: atest --test-mapping frameworks/base/services/core/java/com/android/server/pm/
Change-Id: Ie125303726dd757ee45bd373f53addb35569c2f7
2019-05-14 14:55:15 -06:00
TreeHugger Robot
aa6965983b Merge "Fixed NPE on VoiceInteractor.destroy()" into qt-dev 2019-05-14 20:27:44 +00:00
Sal Savage
40aa11ead0 Add timestamp and read status extra constants to MAP Client
Bug: b/132455654
Test: build and run on automotive hardware. Use kitchen sink to send
and receive messages.

Change-Id: Ic0f04640f1894d6cf336ba7e641df9cf148a2bbd
2019-05-14 11:15:14 -07:00
Felipe Leme
8092cdaeda Fixed NPE on VoiceInteractor.destroy()
Fixes: 131411751
Test: atest CtsVoiceInteractionTestCases # ran a few times on different devices, got no failures

Change-Id: I484db53772bf503f091f30f67ae92c8ae52d4105
2019-05-14 10:15:31 -07:00
Jorim Jaggi
7882548b92 Fix copying of insets
Test: WindowInsetsTests
Fixes: 132057323
Change-Id: I8836a9d81ab85ce64071c48f8407e5e96dbbb1da
2019-05-14 18:54:40 +02:00
TreeHugger Robot
3245017b87 Merge "Using ParceledListSlice to send large lists over Binder." into qt-dev 2019-05-14 16:25:28 +00:00
Aran Ink
f4744c686f Remove GlobalActionsDialog values from FeatureFlagUtils.
Merged-in: I5ca5e760d9a987c75a93c43783ad2b38728d48fc
Test: Automated tests pass. Manual testing shows GAD still works.
Fixes: 123397865
Fixes: 127644235

Change-Id: I0a8e285c96eea566ed1b19fa05e4143324f5937b
2019-05-14 14:31:07 +00:00
TreeHugger Robot
13e4ff16c4 Merge "Add an API for launching intent to view permission usage." into qt-dev 2019-05-14 13:24:56 +00:00
Eugene Susla
1198fc4e71 Merge "Revert "MemoryIntArray: track the owned file descriptor in a PFD."" into qt-dev 2019-05-13 22:21:48 +00:00