Commit Graph

8550 Commits

Author SHA1 Message Date
Andreas Gampe
245ecc9a95 Merge "LoggingPrintStream: Make visible for testing" am: 7d1789867b am: dcb8cf8732
am: 0db4c361e3

Change-Id: I10e61d65cd05c8d93d43a2fefee841023ec35889
2017-10-10 21:29:12 +00:00
Andreas Gampe
dcb8cf8732 Merge "LoggingPrintStream: Make visible for testing"
am: 7d1789867b

Change-Id: If6e464f6840b66deb6f6c61b0ca96d847444e910
2017-10-10 21:11:10 +00:00
Andreas Gampe
e2456d602f LoggingPrintStream: Make visible for testing
The class must be public to avoid test issues. If the class is
package-private, the test would have to be in the boot class-
path:

 Rejecting re-init on previously-failed class java.lang.Class<com.android.internal.os.LoggingPrintStreamTest$TestPrintStream>: java.lang.IllegalAccessError: Class com.android.internal.os.LoggingPrintStream extended by class com.android.internal.os.LoggingPrintStreamTest$TestPrintStream is inaccessible (declaration of 'com.android.internal.os.LoggingPrintStreamTest$TestPrintStream' appears in /data/app/com.android.frameworks.coretests-SD7GJmYE507ACoE9gu2mnw==/base.apk)
   at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
   at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
   at junit.framework.Test junit.framework.TestSuite.createTest(java.lang.Class, java.lang.String) (TestSuite.java:61)

Test: m
Test: runtest -x frameworks/base/core/tests/coretests/src/com/android/internal/os/LoggingPrintStreamTest.java
Change-Id: I26cead7954cf4309c8b3e16994c35a3f4a9eb798
2017-10-10 09:09:26 -07:00
Chalard Jean
bbb7768f4f Merge "Add some useful helpers and constants." am: ed8d236319 am: 0f4421873e
am: 06d401ae73

Change-Id: Iaf611b8e39080d677c9cfe7edb124c11bbdf8a81
2017-10-06 10:11:04 +00:00
Chalard Jean
0f4421873e Merge "Add some useful helpers and constants."
am: ed8d236319

Change-Id: I3a934e19ece91bf5957e4c5fa289bbc1a6242915
2017-10-06 09:48:32 +00:00
Mike Ma
8cb8bdf657 Merge "Add AOD metrics in batterystats" into oc-mr1-dev
am: 6204a60c53

Change-Id: Ife567f987a1585cb1108725db6ad63516a8dc67a
2017-10-06 07:17:25 +00:00
Chalard Jean
e5659bd316 Add some useful helpers and constants.
Test: Pulled out of a client app ; the client app is behaving
Test: identically to how it was behaving before. Wrote unit
Test: tests in frameworks-net.

Change-Id: I397137748a95c65cee2e1e1b243a1a260e83a6f7
2017-10-06 13:38:46 +09:00
Mike Ma
1ce1d3a42c Add AOD metrics in batterystats
Fixes: 64899521
Test: manual - flash build, reset batteryStats, use device > 1 hr
with alternating pattern between screen on/off/AOD. Dump stats, check
all screen related stats look normal, esp. record matches actual time
spent in each screen state. In raw bugreport:
Search "amount discharged" for % discharge;
Search "Screen on/off/doze discharge" for mAh discharge;
Search "time on battery" for up/real time in each state.

Test: Added two unit tests for note AOD screen state

Merged-In: I7193a36751124dd380818b2b665303c0f0d8c984
Change-Id: I51cead7f92abd9e4c620f7dfde393993cdad494e
2017-10-06 00:50:03 +00:00
Tobias Thierer
fcd0e0a554 Merge "Fix documentation generation with OpenJDK 9 javadoc." am: ed6ae8f2b1 am: 8d4e36b1e8
am: 7c8e38c2cc

Change-Id: Idf7ff7b214281982a4a747c1e0af4cf54f622865
2017-10-05 23:38:06 +00:00
Tobias Thierer
8d4e36b1e8 Merge "Fix documentation generation with OpenJDK 9 javadoc."
am: ed6ae8f2b1

Change-Id: I8bd1f9b3994f480d55d7c885b2c24227a67915e9
2017-10-05 23:12:37 +00:00
Tobias Thierer
85edc2bc95 Fix documentation generation with OpenJDK 9 javadoc.
"make docs" breaks ("lint: @attr must be a field") on three @attr ref
statements in LinearLayoutManager. These are the only @attr ref
statements that reference the support library's resources from
framework (the others are within framework or within the support
library); it may be that the R class that they're referencing is
merely in the wrong package, but changing it to com.android.internal.R
or android.R didn't fix the issue.

