Commit Graph

4121 Commits

Author SHA1 Message Date
Michael Wachenschwanz
9254322192 Merge "WTF Logging for catching memory issue in Parcel" into oc-dev 2017-05-11 01:26:11 +00:00
Michael Wachenschwanz
101e38cbec WTF Logging for catching memory issue in Parcel
Catch an exception sent from native code looking for a specific known
bug and report via wtf which code path is hitting the bug. Revert this
change once bug has been resolved.

Bug: 37298089
Test: manual

Change-Id: Ieb98a8a82a9a2cffe4d0cfbbc8333f453b3e36d5
Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
2017-05-10 15:38:30 -07:00
TreeHugger Robot
7080fa5282 Merge "Add BLE results counter to batterystats" into oc-dev 2017-05-09 16:03:27 +00:00
TreeHugger Robot
6b1989c7e2 Merge changes from topic 'wakelockTotalDuration' into oc-dev
* changes:
  Wakelock durations are 0 instead of -1 if unused
  Added actual (unpooled) partial wakelock times.
2017-05-08 18:34:42 +00:00
TreeHugger Robot
00487cf936 Merge "Also log the value of the IAEs thrown in VibrationEffect" into oc-dev 2017-05-08 14:49:27 +00:00
TreeHugger Robot
718688f39b Merge "android.os.VintfObject: add API for EDI." into oc-dev 2017-05-05 21:47:47 +00:00
Yifan Hong
687113a082 android.os.VintfObject: add API for EDI.
Add APIs for EDI (extensive device information).

Test: CtsDeviceInfo
Bug: 28656227
Change-Id: I609d4f1f07e20717827ef024ff8cbe124d7e54a6
2017-05-04 14:11:22 -07:00
Ian Pedowitz
b42b9a22df Merge "Revert "O is API 26"" into oc-dev 2017-05-04 00:07:10 +00:00
Ian Pedowitz
12025857cd Revert "O is API 26"
This reverts commit 9bcef8e2da.

Reason for revert:  b/37355569

Bug: 37480230
Bug: 37355569
Change-Id: I39b4a7fd9bda77df0746c7bc32b87f0c2b722f2b
2017-05-03 22:00:56 +00:00
Yifan Hong
75ffd667a9 Add compatibility matrices to VintfObject.report()
Test: FrameworksCoreTests
Bug: 36814503
Change-Id: I27eaea136437afb2102581d410b657e810612a0a
2017-05-03 10:53:53 -07:00
Michael Wright
0ef6edd0a5 Also log the value of the IAEs thrown in VibrationEffect
Bug: 36827833
Test: manual
Change-Id: I64b85e746bd046a2718b690cc21c897950e34050
2017-05-03 15:05:46 +01:00
TreeHugger Robot
251894b134 Merge "Fix lock contention: Call into power manager service from handler" into oc-dev 2017-05-03 13:16:32 +00:00
Jorim Jaggi
86c39f9ede Fix lock contention: Call into power manager service from handler
Make sure to not hold the wm lock when calling into power manager
service, because PWM will acquire a lock that might be contended.

Test: Make sure user activity timeout is still respected on
Keyguard
Test: Have activity with screenBrightness=1.0, make sure screen
is fully bright when opened

Bug: 37888898
Bug: 36631902
Change-Id: I4b5433dbaf8aa151465ae32232d3b3b8597715df
2017-05-03 13:22:47 +02:00
Bookatz
941d98feba Wakelock durations are 0 instead of -1 if unused
Previously, wakelock max/current/total durations were initialized to -1,
instead of 0. So if, e.g., an app held a full wakelock but not a partial
wakelock, then the partial wakelock would return -1 for these data. This
cl changes that to be 0. The value will only be -1 if the data is not
tracked (as is currently the case for full and window wakelocks), in
which case if the wakelock was held, -1 will be given to signify the
lack of tracking.

