Commit Graph

788 Commits

Author SHA1 Message Date
Treehugger Robot
2dc5a42743 Merge "Use StrictJarManifest.ATTRIBUTE_NAME_NAME instead of Attributes.Name.NAME." 2018-07-20 15:50:59 +00:00
Tobias Thierer
8a0845e517 Use StrictJarManifest.ATTRIBUTE_NAME_NAME instead of Attributes.Name.NAME.
Introduce a constant StrictJarManifest.ATTRIBUTE_NAME_NAME so that
callers (StrictJarManifest{,Reader}) don't need to rely on
Attributes.Name.NAME which was added via an Android patch.

Bug: 35910877
Test: Treehugger

Change-Id: I292fbefc6c5561609dcd8281d1e2a931a1ffa5b2
2018-07-13 17:29:35 +01:00
Neil Fuller
f4634736ca Move XML object factory logic to libcore
It makes sense to hide the details of the parser implementation
(and other similar objects) in libcore so it could be changed.

This change removes the "ExpatPerformanceTest" which appears not to have
been maintained and was comparing KxmlParser with itself. It is assumed
that android.util.Xml used to return the expat parser.

Test: build
Bug: 111055375
Merged-In: Ibad247323ba90cd949aecb2bd92f2f73306a4327
Change-Id: Ibad247323ba90cd949aecb2bd92f2f73306a4327
2018-07-11 14:02:00 +01:00
Treehugger Robot
7980b19bc8 Merge "Track changes in libcore to remove a constructor" 2018-07-06 13:58:29 +00:00
Neil Fuller
baae7fa357 Track changes in libcore to remove a constructor
Track changes in libcore to remove a constructor + lint
import order changes. Instead of the constructor a utility
method is introduced.

Test: Build / boot
Bug: 111055375
Merged-In: Id683a9d9d6e27d4c8df623dae189da9e74a6d410
Change-Id: Id683a9d9d6e27d4c8df623dae189da9e74a6d410
2018-07-04 09:11:08 +01:00
Neil Fuller
f9d88dfac1 Make Half class use public APIs
Half has a dependency on an internal sun.misc.FloatingDecimal
that can be replaced by an equivalent call on java.lang.Float
(which calls through to FloatingDecimal).

Any performance hit is worth it for a smaller API surface.

Bug: 111055375
Test: Build
Change-Id: Iecdf3aa9414922a77edbdc439b0c2b88033b3af8
2018-07-02 12:04:39 +01:00
Neil Fuller
4980bbcd30 Add more behavior to TimeDetectorService
The client code now "suggests" time updates
to the time detection service. The current implementation
of the time detection service will validate and set the
device system clock as needed. In future it will ignore
these suggestions if better information is available.

Responsibility for sending the
TelephonyIntents.ACTION_NETWORK_SET_TIME intent has
been moved to the time detection service until it can be
removed or replaced.

The telephony code is still responsible for basic rate
limiting but the majority of the decision logic has been
moved to the service.

There is an associated change in telephony code to switch to
using the server.

Bug: 78217059
Test: atest FrameworksServicesTests:com.android.server.timedetector
Test: atest FrameworksCoreTests:android.util.TimestampedValueTest
Change-Id: I4f7a10ac06b2d32da22689e1ddf309e0a2795f30
2018-06-25 19:34:05 +01:00
Neil Fuller
ca97b34330 Add TimestampedValue.toString()
To make debug logging useful.

Bug: 78217059
Test: Build
Change-Id: I710b56d189afeb26ac50f55d9286d04219779ee7
2018-06-13 15:29:05 +01:00
Neil Fuller
4773b9dadc Simple pass-through TimeDetectorService
This is sufficient to wire up time detection from telephony
to the new service without breaking time detection.

This cherry-pick contains a small change: to use
SystemClock.elapsedRealtime() instead of the newer
SystemClock.elapsedRealtimeClock() with Clock.millis().

Bug: 78217059
Test: atest FrameworksServicesTests:com.android.server.timedetector
Test: atest FrameworksCoreTests:android.util.TimestampedValueTest
Merged-In: Id7175878dc22e5272c31f3e478af4b0e4183b62b
Change-Id: Id7175878dc22e5272c31f3e478af4b0e4183b62b
(cherry picked from commit 24836bfb15)
2018-06-12 15:33:35 +01:00
Kurt Marcinkiewicz
7a4ff6447d Allow specifying a network for SNTP time sync
Permits syncing over a specific network instead of the default for
the process. This was causing an issue with Android Wear devices
paired with iOS where the default network is bluetooth
(see b/32663274).

