Commit Graph

4547 Commits

Author SHA1 Message Date
Michael Wright
b32153e3d2 Merge "Don't always fallback to clockTick for EFFECT_TICK." into oc-mr1-dev
am: b60141b23c

Change-Id: Ifc2015508739226259f16672f2176623397fe5ab
2017-08-31 21:51:54 +00:00
Andreas Gampe
38849ccf26 Merge changes I49057737,I68e3096d am: 50cf621704 am: f5dcc28b0c
am: 30348a8abb

Change-Id: I9755772ab8c8d4c3708ee2a65cda0b0d3f39d30e
2017-08-31 15:35:58 +00:00
Andreas Gampe
f5dcc28b0c Merge changes I49057737,I68e3096d
am: 50cf621704

Change-Id: Id66d91bc326461dc3cae4cbae03f3d060761ea7f
2017-08-31 15:15:31 +00:00
Andreas Gampe
a90534b551 Frameworks: Clean up SystemProperties
Clean up SystemProperties.java. Add annotations.

Clean up SystemProperties.cpp. Refactor for proper C++11.
Make sure C-string key construction is properly reused. Use
android::base functionality for actual reading.

Fix the test script to refer to the right location. Add some
test coverage.

(cherry picked from commit 2e6b9cb563)

Test: m
Test: frameworks/base/core/tests/systemproperties/run_core_systemproperties_test.sh --rebuild
Merged-In: I490577370da985f600fb1117e3c818d3f68bad5f
Change-Id: I490577370da985f600fb1117e3c818d3f68bad5f
2017-08-30 18:37:48 -07:00
Andreas Gampe
33aea8d40e Frameworks: Add warning to SystemProperties.get
Add a warning that calling get() is unsafe when the system property
may not contain a valid UTF-encoded string.

(cherry picked from commit 6bf1cff1dd)

Bug: 63177684
Test: m
Merged-In: I68e3096d770a32fe204be5c130a3ada9d3db7c0b
Change-Id: I68e3096d770a32fe204be5c130a3ada9d3db7c0b
2017-08-30 18:37:48 -07:00
Michael Wright
dc2b3be240 Don't always fallback to clockTick for EFFECT_TICK.
Some things really need to be tuned in order to not annoy users, and
should otherwise be turned off. Let an effect state whether it should
fallback to a generic effect or should just be silent if there's no
hardware specific version of it.

Fixes: 65219268
Test: manual
Change-Id: I38fcbd6d80803cdf8f4ec04e8e1ac363b8d6361b
2017-08-30 16:36:21 -07:00
Michael Wright
800af77f9c Merge "O MR1 is API 27" into oc-mr1-dev
am: d489d122f4

Change-Id: I7e4e4a710ce874502b1e749a9892e46619a988df
2017-08-26 02:41:46 +00:00
Michael Wright
eec01ac5a3 O MR1 is API 27
Bug: 64982450
Test: manual
Change-Id: I4be170f9f1021899db3ef0bce3eaeada21f8b475
2017-08-23 13:49:14 -07:00
Lorenzo Colitti
b9fc12d1d2 Merge changes I325b13d5,I89719fe7 am: 23868e9c09 am: 9335d2d0b1
am: 4fa0187015

Change-Id: Ib980879b0e50ffe1c8209339df22da4a50d5b74e
2017-08-19 03:38:10 +00:00
Lorenzo Colitti
4fa0187015 Merge changes I325b13d5,I89719fe7 am: 23868e9c09
am: 9335d2d0b1

Change-Id: Iac0d1a08c45816f32b0f8ab81a079883a9965e21
2017-08-19 03:25:21 +00:00
Lorenzo Colitti
9335d2d0b1 Merge changes I325b13d5,I89719fe7
am: 23868e9c09

