Commit Graph

6476 Commits

Author SHA1 Message Date
Varun Shah
ff43f4e6a6 Use language tags to store Configuration's locale list.
Instead of storing each Locale within a Configuration object's locale
list by its language, country, variant, and script to proto, store the
entire locale list by its language tags representation which accurately
describes each locale.

Bug: 140197723
Test: atest ConfigurationTest
Test: atest UsageStatsDatabaseTest
Test: manually with bad data
Change-Id: Id0e63ae4a7be578d1e93838b371320f86a787e0e
2019-09-09 22:41:54 +00:00
Kevin Hufnagle
86b17d2523 docs: Improved tick/click effect descriptions
Test: make ds-docs -j32

Bug: 139888074
Change-Id: I939aaa4cf81ddab1705611222c12a60823493d38
2019-08-29 19:30:42 +00:00
Adam Seaton
b16411f83a Revert "SharedMemory: break Cleaner reference cycle."
Bug: 138422309

This reverts commit 390d9e6a18.

Reason for revert: crashes documented in b/138422309

Change-Id: I235f727d0fe87c09f6f05dddcae7759bab64dfd8
2019-07-26 17:17:16 +00:00
Josh Gao
390d9e6a18 SharedMemory: break Cleaner reference cycle.
Previously, the Cleaner we create to close the ashmem file descriptor
used a thunk that held a strong reference to the FileDescriptor we
wanted to clean up, which prevented the Cleaner from ever running.

Break the cycle by storing the integer value of the file descriptor
instead.

Bug: http://b/138323667
Test: treehugger
Change-Id: I613a7d035892032f9567d59acb04672957c96011
(cherry picked from commit 6ca916a657)
2019-07-25 12:13:15 -07:00
Andrew Lewis
4ec5fda3d6 Redact ISOBMFF boxes with 'free'
Test: atest MediaStore_Video_MediaTest android.os.RedactingFileDescriptorTest
Bug: 135499138
Change-Id: Idaa8ad30300d5427f91bb2543be3152881018cf6
2019-07-10 19:46:48 +01:00
TreeHugger Robot
f76bdce6e0 Merge "Restore some greylist entries." into qt-dev 2019-06-28 12:02:43 +00:00
Mathew Inwood
3a75f264a8 Restore some greylist entries.
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
  information added

So they are being moved back to the greylist for Q.

Test: Treehugger
Bug: 136102585
Change-Id: I5ac8b8b9b23c3789d80239cf456072cc7dfa1203
2019-06-28 10:15:37 +01:00
Tim Joines
6c3bbf9e93 Merge "Disable USAP by default on devices" into qt-dev 2019-06-27 16:01:43 +00:00
Tim Joines
341817e169 Disable USAP by default on devices
Test: manual, usap process missing on boot
Bug: 136003445
Change-Id: I991b24d2a386c0969bc27f9aecd6b8748b80085a
2019-06-25 09:21:45 -07:00
Daniel Rosenberg
d078d8b15c Make RescueParty call vold directly
This changes RescueParty to call vold over binder directly for
Checkpointing related calls. It turns out that if the system is in a bad
enough state, the other method would not work, as some of the services
required would not be running.

Bug: 135558798
Test: setprop persist.sys.enable_rescue 1
      setprop debug.crash_system 1 or setprop debug.crash_sysui 1
      vdc checkpoint startCheckpoint 3
      stop
      start
      Device should go through the rescueparty flow, and reboot.
      Repeat without checkpoint. Device should prompt reboot.

Change-Id: I8b11d68075cc291e9557d524bc87b54d17b370e4
2019-06-24 13:23:27 -07:00
TreeHugger Robot
c0c88c6ed3 Merge "Game Driver: Process sphal libraries in GraphicsEnvironment" into qt-dev 2019-06-14 01:36:32 +00:00
Yiwei Zhang
e3490fce00 Game Driver: Process sphal libraries in GraphicsEnvironment
Previously, there's only one Game Driver existed in the system, so we process
sphal libraries in GPU service to save the launch time for loading Game Driver.
Now we need to support a separate prerelease driver, so we have to move the
processing back to app launch time.

Bug: 134881329
Test: Manual test with prerelease driver and Settings UI.
Change-Id: Ic1bb412a6a026c68f55243c906bd56fe1fee44c3
2019-06-13 14:40:56 -07:00
Yiwei Zhang
ff9a4ee1c1 Game Driver: add support to apply prerelease driver for all apps
Bug: 134881329
Test: Manual test with prerelease driver and Settings UI.
Change-Id: I5f198b0845e9e6431066d44ef623f62e1f5c588a
2019-06-12 18:17:14 -07:00
Yiwei Zhang
5d0d4c6af2 Game Driver: Add support for prerelease channel
Bug: 134881329
Test: Manual test with prerelease driver.
Change-Id: I4865bbf0126df9c470aa7f1c163910eb58fb1a8b
2019-06-12 18:08:08 -07:00
Chris Wailes
bed1976f85 Removes unused code from the SystemServer/Zygote classes.
This patch partially reversts ag/6991475 and ag/7161709.  These changes
are no longer needed due to a change in the graphics driver strategy for
Q.

