Commit Graph

11104 Commits

Author SHA1 Message Date
Steven Moreland
0ec1b0f9de Merge "Revert "Revert "Preload non-bootclasspath Java lib ClassLoaders.""" am: 4b5ca28dfe am: 4e709ea3fd
am: 96724b57ae

Change-Id: I3de2f4b4fb092d0db5001209d68ea217e150b8da
2019-04-01 20:14:55 -07:00
Steven Moreland
96724b57ae Merge "Revert "Revert "Preload non-bootclasspath Java lib ClassLoaders.""" am: 4b5ca28dfe
am: 4e709ea3fd

Change-Id: Ia5b6280f17a67f0fa791f36544a77e2af99e7e0e
2019-04-01 19:50:13 -07:00
Steven Moreland
4e709ea3fd Merge "Revert "Revert "Preload non-bootclasspath Java lib ClassLoaders."""
am: 4b5ca28dfe

Change-Id: I63fa6d4a8671db24bf9fce898414c27068547ed2
2019-04-01 19:38:43 -07:00
Steven Moreland
4b5ca28dfe Merge "Revert "Revert "Preload non-bootclasspath Java lib ClassLoaders.""" 2019-04-02 02:19:44 +00:00
Philip P. Moltmann
129a0b0c5e Remove dual storage permission model
- Also remove typed media permissions
- Leave typed media app-ops

Bug: 129716569
Test: Used apps, looked at permissions in the UI
Change-Id: If7714fb1a6955584157e1a60ab72b09e35287827
2019-04-01 16:30:11 -07:00
TreeHugger Robot
833207566c Merge "Sharesheet - Make UI more responsive to touches when loading" 2019-04-01 15:26:05 +00:00
Matt Pietal
af044aefd9 Sharesheet - Make UI more responsive to touches when loading
ListView will try to prevent errant touches while data is being
loaded. With Sharesheet, this can happen quite frequently so 1:
eliminate unnecessary notifyDataSetChanged calls and 2: batch up the
remaining calls and release a single call on an interval.

Bug: 126568576
Test: atest ChooserActivityTest && atest ResolverActivityTest
Change-Id: I3207f207910a0c9223a1b562243d9db612f93b0a
2019-04-01 08:52:42 -04:00
Winson Chiu
fbe87233d5 Merge changes from topic "code-paths-and-resources-caching-fix"
* changes:
  Revert ContextImpl LoadedApk packageInfo caching workaround
  Fix AssetManager2 isUpToDate check
  Diff resource dirs when checking LoadedApk packageInfo cache in ActivityThread
  Diff overlays between PackageManagerService and OverlayManagerService
  Propagate base code path and split dir changes to Resources objects
2019-03-29 23:50:02 +00:00
Steven Moreland
bdc2702cdf Revert "Revert "Preload non-bootclasspath Java lib ClassLoaders.""
This reverts commit d3c2bc5a4e.

Reason for revert: reland fix
Bug: 128529256

Change-Id: I0647d4242406e31348a68ebba328e5f8ad750144
2019-03-29 21:52:32 +00:00
TreeHugger Robot
bc9f5a518d Merge "Show updated labels for apps and DS in Sharesheet" 2019-03-29 18:32:33 +00:00
Mike Digman
ba23268fe2 Show updated labels for apps and DS in Sharesheet
Shows activity and app label for all share targets except those
with the right permission. Shows 2 wrapping lines as a label for
all direct share targets. Brings grid item layout closer to spec.
Fixes several associated bugs.

Fixes: 125908050
Test: included label test, manual
Change-Id: I5c2cc0700b59911d79aebf2582176497c30bf85c
2019-03-29 09:06:53 -07:00
Felipe Leme
afbba9fb36 Checks package name belongs to called UID on some content capture methods.
Also refactored how the SecurityException is thrown back to the caller app.

Bug: 122959591
Test: manual verification
Test: atest CtsContentCaptureServiceTestCases # sanity check (minus usual flakiness)

Change-Id: I4d2a68e61dc1c801d80734a30f4bbe6fdae8555d
2019-03-28 19:31:52 -07:00
Felipe Leme
a8d33c24f8 Implemented ContentCaptureConditions APIs.
Test: atest ContentCaptureConditionTest \
       CustomViewActivityTest#testContentCaptureConditions \
       CustomViewActivityTest#testContentCaptureConditions_otherPackage
Test: atest CtsContentCaptureServiceTestCases # sanity check (minus usual flakiness)