Change-Id: Iaced543ab17ea87c8f701975764d957bc1b17fc7
2017-08-19 03:15:08 +00:00
Lorenzo Colitti
f1912ca49a Add tether offload traffic to interface stats as well.
Currently, we only count add tethering traffic to per-UID
stats, but not to total data usage (i.e., dev and XT stats). This
is correct for software tethering, because all software forwarded
packets are already included in interface counters, but it is
incorrect for hardware offload, because such packets do not
increment interface counters.

To fix this:
1. Add an argument to ITetheringStatsProvider#getTetherStats to
   indicate whether per-UID stats are requested. For clarity,
   define integer constants STATS_PER_IFACE and STATS_PER_UID
   to represent these operations.
2. Make NetdTetheringStatsProvider return stats only if per-UID
   stats are requested. (Otherwise tethering traffic would be
   double-counted).
3. Make OffloadController's stats provider return the same
   stats regardless of whether per-UID stats were requested or
   not.
4. Make NetworkStatsService add non-per-UID tethering stats to
   the dev and XT snapshots. The per-UID snapshots were already
   correctly adding in per-UID stats.

(cherry picked from commit 5356a35c3b)

Bug: 29337859
Bug: 32163131
Test: runtest frameworks-net
Test: runtest frameworks-telephony
Change-Id: I325b13d50e88841dfb0db4c35e7e27f163ee72fe
Merged-In: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee
2017-08-19 10:12:05 +09:00
Lorenzo Colitti
1af850fdfe Merge "Add tether offload traffic to interface stats as well." into oc-mr1-dev
am: 21bc3a39a4

Change-Id: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee
2017-08-19 01:02:33 +00:00
Lorenzo Colitti
5356a35c3b Add tether offload traffic to interface stats as well.
Currently, we only count add tethering traffic to per-UID
stats, but not to total data usage (i.e., dev and XT stats). This
is correct for software tethering, because all software forwarded
packets are already included in interface counters, but it is
incorrect for hardware offload, because such packets do not
increment interface counters.

To fix this:
1. Add an argument to ITetheringStatsProvider#getTetherStats to
   indicate whether per-UID stats are requested. For clarity,
   define integer constants STATS_PER_IFACE and STATS_PER_UID
   to represent these operations.
2. Make NetdTetheringStatsProvider return stats only if per-UID
   stats are requested. (Otherwise tethering traffic would be
   double-counted).
3. Make OffloadController's stats provider return the same
   stats regardless of whether per-UID stats were requested or
   not.
4. Make NetworkStatsService add non-per-UID tethering stats to
   the dev and XT snapshots. The per-UID snapshots were already
   correctly adding in per-UID stats.

Bug: 29337859
Bug: 32163131
Test: runtest frameworks-net
Test: runtest frameworks-telephony
Change-Id: I7a4d04ab47694d754874136179f8edad71099638
2017-08-19 00:21:56 +09:00
Lorenzo Colitti
9f0baa94ca Tell the system when tethering offload hits a limit.
Add a new tetherLimitReached method to INetworkManagementService,
and call it when the HAL notifies OffloadController because the
limit has been reached.

Bug: 29337859
Bug: 32163131
Test: builds
Test: OffloadControllerTest passes

(cherry picked from commit d66cf56ba6)

Change-Id: I89719fe7ec8bfd3c85d6cdca9c0d449aea86ef9d
Merged-In: I026e6aa9e7b371f316c0d97c3cf5e78abc1f5263
2017-08-19 00:15:31 +09:00
Lorenzo Colitti
9515b36ffa Merge "Tell the system when tethering offload hits a limit." into oc-mr1-dev
am: c3e7f875b4

Change-Id: I026e6aa9e7b371f316c0d97c3cf5e78abc1f5263
2017-08-17 09:14:27 +00:00
Lorenzo Colitti
d66cf56ba6 Tell the system when tethering offload hits a limit.
Add a new tetherLimitReached method to INetworkManagementService,
and call it when the HAL notifies OffloadController because the
limit has been reached.

