Commit Graph

4185 Commits

Author SHA1 Message Date
Android Build Merger (Role)
2ca66d4d10 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618
Change-Id: I780fc62bcad56b4f1518a9a84ff7a77914f5c722
2019-06-05 17:32:04 +00:00
Android Build Merger (Role)
31737b4618 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df
Change-Id: Ia92e1831963623df7931de17b029a92bab7f9374
2019-06-05 17:32:01 +00:00
Android Build Merger (Role)
6d72c0681f [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251
Change-Id: I16e96c2b33f18459189bfff359ae85483667a202
2019-06-05 17:31:54 +00:00
Android Build Merger (Role)
86c9bdd251 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21
Change-Id: I416ed302e6c680fd006bd9b38565ebfc8b132084
2019-06-05 17:31:48 +00:00
Michael Wachenschwanz
f8ef5bcf21 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
Bug: 34175893
Change-Id: Iaf80a0ad711762992b8ae60f76d861c97a403013
Merged-In: Iaf80a0ad711762992b8ae60f76d861c97a403013
2019-06-05 17:31:43 +00:00
Varun Shah
ad02e59ac2 RESTRICT AUTOMERGE: Added an app id security check in isAppForeground.
ActivityManagerService#isAppForeground now checks if the caller has the
permission to view if an app is in the foreground.

Bug: 115384617
Test: cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.ActivityManagerTest#testIsAppInForegroundNormal
Test: cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.ActivityManagerTest#testIsAppInForegroundMalicious
Change-Id: I9602c89b2d40036e525c38960a08326dc74c6682
2018-11-07 23:37:18 +00:00
Android Build Merger (Role)
7cf42221c6 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf am: 628cbe5c53 am: 433e4173ec am: 686897ddd9
Change-Id: I07c1d68a0c5d8da6ec81c717dff97d33dba86a16
2018-08-30 20:46:20 +00:00
Android Build Merger (Role)
686897ddd9 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf am: 628cbe5c53 am: 433e4173ec
Change-Id: I8375f1c1a860f5021efc5873e94b452a44d6c145
2018-08-30 20:46:12 +00:00
Android Build Merger (Role)
628cbe5c53 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf
Change-Id: Idaab5395d9e0970fe57b017bcba10f8757ffe3c7
2018-08-30 20:45:59 +00:00
Android Build Merger (Role)
d6947f1cbf [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3
Change-Id: Idb2572b46c48fe2f3e4b99c5cb4372dcfe6b20ce
2018-08-30 20:45:51 +00:00
Michael Wachenschwanz
057a01d1f3 Verify number of Map entries written to Parcel
Make sure the number of entries written by Parcel#writeMapInternal
matches the size written. If a mismatch were allowed, an exploitable
scenario could occur where the data read from the Parcel would not
match the data written.

Fixes: 112859604
Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest

Change-Id: I325d08a8b66b6e80fe76501359c41b6656848607
Merged-In: I325d08a8b66b6e80fe76501359c41b6656848607
2018-08-30 13:40:44 -07:00
akirilov
e5776af814 RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to oc-dev)
Test: added AccessibilityEndToEndTest#testPackageNameCannotBeFaked
      cts-tradefed run cts -m CtsAccessibilityServiceTestCases
      cts-tradefed run cts -m CtsAccessibilityTestCases

Bug: 69981755
Change-Id: I187e3e9839f654cea9e06e5de93e10e4d1de3109
Merged-In: If3752e106aa7fdee4645dc9852289af471ceff18
2018-04-10 17:55:55 +00:00
Android Build Merger (Role)
bae1ea6478 [automerger] RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to nyc-dev) am: 33c37cb37c am: 93d9547b61 am: 5ddeef7116 am: 1890afd456
Change-Id: I1d6b280c14a7a6166221ea0d1448de7bc7feb18c
2018-04-09 22:24:28 +00:00
Android Build Merger (Role)
5ddeef7116 [automerger] RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to nyc-dev) am: 33c37cb37c am: 93d9547b61
Change-Id: If515d9ec229e37bdc1368a96ae1f1b474dd50ebe
2018-04-09 22:24:16 +00:00
Android Build Merger (Role)
93d9547b61 [automerger] RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to nyc-dev) am: 33c37cb37c
Change-Id: I793b787b6275262f1df6caa9262054e15c94840f
2018-04-09 22:24:08 +00:00
akirilov
33c37cb37c RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to nyc-dev)
Test: added AccessibilityEndToEndTest#testPackageNameCannotBeFaked
      cts-tradefed run cts -m CtsAccessibilityServiceTestCases
      cts-tradefed run cts -m CtsAccessibilityTestCases