This CL is in support of ag/3776564

Bug: 32663274

Test: adb shell am instrument -e class android.net.SntpClientTest -w \
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
(cherry-pick of pi-dev Ic9fc169cf75457810d4992121d85d7642e350b90)
Merged-In: I339c77063c72a9d76a5c4cb17052e20fb6e045a6
Merged-In: I8dfd1cad99c63efdc14c174c19f094a61cdfc44f

Change-Id: I44df66688292b144ec7dfcdd9ae5d82489f82774
2018-05-16 16:43:43 +09:00
Bookatz
ebf962f74b Dummy WorkChain class
To avoid future merge conflicts, a dummy WorkChain class must be
added temporarily. It goes along with the dummy StatsLog.java class.

Bug: 71607284
Test: none
Merged-In: Iff361eb98e079c7b2146c092dc27a3618a813c94
Change-Id: I66cf0c36c1842b99a5a4dd104fc5c06c0cfbe2b5
2018-03-29 09:43:05 -07:00
Tej Singh
363941bd30 DO NOT MERGE: Add to dummy StatsLog class
Changing some of the atoms, so changing the corresponding write method.

Test: build on Marlin
Change-Id: I0fe8418caad7df97dc8f9fed13a9dc423d9c50f6
2018-03-13 15:10:43 -07:00
Tej Singh
f800220ac8 DO NOT MERGE Dummy StatsLog class
This is a dummy class that provides StatsLog.write methods and
appropriate constants to log atoms in aosp.

Test: build success on Marlin
Change-Id: I606bc8a96337ced842eb7a2bcba8c4969c9d4748
2018-03-02 13:34:37 -08:00
Treehugger Robot
6c40bbdc5e Merge "Add DENSITY_440" 2018-02-03 00:03:57 +00:00
weijuncheng
5185d71470 Add DENSITY_440
Add 440dpi as a supported screen density

Bug: 72424600

Test: run android.dpi.cts.ConfigurationTest#testScreenConfiguration and android.app.cts.ActivityManagerMemoryClassTest#testGetMemoryClass

Change-Id: I0dbf998ae02515a97f0d5668eeedc7098da4cca4
Signed-off-by: weijuncheng <weijuncheng@xiaomi.com>
2018-01-26 13:07:42 +08:00
Tobias Thierer
9223fd6b6b Deprecate android.util.Mutable*.
Since http://r.android.com/565744 , these classes do not appear
in the signature of any other Android API. There are no plans to
make them part of any future API signatures.

They do not provide useful abstractions because:
 - They lack encapsulation and functionality (value is nonfinal;
   lack of equals/hashCode and toString).
 - It's trivial for apps to implement similar types for their
   internal use.

Only three of these eight classes (Mutable{Int,Long,Boolean}) are
used internally in Android; most of these usages could be written
better with named, more specific classes.

Therefore these classes do not pull their own weight on the API
surface of android.util.

This CL deprecates all eight classes in preparation for removing
them from the Android API surface at some point in the future, and
to allow the unused classes to be removed entirely.

Bug: 71546998
Test: Treehugger

(cherry picked from commit d57219411b)

Change-Id: Ib8736faa86d0ae5eec2c47a294f21adcf21d3dc4
Merged-In: I1cc1eb5ca9c36749bbb9a233d60036f6319bf2d3
2018-01-25 12:29:40 +00:00
Tobias Thierer
39e85382d5 Move Mutable{Int,Long} from libcore to framework.
No libcore dependencies on these classes remain, so they
can now move to framework which already has all of the
other classes from android.util.

After this CL topic, libcore and framework no longer have
any classes from the same package.

Bug: 67901714
Test: make droid
Test: Treehugger

(cherry picked from commit 232f1eb387)

Change-Id: I65871516b762d8a53ebe01697e4d92f94903bfd3
Merged-In: I65871516b762d8a53ebe01697e4d92f94903bfd3
2017-12-13 03:57:26 +00:00
Xin Li
220871a697 Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
2017-11-14 12:31:11 -08:00
Tobias Thierer
4719440f3f Merge "Move most android.util.Mutable* classes to framework."
am: cd06caf10e

Change-Id: I25fd01bd4bc8c582e6cb79a03de47847b46bcb83
2017-10-19 16:18:44 +00:00
Tobias Thierer
07efe116b1 Merge "Framework: Prefer android.system.Os over libcore.io.Libcore.os"
am: 5f04db96b3