Bug: 29337859
Bug: 32163131
Test: builds
Test: OffloadControllerTest passes
Change-Id: I0304e555544ee18c83244672766c767cbad650a1
2017-08-17 15:33:18 +09:00
Jeff Sharkey
b2a9f55488 Merge "Remove a bunch of deprecated @SystemApi." into oc-mr1-dev
am: c2e09129e0

Change-Id: I26089a2aef16845f2e2935e95810457e287bd0e1
2017-08-12 03:25:49 +00:00
Jeff Sharkey
8478911f5e Remove a bunch of deprecated @SystemApi.
Verified that nobody should be using these APIs, and they've been
deprecated long enough that we can remove them.

Bug: 62341924, 62263907, 62264550
Test: make -j32 update-api && make
Change-Id: I9a2333ca13e4984b71374aa7ffed081e5106c67e
2017-08-11 14:45:47 -06:00
Sudheer Shanka
76974ee41e Merge "DO NOT MERGE: Update BatteryStatsImpl to handle change in no. of freqs." into oc-mr1-dev
am: 3cb64c2c51

Change-Id: I80f8971b0f0f55ce91a0e1a3d574ae4a577f9257
2017-08-11 01:18:34 +00:00
Sudheer Shanka
3cb64c2c51 Merge "DO NOT MERGE: Update BatteryStatsImpl to handle change in no. of freqs." into oc-mr1-dev 2017-08-11 01:05:43 +00:00
Sudheer Shanka
d732136ed1 Merge "Update ConnOnActivityStartTest to be hermetic." into oc-mr1-dev
am: 06668b5f73

Change-Id: I34efad16363ca2b21374967bfabfc8fa2f36ee94
2017-08-10 23:06:43 +00:00
Sudheer Shanka
06668b5f73 Merge "Update ConnOnActivityStartTest to be hermetic." into oc-mr1-dev 2017-08-10 22:52:40 +00:00
Sudheer Shanka
a87245d305 DO NOT MERGE: Update BatteryStatsImpl to handle change in no. of freqs.
Bug: 62240247
Test: cts-tradefed run singleCommand cts-dev -m CtsIncidentHostTestCases -t \
      com.android.server.cts.BatteryStatsValidationTest

Change-Id: I1328fe7bf29229e9563cde6eea80addf2b91ea5d
2017-08-10 15:36:47 -07:00
John Reck
20933d0454 Merge "SharedMemory API changes" into oc-mr1-dev
am: edf3384307

Change-Id: Ib5f641f37e73fc6b236fe90c229bb3855025375c
2017-08-10 19:53:25 +00:00
TreeHugger Robot
edf3384307 Merge "SharedMemory API changes" into oc-mr1-dev 2017-08-10 19:41:53 +00:00
Evan Rosky
becff025d7 Merge "Added focus behavior changes to Build.VERSION documentation." into oc-mr1-dev
am: 003bd7e3ec

Change-Id: I8f7bc93c2eaab34ec2a84b4b1dde71ffb7ef5575
2017-08-10 19:33:19 +00:00
Evan Rosky
003bd7e3ec Merge "Added focus behavior changes to Build.VERSION documentation." into oc-mr1-dev 2017-08-10 19:21:29 +00:00
Christine Franks
8d34391599 Merge "Allow SMS and calling for demo users" into oc-dr1-dev am: 4387d3a523
am: 966f37ae23

Change-Id: Ia968a0cb57ffd0898d5b048a850ab1f3c469b35d
2017-08-09 20:23:10 +00:00
Christine Franks
966f37ae23 Merge "Allow SMS and calling for demo users" into oc-dr1-dev
am: 4387d3a523

Change-Id: I163963c15c009eaf70907203cf941e182409eafc
2017-08-09 20:15:33 +00:00
Christine Franks
e5bad6eb25 Merge "Allow SMS and calling for demo users" into oc-dr1-dev
am: 4387d3a523