Since LinearLayoutManager is an internal class, it's not worth the
effort of trying to make this work. This CL drops the three offending
@attr ref statements, thereby fixing the build.

Bug: 62049770
Test: Treehugger

Change-Id: Ife01201019f4fffd5552da11591661539ca40fdd
2017-10-03 12:45:57 +01:00
Adam Powell
6a6a65e89e Merge "Lower watchdog timeout for ChooserTargetService responses" into oc-mr1-dev
am: cbe8754184

Change-Id: I96573018654de3cfccdae1be6ce01ae7749c5ffe
2017-10-02 21:40:30 +00:00
TreeHugger Robot
cbe8754184 Merge "Lower watchdog timeout for ChooserTargetService responses" into oc-mr1-dev 2017-10-02 20:40:37 +00:00
Dan Sandler
fce1eb3ea3 Merge "Don't crash onServiceDisconnected..." into oc-mr1-dev
am: dab9eff899

Change-Id: Idfc6a98804928a177153492010e04ec75fa30755
2017-10-02 18:00:56 +00:00
TreeHugger Robot
dab9eff899 Merge "Don't crash onServiceDisconnected..." into oc-mr1-dev 2017-10-02 17:44:57 +00:00
Adam Powell
3f23dfc6c1 Lower watchdog timeout for ChooserTargetService responses
Services providing direct share targets were given up to 5 seconds
to respond to a query, and for UI stability we don't show any until
all services have responded. 5 seconds is a long time to wait and
leads to user complaints when there is even one app that doesn't
respond in time.

Lower the timeout to 2 seconds as a more reasonable maximum.

Bug: 67306843
Test: manual, existing CTS
Change-Id: If55f0485240bc3ccbf8a32aa0e15903ea574ec2b
2017-10-02 10:41:03 -07:00
Beverly
3836cce06d Merge "Adjusted chooser padding so 2nd line isn't cutoff." into oc-mr1-dev
am: 5802026595

Change-Id: Ic2bb95c7230ea25646824f41d219b09d3cb70709
2017-09-26 23:20:09 +00:00
TreeHugger Robot
5802026595 Merge "Adjusted chooser padding so 2nd line isn't cutoff." into oc-mr1-dev 2017-09-26 23:14:08 +00:00
Hugo Benichi
f43db3bf94 Merge changes Ia47e566b,Ib94d79a9 am: b9e2ddfc10 am: a2161c5ccb
am: b91bd88c5e

Change-Id: Ied2b31c9d1219b8aebf5fec085ab598b77bede6e
2017-09-26 13:05:41 +00:00
Hugo Benichi
a2161c5ccb Merge changes Ia47e566b,Ib94d79a9
am: b9e2ddfc10

Change-Id: I0cac456f778db78d76d2225b79ce42526a6d2d19
2017-09-26 11:46:30 +00:00
Hugo Benichi
67c5e03b54 Extract RingBuffer class from NetdEventListenerService
This patch takes out the ring buffer array added for NFLOG wakeup packet
events logging and extract it into its own class for reuse. This new
RingBuffer class has the two minimal useful functions append() and
toArray().

Bug: 65164242
Bug: 65700460
Test: runtest frameworks-net, with new unit test
Change-Id: Ib94d79a93f4e99661b7d0fac67117b91d57af980
2017-09-26 14:14:16 +09:00
Dan Sandler
fcd7fae5e6 Don't crash onServiceDisconnected...
...if destroy() hasn't already been called through some
other codepath.

Bug: 65249720
Test: runtest -x core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
Change-Id: I5f90548e437986d8585390578f4ceecd57cc3473
2017-09-25 17:43:16 -04:00
Adrian Roos
392a9b5c1d Merge "FRP: Add config flag for disabling credential FRP" into oc-mr1-dev
am: 73c93f02f7

Change-Id: I647bfc52892b305eb59f446812e142b609172bd4
2017-09-25 18:38:23 +00:00
Adrian Roos
2adc263ce9 FRP: Add config flag for disabling credential FRP
Bug: 65258606
Test: Verify FRP still works when not disabled
Change-Id: I78e308b6eaba73c794615b1eebdbfacb334ae72f
2017-09-25 13:32:48 +02:00
Beverly
3aee178c86 Adjusted chooser padding so 2nd line isn't cutoff.
Change-Id: I171eafed073b4412904e3c0dc6f88efb8370d3bf
Fixes: 65546796
Test: manual
2017-09-21 17:14:04 -04:00
Christine Franks
1cdb151ef7 Merge "Handle night display state when timezone changes" into oc-mr1-dev
am: 1276f357d3