Change-Id: If85216d03022708787a7218e494434453d5548e3
2017-10-19 14:25:12 +00:00
Tobias Thierer
49818415eb Move most android.util.Mutable* classes to framework.
android.util is the only package shared between libcore and
framework, with only the Mutable* classes living in libcore.

This CL topic moves most of these classes to framework.
After this CL topic, only MutableInt and MutableLong remain
in libcore. This prevents future libcore dependencies on
android.util; it is a first step towards removing the package
overlap between libcore and framework.

Test: Treehugger
Bug: 67901714

Change-Id: Id466181cb0db747da17f38ddb0b99c3e522add16
2017-10-18 14:53:57 +01:00
Tobias Thierer
6217e37d30 Framework: Prefer android.system.Os over libcore.io.Libcore.os
This is a pure refactoring with no a behavior change other than
that these calls now go through android.system.Os, which immediately
delegates to Libcore.os.

This is a first step towards separating framework (via
android.system.Os) vs. libcore (via Libcore.os) clients of these
low level APIs. Separating these is a prerequisite towards moving
the API parts of android.system into framework, and moving the
rest into a different package in libcore.

Test: Treehugger
Bug: 67901714

Change-Id: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81
Merged-In: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81
2017-10-18 14:53:57 +01:00
Andreas Gampe
5f9ba1a2b6 Merge "Frameworks: Move Log holder to be preloaded"
am: 7dd3a7d5c0

Change-Id: Ief51fd7b8cdf14c22ded48fde7121d6cca8f243e
2017-09-28 21:21:33 +00:00
Andreas Gampe
604bae849d Frameworks: Move Log holder to be preloaded
To avoid issues with late initialization, let the holder be
initialized in the zygote.

(cherry picked from commit 61a3e8c23a)

Bug: 65927416
Test: m
Merged-In: I6f454df46d4c64d295e1f2510793d5087b74fb74
Change-Id: I6f454df46d4c64d295e1f2510793d5087b74fb74
2017-09-28 08:54:10 -07:00
Andreas Gampe
61a3e8c23a Frameworks: Move Log holder to be preloaded
To avoid issues with late initialization, let the holder be
initialized in the zygote.

Bug: 65927416
Test: m
Change-Id: I6f454df46d4c64d295e1f2510793d5087b74fb74
2017-09-27 15:34:01 -07:00
Hyunyoung Song
dadb9e1728 Add shadow to adaptive icons to the shared sheet
Test: manual
Bug: 65015602

Change-Id: I01de79edc0a13817680106b1ef46e3212487b62f
2017-08-28 12:22:42 -07:00
Svetoslav Ganov
cdd685c075 Use all certs for computing package signing sha256
In several places we compute the sha256 of the app's signing certificate
(instant cookie storage, backup account permission grants, static shared
lib matching). It is possible that an app is singed with multiple certs
which unfortunately can appear in a random order. We were using only the
first certificate to compute the hash which may be problematic for apps
signed with multiple certs which are later reordered. If an app update's
certs are reordered for cookie storage the app would not be able to
access the cookie, for account grants the app would not get the grant,
and for shared libs the app would fail to install due to a missing lib.

Test: all cookie CTS tests pass
      all static shared lib CTS tests pass
      added test that cookie data not lost on sha256 computation change
      added test that lib install works when specifying
      multiple certs

bug:64270295

Change-Id: Ib6b55f25da735ff5c2762faf6e9b5888e749041d
2017-08-23 11:47:27 -07:00
Siyamed Sinir
06e9629f00 Fix email auto link when there are two chars in local part
Email auto linking used to accept either a single char or more than 2
chars in the local part. Updated the regular expression to accept 1 or
more chars.

Test: added test to cts.LinkifyTest
Test: bit -t CtsTextTestCases:android.text.util.cts.LinkifyTest
Test: bit -t FrameworksCoreTests:android.util.PatternsTest
Test: bit -t FrameworksCoreTests:android.text.util.LinkifyTest
Test: bit -t CtsWidgetTestCases:android.widget.cts.TextViewTest

Bug: 64467661
Change-Id: I4e28a344ff1bc50da353b9490eaaec99a751bffb
(cherry picked from commit e17c5b478e)
2017-08-17 17:29:55 +00:00
Fyodor Kupolov
6e3461b67c Log timings for shutdown stages
Renamed BootTimingsTraceLog to TimingsTraceLog. It is now used for
 boot and shutdown logging.