Bug: 69981755
Change-Id: I187e3e9839f654cea9e06e5de93e10e4d1de3109
2018-04-09 22:24:05 +00:00
Fyodor Kupolov
4921986db7 Use concrete CREATOR instance for parceling lists
Replaced readTypedArrayList/writeTypedArrayList with
writeTypedList/createTypedArrayList(CREATOR)

Bug: 71508348
Test: CtsAutoFillServiceTestCases pass
Merged-In: I2a8321023b40cc74b7026eb0fb32a9cc5f5543a9
Change-Id: Id17d02e40a4ae567bf2d74d2ea8ba4d8a943bdb7
2018-03-16 23:37:13 +00:00
Jeff Sharkey
8e151bf899 Only construct real Throwable objects.
Without this test, someone could trick us into constructing other
shady classes.

Test: builds, boots
Bug: 65281159
Change-Id: If678d0681708d1b0dcf056aa1133830ad3dbce31
2017-09-20 23:39:20 +00:00
Benjamin Miller
05fef7ed69 Docs: Note that DISALLOW_CONFIG_VPN stops VPNs from starting
VPNs don't start except a DPC's configured always-on VPN. Clarified version behaviors.
Staged at: go/dac-stage/reference/android/os/UserManager.html#DISALLOW_CONFIG_VPN

Test: make ds-docs and output staged UserManager page
Bug: 63582789
Change-Id: I83c0c6cc580b9d1d224a94e073f559f23cf4d672
(cherry picked from commit 1f83e4d498)
2017-07-28 09:56:24 +00:00
Benjamin Miller
d41a9fc60b Docs-change: how UserManager.ENSURE_VERIFY_APPS affects profiles.
Noted affected users for versions prior to Android O.
Staged at: go/dac-stage/reference/android/os/UserManager.html#ENSURE_VERIFY_APPS

Test: make ds-docs and output staged
Bug: 38024373
Change-Id: Ida80c2134bdd4013c7adabee778e8296039747a2
2017-07-17 18:33:01 +02: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
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
Jeff Sharkey
b31afd2273 Improve developer docs for storage APIs.
No code changes; only docs.

Test: builds
Bug: 38508833, 37987197, 37978296
Change-Id: Idfeb680480b2f818d18f787cbf20ceab896763a2
2017-06-12 20:19:53 +00:00
Lei Yu
883db32859 Merge changes from topic 'battery_smear_move' into oc-dev
* changes:
  Batterystats logs smeared power model values
  Copy smearing method to BatteryStatsHelper
2017-06-09 20:50:47 +00:00
Bookatz
17d7d9dcdf Batterystats logs smeared power model values
Fixes: 62302932
Test: cts-tradefed run cts-dev -m CtsDumpsysHostTestCases -t android.dumpsys.cts.BatteryStatsDumpsysTest
Change-Id: I8942aa9bc557fada4cf0be76aee6bd0bcee9ebb6
2017-06-08 23:29:13 +00:00
Adam Bookatz
6029bce3b4 Merge "Avoid background getTotalTimeLocked misreporting" into oc-dev 2017-06-08 02:43:20 +00:00
Bookatz
6d79993cb3 Avoid background getTotalTimeLocked misreporting
It has been discovered that for background values of
AggregatedWakelock, Sync, Job, and partial wakelocks,
the value of getTotalTimeLocked is wrong and often very
negative. getTotalDurationMsLocked, which should provide the exact same
value in all of these cases (since background data is never pooled),
does not have this problem. So while the source of the bug is sought
out, we should use getTotalDurationMsLocked instead of getTotalTimeLocked for
these data.