Change-Id: I78128f2a9acdbbd2ccd10f2ee12cbe100000fb1a
2017-08-09 20:15:28 +00:00
Christine Franks
97a5480a1d Allow SMS and calling for demo users
Bug: 62712426
Test: manual - restrictions are unset in demo mode
Change-Id: I151fbfb8222e768403a7e5ba1fcf868ba35a1f22
2017-08-09 10:24:38 -07:00
Sudheer Shanka
b8f2316fb4 Update ConnOnActivityStartTest to be hermetic.
Bug: 38432755
Test: runtest -x services/tests/servicestests/src/com/android/server/net/ConnOnActivityStartTest.java
Change-Id: Ie847ec0a202021a2b2cf16bb2d720650c9ee847d
2017-08-08 22:34:46 -07:00
Todd Poynor
589ce7dfc5 Merge "thermalservice: Add ThermalService java interfaces" into oc-mr1-dev
am: 590f519f24

Change-Id: I1397add21609288770d46f21d8a23cf55e6e9a75
2017-08-08 01:23:35 +00:00
TreeHugger Robot
590f519f24 Merge "thermalservice: Add ThermalService java interfaces" into oc-mr1-dev 2017-08-08 01:15:41 +00:00
Sudheer Shanka
b60349a5e1 Merge "Track per-cluster times of each uid in microsec." into oc-mr1-dev
am: e913d8235c

Change-Id: I7915fe5d7df2b2ac49f2b97afba486782a1c8208
2017-08-07 23:43:22 +00:00
Adam Bookatz
e4fa69b956 Merge "Package wakeup alarms are now on screen-off timebase" into oc-mr1-dev
am: 0a1ae1bc56

Change-Id: Ie4b8379cd5bc6622ecc07868cdcf4eac0af1cf61
2017-08-07 23:33:44 +00:00
Sudheer Shanka
e913d8235c Merge "Track per-cluster times of each uid in microsec." into oc-mr1-dev 2017-08-07 23:32:50 +00:00
Adam Bookatz
0a1ae1bc56 Merge "Package wakeup alarms are now on screen-off timebase" into oc-mr1-dev 2017-08-07 23:22:31 +00:00
Todd Poynor
875e5c7451 thermalservice: Add ThermalService java interfaces
Binder service ThermalService broadcasts thermal events to registered
listeners.

Test: manual: marlin with modified thermal-engine.conf and temporary
      java thermal event listener
Bug: 30982366
Change-Id: I11f7fd18feff3b9af0eecc3fd3a13d54c0b97ff0
(cherry picked from commit dd05582eab)
2017-08-07 23:08:36 +00:00
John Reck
e4f60cce85 SharedMemory API changes
Hides getFd & getFileDescriptor due to lifecycle concenrs.
Adds ASharedMemory_dupFromJava to allow sharing a shared
memory region between Java & Native as safe as possible.
Mis-use results in an FD leak instead of double-close.

Bug: 64394076
Test: SharedMemory CTS tests
Change-Id: I01a5eb978fc4e99559a79baac75754c32f13bdc4
2017-08-07 15:36:10 -07:00
Yi Jin
311cc0b99d Merge "Only replace new line characters if the wakelock name contains one The original operation creates new string everytime which is expensive" into oc-mr1-dev
am: 8ce50255c5

Change-Id: I0ece40e7e6fb98d3c029bd26d6b35fbcb1ee66c0
2017-08-07 21:26:37 +00:00
Makoto Onuki
a0518fb7ac Merge "Reduce duplicate strings due to the package cache." into oc-mr1-dev
am: ce3e863f31

Change-Id: I67798ee72499d25bed4fc902baf7e92909dffdca
2017-08-07 21:24:33 +00:00
TreeHugger Robot
8ce50255c5 Merge "Only replace new line characters if the wakelock name contains one The original operation creates new string everytime which is expensive" into oc-mr1-dev 2017-08-07 21:10:49 +00:00
TreeHugger Robot
ce3e863f31 Merge "Reduce duplicate strings due to the package cache." into oc-mr1-dev 2017-08-07 21:05:42 +00:00
Jeff Sharkey
1ad38fe278 Merge "Fix broken javadocs." into oc-mr1-dev
am: b79eb54d36