Added measurements for main stages of shutdown in the system server:
ShutdownTiming: SendShutdownBroadcast took to complete: 734ms
ShutdownTiming: ShutdownActivityManager took to complete: 203ms
ShutdownTiming: ShutdownPackageManager took to complete: 17ms
ShutdownTiming: ShutdownBt took to complete: 533ms
ShutdownTiming: ShutdownRadio took to complete: 534ms
ShutdownTiming: ShutdownNfc took to complete: 1536ms
ShutdownTiming: ShutdownRadios took to complete: 1538ms
ShutdownTiming: ShutdownStorageManager took to complete: 906ms
ShutdownTiming: SystemServerShutdown took to complete: 3918ms

Bug: 64569080
Test: shutdown/reboot and check logs
Change-Id: I636c045852cd1ed6be1c58af6608f70e95756389
2017-08-14 11:23:29 -07:00
Christopher Tate
616541d701 Persisted jobs versus incorrect boot-time RTC
Devices routinely boot in a state where the RTC is wildly incorrect
in the past (2009, 1999, or even at Unix epoch zero).  When we have
persistent jobs to be scheduled at boot, this presents a problem: when
should those jobs run, given that our idea of "now" is incorrect?

The previous implementation fell back to rescheduling these jobs
"from scratch" in this situation, as though they were newly-introduced,
but this turns out to have some emergent pathologies when the jobs
were intended to become runnable after long initial delays: the
rescheduling behavior could wind up starving jobs out entirely,
never running them regardless of how much real uptime the device
had, given the "wrong" pattern of reboots.

We now preserve the original nominal schedule, but recognize when we
have booted in a pathological situation, and correct the schedule for
these jobs when the system clock becomes sensible.

Bug 63817592
Test: JobScheduler test suite plus manual bogus-boot-time repro

Change-Id: Ia36fc5298b68db74e4e07e973b68e68e66206b43
2017-07-31 16:26:01 -07:00
Jeff Sharkey
84c6684bba Merge "Expose SubscriptionPlan API." into oc-mr1-dev 2017-07-21 17:14:30 +00:00
Amith Yamasani
fc923bbcce Merge "Handle an edge case that can reset settings provider data" into oc-dr1-dev
am: 6b4f0bb6fe

Change-Id: I9c71705f57c65fc99da831f9ee382168f131937e
2017-07-21 05:14:33 +00:00
Jeff Sharkey
17bebd2fd7 Expose SubscriptionPlan API.
Clean up SubscriptionPlan, add docs, and expose as public API.

Deprecate older constants in CarrierConfigManager, and point users
towards new API.  (The goal of CarrierConfigManager is to express
key/value pairs that are identical for all users on a particular
carrier, not to configure details that vary between users.)

Since a CarrierService may itself not have access to the plan
details, allow them to "delegate" the capability to configure plans
to another package name.

Factor out new RecurrenceRule class which is used by both
NetworkPolicy and SubscriptionPlan internally.  Polish it to support
arbitrary periods, and continue to test it through NPMST.

Bug: 63391323
Test: bit FrameworksCoreTests:android.util.RecurrenceRuleTest
Test: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I93fae4a43e58e9e4c32f8bf345a257dcd607f088
2017-07-20 14:55:57 -06:00
Amith Yamasani
74bf71b23c Handle an edge case that can reset settings provider data
If the AtomicFile does the rename and fails when writing the
original, make sure we can at least use the backup on reboot.

Bug: 63753300
Test: Stop shell, move settings_global.xml to backup, start shell.
Change-Id: I2049b48af05161bb2c68717a71c1700a95150a6c
2017-07-20 13:50:23 -07:00
TreeHugger Robot
b3f68233d9 Merge "Stop tracking user specific uid cpu time on user stop" 2017-07-06 00:42:09 +00:00
Suprabh Shukla
e6e723d588 Stop tracking user specific uid cpu time on user stop
Telling kernel module uid_cputime to stop accounting time for uids
belonging to a stopped user. Upon user remove, removing uid states for
those uids.

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

adb shell am instrument -e class android.util.SparseLongArrayTest -w \
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner

Bug: 62390461
Change-Id: Ibe07778465e3d2c13679e4d88d32f7b92fa959d9
2017-07-05 15:39:42 -07:00
Bryce Lee
a89a8cdef9 Merge "Always send configuration to client from resize and relayout." into oc-dr1-dev am: 392ac74f37
am: 4c201983cf

Change-Id: Ie0a49f094952dbd717dc1a71de4aafd267e9c214
2017-06-30 16:42:10 +00:00
Bryce Lee
f858b5788e Always send configuration to client from resize and relayout.
Previously, the server side would omit reporting new configurations
during resize and relayout if the current configuration matched the
last reported. However, if the last reported came through a resize,
the client side handling would be enqueued as a Handler message. This
leads to the possibility of the client getting a new window frame but
not a new configuration where this is synchronously handled, such as
ViewRootImpl::performTraversals.