Bug: 62352334
Test: cts-tradefed run cts-dev -m CtsDumpsysHostTestCases -t android.dumpsys.cts.BatteryStatsDumpsysTest
Change-Id: I78e84368615578483ab8e9e5f0ee1d067491be08
2017-06-07 13:29:41 -07:00
Jeff Sharkey
2063e4f6ba Remove old FUSE bypass now that we have sdcardfs.
This forces everyone to go through sdcardfs, instead of letting them
around the back door.

Test: builds, boots
Bug: 38231314, 27992761
Change-Id: I97b24d25599c7f86f9b535689e2f4ecf68261dac
2017-06-06 16:03:26 -06:00
Jeff Sharkey
bfc4fcde9f Give Doclava our manifest; more permission docs.
We've seen some @SystemApi methods protected with non-system
permissions, so give Doclava the platform AndroidManifest.xml so it
can parse the actual permission protection levels to look for APIs
that are letting in non-system apps.

Also document more @SystemApi permissions.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api
Bug: 62263906
Change-Id: Ie0f0a5fb0033817bcc95060f2183a52ae4ae7b06
2017-06-05 17:38:19 -06:00
Jeff Sharkey
d86b8fea43 Annotate @SystemApi with required permissions.
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.

Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
2017-06-05 13:27:11 -06:00
Joe Onorato
1dfd194f7d Merge "Track Partial wakelock time in background" into oc-dev 2017-05-31 19:26:59 +00:00
Joe Onorato
fe06de1fc2 Merge "Batterystats track background bad ble scan time" into oc-dev 2017-05-31 19:26:59 +00:00
Jeff Sharkey
ddff807b76 Consistent "low storage" behavior.
When answering the question "how much space is free", use the same
logic for Settings UI and StorageManager.getAllocatableBytes().  That
is, the reported free space is usable bytes plus any cached data the
system is willing to delete automatically.

This does *not* include any reserved cache space, since we don't want
abusive apps to penalize other well-behaved apps that are storing
their data in cache locations.  Callers freeing cached data need to
now explicitly request defiance of the reserved cache space.  (Most
callers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.)

Rewrite the core logic of DeviceStorageMonitorService to understand
this new "reserved" cache space, and to be easier to understand.  It
also now handles cached data on adopted storage volumes, which had
been ignored until now.  Also fix bug where we had skipped "low"
broadcasts when the device skipped directly from/to "full" state.

Bug: 38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9
2017-05-30 22:17:23 -06:00
Bookatz
b1f04f372c Batterystats track background bad ble scan time
Allows tracking ble scan time (total and background) for unoptimized
scans. Whether the scan is unoptimized is provided by the bluetooth
code when calling batterystats.

Bug: 38461344
Test: runtest -x frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java
Test: run cts-dev -m CtsIncidentHostTestCases -t com.android.server.cts.BatteryStatsValidationTest#testUnoptimizedBleScans
Test: cts-tradefed run cts-dev -m CtsDumpsysHostTestCases -t android.dumpsys.cts.BatteryStatsDumpsysTest

Change-Id: I814482ff663424170eac4b413464d24c14a5cf91
2017-05-26 15:41:03 -07:00
Bookatz
5b5ec326ad Track Partial wakelock time in background
Changed partial wakelock time to be a DualTimer so that it can also
track the time spent while app was in background.

Bug: 62134255
Test: cts-tradefed run cts-dev -m CtsDumpsysHostTestCases -t android.dumpsys.cts.BatteryStatsDumpsysTest
Change-Id: I85cca468ac126ee83a3600800bcfa75c9fc3012f
2017-05-26 11:25:06 -07:00
TreeHugger Robot
58f6f428fc Merge "SelectionActionModeHelper should use target view's thread" into oc-dev 2017-05-26 00:45:42 +00:00
Jeff Sharkey
a6b7e0a679 Merge "Offer listener to observe StrictMode violations." into oc-dev 2017-05-25 23:07:09 +00:00
Makoto Onuki
1488a3a19d SelectionActionModeHelper should use target view's thread
Use the looper from the TextView's thread for the helper