Fixes: 129266058

Change-Id: I199c3ae99fa6b407da64562a71d8d7581ebf80e6
2019-03-28 18:48:31 -07:00
Varun Anand
112b8bd6c5 Merge changes from topic "vpn_data_accounting" am: 6c93e5378a
am: 09ef7691f5

Change-Id: If4fff1b4d14e80e024ce7b1aa85ebd3afcb1ecc2
2019-03-28 18:16:37 -07:00
Varun Anand
09ef7691f5 Merge changes from topic "vpn_data_accounting"
am: 6c93e5378a

Change-Id: Iaa4b2dd9be2fc6e9833c6c846b6858aab507ca8b
2019-03-28 18:06:12 -07:00
Varun Anand
6c93e5378a Merge changes from topic "vpn_data_accounting"
* changes:
  Move BatteryStats and StatsCompanionService to use NetworkStatsService.
  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
  Take all VPN underlying networks into account when migrating traffic for VPN uid.
2019-03-29 00:40:53 +00:00
TreeHugger Robot
f83f8ee39a Merge "Fixed ContentCapture and AugmentedAutofill methods that should not hold the main lock..." 2019-03-28 17:32:49 +00:00
Varun Anand
346aa87544 Move BatteryStats and StatsCompanionService to use NetworkStatsService.
This CL is a manual merge of http://ag/c/6015966/3.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manual test: verified that BatteryStats are correctly accounting
for VPN traffic.
Change-Id: I5b07ce70ac58bdcbebc3114bfe9fd411469d57af
Merged-In: I230c1edbf64cfeb3dbb560db368b5e420f7b79a4
2019-03-28 10:31:51 -07:00
Varun Anand
29d2ef2fe1 NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
This API is similar to one provided by NetworkStatsFactory with the
difference that NSS also migrates traffic from VPN UID to other apps.

Since traffic can only be migrated over NetworkStats delta, NSS
therefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSS records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or getDetailedUidStats API is invoked by
one of its callers.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manually verified that battery stats are migrating traffic off of
TUN (after patching above CL where we point BatteryStats to use this
API).
Change-Id: Ib0f0c2d4d41ee1d7a027ea9da457baaf198d649e
2019-03-28 10:31:51 -07:00
Varun Anand
95aa6d446f Take all VPN underlying networks into account when migrating traffic for
VPN uid.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
      appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java

Change-Id: I9d8d0cc58d18002c1c96f8ddff780ef8dc452d21
2019-03-28 10:31:49 -07:00
Nicolas Geoffray
b44f61e98f Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders."" am: d08c3b655b am: 7561d4667c
am: f2c49988c3

Change-Id: If2f2b20b1269f9750d3f56c392fa7ae7f29c86ff
2019-03-28 03:09:39 -07:00
Nicolas Geoffray
f2c49988c3 Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders."" am: d08c3b655b
am: 7561d4667c

Change-Id: Id50466763aedf746d796af8575ea922fdd9cad8e
2019-03-28 02:55:41 -07:00
Nicolas Geoffray
7561d4667c Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders.""
am: d08c3b655b

Change-Id: Id04898d99862cc1fff248fc9ba466faf55e30eb7
2019-03-28 02:39:21 -07:00
Nicolas Geoffray
d08c3b655b Merge "Revert "Preload non-bootclasspath Java lib ClassLoaders."" 2019-03-28 09:27:05 +00:00
Nicolas Geoffray
d3c2bc5a4e Revert "Preload non-bootclasspath Java lib ClassLoaders."
This reverts commit 1b11aaaf9b.

Bug: 128529256
Bug: 127406460

Reason for revert: Breaks FSI

Change-Id: Ie9775779cda7b376c36493f3ce3246eafc672c59
2019-03-28 09:25:11 +00:00
TreeHugger Robot
e40005e309 Merge "Create an ro property for headless system user." 2019-03-28 06:06:32 +00:00
Felipe Leme
9bee9440db Fixed ContentCapture and AugmentedAutofill methods that should not hold the main lock...
...otherwise they could ANR the ActivityManagerService and crash the system

Test: manual verification
Test: atest AugmentedLoginActivityTest
Test: atest CtsContentCaptureServiceTestCases # sanity check (minus usual flakiness)

Fixes: 129410913
Bug: 126266412