To address this issue, we now always send the current configuration
from the server to the client. The client then identifies changes
against its own record of last reported configuration and updates as
appropriate.

This changelist also adds a call to force window relayout during
updateConfiguration, as it's possible this is called after
performTraversals is called or resize is handled, leading to a stale
window frame.

Bug: 24671393
Test: go/wm-smoke
Test: Open Camera while rotating phone to landscape. Added
      temporary logs to detect inconsistencies between measurements
      and reported rotation on draw.

Change-Id: I0d5143dfe80400f6a43ce710750f9fc9d4b93f74
2017-06-30 06:42:50 -07:00
Scott Main
87c751f3b2 Merge "Merge "add links to Log class summary for methods and logcat doc" into oc-dev am: ea6fea4d5d am: afeb63d823" into oc-dr1-dev-plus-aosp
am: ef5b81dd69

Change-Id: I3c489f89e2838ee7770f21d7e82ad4678be7f1e4
2017-06-29 16:36:27 +00:00
Scott Main
ecc03fbc9e Merge "add links to Log class summary for methods and logcat doc" into oc-dev am: ea6fea4d5d
am: afeb63d823

Change-Id: If161555970f40d9db0e15c20768a7ddb46527302
2017-06-29 16:27:24 +00:00
Scott Main
afeb63d823 Merge "add links to Log class summary for methods and logcat doc" into oc-dev
am: ea6fea4d5d

Change-Id: I205254f618a3a405aab6f783f5d7de99c9a3a907
2017-06-29 16:19:25 +00:00
Scott Main
41fc46aaa9 Merge "add links to Log class summary for methods and logcat doc" into oc-dev
am: ea6fea4d5d

Change-Id: I322405e6712ef9affb57d86e43b852e19cdc7f88
2017-06-29 16:19:20 +00:00
Scott Main
450a5bb81c add links to Log class summary for methods and logcat doc
bug: 29123084

Change-Id: Ida1351ca3647faa133905c5ff85df716bffd3203
2017-06-28 23:02:02 +00:00
Jeff Sharkey
5ab0243330 Only require that system UIDs tag their sockets.
Apps with a normal UID are typically isolated enough to not require
socket tagging; we're mostly interested in tracking down internal
UIDs that have lots of code sharing the same UID.

Also fix up everyone doing manual string checks of Build.TYPE, since
we now have first-class fields for those.

Bug: 38126076
Test: builds, boots
Change-Id: I3a40348196bd8459289f2b9355d9783a07f1e7dd
2017-06-27 11:11:06 -06:00
Narayan Kamath
6229d99082 LocalLog: Use LocalDateTime.now() instead of a Calendar.
Calendars are cloned once per format argument they're used for and cloning
a calendar is quite expensive. The line modified by this change used to
create dozens of objects, most of them pointlessly cloned.

Instead, we LocalDateTime, which is immutable and will be used directly.
Moreover, we can rely on its toString method which is specified to
format dates the same way we were doing in this class.

Test: manual
Change-Id: Ia2f6f5eb4f79252663c22b5a81d747c928771ee9
2017-06-12 15:30:55 +01:00
Joe Onorato
b3b191e340 Merge changes I4b58610f,Ib758756a into oc-dev
am: a9873bc8f6

Change-Id: I07b352ee11492718ee2abb76d48937f39f17125c
2017-05-31 01:14:54 +00:00
Joe Onorato
53610791a9 Fix typos that cause infinite recursion and CTS test failure.
Bug: 37171450
Test: bit CtsProtoTestCases:*
Change-Id: Ib758756a64fa19eb976dc0a2b1bb1cd6e42fd6f2
2017-05-30 14:06:33 -07:00
Joe Onorato
416723dccd Fix typos that cause infinite recursion and CTS test failure.
Bug: 37171450
Test: bit CtsProtoTestCases:*
Change-Id: Ib758756a64fa19eb976dc0a2b1bb1cd6e42fd6f2
2017-05-26 19:52:12 -07:00
TreeHugger Robot
a775aec337 Merge "MathUtils.map fix" 2017-05-26 07:26:53 +00:00
Neil Fuller
727cca7a83 Merge "Remove time_zones_by_country.xml file" am: 3436fd4833 am: 1541ef3712 am: 4e9c135a5a
am: 4e9e1ea566

Change-Id: I444faff9c0f779f4c4e99949efb393d0cad66913
2017-05-25 11:08:04 +00:00