Test: manually confirm 0 instead of -1 in batterystats dump.
Change-Id: I934022294ba5adafb2e4d9a5be1dc20aab045cb0
2017-05-02 19:25:18 -07:00
Michael Wright
9bcef8e2da O is API 26
Bug: 37480230
Test: build, boot
Change-Id: Idfa91e1e094606f92c4141beb8569c241c639ee1
2017-05-02 19:23:12 +01:00
Bookatz
506a8183fd Added actual (unpooled) partial wakelock times.
Previously, partial wakelock times reported the blame apportioned to the
app (i.e. the times were pooled). This CL adds another field to provide
the actual time the partial wakelock was held (unpooled, irrespective of
other app's wakelock usage). Full and window wakelocks also now have the
equivalent field, but it always returns -1 (like their max and current
durations), since none of those are currently tracked. Kernel wakelocks
are unchanged.

Test: cts-tradefed run cts-dev -m CtsDumpsysHostTestCases -t android.dumpsys.cts.BatteryStatsDumpsysTest
Bug: 18998184
Change-Id: Ic4cc8c3abba9afa60902d0c8e17e11abeef52a96
2017-05-02 11:16:55 -07:00
Yifan Hong
9f95b592f8 Add android.os.VintfRuntimeInfo
This is the Java API for ::android::vintf::RuntimeInfo.
This will be used by CTS for device info report purposes.

Bug: 28656227
Test: cts-tradefed run cts -m CtsEdiHostTestCases --skip-preconditions
Change-Id: Id87c95a17e77d7ec1794a6f850de97edf9ae892d
2017-05-01 13:00:04 -07:00
Jeff Sharkey
3ba7117164 Merge "Updates based on API council guidance." into oc-dev 2017-05-01 18:36:25 +00:00
Salvador Martinez
4d09adcef1 Merge "Added dialog to notify user of thermal shutdown" into oc-dev 2017-05-01 16:45:30 +00:00
Jeff Sharkey
000ce80505 Updates based on API council guidance.
Test: builds, boots
Change-Id: I223faf55c1e1b4d81d11b4c8b2d93ccd131c969b
Fixes: 37775662
Fixes: 37748635
Fixes: 37673408
Fixes: 37672564
Fixes: 37672218
Fixes: 37638323
Fixes: 37637423
2017-04-29 13:14:17 -06:00
Bookatz
956f36bfe2 Add BLE results counter to batterystats
Batterystats provides an API to count the number of BLE scan results.

Bug: 37720787
Test: runtest -x frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java
Change-Id: Idcb7494b39e88dcbfbb3da1ebe90b8a2f8f4d55c
2017-04-28 11:03:38 -07:00
Jeff Sharkey
4315c1e3d5 Merge "@hide non-Handler variant of SM.openProxyFileDescriptor" into oc-dev 2017-04-28 17:10:26 +00:00
TreeHugger Robot
77cc43e0d2 Merge "Respond to API council feedback." into oc-dev 2017-04-28 17:10:16 +00:00
Daichi Hirono
2443a091b1 @hide non-Handler variant of SM.openProxyFileDescriptor
Bug: 37749462
Test: Build succeeded
Change-Id: I2e3d0cf9e219353eae4dae384c93d99b9ef60ea9
2017-04-28 14:58:27 +09:00
Jeff Sharkey
a4d34d971c Respond to API council feedback.
Move aggressive allocation to @SystemApi, which means we can hide
the "flags" API variants.

Remove UUID APIs, since we should use existing Serializable APIs.

Relax permission checks to allow apps to ask for their own stats.

Improve docs.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37534687, 37534941, 37718184, 37738770
Change-Id: I6a763fb3ab3169c8d3329765bb31e1ee08d9ced7
2017-04-27 11:33:39 -06:00
Pavel Grafov
4f4f6f83c2 Introduce DISALLOW_BLUETOOTH_SHARING.
When this restriction is enforced Bluetooth sharing option should not be
present when the user tries to share something. Previously this was handled
by explicitly disabling bluetooth sharing activity during managed
provisioning, now this code is to be removed (see topic CLs) and the same
behavior should be achieved by setting this restriction for profile owners
by default.

In Bluetooth:
1) Don't check restrictions on boot, it is invoked anyway through the
  listener during boot.
2) Ignore when the restriction is "changed" from true to true - i think
  it was the initial intent in that condition.
3) Disable the component for a particular user and not always the
  system user. This is something that has to be fixed in O I think since
  currently in secondary user the bluetooth itself gets disabled but the
  sharing thing still shows up.

In DPMS:
1) Now ActiveAdmin for PO also contains a set of restrictions applied by
  default.
2) Now all ActiveAdmins for POs are loaded quite early. That shouldn't
  have huge impact though.