Change-Id: I96cc0161eb092f2a965efbff4a417bc992493625
2017-09-20 00:43:12 +00:00
Christine Franks
1276f357d3 Merge "Handle night display state when timezone changes" into oc-mr1-dev 2017-09-20 00:23:28 +00:00
Christine Franks
2ce862c3ed Handle night display state when timezone changes
Bug: 64458884
Test: runtest -c com.android.server.NightDisplayServiceTest \
frameworks-services and manually tested Hawaii and London

Change-Id: I052034a4c64eb73c42672215e8847c11e00efeb5
2017-09-19 14:37:26 -07:00
Nicolas Geoffray
0bd07225e7 Merge "Special handling of priv-apps in Zygote." am: 46af70cad9 am: 79d4ef6caa
am: 836f2fe701

Change-Id: Ieb8b53e69ac14be6e4e0e0210f12343e7e863b66
2017-09-19 12:11:51 +00:00
Nicolas Geoffray
79d4ef6caa Merge "Special handling of priv-apps in Zygote."
am: 46af70cad9

Change-Id: I1dbf2313c9ee1c014854630eac5f1429548ae7f6
2017-09-19 11:56:05 +00:00
Nicolas Geoffray
46af70cad9 Merge "Special handling of priv-apps in Zygote." 2017-09-19 11:47:58 +00:00
Narayan Kamath
66d7275d39 Merge changes Id931d441,I83faf974
am: 89c94f67b4

Change-Id: Ifc090e141092bcee11704e45d6f97f642040d002
2017-09-14 23:57:14 +00:00
Adam Bookatz
024a096e22 Merge "Throttle fetching RPM stats" into oc-mr1-dev
am: 8ddb77a3df

Change-Id: I97868b6f4327125f201384e0d6dc1a597ddfa6d9
2017-09-14 18:39:35 +00:00
Adam Bookatz
065f4b7ea7 Merge changes I54d54f24,I0c384eb3 into oc-mr1-dev
am: e332629667

Change-Id: Ib522e060c7a77b0e0ae0ecf3c9d84c331890d3e9
2017-09-14 18:33:47 +00:00
Adam Bookatz
8ddb77a3df Merge "Throttle fetching RPM stats" into oc-mr1-dev 2017-09-14 18:23:36 +00:00
Adam Bookatz
e332629667 Merge changes I54d54f24,I0c384eb3 into oc-mr1-dev
* changes:
  Disable screen-off RPM timing in BatteryStats
  Added resource power manager stats to batterystats
2017-09-14 18:22:34 +00:00
Jiyong Park
6cc659cd9e Merge "vendor apk is unbundled" into oc-mr1-dev
am: a26750e757

Change-Id: I218a52a0fff924ca139c96c35df5b3ad0c917216
2017-09-14 14:51:57 +00:00
Andreas Gampe
8f4eab2fcc resolve merge conflicts of eb8a4ef5d3 to oc-mr1-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ia29e31d704982985264b40a78578a4c93d11bf3a
2017-09-13 19:20:34 -07:00
Narayan Kamath
ac0b4be198 Zygote: Improve logging and error handling during connections.
Before this change, we were throwing a checked exception on success
and returning on failure. This made it hard to figure out where / when
something was going wrong. This change switches things around to throw
a RuntimeException when something goes wrong and to return a Runnable
on success. This lets us make stronger assertions in both the parent
and the child process about their state and expected return values.

This change also upgrades the severity of several errors that we would
earlier just ignore. We will now reject the command and terminate the
connection to the client when we encounter these errors such as:

- Malformed arguments
- Any ZygoteSecurityException, such as thown thrown by
  applyUidSecurityPolicy and applyInvokeWithSecurityPolicy.
- Any error in setting up pipes etc. to facilitate communication
  with child processes.

(cherry picked from commit bf99d06003)

Bug: 13618569
Test: Manual
Merged-In: Id931d44135ae2e4ede1bbac6a4b187f6c139e1fd
Change-Id: Id931d44135ae2e4ede1bbac6a4b187f6c139e1fd
2017-09-13 18:40:59 -07:00
Narayan Kamath
a3d4230b92 Zygote: Fix race condition on package preloads.
Before this change, ZygoteProcess.preloadPackageForAbi returned
as soon as the command was written to the zygote socket and not
after the preload completed. This meant that there was a small
window of time before the server side of the socket polled its FDs
where a second command could be written to the zygote socket. This
would lead to only one of the commands being processed and the
other being dropped. The client side of that socket would then wait
forever for a response and bring down the system once the watchdog
timeout was hit.