Bug 62043115
Test: Manual, type on edit field and select text

Change-Id: I501430a500016a81963a9f9fa636474b708b9b36
2017-05-25 15:33:10 -07:00
Dmitri Plotnikov
690c6bd9a3 Triggering quiescent reboot during OTA
Bug: 34201965
Test: follow instructions in https://docs.google.com/document/d/1RjvUGRi_Ys5-BRoJz6_SnixuipFiF-GAs6CNc7w-Qj0/edit and use fake-ota
Change-Id: I540f86cf11746faefc25bc74319512eba6d0d783
2017-05-25 03:03:41 +00:00
Michael Schwartz
4e962321ad Merge "Check VintfObject compatibility on boot" into oc-dev 2017-05-24 21:34:11 +00:00
Jeff Sharkey
c985ffd5e9 Offer listener to observe StrictMode violations.
Primarily used by tests to be more robust, since reading raw logcat
data recently became very flaky.

Bug: 37915178
Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.StrictModeTest
Change-Id: I3f12508bb6206c53005356b5d8d9ba57aac2436e
2017-05-24 14:51:48 -06:00
Michael Schwartz
1851118aa4 Check VintfObject compatibility on boot
Bug: 36814984
Test: Build, flash boot sailfish and shared system image.
Change-Id: Ibd6694079d9e2641a7b77d774a2df085e9a8545a
2017-05-24 12:22:33 -07:00
Michael Wachenschwanz
61e2b15866 Merge "DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"" into oc-dev 2017-05-19 18:27:15 +00:00
Adam Bookatz
1effe000b8 Merge "Cumulative wakelock time per uid" into oc-dev 2017-05-19 18:24:44 +00:00
Michael Wachenschwanz
138bebf4c1 DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"
This reverts commit 101e38cbec.

Bug: 37298089
Change-Id: Ia468d50fd1e4ca2ffa6145967bf3c847ed1929b8
2017-05-18 22:09:18 +00:00
Michael Wachenschwanz
a61f09f657 Merge "Purge Nonexistent User Jobs on Boot" into oc-dev 2017-05-17 18:58:12 +00:00
TreeHugger Robot
487231e79c Merge "Add more JSDoc about ErrnoException" into oc-dev 2017-05-17 02:17:01 +00:00
Michael Wachenschwanz
3f2b6552ec Purge Nonexistent User Jobs on Boot
In the case that a user has been removed but their jobs still exist on
disk, the JobSchedulerService will remove all jobs not associated with
current users on boot.
Exposed UserManagerService#getUserIds() via UserManagerInternal for
quick user id retrieval.

Fixes: 38261977
Test: manual

Change-Id: Id4b3c0a4142b4818fcd875eef18ea03f3c45ca40
Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
2017-05-16 17:41:36 -07:00
TreeHugger Robot
146e8f415f Merge "Specify behavior around DocumentsProvider#openDocument()." into oc-dev 2017-05-16 22:34:41 +00:00
Bookatz
c8c44960c0 Cumulative wakelock time per uid
Currently, the time for each partial wakelock was tracked. If one
wants the total time that a uid held partial wakelocks (over all of its
wakelocks), they could sum over all the uid's partial wakelock
totalTimes, but this would underestimate the value because totalTimes
are pooled amongst all uids. Alternatively, they could sum over all the
uid's partial wakelock totalDurations, but this would overestimate the
value because totalDurations are not pooled within the uid (so there
will be double-counting if two wakelocks are held simultaneously). This
cl adds a new timer that specifically tracks the actual total time that
the uid spent holding wakelocks, and also provides the ability to see
how much time the uid was in the background when doing so.

Bug: 38198272
Test: runtest -x frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java

Change-Id: I20ea3546338c44ffdf06859bc840d9059fb18321
2017-05-16 14:01:28 -07:00