Bug: 36249732
Test: run cts -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testBluetoothSharingRestriction
Test: run cts -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testBluetoothRestriction
Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceMigrationTest.java
Change-Id: I78c4ffbd503c4a10138e8c0862a9f206f24c5631
Merged-in: I78c4ffbd503c4a10138e8c0862a9f206f24c5631
(cherry picked from commit 7f4ad75218)
2017-04-27 18:06:07 +01:00
Salvador Martinez
a6f7b25c3d Added dialog to notify user of thermal shutdown
tldr; Have the phone check when it reboots if it last shut
down due to heat. If so, we should show the user an
notification and dialog giving them more details.

- Added hidden api to allow apps to query system_server
for the reason the phone last rebooted
- Added notification that is shown when the phone is
booted if the last shutdown was due to excessive
heat.
- Added dialog to provide more details about the
shutdown if the notification is tapped.
- Added tests to verify that file is read and
as expected.
- Updated code for high temperature warning that
is shown while the phone is running to avoid
mixups in the future.

Test: FrameworksServiceTests
Bug: 30994946
Change-Id: Ic25f42539911c89ba7f1834e206f7931d65c2865
2017-04-27 09:52:45 -07:00
Jeff Sharkey
0f3f60b576 Fix some issues found by new doclava linter.
Add missing API annotations for permissions and SdkConstants, and
invoke doclava with new "-android" flag.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I970bb2655eb568fd25004636f134c794663a6c33
2017-04-25 13:12:45 -06:00
Jeff Sharkey
30e06bb668 Even more auto-doc work.
Update docs based on what new lint detector found.  Add new @IntDef
to parameters or methods returning constants or flags, and add
@RequiresPermission to methods mentioning permissions.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I7f640f7883fcb66b911a52ae93b83f77306571ec
2017-04-24 13:20:46 -06:00
Jeff Sharkey
910e081216 More auto-doc work.
Add support for AnyThread, CallSuper, and UiThread.

Another related CL started documenting @RequiresPermission, so remove
duplicated information in existing APIs.

Suppress auto-doc on a handful of classes that are already
well-documented.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I791437dccec0f11d5349a23b982ba098cb551af8
2017-04-21 16:35:08 -06:00
Jeff Sharkey
4b32f7c676 Merge "Fix code accounting bugs, track external app data." into oc-dev 2017-04-21 20:01:43 +00:00
Pavel Grafov
ce3e1a3c5f Fix javadoc for some user restrictions.
DISALLOW_UNMUTE_MICROPHONE and DISALLOW_ADJUST_VOLUME can
be set by POs on secondary users as well. But they have no
effect on managed profiles.

(In the bug I erroneously mentionted DISALLOW_UNMUTE_DEVICE
which is @hidden instead of *_MICROPHONE).

Bug: 36024135
Test: IntelliJ quickdoc popup renders correctly.
Change-Id: I7a0e77ac993846cdc3a4ddf4d457e1282872107f
2017-04-21 14:48:21 +01:00
Abodunrinwa Toki
06a53d4729 Merge changes from topics 'smartselectconfig', 'langidconfig' into oc-dev
* changes:
  SmartSelection Config installer.
  LangId Config installer.
2017-04-20 13:30:35 +00:00
Jocelyn Dang
b2aa0ceb0d Merge "Add min and max learned battery capacity to batterystats." into oc-dev 2017-04-20 04:34:14 +00:00
Jocelyn Dang
c627d10650 Add min and max learned battery capacity to batterystats.
BUG: 32645990
Test: manual

Change-Id: I3da569e48571cb86c640aed732abdf6c46a2bc73
2017-04-19 16:19:32 -07:00
Martijn Coenen
932b504865 Validate incoming data properly.
Make sure calls to readBuffer() and readEmbeddedBuffer()
get the correct size, parent and offset passed in, so
these can be validated by libhwbinder.

Modified HwBlob to take a length argument as well,
so it can be validated.

Bug: 30498700
Test: hidl_test, hidl_test_java, Youtube, Maps, Netflix, Camera
Change-Id: I28712db97ae29b46acfe952d3d92d1ce5f666a4d
2017-04-19 15:14:20 -07:00
Abodunrinwa Toki
bb957d12ba SmartSelection Config installer.
Test: none
Bug: 34780396
Change-Id: I9cb04e7b20b565ac5d128475a90bd065c805e95e
2017-04-19 21:39:41 +01:00
Abodunrinwa Toki
51c4203ab4 LangId Config installer.
Test: none
Bug: 34780396
Change-Id: I6cdd608ea9a41041d03640997c076c6e6fea0129
2017-04-19 21:35:07 +01:00
TreeHugger Robot
3a427c3bd9 Merge "Flesh out more API docs." into oc-dev 2017-04-19 20:31:05 +00:00
Jeff Sharkey
60a82cd4c2 Flesh out more API docs.
Flesh out docs for Context.getCacheDir(), Intent.addFlags(),
Intent.removeFlags(), and PackageManager.setApplicationCategoryHint().