Example failure case :
--------------
system_server:send command(preloadPackage)
system_server:send command(fork)
zygote:poll & process command(preloadPackage)  // the fork command is dropped.

Example of normal operation :
------------------
system_server:send command(preloadPackage)
zygote:poll & process command(preloadPackage)
system_server:send command(fork)
zygote:poll & process command(fork)

This change makes preloadPackageForAbi synchronous, which ensures
that each POLLIN event corresponds to precisely one command.

(cherry picked from commit 24a3306c32)

Bug: 62886909
Bug: 13618569
Test: Manual
Contributed-By: yuqianyu@huawei.com

Merged-In: I83faf974c9a70a6ab18323f692c1981784e4c56a
Change-Id: I83faf974c9a70a6ab18323f692c1981784e4c56a
2017-09-13 18:37:05 -07:00
TreeHugger Robot
a26750e757 Merge "vendor apk is unbundled" into oc-mr1-dev 2017-09-14 01:35:42 +00:00
Bookatz
82b34117ee Disable screen-off RPM timing in BatteryStats
RPM = resource power manager.
Fetching the rpm stats (specifically, the subsystem low power stats) is
slow... too slow to reasonably do each time the screen state changes.
Therefore, it is disabled until fetching this information can be done
more quickly. Consequently, the screen-off RPM values will be incorrect
until it is re-enabled; they are therefore not printed.

Bug: 65164435
Bug: 62549421
Test: manual
Change-Id: I54d54f244c69ee372f22ecd99f32570db4aeb222
2017-09-13 22:24:25 +00:00
Bookatz
0b8a050853 Throttle fetching RPM stats
RPM stats are expensive to fetch. However, updateRpmStatsLocked can
get called over and over again. E.g. if
BatteryStatsService.getStatistics is called multiple times in quick
succession, the RPM stats would be fetched repeatedly. Because it is
expensive, if therefore makes sense to throttle it to ensure that the
fetching is not done too frequently.

The data last fetched is cached. When asked to update, it will only
actually do so if it is sufficiently old.

Bug: 62549421
Bug: 65629008
Test: manual
Change-Id: I6b7530d203deb9ad5bfb3415336a0de6a55bd89b
2017-09-13 14:31:14 -07:00
Bookatz
50df711a51 Added resource power manager stats to batterystats
Currently Resource Power Management (e.g. VMIN time) is reported in the
batterystats history each time the battery level changes. We need this
information in the batterystats checkin, and need to be able to
differentiate time spent in each power state/voter, total as well as
when the screen is off.
The RPM information is obtained via a JNI call to the appropriate HALs.

Batterystats report version is increased to 26.

Bug: 62549421
Test: manual
Change-Id: I0c384eb3950714d8a0aa1353a4bf965330ebc8c1
2017-09-13 10:54:54 -07:00
Nicolas Geoffray
1f88ad66e1 Special handling of priv-apps in Zygote.
If pm.dexopt.priv-apps is set to false, disable verifier and
only allow loading oat files from system.

bug: 30972906
bug: 63920015

Test: works as expected when pm.dexopt.priv-apps is true or false
Change-Id: Ib9e80c9b7b4106e82c0b9d1c7fbb8065c190ac1f
2017-09-13 14:21:00 +01:00
Nicolas Geoffray
1bf40f63b3 Missed these renames in last commit.
Test: builds
Change-Id: I6c2d03accc55aef8381f38f9b182f2367e25a915
2017-09-13 12:59:21 +01:00
Nicolas Geoffray
8dbb5e51c8 resolve merge conflicts of e017dae587 to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I7008986501028ec9bee0505d41aae3ff27872b50
2017-09-13 11:08:36 +01:00
Nicolas Geoffray
81edac4037 Rename debugFlags to runtimeFlags.
Also now pass the flags to the forked process through --runtime-flags instead
of converting to command line arguments and converting back to an integer.

bug: 30972906
bug: 63920015

Test: builds

Change-Id: I7f10c43dd916ca2d3b9b5141f17261eb7b64f49a
2017-09-12 15:54:23 +01:00
Jason Monk
e9c5d8aad6 Merge "Fix broken window flag" into oc-mr1-dev
am: 07d0b93914

Change-Id: I4d9079422e05b117b3d25ac1a0d9fa884eadee23
2017-09-11 19:03:07 +00:00
TreeHugger Robot
07d0b93914 Merge "Fix broken window flag" into oc-mr1-dev 2017-09-11 18:31:47 +00:00