Change-Id: I4b0b0c389dd2c34928c6fffeec2854518a5e7da1
2019-03-27 17:11:08 -07:00
Steven Moreland
03da80555c Merge "Preload non-bootclasspath Java lib ClassLoaders." am: 213812ba28 am: 625d63ed64
am: 62814d83bd

Change-Id: Id36423644efdfdda452d08fc9824320c7c4dee31
2019-03-27 16:49:42 -07:00
Steven Moreland
62814d83bd Merge "Preload non-bootclasspath Java lib ClassLoaders." am: 213812ba28
am: 625d63ed64

Change-Id: Ie3c5931c981095e574e9dcadf8ed88686749116a
2019-03-27 16:32:12 -07:00
Steven Moreland
625d63ed64 Merge "Preload non-bootclasspath Java lib ClassLoaders."
am: 213812ba28

Change-Id: Ie16e82383bab53b5f92258289bf50ba9d7a897cd
2019-03-27 16:18:22 -07:00
Steven Moreland
213812ba28 Merge "Preload non-bootclasspath Java lib ClassLoaders." 2019-03-27 22:59:49 +00:00
TreeHugger Robot
68d476c7bc Merge "Sharesheet - Fix 4->8 direct share expansion glitch" 2019-03-27 18:04:58 +00:00
Ying Zheng
8185aa023a Create an ro property for headless system user.
Bug: 129292631
Test: build

Change-Id: I912caec14789b5aac143e17133b078f63165f784
2019-03-27 08:54:22 -07:00
Andrei-Valentin Onea
1a129b474d Merge changes from topic "unsupported-internal" am: 2f573ac6f8
am: 6acb2106f7

Change-Id: I98fdc3085646e3378560dc66eb7c46dfb74aee13
2019-03-27 07:07:16 -07:00
Andrei-Valentin Onea
6acb2106f7 Merge changes from topic "unsupported-internal"
am: 2f573ac6f8

Change-Id: I0fedf5c754a59a9c57b3abd00adff00d58b4930c
2019-03-27 06:56:12 -07:00
Matt Pietal
fe28f9a063 Sharesheet - Fix 4->8 direct share expansion glitch
Fix the drag handle and spacing. Set the initial sharesheet size
properly to allow for 2 rows + space to expand the direct share area.

Bug: 128969671
Test: atest ChooserActivityTest and visual inspection
Change-Id: I24f2ffd027c2edd69d90ab31c287ec773b7a7039
2019-03-27 08:17:59 -04:00
TreeHugger Robot
b494421edb Merge "Add ability to take on demand system heap dumps." 2019-03-27 12:05:16 +00:00
Andrei Onea
eecddd581e Add @UnsupportedAppUsage annotations
For packages:
  com.android.internal.app
  com.android.internal.database
  com.android.internal.http
  com.android.internal.os
  com.android.internal.policy
  com.android.internal.util
  com.android.internal.view
  com.android.internal.view.menu
  com.android.internal.widget
  com.android.server.net
  com.android.server
  com.google.android.collect
  com.google.android.util

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: Ia5306f4713298b46ae3aba6fc9d87fae41f8a593
Change-Id: Ie26033d486033289ad3e010a534a921d29c3b2ca
2019-03-27 11:22:20 +00:00
Steven Moreland
1b11aaaf9b Preload non-bootclasspath Java lib ClassLoaders.
This is specifically for HIDL but is applicable to other libs.

Classes on the bootclasspath are implicitly used by apps. For this
reason, many classes should not go there. However, there are some
libraries which are used by many apps/processes which are still
nice to preload the ClassLoaders of.

Now, cacheNonBootclasspathSystemLibs in ApplciationLoaders keeps
a map of jar -> ClassLoader in zygote to be retrieved by child
processes.

Bug: 128529256
Bug: 127406460
Test: boot Pixel 2, verify libs are preloaded and used, try apps that
    use these libraries.
Test: grep for ClassLoaderContext errors, for instance:
 - ClassLoaderContext shared library size mismatch
 - ClassLoaderContext classpath element mismatch
Test: showmap on various processes which use the preloaded libs.

Change-Id: I351bf1679e9a928c10dca860b6cd6cb414c3bb8e
2019-03-27 01:40:05 -07:00
Kweku Adams
a3513f0598 Add ability to take on demand system heap dumps.
With this, users with userdebug/eng builds will be able to initiate a
system heap dump from developer options.