In addition, the preloading of the graphics driver in the USAPs need to
be removed to avoid causing a memory regression on devices with graphics
driver preloading in the Zygote disabled.

Bug: 134526352
Test: Treehugger
Change-Id: I570037866d1ae90794c711622e6045ebbffa5b9c
Merged-In: I570037866d1ae90794c711622e6045ebbffa5b9c
(cherry picked from commit fcd68fd74b)
2019-06-11 16:34:40 -07:00
Alexey Kuzmin
133815450b Link to death of external vibrations
Bug: 133200481
Test: manual
Change-Id: I6a76b926d60a79fd450a2f7eaf9609243ac0aaf7
2019-06-11 15:06:59 +01:00
Sudheer Shanka
c703d04fbb Merge "Fix Environment.isExternalStorageLegacy() impl." into qt-dev 2019-06-06 01:32:03 +00:00
Sudheer Shanka
572fdfd18f Fix Environment.isExternalStorageLegacy() impl.
Earlier, this API only used to consider op_legacy_storage
appop to decide whether an app will get legacy storage view
or not but there are few other factors it needs to consider
like whether the app has WRITE_MEDIA_STORAGE permission or
whether app was allowed to be an installer in which case it
will get legacy access.

Bug: 132760141
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I227a171bf40e43e135e1a6dbc819cfad21d91520
2019-06-04 16:46:57 -07:00
Michael Wright
8b1f3c970c Uncanonicalize URIs when searching for audio-coupled haptics.
It's possible that the Ringtone URIs will be pre-canonicalized, which
don't maintain equality when compared to uncanonicalized URIs. In order
to handle this case, we just need to uncanonicalize both URIs before
comparing.

Fixes: 134394754
Test: manual, verified audio-coupled haptics works again on B1C1
Change-Id: I2e216db1013d5bc0db0a1622e0670853663f0db8
2019-06-04 15:26:25 +01:00
Christopher Ferris
6db1108ddc Avoid using usap when wrap property set.
Bug: 133515802

Test: Verified that malloc debug can be enabled on a USAP enabled device.

(cherry picked from commit 86bd25d5ed)

Change-Id: I5f25030ce8e667d175712796c0950f38baa2532d
Merged-In: I5f25030ce8e667d175712796c0950f38baa2532d
2019-05-31 12:46:42 -07:00
Michael Groover
daf8086aa0 Merge "Update Build#SERIAL docs to reflect device ID restrictions" into qt-dev 2019-05-30 04:11:55 +00:00
Michael Groover
1279ff9dfb Update Build#SERIAL docs to reflect device ID restrictions
Bug: 133724689
Test: Build
Change-Id: I1188a1b0201730a649e3fa479989ba9d1ec3a143
2019-05-29 14:52:22 -07:00
Cody Northrop
3893e5d9ea Merge changes from topic "no_layers_profileable" into qt-dev
* changes:
  GraphicsEnvironment: No debug ANGLE packages for profileable apps
  Revert "GraphicsEnvironment: Allow profileable apps to load layers"
2019-05-29 17:10:56 +00:00
Cody Northrop
32adba4537 GraphicsEnvironment: No debug ANGLE packages for profileable apps
An app opting in to "profileable" does not mean we should
allow it to load ANGLE libraries from the debug package.

Bug: 128637647
Test: atest CtsGpuToolsHostTestCases
Change-Id: I5c6ea33a1e1624e006bc4865bc0a06ea92d9d806
2019-05-28 12:59:46 -06:00
Cody Northrop
c558c0c15a Revert "GraphicsEnvironment: Allow profileable apps to load layers"
This reverts commit 3832aa9906.

Loading layers for apps that have opted for "profileable" breaks
the Android security model.  They have only consented to exposing
profiling information, not exposing data under its control.  Layers
have access to everything in the API calls.

Bug: 128637647
Test: atest CtsGpuToolsHostTestCases
Change-Id: I5aed181c3cec616c3ce98a1a30287b30f190ba9b
2019-05-28 12:05:56 -06:00
Howard Chen
40abbb0fe9 Fix StrictModeTest#testNonSdkApiUsage
Test: atest android.os.cts.StrictModeTest#testNonSdkApiUsage
Bug: 131923046
Bug: 129892635

Merged-In: I6759339000eb239112c0c83ce1131f34164ee0cf
Change-Id: I6759339000eb239112c0c83ce1131f34164ee0cf
2019-05-28 16:25:20 +01:00
TreeHugger Robot
585422a5d2 Merge "Fixes the bug that can occur when StatsCompanionService calls StatsService to update UID data and overflows kernel transfer buffer." into qt-dev 2019-05-24 00:26:19 +00:00
Max Dashouk
11e0d40bbe Fixes the bug that can occur when StatsCompanionService calls
StatsService to update UID data and overflows kernel transfer buffer.

In this case, the IPC call silently fails. The issue was discovered in Android Automotive Embedded use case that employs multiuser setup. This causes more uid data being sent via one-way StatsCompanionService::informAllUidData call than usual and can trigger the issue. As the result, uid map on statsd side is empty and many metrics are not captured.