Change-Id: I283e3914833b01969308afbd2fad1889e0497338
2017-08-06 16:45:10 +00:00
Jeff Sharkey
67f9d5070a Fix broken javadocs.
Bug: 64337634
Test: make -j32 doc-comment-check-docs
Change-Id: I20fdd3dcddef09111d35946c41c596c7689effa6
2017-08-06 07:37:08 -06:00
Bookatz
98d4d5cf3f Package wakeup alarms are now on screen-off timebase
Previously, wakeup alarms (for an app) were using the battery-on
timebase. Now they will instead use the battery-on-screen-off timebase.
In this way, apps won't be penalized for wakeups that occurred when
the device was being actively used anyway.

Also bumps up report version to 25.
Also bumps up parcel version.

Change-Id: I1b692a9137ff28d535e7a06b539f713b54a85ea9
Fixes: 64149996
Test: manually verified count doesn't increase when screen-on
2017-08-04 15:23:51 -07:00
Makoto Onuki
4501c61d65 Reduce duplicate strings due to the package cache.
Change from the previous attempt:
- Fixed the helper class.  The original version had a few bugs.
- Bundle.readFromParcel() now handles a Parcel with a read-write helper
properly.

** Comparison **
The following charts are the actual measurement with and without the fix,
using "dumpsys system".
- The red bar is "total private dirty".
- The X axsis is time since boot.

Without fix:
- #1 First boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1971317391
-- Private dirty stabilizes at ~16.8M.
-- Loading system packages took 1.8 seconds.

- #2 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=982210726
-- Private dirty stabilizes at ~17.5M.
-- Loading system packages took 0.5 seconds.

With fix:
- #3 First boot:
-- https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=791764875
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 1.9 seconds.

- #4 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1820894299
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 0.7 seconds.

Package manager start up time with and without the fix:
- (Ignored ones that are too fast; probably the thermal throttling didn't kick in.)
- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=499396796
- Before: 3.5 seconds (average of 5 reboots)
- After: 3.6 seconds (average of 5 reboots)

Package scan speed comparison:
- With the fix, first boot.
08-03 08:49:56.851  1000   779   779 I PackageManager: Finished scanning system apps. Time: 2133 ms, packageCount: 143 , timePerPackage: 14 , cached: 0
08-03 08:49:56.971  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 121 ms, packageCount: 11 , timePerPackage: 11 , cached: 0

- With the fix, second boot.
08-03 08:53:29.387  1000   779   779 I PackageManager: Finished scanning system apps. Time: 484 ms, packageCount: 143 , timePerPackage: 3 , cached: 143
08-03 08:53:29.424  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 37 ms, packageCount: 11 , timePerPackage: 3 , cached: 11

** Conclusion **
- This CL wil slightly slow down the boot time (0.2 seconds on a thermal-throttled bullhead), but
the system server's ram consumption will go down to the no-cache level.

- Using the package cache is still faster than not using it.

Test: build, boot, reboot, adb-install, reboot
Test: bit FrameworksCoreTests:android.content.pm.PackageParserTest
Test: bit FrameworksServicesTests:com.android.server.pm.PackageParserTest
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsOsTestCases -t android.os.cts.BundleTest

Bug: 64112468
Change-Id: I30691a032cb1dd1c7f6c1966a096c2f0d07a09cb
2017-08-04 14:19:32 -07:00
Yi Jin
0248336d4c Only replace new line characters if the wakelock name contains one
The original operation creates new string everytime which is expensive

Bug: 64272195
Test: NA
Change-Id: Id93d588a7d5a6b6c192a057fcd4296bd1c508516
(cherry picked from commit 8529150860)
2017-08-04 20:52:53 +00:00