Bug: 77490269
Test: manual
Change-Id: I0f4efec621e0d63b87c2d655a5f0434572cb92ac
2019-03-26 17:12:23 -07:00
Winson
d605e2d665 Propagate base code path and split dir changes to Resources objects
When split APK loading is deferred, like a dynamic feature module
or delayed install, the ResourcesImpl for old Resources objects
weren't being updated.

This is because the stable key used was "mResDir", which
corresponds to a path with a random hash ID suffixed to the end
of the APKs, like com.example.android-RANDOMHASH/base.apk.

Because RANDOMHASH changes every time a package is updated
(like installing a split), the stable key is no longer valid for
old Resources objects. That means they would never get notified
that the package resource directories could have changed.

There was a partial solution added 2 years ago to solve this case
for refreshing overlays. This extends the solution to replace base
code paths and split dirs, as well as force updates to Resources
with the old code paths.

The original breakage started from P, but I was unable to narrow
down what caused it. This bug should've existed in O, but maybe
a separate, unrelated resources behavior allowed it to work. And
given that, I don't know of a workaround for current instant apps.

Bug: 112392906
Bug: 116167993

Test: manual test Dotloop IA in b/112392906
Test: manual test Hollar IA in b/116167993

Change-Id: I73491fa2b9397a489765ddac8f0a07a797f02028
2019-03-26 17:09:01 -07:00
TreeHugger Robot
96d587172c Merge "Disable XOM on libraries for apps with targetSdkVerison<Q" 2019-03-26 23:38:46 +00:00
Jeff Vander Stoep
739c0b5193 Disable XOM on libraries for apps with targetSdkVerison<Q
Apps may (and do) assume that libraries are readable. To avoid app
breakage, mark execute-only sections of as read+execute
for apps with targetSdkVersion<Q.

Bug: 128907672
Test: Check libc for app with targetSdk==current
cat /proc/25950/maps | grep libc.so
77c01e3000-77c028b000 --xp 00041000 07:20 106 /apex/com.android.runtime/lib64/bionic/libc.so
Test: Check libc for app with targetSdk<current
cat /proc/26355/maps | grep libc.so
77c01e3000-77c028b000 r-xp 00041000 07:20 106
/apex/com.android.runtime/lib64/bionic/libc.so

Change-Id: I90b5c91923c8008ae4b4818985842fe3e354a850
2019-03-26 13:11:30 -07:00
TreeHugger Robot
ddd19b3537 Merge "Move some common functionality to AbstractResolverComparator." 2019-03-26 18:46:33 +00:00
TreeHugger Robot
ec90ac525d Merge "Changed process names for USAPs." 2019-03-26 18:07:56 +00:00
TreeHugger Robot
a967066a1e Merge "Modify AbstractRemoteService#mBindInstantServiceAllowed to #mBindingFlags in order to support multiple binding flags" 2019-03-26 17:16:05 +00:00
George Hodulik
935624421b Move some common functionality to AbstractResolverComparator.
Uri http/https intents bump default browser to front, and also
apps that are specific to the uri.
We also move the usage stats reporting to the abstract class.
Updates methods to be package-private.

Test:atest frameworks/base/core/tests/coretests/src/com/android/internal/app -- passes except previous failures https://paste.googleplex.com/6680684066242560
Test:adb shell am start -d "http://developer.android.com" -- Chrome is bumped to front, checked logs to confirm this was not just coincidental.
Bug:129014961

Change-Id: I203e8bc86d6321a5f124f3c19210c44a1065f072
2019-03-26 16:58:08 +00:00
Michal Karpinski
322df0bb74 Modify AbstractRemoteService#mBindInstantServiceAllowed to #mBindingFlags
in order to support multiple binding flags

And supply BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS for RemoteFillService.

Test: atest CtsAutoFillServiceTestCases
Test: atest AutofillManagerServiceTest
Bug: 126267782
Change-Id: Id5262d6a4e0fde0ad874020f783cfbf72fe201f4
2019-03-26 11:07:33 +00:00
Misha Wagner
b6f1833799 Merge "Clean up KernelCpuThreadReader" 2019-03-26 09:31:58 +00:00
Chris Wailes
0753040b62 Changed process names for USAPs.
This CL causes unspecialized app process to change their name to either
usap32 or usap64 after forking and before waiting on incoming
specialization requests.

Test: m & boot & check `ps -a`
Change-Id: I6a5d78d9fce8a204a3b65601f5767dd8f0f64ea7
2019-03-25 18:01:30 -07:00