Test: builds, boots
Bug: 37470473, 37327774, 35812899
Change-Id: Ided031185258a89c3e275d65c162d537065ad49e
2017-04-19 11:51:21 -06:00
Tao Bao
a532f4d7f8 Merge "RecoverySystem: Enable the package compatibility verification." into oc-dev 2017-04-19 16:30:28 +00:00
Tao Bao
e3872a4fc9 Merge "RecoverySystem: Verify the package compatibility." into oc-dev 2017-04-19 15:54:24 +00:00
Jeff Sharkey
0034788844 Fix code accounting bugs, track external app data.
When counting code size, don't include APKs baked into the system.

Settings already accounts external storage used by apps, so they
need a way to exclude that from the total space used by external
storage; give them new getAppSize() API.

Refine docs to explain that emulated storage might be included in
measured statistics.

Resolve symlinks as part of matching getUuidForPath().

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 35812899, 35844919, 37193650
Change-Id: Iec3ce8b336b71dc98a7d25fdd30fa78e9ee826dc
2017-04-18 21:00:13 -06:00
Tao Bao
87daeb15fd RecoverySystem: Enable the package compatibility verification.
Hook up to android.os.VintfObject.verify().

Bug: 36592877
Test: Flash on marlin; verify with package that has and doesn't have
      compatibility.zip entry.
Change-Id: I4e73fa42f4e3fd2e1c5ffec2ffa6152538d62eee
2017-04-18 15:54:28 -07:00
Tao Bao
e01b520dd4 RecoverySystem: Verify the package compatibility.
This CL extends the existing API RecoverySystem.verifyPackage() to
verify the compatibility entry in an OTA package. It returns true
directly if such an entry doesn't exist. Otherwise it reads and passes
the contents to VintfObject to perform the verification.

This CL also adds a new system API
RecoverySystem.verifyPackageCompatibility() to verify a given
compatibility zip file. It extracts all the entries and passes them to
VintfObject.verify() to verify the package compatibility. This API is
for streaming A/B OTAs only, where we don't download the full package
but only needed entries.

Bug: 36592877
Bug: 36596980
Test: RecoverySystem.verifyPackage() returns the same result for
      packages w/o a compatibility entry.
Change-Id: I038be672868a91820c045d1da100e8e33b23d442
2017-04-17 13:51:02 -07:00
Jeff Sharkey
789a8fc792 Storage API polishing.
Based on API council feedback, switch to using real UUID objects
instead of Strings.  Since UUID is a general-purpose utility class
that will be passed around quite a bit, add it to Parcel and Bundle.

Define well-known namespaced UUID values for "default" and "primary
physical" storage devices, which will let us annotate a bunch of
things with @NonNull.

Define new extras for MANAGE_STORAGE intent that apps can use to
signal where and how much space they'd like the user to free up.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
2017-04-17 12:19:50 -06:00
Eugene Susla
cf00adebec API for notification listener for Companioon apps
Test: 1. Trigger the confitrmation dialog.
Ensure it looks exactly like the one from settings.
2. Call an API without associating the appa first
Ensure exception is thrown with a message mentioning the need to associate 1st
Change-Id: I94d4116e1988db869ed445ae3fd018c50590e3f4
2017-04-14 19:01:53 -07:00
Andrew Scull
e52a1bfede Merge "Service for OEM lock management." into oc-dev 2017-04-14 11:31:06 +00:00
TreeHugger Robot
c223d70e64 Merge "Add Java API for libvintf." into oc-dev 2017-04-14 02:02:08 +00:00
Yifan Hong
becc56d7ea Add Java API for libvintf.
android.os.VintfObject has two methods:

- report: return device info that can be reported to OTA server
- verify: verify that metadata for a given OTA package is
          compatible.

Test: pass
Test: adb shell am instrument -w -e class android.os.VintfObjectTest \
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner

Bug: 36814503

Change-Id: Iff8fae289eec8ae9cfc327d0d0d36a1cdd5e6800
2017-04-13 18:04:05 -07:00