Bug: b/132444397
Fixes: b/132444397
Test: Did a clean build of master branch and flashed the device. adb
shell cmd stats print-uid-map returned without any result. Repeated the
steps after implementing the fix, print-uid-map returns the results now.

Change-Id: I1451c13b36696449c145c51618c68d10e29a596a
2019-05-23 20:53:58 +00:00
TreeHugger Robot
42fb4bb1e9 Merge "Statsd: Add watchdog rollback to experiment ids" into qt-dev 2019-05-23 19:25:43 +00:00
TreeHugger Robot
f087f06ed9 Merge "Document device ID access restriction target SDK behavior" into qt-dev 2019-05-23 18:35:44 +00:00
Sudheer Shanka
82f98334d6 Merge "Notify StorageManagerService when storage related app ops change." into qt-dev 2019-05-21 05:07:51 +00:00
Tej Singh
73f8e9b086 Statsd: Add watchdog rollback to experiment ids
Stores experiment ids to disk for watchdog rollback initiate/success
events as discussed.

Test: gts in topic
Bug: 131768455
Change-Id: I32768fe5c5c21c43811e25d8f87faae0c8d82c1f
2019-05-20 22:52:40 +00:00
Michael Wachenschwanz
d2111df37b Merge "Clear the Parcel before writing an exception during a transaction" into qt-dev 2019-05-20 22:23:12 +00:00
Sudheer Shanka
b1613982d0 Notify StorageManagerService when storage related app ops change.
StorageManagerService needs to trigger update of storage mountpoints
when an app gets storage access, so update AppOpsService to notify
StorageManagerService synchronously when storage related app ops change.

Also, when an app gets REQUEST_INSTALL_PACKAGES appop denied, kill the
app.

Bug: 132466536
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Change-Id: I130dde1bcffea6c96e5d8c173055737850af6151
2019-05-20 10:57:44 -07:00
Nicolas Geoffray
94b2981853 Merge "Workaround for USAP support in jitzygote." into qt-dev 2019-05-17 12:31:12 +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
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
Michael Wachenschwanz
06041db074 Clear the Parcel before writing an exception during a transaction
This prevents any object data from being accidentally overwritten by the
exception, which could cause unexpected malformed objects to be sent
across the transaction.

Test: atest CtsOsTestCases:ParcelTest#testExceptionOverwritesObject
Fixes: 34175893
Change-Id: Iaf80a0ad711762992b8ae60f76d861c97a403013
2019-05-15 23:10:02 -07:00
Ian Pedowitz
a326dfb1e5 Merge "Revert "Revert "Android Q is API 29""" into qt-dev 2019-05-15 16:28:54 +00:00
Jeff Sharkey
9637326ea8 Merge "Explicitly request clearing of external storage." into qt-dev 2019-05-15 01:29:08 +00: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
Ian Pedowitz
1912a57900 Revert "Revert "Android Q is API 29""
This reverts commit 60c71cee6e.

Reason for revert: Rolling forward for Q-Finalization

Bug: 131429032
Bug: 129975435
Change-Id: Idd812d93b767d8a672b9ada58c8bcc2441395847
2019-05-12 19:44:42 +00:00
Joe Onorato
cab1db11ee Fix another copy and paste of the copy and paste error.
Bug: 123955906
Test: bit GtsIncidentConfirmationTestCases:*
Change-Id: I251a0295fbd64e8abea2a42af9cc23fb2c39bc63
2019-05-10 10:29:27 -07:00
Michael Groover
b0401fb609 Document device ID access restriction target SDK behavior
Fixes: 132392748
Test: Build
Change-Id: I9aed95087eb97fe206501a464187347e139eb2c3
2019-05-09 19:36:57 -07:00
Yiwei Zhang
b137faed01 Merge "GpuStats: send a hint of activity launch to GraphicsEnvironment" into qt-dev 2019-05-09 23:45:47 +00:00
TreeHugger Robot
1fca828af3 Merge "Remove hasIsolatedStorage() related logic from PackageParser." into qt-dev 2019-05-09 20:44:26 +00:00
Sudheer Shanka
803c052816 Merge "Remove storage sandboxes related code." into qt-dev 2019-05-09 20:38:16 +00:00
Hai Zhang
e7e00bdaca Remove hasIsolatedStorage() related logic from PackageParser.
The ACCESS_MEDIA_LOCATION and WRITE_OBB permissions will always be
available.

Bug: 112545973
Fixes: 132226317
Test: presubmit
Change-Id: Ie61eba427b48f347438522bc11cfa748ad5ba1f1
2019-05-09 11:29:50 -07:00
Sudheer Shanka
64501e5126 Remove storage sandboxes related code.
Bug: 131115422
Test: manual
Test: atest --test-mapping packages/providers/MediaProvider
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Change-Id: Ib8a10d3a9097c1dc4132a71782d622e9e3c3747d
Merged-In: Ib8a10d3a9097c1dc4132a71782d622e9e3c3747d
2019-05-09 17:47:30 +00:00