• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/com/android/internal/util/
History log of /frameworks/base/core/java/com/android/internal/util/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2373398ce3d0d2753d184de13d566adbf95729f9 24-Jun-2017 Selim Cinek <cinek@google.com> Fixed an issue in the contrast calculation

The parameters were passed the wrong way around.

Test: manual inspection
Fixes: 62937149
Change-Id: I7ae2bb2a4136da37d6b59b2b1406c68ce7fe7b6b
(cherry picked from commit 4c80791919cd0da976ae5329dd7da9a0c4b3087c)
otificationColorUtil.java
0c4a9266264d37e724f7372ef7ef932cf60c505c 10-Jun-2017 Eugene Susla <eugenesusla@google.com> Support associating with an already-paired device

This is required for migration scenario, where device(s) are already
paired(and thus no longer discoverable) but didn't go through companion
flow.
This also fixes a bug with filtering by mac address, which is also relevant to
the use-case of associating a specific device

Test: Pair with a device first, and call associate with a filter with its MAC
address and single device requested. Ensure the device is found.
Ensure only that device is ever returned when filtering by MAC address.
Bug: 62487084
Change-Id: Ic7cc6affc0648ad85b15620e8c3aba4b9fc91aa1
ollectionUtils.java
82ba91ddb4fe9d9ff8245e27f70dea64cc20553d 28-Apr-2017 Joe Onorato <joeo@google.com> Turn off logspam

For more information, see https://source.android.com/source/code-style#log-sparingly

Bug: 37252687
Test: development/tools/logblame/app_switch_test
Test: development/tools/logblame/power_toggle_test
Test: development/tools/logblame/medium_idle_test
Change-Id: Ie2f6ef33df7b6c1ea976a8180945651ac9482976
umpUtils.java
389edcd7c56b886abe2df23eba38cb8aa40082f0 12-May-2017 Selim Cinek <cinek@google.com> Fixed an issue where the media notification wouldn't have contrast

Because we were relying on the output to go in the right direction
already, this could be wrong. We're now only following the given
lightness direction if it is even possible to satisfy contrast.

Test: runtest -x core/tests/coretests/src/android/app/NotificationTest.java
Change-Id: I06d934a6b5c328ebbf0cf707030b0d707ccb5ab4
Fixes: 38182819
otificationColorUtil.java
03fbdbe6ffc769f864f62a5cd87183b9b299fe30 08-May-2017 Selim Cinek <cinek@google.com> Merge changes from topic 'background_inflation' into oc-dev

* changes:
Fixed the contrast for low-priority notifications
Moving Row inflation to the background too
Moving the inflation to the background
2abd66c4ffdb7905128b1ca245d4ccb97cbda1c8 05-May-2017 Jeff Sharkey <jsharkey@android.com> Defeat @Nullable String[] with empty list.

Test: builds, boots
Bug: 37577123
Change-Id: I6bf1af565398c30aecc0939a23846c0f85c13ffe
rrayUtils.java
ac5f02749a595d39711beb4a1defb01949eb548a 03-May-2017 Selim Cinek <cinek@google.com> Fixed the contrast for low-priority notifications

The low priority notifications had their contrast calculated
against the white background and weren't satisfying
our contrast requirements.
This also aligns the case where the app had no colors better,
and ensures that it's actually using the secondary text
color there.

Test: existing tests pass
Change-Id: Ic11e9d06783e60998f35e0eb7f6f29fb1d86c7df
Fixes: 37444266
otificationColorUtil.java
5fb73f86299d9cc616ca741f8c7c4af2485cc273 21-Apr-2017 Selim Cinek <cinek@google.com> Extracting the notification colors based on the album art

Media notifications are now extracting the background and
foreground colors from the album art.

Test: manual, play different songs
Bug: 36561228
Merged-In: I9c3c962fa59eb70ef9b2d4893b939be6e1ee1ab0
Change-Id: I9c3c962fa59eb70ef9b2d4893b939be6e1ee1ab0
otificationColorUtil.java
aa43a4ba9f61504a22d10f2c6d233576791e7776 21-Apr-2017 Eugene Susla <eugenesusla@google.com> Check for uses-feature in Companion APIs

Fixes: 37629514
Test: Invoke API from app without uses-feature
Ensure an exception with an appropriate message is thrown
Invoke API from app with uses-feature
Ensure no exception

Change-Id: I53665732264ea2de2b4c8c251b1f00bf3a256dad
rrayUtils.java
622c64a9ce8b5024c33fc9b0c722c5203950a13c 18-Apr-2017 Selim Cinek <cinek@google.com> Fixed the appearance of colorized fullscreenintent notifications

Previously the background would stay grey.

Test: manual, add fullscreen intent colorized notification
Change-Id: Ib9eefacba58256d2cb0c6f0d70cf0e9b5afdaf06
Fixes: 35968024
otificationColorUtil.java
cf00adebec29d4cdbec5bc0f004b26a09327c236 10-Apr-2017 Eugene Susla <eugenesusla@google.com> 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
ollectionUtils.java
unctionalUtils.java
reconditions.java
4df89bcb31cde334dc317cce705a75b0ff036a8a 29-Mar-2017 Eugene Susla <eugenesusla@google.com> [DO NOT MERGE] Fix associations serialization optimization bug

There mas a missing defensive copy causing false positive detections of
"associations not changed" case, leading to xml file not being updated once
at least one record is present

Bug: 30932767
Test: Associate at least two different devices and ensure the xml has both.
Change-Id: Ic0dc615dd2b847e137555c1084c616831b4dde83
ollectionUtils.java
f5d5e5e4bfbbcc5b464744001d78d01bb26cf46b 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Relax enforcement of GET_USAGE_STATS permission." into oc-dev
e5e2569a1f0af3dd8cc245aada168f7969c3a5d9 14-Apr-2017 Jeff Sharkey <jsharkey@android.com> Relax enforcement of GET_USAGE_STATS permission.

This matches the logic used in all other places where we check for
this app-op.

Test: builds, boots
Bug: 37315351
Change-Id: I1fef7d30709d24c3f8978d33271a15b37b2ccc26
umpUtils.java
a365bace7a8e3e6da016531e26a6046a827acaa5 22-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: add transports pretty printing

This patch also
- partially reverts commit f927f0c52e7df5b057e7d28888c3cfed164d241a
that exposed a getTransports method on NetworkCapabilities.
- moves enumerateBits to BitUtils (as unpackBits), and adds the
reverse packBit method.

Bug: 34901696
Test: manually looked at $ adb shell dumpsys connmetrics list
Change-Id: I1650daf8fc9c1b6e0d986d2285f81e888be8847f
Merged-In: Id04f9080e7f75608deeb49306aec34941e71794c

(cherry picked from commit df456e13a1127e3c8594b1d22ea4a9b3dca67a4b)
itUtils.java
adce09b9a48b1d25c97fe7d3c731de1862f0487b 29-Mar-2017 Eugene Susla <eugenesusla@google.com> Add ICompanionDeviceManager.getAssociation overload with explicit userId

Bug: 30932767
Test: ensure getAssociations works as before
Change-Id: I58dc4dac5bf7aae83fe3611890116a928e290a43
(cherry picked from commit 544d714626db38714f826a31a5483c647510a743)
reconditions.java
889c6503a1764d6dbc1f7f4e23e3b392daab330b 16-Feb-2017 Roozbeh Pournader <roozbeh@google.com> Use text input for various internationalized listeners

Since the characters that need to be entered for an internationalized
input type may not be available on the old non-internationalized
layouts, switch to the full text layout if there are any such
characters.

TextView is also modified to call the locale-aware listeners if
the target SDK is set to O or later.

Test: Manual
Bug: https://code.google.com/p/android/issues/detail?id=2626
Bug: https://code.google.com/p/android/issues/detail?id=82993
Bug: 8319249
Bug: 33276673
Bug: 34394455
Change-Id: I544bf0cc893a475ab5bf88cbad01cb981c6fef91
rrayUtils.java
fe9a53bc45fd0124a876dc0a49680aaf86641d3e 31-Mar-2017 Jeff Sharkey <jsharkey@android.com> Consistent dump() permission checking.

This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.

Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
umpUtils.java
361915c727fc2ad137bfeed7ff74b3eadde96597 22-Mar-2017 Jason Monk <jmonk@google.com> Move global actions to sysui and add plugin interface

- Move default global actions ui to sysui
- Add fallback legacy interface in case sysui breaks
- Switch to fallback if sysui dies or isn't responding

Test: Long-press power
Change-Id: I943522611de5dbbee61e66c67cf3a56379091e97
mergencyAffordanceManager.java
6a7006a9683ba5a79ca338050c7c50b346b04de0 13-Mar-2017 Eugene Susla <eugenesusla@google.com> Register PackageMonitor for CompanionDeviceManagerService

1. On package removed -> remove all its associations
2. On package updated -> if had associations, update special access permission
in accordance with (potentially changed) permission entries in manifest

Bug: 30932767
Test: 1. Remove app, and ensure xml entries for it got removed.
2. adb install new version of app without special permissions in manifest, and
ensure whitelist removal method got called
Change-Id: I87261c05ddcf40a18332d160b44ee2f8284df5e4
rrayUtils.java
ollectionUtils.java
ef4351cc72abeeba0f659950c199a4f9b7cd1842 18-Jan-2017 Eugene Susla <eugenesusla@google.com> Dont dispatch a11y events that have no subscribers

This allows to avoid A11yManager -> A11yManagerService IPC, when there's no
subscribers to a given event

Test: steps:
- Enable A11yManager.DEBUG
- Navigate through a few random activities
- In logcat, ensure log messages are present, notifying that certain events
won't be dispatched
Change-Id: Ia019fb66053f10095b3651407d09de8e89cdd227
ntPair.java
36e866b8e0ec08e45b5e7fbc65aeeb3a9bb7b11e 24-Feb-2017 Eugene Susla <eugenesusla@google.com> Support multiple filters per association request

By supporting multiple filters per one request we should be able to cover
multiple kinds of use cases such as:
- Letting the user select from a list of devices of more then one medium
type (e.g. Bluetooth and BLE)
- Allowing to provide multiple criteria for any field (e.g. filtering by
more than one service UUID)

Bug: 30932767
Test: Provide multiple filters and ensure that devices matching either are
shown in the list to choose from.
Ensure wifi SSIDs are shown in the list if wifi filter is provided

Change-Id: I0a978787551a1ee5750ec5544b241d3bbfed5a7c
rrayUtils.java
itUtils.java
d66c95fa907dc9eb3d7238fbbf3dc6dbd4b243a0 09-Mar-2017 Hector Tellez <htellez@google.com> Revert "Support multiple filters per association request"

This reverts commit e70e6aa62c6f3a9a79624a4f9d97df95edda0364.

Change-Id: I12857cbbea0a0c74521191ab5e3713db230626ab
rrayUtils.java
itUtils.java
e70e6aa62c6f3a9a79624a4f9d97df95edda0364 24-Feb-2017 Eugene Susla <eugenesusla@google.com> Support multiple filters per association request

By supporting multiple filters per one request we should be able to cover
multiple kinds of use cases such as:
- Letting the user select from a list of devices of more then one medium
type (e.g. Bluetooth and BLE)
- Allowing to provide multiple criteria for any field (e.g. filtering by
more than one service UUID)

Bug: 30932767
Test: Provide multiple filters and ensure that devices matching either are
shown in the list to choose from.
Ensure wifi SSIDs are shown in the list if wifi filter is provided
Change-Id: I6621da388e2bf4ed97c5af2692629a321d0b63c7
rrayUtils.java
itUtils.java
ef98cead57572e6676db7f6627da9830074fde8a 08-Mar-2017 Philip P. Moltmann <moltmann@google.com> Merge "Log histogram of fsync times of sharedPreferences"
47aafbe033202ccc2c0ea9af2b0f1596ebed4373 13-Feb-2017 Eugene Susla <eugenesusla@google.com> Record app<->device association to xml file

Bug: 30932767
Test: Ensure file not exists -> query associations -> ensure result is empty list
Associate device -> cat xml file -> ensure record appears as extected
Disassociate device -> cat xml file -> ensure record is no longer present
Change-Id: Ibe456a6d9292e05e2391f5138e43fdaa37f87e1b
rrayUtils.java
e64a521084035ac8d66ad0bf6c537e04cb6e1b62 06-Mar-2017 Philip P. Moltmann <moltmann@google.com> Log histogram of fsync times of sharedPreferences

Example log:

Time required to fsync
/data/user/0/com.google.android.gms/shared_prefs/gms_sync_prefs_sync:ContactMetadata.xml:
[<1: 0, <2: 0, <4: 0, <8: 0, <16: 0, <32: 0, <64: 0, <128: 0, <256: 0,
<512: 0, <1024: 1, <2048: 0, <4096: 0, <8192: 0, <16384: 0, >=16384: 0]

Fixes: 30662828
Test: Looked at log
Change-Id: I6d585b107ae14e05ff1c77b0a0017de684226cba
xponentiallyBucketedHistogram.java
a7aaae881cb3168641e3117a0de6db15b63b5a44 28-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delete ParcelableString, add StringParceledListSlice"
abaa0695c5361b36a7a2cdbe87c77bf60be20af7 20-Feb-2017 Robin Lee <rgl@google.com> Delete ParcelableString, add StringParceledListSlice

Both inherit from package private BaseParceledListSlice.

This is still bad, but it's not as bad. The existing code that uses
this can just do Foo.bar().getList() now instead of having to marshal
to and from an oddball type at either end as well.

In the longer term ParceledListSlice<> should be eliminated, but it's
not clear how far into the future that is going to happen.

Test: runtest -x services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
Test: runtest -x core/tests/coretests/src/android/content/pm/ParceledListSliceTest.java
Change-Id: Ie69b96b5215d6e04990f6d31345772cdfee21d78
arcelableString.java
4dcf7401978a541ba1ab56cd66c1bab62594dcf0 24-Feb-2017 Mukesh Agrawal <quiche@google.com> Merge "StateMachine: add getLogRecMaxSize()" am: 22e43471ed am: 0a2d5cf7db
am: 313604b48f

Change-Id: Ib8670d744b179a48dd3f9052baefc9ddbf260274
0a2d5cf7db8ea23e8297129f1850689dc2d5b503 24-Feb-2017 Mukesh Agrawal <quiche@google.com> Merge "StateMachine: add getLogRecMaxSize()"
am: 22e43471ed

Change-Id: Iaab7955c0721e240487e8c842e994c90141d6013
8ed82ec198cde2cbfd026881d8c5bbab9d10018c 24-Feb-2017 mukesh agrawal <quiche@google.com> StateMachine: add getLogRecMaxSize()

Add the getLogRecMaxSize() method, so that
WifiStateMachine tests can verify the log
record buffer size, without having to fill
the buffer.

Bug: 35399013
Test: compile
Change-Id: Ib1bd8d670b7b39e9f740a4dd92ea67463b179ce2
tateMachine.java
0a4cf4b57f43905be8602737d3fcc9f40997e6a3 23-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Deprecate TestSuiteBuilder and related classes." am: a26000b8f5 am: fd61eb1e39
am: 9dcdc8f187

Change-Id: Icbc80cc054244f2660814bde4a9dc681b501024f
fd61eb1e3926b6500275addb203dd0eb3892d5b9 23-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Deprecate TestSuiteBuilder and related classes."
am: a26000b8f5

Change-Id: Ia9d491bd72f2a9f08838e298aaf4de5de28c7d4f
253ad40649242edae625d95e2ae415a1bf27b9fc 20-Feb-2017 Paul Duffin <paulduffin@google.com> Deprecate TestSuiteBuilder and related classes.

Deprecates com.android.internal.util.Predicate in favour of
java.util.function.Predicate.

Deprecates TestMethod and TestSuiteBuilder in favour of
Android Test Support Library.

Bug: 35089332
Test: make checkbuild
Change-Id: Id8b2be55925d7ca09750fc9681817793517ceb5d
redicate.java
8a10ef58d358851482d60dc3eec176654bec4ee2 17-Feb-2017 Svet Ganov <svetoslavganov@google.com> Append entries for real

Test: manual

bug:35447008

Change-Id: I8ddbd39395f5064f7797562c3a423ba555c0c933
rrayUtils.java
b52448c8b5ec17f130b7ad6c0290e8ede269d539 15-Feb-2017 Selim Cinek <cinek@google.com> Merge "Fixed a few coloring issues"
875ba9bd8ec0fa3d29fe27efcb3a20e53ce85f4f 14-Feb-2017 Selim Cinek <cinek@google.com> Fixed a few coloring issues

The color of the icon was happening in a
non-animated way. We're now animating the
color properly.
This also fixes an issue where the action
bar could be fully black.

Test: add colorized notification, observe animation
Fixes: 35308322
Change-Id: I4fbc1794fc027efb42eee3ee8f06fd9d8c513456
otificationColorUtil.java
23a96af5234a2f3a9553b9efeeab0ca99d368827 14-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AOD: Fix contrast calculation"
6cd440c574e8b035079c73fb852ef52cc8487d20 09-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"" am: 621ebe692f am: a2c92b0b88 am: c1a93884dc
am: 8faed45024

Change-Id: I9d047f2e7bd8dfb14bf7b1f8c82ce6721e105198
8faed4502409786dffed956d26bd790f8ad81075 09-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"" am: 621ebe692f am: a2c92b0b88
am: c1a93884dc

Change-Id: Icce543cd86f83bff8c2e80bf7ef492d22c9cf2dc
57e490cf8cf85932c11208c64bbd2b35315ffbc8 09-Feb-2017 Paul Duffin <paulduffin@google.com> Partial Revert "Replace com.android.internal.util.Predicate with java.util.function.Predicate"

This partially reverts commit 3e5fbca0c57742f28f5c7e6bda6c3500b9471b47.

Bug: 35187548
Bug: 30188076
Bug: 35089332
Test: make checkbuild
Change-Id: I7ab4279aab604e3d56003b0a59867948aebabd28
redicate.java
redicates.java
99d2e64bdbb5a1ed09c37a193a332e2503356fb9 09-Feb-2017 Adrian Roos <roosa@google.com> AOD: Fix contrast calculation

Uses a new way to calculate a contrasting color for AOD in HSL space.
Previously, the search was done in LAB space which led to colors being
off-hue.

Bug: 30876804
Test: Open Ambient Display, observe color of incoming notification looks good.
Change-Id: Id9b52e266be126f3067dd73e9906d7cca59135cb
otificationColorUtil.java
c02f6bb64b3cdca50e5eca27c73f24c8f747c480 08-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Replace com.android.internal.util.Predicate with java.util.function.Predicate" am: 78a20be77a am: 9e99b9ee45
am: 9250814fd2

Change-Id: Ifd924bdb62102657bf0c6d4b07ab919cf0f96c0c
78a20be77acb6595ed112f2a2642ed569f6082b5 08-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Replace com.android.internal.util.Predicate with java.util.function.Predicate"
ca4964ccbef5f2c85855fc14577c7c25d0e0588d 07-Feb-2017 Paul Duffin <paulduffin@google.com> Replace com.android.internal.util.Predicate with java.util.function.Predicate

Bug: 35089332
Bug: 30188076
Test: make checkbuild
Change-Id: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21
redicate.java
redicates.java
80f42edfc7333d8a2a3d8fa529b85ed6763f8cc0 08-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Fix problem with JavaDoc" am: 8f33fcdc4b am: 4929aafc1d am: 290274df0d
am: d0a937e84b

Change-Id: Ic0e67021a5423b48bcf7d6ec8b903321d855e3aa
d0a937e84b668d1e370429765033ff9d118468c4 08-Feb-2017 Paul Duffin <paulduffin@google.com> Merge "Fix problem with JavaDoc" am: 8f33fcdc4b am: 4929aafc1d
am: 290274df0d

Change-Id: I4e9ef88d6aa6c69a35b6b995ebf0b90214aef79d
b5c09b5487699bfde612f4833641cc57aaa4a0c8 08-Feb-2017 Paul Duffin <paulduffin@google.com> Fix problem with JavaDoc

Test: make checkbuild
Change-Id: Ia321e0a57ff63aa62adee16d611c063a22807176
essageUtils.java
3e5fbca0c57742f28f5c7e6bda6c3500b9471b47 07-Feb-2017 Paul Duffin <paulduffin@google.com> Replace com.android.internal.util.Predicate with java.util.function.Predicate

Bug: 35089332
Bug: 30188076
Test: make checkbuild
Merged-In: I0a5b4bf520fc39b59d8d790b01e9cff0d54e6d21
Change-Id: I58e4e35e7b7315033d893748f7c79e1ba6732f39
redicate.java
redicates.java
6ed45d8cd33c297e608aba94fc1f61dace7a7cca 22-Jan-2017 Eugene Susla <eugenesusla@google.com> CompanionDeviceManager

This introduces an API for apps that support companion devices to provide a
more streamlined flow for pairing and setting up the device

Bug: 30932767
Test: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),
and go through the flow. Ensure filtering works, and device is returned to
the calling app. Ensure the calling app can pair to the selected device.
Change-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a
rrayUtils.java
bjectUtils.java
7d1009b3bd3b69768f293eb73109c52b8da8ec8e 26-Jan-2017 Selim Cinek <cinek@google.com> Increased the collapsed size of messaging notifications

Messaging notifications now get an increased boost in size,
since those are usually important to the user.

Test: existing tests pass
Bug: 34469375
Change-Id: Idfc2d2403b04c4c2d17b821e3ccbbbd48d31654d
otificationMessagingUtil.java
7b9605b79c4f738ee5b306d8693018e931cda18e 20-Jan-2017 Selim Cinek <cinek@google.com> Added a new API to colorize notifications

Ongoing notifications can now be colorized.
This will use the color provided as the background
and invert most text colors

Test: runtest -x cts/tests/app/src/android/app/cts/NotificationTest.java
Bug: 34469375
Change-Id: I818e8db96c868d8bcde8f28c253efd581eeccaa2
otificationColorUtil.java
487374fd6d1c61b49734ce1857824646be83b587 12-Jan-2017 Adrian Roos <roosa@google.com> Construct ambient view in Notification

Bug: 30876804
Test: manual
Change-Id: I906f666711a8d92b557184c652b1d6e33ae6f3d8
otificationColorUtil.java
e29a5a11529dc7df82911b48b9f95461383cbcc2 17-Dec-2016 Fyodor Kupolov <fkupolov@google.com> Added SystemServerInitThreadPool

System services can use it during the boot to submit tasks that can be run in
parallel with the main thread.

Switched PersistentDataBlockService and FingerprintService from FgThread to
the new thread pool.

UiModeManagerService: update initial configurations on init thread. They run
while holding the mLock so no extra synchronization barriers are needed at a
later stage.

Test: manual - device boots without errors
Test: ParallelPackageParserTest passes
Change-Id: I548f34b0a18f61924e09a39afb12e085cde35442
oncurrentUtils.java
e55546a1271894f8e69609db3912024d72a3bf73 19-Dec-2016 Hugo Benichi <hugobenichi@google.com> DO NOT MERGE IP Connectivity metrics: add connect() statistics
am: 2299a1c401

Change-Id: I7ad93b1b3a3446ffd6dce7c0799ddb9a2b43955f
2299a1c4015ac786f49302ad26a586a39a5ba6a1 25-Nov-2016 Hugo Benichi <hugobenichi@google.com> DO NOT MERGE IP Connectivity metrics: add connect() statistics

This patch adds a ConnectStats class to aggregate connect() statistics
gathered in NetdEventListenerService. ConnectStats is uploaded once a
day by IpConnectivityMetrics.

Test: $ runtest frameworks-net + new unit test
Bug: 32198976

(cherry picked from commit 4f71a15973f7048076ed10f63d708f020e1a21e0)

Change-Id: I1450c126b90b628d9f1c73ddf054b4742f5e84c5
okenBucket.java
0d4a398b7846f26e4452180915ecb5a9d4566148 25-Nov-2016 Hugo Benichi <hugobenichi@google.com> IP Connectivity metrics: add connect() statistics

This patch adds a ConnectStats class to aggregate connect() statistics
gathered in NetdEventListenerService. ConnectStats is uploaded once a
day by IpConnectivityMetrics.

Test: $ runtest frameworks-net + new unit test
Bug: 32198976
Change-Id: Iea63339035415513a5ba0ff4b8f4d79f75fc652d
okenBucket.java
21f9e044b319482fccde81742f7895039bc7eeb5 13-Dec-2016 Hugo Benichi <hugobenichi@google.com> DO NOT MERGE TokenBucket for rate-limiting and throttling
am: f6fdb4a552

Change-Id: I82e17c2ed074ae37d469adb1f469b6ff1d6365d2
f6fdb4a55219de8b132810ad4c596ab614c009e8 18-Oct-2016 Hugo Benichi <hugobenichi@google.com> DO NOT MERGE TokenBucket for rate-limiting and throttling

This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.

Test: comes with unit tests.
Bug: 32198637

(cherry picked from commit 998493f0ee39ae0e9ffdea27f48f1b11b0807fcb)

Change-Id: Iaf477c7bb14f8ddb293b7a907e2ab0cf76d09e07
okenBucket.java
05ad47add8796880c5ba18d55ab6d5221f3e708d 18-Oct-2016 Hugo Benichi <hugobenichi@google.com> DO NOT MERGE: TokenBucket for rate-limiting and throttling

This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.

Test: comes with unit tests.
Bug: 32198637

(cherry picked from commit 998493f0ee39ae0e9ffdea27f48f1b11b0807fcb)

Change-Id: I4012ae6d02f7004bceee9a2ba03914f2a2506031
okenBucket.java
694aa9242094600f253123c802d17af51118420a 28-Nov-2016 Hall Liu <hallliu@google.com> Merge "Add removeState method to StateMachine" am: 0310de1136 am: 01106c45ca am: 1a8bdf8bf9
am: a95fc5fea8

Change-Id: I725b9456623d5781eff2c59abaf0d07c25dea252
01106c45cafa18acb16817e8519c9dcf02b32760 28-Nov-2016 Hall Liu <hallliu@google.com> Merge "Add removeState method to StateMachine"
am: 0310de1136

Change-Id: Ib7d8e435c76bc7bcd83d6350c3c0622bb44d6552
b222d2045d00e2a0d368aef0ee05f12c3ec56418 22-Nov-2016 Hall Liu <hallliu@google.com> Add removeState method to StateMachine

Method to be used by BluetoothRouteManager in Telecom.

Test: unit tests in Telecom
Change-Id: Icdd1a3d42224246a5f26100fabb26313ce83b14c
tateMachine.java
f9d13f6d7a6fda22620cd4eab74ec98cafdbd147 09-Nov-2016 Adrian Roos <roosa@google.com> Doze: Add plugin hook

Test: mmm vendor/google_experimental/users/roosa/DozePlugin/
Change-Id: I7ea55954f0c07be932e8ee7037e03b7c01cc1108
otificationColorUtil.java
f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fd 09-Nov-2016 Wale Ogunwale <ogunwale@google.com> Removed WallpaperController dependency on WindowList.

WallpaperController now accesses the container hierarchy directly
to determine the state of the wallpaper windows and targets.

Bug: 30060889
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test \
android.server.cts.ActivityManagerTransitionSelectionTests

Change-Id: Ib70beaf340f257ad4e1093cc127f81e7adf41636
oBooleanFunction.java
9f9bf95deef27d873d499f3d7197a65c84227031 01-Nov-2016 Fyodor Kupolov <fkupolov@google.com> Do not call parseInt if value is empty

Filling in stack trace when creating exception is expensive

Test: non-functional change, device boot ok
Bug: 30792387
Change-Id: Iccca26dec43370971a732068bd4d7053486da7a0
mlUtils.java
998493f0ee39ae0e9ffdea27f48f1b11b0807fcb 18-Oct-2016 Hugo Benichi <hugobenichi@google.com> TokenBucket for rate-limiting and throttling

This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.

Test: comes with unit tests.
Bug: 32198637
Change-Id: Iefde02a0696de93fd2b2d5dc46889e29d269385e
okenBucket.java
433b51db7f189cd7975ef096b75bf92f8b7aa7b3 14-Sep-2016 Erik Kline <ek@google.com> Have WakeupMessage call Handler#dispatchMessage() am: a457ebbda6 am: 3a28cf3f09
am: 9a07b75ba2

Change-Id: I81d928aac618c164080090c9483e32672fdd922a
9a07b75ba265eefa2fe729bd8e6212947829beed 13-Sep-2016 Erik Kline <ek@google.com> Have WakeupMessage call Handler#dispatchMessage() am: a457ebbda6
am: 3a28cf3f09

Change-Id: I9faf0c745044cb468c19078409e24b5aacdc0661
4171cdf303c24704c2412653fd0eccb21a487e8e 07-Jun-2016 Lorenzo Colitti <lorenzo@google.com> Give WakeupMessage the ability to transport an object as well. [DO NOT MERGE]

(cherry-pick of commit eab17da5882e59caff25c73aa6bcd0587aca9dd4)

Bug: 23113288
Change-Id: Ic98e3bcb3ea8b0b28a309bd647fb4178311c46a3
akeupMessage.java
a457ebbda6c84d5f6abd055828ef02ceaf809c08 31-Aug-2016 Erik Kline <ek@google.com> Have WakeupMessage call Handler#dispatchMessage()

Handler has no fewer than three ways by which a message might be
handled:

[1] the msg itself contains a callback (msg.callback.run())

[2] the Handler was instantiated with a Handler.Callback
(mCallback.handleMessage(msg))

[3] the Handler instance was a subclass and could have
overridden handleMessage()

Handler#dispatchMessage() tries to find the correct way to dispatch
a message, check the above in the above order.

Bug: 21859053
Change-Id: I284cf7ace93af167d95d13b297ec42d4bed15992
akeupMessage.java
722de5f9d0bbac21fb0d132669fcc317e2c6703f 30-Aug-2016 Mitchell Wills <mwills@google.com> DO NOT MERGE Manually merge commit 'f28778064383821ccf48c9570191f34a24aa513f' into nyc-mr1-dev-plus-aosp

Change-Id: I7cb1f97a5b931c2057a811d7947f47ad7320ef1c
07e317c3cd9fe38954813b75ac582dd64f0c41f1 11-Aug-2016 Mitchell Wills <mwills@google.com> Add Log.wtf when transitionTo is used improperly

Using transitionTo in exit/enter (except in the terminal state) is
documented as undefined behavior and may cause unexpected results.
The current implementation appears to finish the current transition and
then transition to the new target state.

TEST=flash and play with the phone, no sign of immediate WTFs

Change-Id: I38a34b85c43d53c51514339587fc1269a069a454
(cherry picked from commit 8d3ed21583a8d83047cee1735cf669e131809e73)
tateMachine.java
009ae995828c8951242533b20e5f7d6e514a8c1a 09-Aug-2016 Mitchell Wills <mwills@google.com> Reenable the unit tests for StateMachine

In order to make the tests run a few methods must be made public so that
they can be called from a class loaded by a different class loader.

Fixed: 28217358
Change-Id: I98ce1e952a78528ae6ebd3a0e843c9ddfe937337
(cherry picked from commit 36afe5b5cc000620d77150437ba21503c44c87eb)
tateMachine.java
934535bfe5d2cae68b06b2ca17c478028e62eb87 13-May-2016 Rebecca Silberstein <silberst@google.com> DO NOT MERGE StateMachine: remove final from SendMessage

Removed final from public sendMessage and sendMessageDelayed commands to
unblock unittest development. This allows tests to verify calls to
sendMessage and sendMessageDelayed.

Also fixed one checkstyle error with import order.

BUG: 28593024
Change-Id: I26e02c3d75049d385ded7891c4fc9967273c27be
TEST: builds
TEST: runtest frameworks-wifi
(cherry picked from commit 0dbeb9e01a7041cbee61b8db7eb8d7562c2a3e6c)
tateMachine.java
820f592220bcc77c7a698f16e780583b1aacd23d 31-May-2016 Roshan Pius <rpius@google.com> XmlUtils: Add missing readThisByteArrayXml method

Add the missing XML to byte array conversion method.

While there,
1. Fix writeByteArrayXml method to store the hex chars of the value.
2. Cleanup couple of error strings in |readThisIntArrayXml| method.

BUG: 29039296
Change-Id: I6386f7df7c5c8b7bc3bc5a268196da617209cea9
TEST: Compiles & manual testing.
(cherry picked from commit 651209b597734d34768fbb69ebf982b483167fd5)
mlUtils.java
8d3ed21583a8d83047cee1735cf669e131809e73 11-Aug-2016 Mitchell Wills <mwills@google.com> Add Log.wtf when transitionTo is used improperly

Using transitionTo in exit/enter (except in the terminal state) is
documented as undefined behavior and may cause unexpected results.
The current implementation appears to finish the current transition and
then transition to the new target state.

TEST=flash and play with the phone, no sign of immediate WTFs

Change-Id: I38a34b85c43d53c51514339587fc1269a069a454
tateMachine.java
36afe5b5cc000620d77150437ba21503c44c87eb 09-Aug-2016 Mitchell Wills <mwills@google.com> Reenable the unit tests for StateMachine

In order to make the tests run a few methods must be made public so that
they can be called from a class loaded by a different class loader.

Fixed: 28217358
Change-Id: I98ce1e952a78528ae6ebd3a0e843c9ddfe937337
tateMachine.java
8d717fa1cbd746d94e9017eb7750a7452753a437 22-Jul-2016 Selim Cinek <cinek@google.com> Changed the appearance of fullscreen intent notifications again am: 981962e6ad
am: 3f769aba2a

Change-Id: I40a477fc28fb0205d40aa352c5b720835d4bf4f8
3f769aba2a23e6c9fba3f0e9bf97cbfd6e4354af 22-Jul-2016 Selim Cinek <cinek@google.com> Changed the appearance of fullscreen intent notifications again
am: 981962e6ad

Change-Id: Ib26d711e48aaff99a4e64e86feb67dbf987d67e2
981962e6ad04725ebbf1b728afde2bdc7706290f 21-Jul-2016 Selim Cinek <cinek@google.com> Changed the appearance of fullscreen intent notifications again

Change-Id: I511356a8dc0fe253541c625fb7b43ed0c7bafaca
Fixes: 28269355
otificationColorUtil.java
8e1ed51e515eb85282b5360197826cafae4ffb82 18-Jul-2016 Felipe Leme <felipeal@google.com> Merge "Added missing copyright notice."
7c2097fb1f0283c58696ccd1042104f3b3ee4488 14-Jul-2016 Selim Cinek <cinek@google.com> Merge \"Merge changes I56d6be69,Ibf8f9b26 into nyc-mr1-dev am: a7ebd4f4bb\" into nyc-mr1-dev-plus-aosp
am: 36c6cf1bdc

Change-Id: I5ecebb835b60f163ad1d6cdff41b30c5590eb8cc
46aeea5dc1508af059a11df5809d0b70d21fda04 14-Jul-2016 Selim Cinek <cinek@google.com> Merge changes I56d6be69,Ibf8f9b26 into nyc-mr1-dev
am: a7ebd4f4bb

Change-Id: Id3ffe5addb5e036eeda993d8dd6603b88c785804
06e9e1fe004d668eb205590ff125c10f97285e3b 09-Jul-2016 Selim Cinek <cinek@google.com> Changed the appearance of phone call notifications

Change-Id: Ibf8f9b266428fdd5374ee824ec4c2df10daeb9a7
Fixes:28269355
otificationColorUtil.java
3fd8c801ba740067cbc48e6d2210e16db95e80d2 06-Jul-2016 Daniel Nishi <dhnishi@google.com> resolve merge conflicts of 7145cac to master

Change-Id: Idd0a8de30697687309953fd37b568207d2fc0be8
7145cace64303c077a85ffe8606c51390f9ad71d 06-Jul-2016 Daniel Nishi <dhnishi@google.com> Merge \"Move the MIME type icon detection into the platform.\" into nyc-mr1-dev
am: 9459f93c97

Change-Id: I151a72b8ee1c16ef94da70e85378dd44b4ac077c
c29d2b04927b9d28089d79cbaa63a6a91db1bb5a 30-Jun-2016 Daniel Nishi <dhnishi@google.com> Move the MIME type icon detection into the platform.

This allows the MIME type icons to be used in other system apps.
In this instance, the StorageManager app needs to show file icons
for a given file. By moving the icon mapping into a static library,
we can avoid duplicating the mapping and resources.

Bug: 29826961
Change-Id: Ic2dc7970cc5a5ca430e33425eb9f1ecbd733fe9a
imeIconUtils.java
62cb9dbf4709951003c4df6d4455db9fd7e3d921 29-Jun-2016 Rebecca Silberstein <silberst@google.com> Merge changes from topic \'cherrypickWifiWatchdogResetOnTrigger\' into nyc-mr1-dev
am: b2f17f1bbb

Change-Id: Ic723498b7b486edd8f63822cb86127486a5c4657
0dbeb9e01a7041cbee61b8db7eb8d7562c2a3e6c 13-May-2016 Rebecca Silberstein <silberst@google.com> DO NOT MERGE StateMachine: remove final from SendMessage

Removed final from public sendMessage and sendMessageDelayed commands to
unblock unittest development. This allows tests to verify calls to
sendMessage and sendMessageDelayed.

Also fixed one checkstyle error with import order.

BUG: 28593024
Change-Id: I26e02c3d75049d385ded7891c4fc9967273c27be
TEST: builds
TEST: runtest frameworks-wifi
tateMachine.java
2f310da52e95dd86859d44ae43e9fcae0d0f11a8 08-Jun-2016 Lorenzo Colitti <lorenzo@google.com> Merge changes Ic98e3bcb,Idb0c55fc,Ia8649061,I5e7e5a87 into nyc-mr1-dev am: 3e2bfbd135
am: 3feff1367b

Change-Id: I776625bbc557c747477db70235847dd8b3ab8baf
3feff1367b7189405acd521d61a4270daa804c7b 08-Jun-2016 Lorenzo Colitti <lorenzo@google.com> Merge changes Ic98e3bcb,Idb0c55fc,Ia8649061,I5e7e5a87 into nyc-mr1-dev
am: 3e2bfbd135

Change-Id: I2305c4019f56896d741caa509df41416368e5642
3e2bfbd1357e3795d87becddcb74415d91192347 08-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes Ic98e3bcb,Idb0c55fc,Ia8649061,I5e7e5a87 into nyc-mr1-dev

* changes:
Give WakeupMessage the ability to transport an object as well.
Don't treat the lingerExpired broadcast specially.
Add a test for mobile data always on.
Add a FakeSettingsProvider and use it in ConnectivityServiceTest.
eab17da5882e59caff25c73aa6bcd0587aca9dd4 07-Jun-2016 Lorenzo Colitti <lorenzo@google.com> Give WakeupMessage the ability to transport an object as well.

Bug: 23113288
Change-Id: Ic98e3bcb3ea8b0b28a309bd647fb4178311c46a3
akeupMessage.java
f55d83b5373bc1c96f3a7e871dd6acbca2cd2a90 08-Jun-2016 Andreas Gampe <agampe@google.com> Merge \\\"Frameworks/base: Fix FastPrintWriter infinite loop\\\" into nyc-dev am: c82a2b5358 am: 89b7934905
am: a2fe97ffa4

Change-Id: Ib3aaf7cd081cbd3e4361e9328c880fa59838b0b4
a2fe97ffa40043e427d2ce63f92eca8a47876a0d 08-Jun-2016 Andreas Gampe <agampe@google.com> Merge \\"Frameworks/base: Fix FastPrintWriter infinite loop\\" into nyc-dev am: c82a2b5358
am: 89b7934905

Change-Id: Idaa84ae75512929656f63318db819232f42d91f7
66c2bfcede0c14b0bca9894266cd01c119eddf45 08-Jun-2016 Andreas Gampe <agampe@google.com> Merge \"Frameworks/base: Fix FastPrintWriter infinite loop\" into nyc-dev
am: c82a2b5358

Change-Id: I3da283b088e2e0d689ac35d634823497fa2fece1
ce78b9e1146ce204605fb179f10c842644fea61d 08-Jun-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Fix FastPrintWriter infinite loop

Check for error condition in loop.

Bug: 29123428
Change-Id: I361ed27ecb8f05512d7e17f8045f3d34667d32d8
astPrintWriter.java
dec9200cc76a1e465c97cc078a9927984058678f 07-Jun-2016 Felipe Leme <felipeal@google.com> Added missing copyright notice.

Change-Id: I8f6fdc59492660130653a95f178b2ea750881ebd
astPrintWriter.java
db8dee7f9e67189de59f72185761d752f0c7fc97 02-Jun-2016 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #29042642: Watchdog going off" into nyc-dev am: 5a6cf3ac9a am: c9aaec43a6
am: 1d185fbad7

* commit '1d185fbad7bbd1139039283b642655b150884108':
Work on issue #29042642: Watchdog going off

Change-Id: I659acd8ca9d2b1ddd7992d1c079dd968e60befad
c9aaec43a6ff487ff19e5fdb1871efb268b0592b 02-Jun-2016 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #29042642: Watchdog going off" into nyc-dev
am: 5a6cf3ac9a

* commit '5a6cf3ac9a3945c2d1f0e5e28ffda9e52124eb15':
Work on issue #29042642: Watchdog going off

Change-Id: Ic0c08c2ab1c0e7b1cc195928492ab4c0eaef782f
9b78db41a0f2230001535b3ca33a3ebc31e6c6c1 02-Jun-2016 Dianne Hackborn <hackbod@google.com> Work on issue #29042642: Watchdog going off

Have FastPrintWriter note all cases where an exception is
thrown, and stop trying to push more data into the output
stream when this happens.

Change-Id: I51a1eeb26578f02b2a6f45ef7bc2513dfde702a2
astPrintWriter.java
651209b597734d34768fbb69ebf982b483167fd5 31-May-2016 Roshan Pius <rpius@google.com> XmlUtils: Add missing readThisByteArrayXml method

Add the missing XML to byte array conversion method.

While there,
1. Fix writeByteArrayXml method to store the hex chars of the value.
2. Cleanup couple of error strings in |readThisIntArrayXml| method.

BUG: 29039296
Change-Id: I6386f7df7c5c8b7bc3bc5a268196da617209cea9
TEST: Compiles & manual testing.
mlUtils.java
4647732c9b4be62b164c2448dc6a8b2ebae31a02 17-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Ensure app op restrictions reset when the app that set them dies." into nyc-dev am: 008d73bd5b am: 4f968024f4
am: c653375758

* commit 'c6533757587f28efdabc7d040750a9bed3062063':
Ensure app op restrictions reset when the app that set them dies.

Change-Id: Ic268c41a8867e26982d21a258d22a195e1c171c7
4f968024f4822155e8428b9e5d8aea3114687412 17-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Merge "Ensure app op restrictions reset when the app that set them dies." into nyc-dev
am: 008d73bd5b

* commit '008d73bd5b3ca4b1b7a8af61957759d65dd67e3b':
Ensure app op restrictions reset when the app that set them dies.

Change-Id: I177256a7f65b3f5c98e5ddc5cf57a7cb47c965ab
a8bbd76d9b5249c64ef31aa162e9a84abaad39ba 14-May-2016 Svetoslav Ganov <svetoslavganov@google.com> Ensure app op restrictions reset when the app that set them dies.

We were not keeping track when an app that set an app op restriction
dies to clean up after that. As a result we may end up with stale
restrictions that will be there until the device reoots - not cool.
This change adds remote binder death tracking and simplifies the
code as adding the formed would have made more complex.

bug:28770536

Change-Id: I7dcaafba2354843a0cdf0206ab1f96625edc5120
rrayUtils.java
04c78438107c2c4c98980ae32c2d5a8a463e2231 13-May-2016 Rebecca Silberstein <silberst@google.com> StateMachine: remove final from SendMessage

Removed final from public sendMessage and sendMessageDelayed commands to
unblock unittest development. This allows tests to verify calls to
sendMessage and sendMessageDelayed.

Also fixed one checkstyle error with import order.

BUG: 28593024
Change-Id: I26e02c3d75049d385ded7891c4fc9967273c27be
TEST: builds
TEST: runtest frameworks-wifi
tateMachine.java
9071cacdbe6896e332994b3c2948ffb93019938a 06-May-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #28602068: Add count to job scheduler stats" into nyc-dev
am: d90be6cccc

* commit 'd90be6cccca683e34566f5550ebb34f1c8e75b69':
Fix issue #28602068: Add count to job scheduler stats

Change-Id: I2671260e69f3a3b07fd183fa97c274bea7520aca
5a969aa1391203e09dee3146fc31b395de36344e 05-May-2016 Dianne Hackborn <hackbod@google.com> Fix issue #28602068: Add count to job scheduler stats

Also increase the event buffer size to 100, and implement
it as a real ring buffer. And put that implementation in
a generic class for use in other places.

Change-Id: I06936984e2c253fb5f0eb5d15faf0019ec73d4e2
ingBufferIndices.java
b0800dce4abdca9aeef1cf72018906c2476c4c6b 21-Apr-2016 Tobias Thierer <tobiast@google.com> Avoid instantiations of Boolean that are immediately unboxed.

Replaced Boolean.valueOf() -> parseBoolean() across frameworks/base
(not including Am.java, which I'm leaving for a separate change).

Also fixed a couple of other valueOf()s in SyncStorageEngine.

Bug: 28289401
(cherry-picked from commit ca0182073530a237babe65b9ec7a9b41e667f8d1)
Change-Id: I2c6fb39a465885e7e625ed8894b1b9f8a30da5bc
mlUtils.java
17804abf32a1a1652b91eca159e11e431709fd43 19-Apr-2016 Samuel Tan <samueltan@google.com> Merge "StateMachine: reset LogRecords.mOldestIndex in LogRecords.setSize" into nyc-dev
am: e749cd3

* commit 'e749cd3b15bb14e6dc4ff2724ec1ed56ba269b4c':
StateMachine: reset LogRecords.mOldestIndex in LogRecords.setSize

Change-Id: I6c1091f9374d759da67a72703e1f688b8cd1f13d
e749cd3b15bb14e6dc4ff2724ec1ed56ba269b4c 19-Apr-2016 Samuel Tan <samueltan@google.com> Merge "StateMachine: reset LogRecords.mOldestIndex in LogRecords.setSize" into nyc-dev
4dc65d31a1c6c974a76d36732199a66a61db3289 19-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Unlock should always wait for pending PRE_BOOT." into nyc-dev
am: 89fa73f

* commit '89fa73fd7abe0f87634d2914163a8fc79ba2f738':
Unlock should always wait for pending PRE_BOOT.

Change-Id: I0043da18fabef2c5c916a2e5562d9e613c2b057c
84a4c971c484f05f2a2494d6353f36f4d954a5e0 18-Apr-2016 Jeff Sharkey <jsharkey@android.com> Unlock should always wait for pending PRE_BOOT.

While processing an unlock request, we might go async to handle
long-running operations like dispatching PRE_BOOT_COMPLETED. This
change ensures that all unlock requests for a particular user wait
in line behind any pending async operations.

Without this CL, any subsequent unlock requests would immediately
return successful, even though PRE_BOOT_COMPLETED events were still
being processed.

Bug: 28240584
Change-Id: I307d6aaebfb8f38028f3666a2e19e4399b7cf3a7
rogressReporter.java
2326e9b21c4a332e00f9709606089a1e6d0e11eb 15-Apr-2016 Samuel Tan <samueltan@google.com> StateMachine: reset LogRecords.mOldestIndex in LogRecords.setSize

Reset LogRecords.mOldestIndex when we resize LogRecords with
LogRecords.setSize(), so that LogRecords.get() will use the
correct index to fetch log records.

BUG: 28214608
Change-Id: I58d94d9fe61af6a0e9cba224ff98aad36eb3cd1d
tateMachine.java
73ab8fd683a5c2d363952cf6d30be04c85537530 11-Apr-2016 Lorenzo Colitti <lorenzo@google.com> Merge changes Ic2c84de7,I379aef92 into nyc-dev
am: b89d33e

* commit 'b89d33ee4467161cb270d765bd873efab781004d':
Remove duplicated code in NetworkStateTrackerHandler.
Improve Tethering and NativeDaemonConnector logging.

Change-Id: I52159cd2e94d951699c21be656782b45b19f03d7
b89d33ee4467161cb270d765bd873efab781004d 11-Apr-2016 Lorenzo Colitti <lorenzo@google.com> Merge changes Ic2c84de7,I379aef92 into nyc-dev

* changes:
Remove duplicated code in NetworkStateTrackerHandler.
Improve Tethering and NativeDaemonConnector logging.
cd63d247f08eddd506a679ffa244d6ac6c4742b1 10-Apr-2016 Lorenzo Colitti <lorenzo@google.com> Improve Tethering and NativeDaemonConnector logging.

1. Deduplicate the Tethering message numbers, and use MessageUtils
to convert them to strings.
2. Add a warning to NativeDaemonConnector when an unsolicited
event is more than 500ms late or takes more than 500ms to
process.

Bug: 27857665
Change-Id: I379aef9257027d1ccf30906e79c6389ef1f95420
rotocol.java
5573294808e7c20b774e6b40e35fac5300707baf 11-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Use inode numbers for CE storage." into nyc-dev
am: 2e3ce4c

* commit '2e3ce4ca462c8d5f0ebea9ba39246d949fff85fd':
Use inode numbers for CE storage.

Change-Id: I30229864f33d9d3835aa6bdf8840e7fbaedc39ee
4288419787120ce85a241a4b315d7d2123aa2d4a 10-Apr-2016 Jeff Sharkey <jsharkey@android.com> Use inode numbers for CE storage.

Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app. To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations. Collect and store the inode number in
PackageUserState for future use when that user's CE storage is
still locked. This design means it's safe to clear/destroy app
data in both CE/DE storage at the same time.

Move most installd-related methods to a uniform calling convention
that accepts a single parent PackageParser.Package, and internally
fans out to handle all "leaf" packages under that parent.

In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together. So now we only have a single
path to measure for code size. This fixes several outstanding bugs
that were causing sizes to be miscounted for apps supporting multiple
architectures.

Fix a subtle bug in PackageSettings that would cause "notLaunched"
to be parsed incorrectly.

Bug: 27828915, 27197819
Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
rrayUtils.java
ec0a5e0bead4ae51b60a02fad3a9fcedbfb2f461 06-Apr-2016 Makoto Onuki <omakoto@google.com> Merge "Make FastXmlSerializer more suitable to persist arbitrary strings" into nyc-dev
am: ca94f29

* commit 'ca94f29366b9b6e3211351c2d098060114ef5fa8':
Make FastXmlSerializer more suitable to persist arbitrary strings

Change-Id: Ib9a061aaad82054c0060cbc2b84118a71d1c098b
3ae3557ea3a9ad8429de9db14de62a4214a07cdc 06-Apr-2016 Makoto Onuki <omakoto@google.com> Make FastXmlSerializer more suitable to persist arbitrary strings

- Encode '\u000' - '\u001F', so KXmlParser can read them properly.
Otherwise KXmlParser will ignore CRs/LFs in attributes, and CRs
in text.

- Originally FastXmlSerializer would throw if a string contains
dangling surrogate pairs. Now we REPLACE them with.

Bug 27792649

Change-Id: I10c547dad2475b68f60e9e8208d9a3eae8e20063
astXmlSerializer.java
47814b082929c3d4ac9eda2f9cd7678ae4f0f0fb 02-Apr-2016 Chong Zhang <chz@google.com> Merge "Avoid extra relaunch when rotating side-by-side apps" into nyc-dev
am: fbe10f1

* commit 'fbe10f175fa3cb2083d15b4dbfb05c6f223d7f2c':
Avoid extra relaunch when rotating side-by-side apps

Change-Id: I1f58f668a9593571b26d9c8c9692cd625e9679a8
fbe10f175fa3cb2083d15b4dbfb05c6f223d7f2c 01-Apr-2016 Chong Zhang <chz@google.com> Merge "Avoid extra relaunch when rotating side-by-side apps" into nyc-dev
167bbfac24b1e78576b18c0522218838dfdf57bb 31-Mar-2016 Chong Zhang <chz@google.com> Avoid extra relaunch when rotating side-by-side apps

Update configuration with WM first and check if the stacks need to be
resized due to the update. If so, let activity manager resize the stacks
inline, instead of letting WM schedule another pass of resizeStack. This
way the configuration will be updated to the latest before ensureActivity-
ConfigurationLocked, and we don't need another relaunch there.

bug: 27834014

Change-Id: Ib761a96cada0c3247b0480f18370670c593159da
rrayUtils.java
2d9616511af40a6b100e1330e581bb4949018db3 01-Apr-2016 Philip P. Moltmann <moltmann@google.com> Merge "Make sure PrintDocumentInfo is always sane." into nyc-dev
am: 4f05eb1

* commit '4f05eb194cf3f2c7c518d643d29906d4c7d246de':
Make sure PrintDocumentInfo is always sane.

Change-Id: I48ac9dce7a84a9926b3756f0f190d05799ffdaad
4f05eb194cf3f2c7c518d643d29906d4c7d246de 01-Apr-2016 Philip P. Moltmann <moltmann@google.com> Merge "Make sure PrintDocumentInfo is always sane." into nyc-dev
613eac8d76e6bf185ce0a381522b74d1d13e27c4 01-Apr-2016 Wei Wang <weiwa@google.com> Merge "Add death monitor to AsyncChannel Server." into nyc-dev
am: 3054d01

* commit '3054d010327f8888919d7e0a97d63773dd015681':
Add death monitor to AsyncChannel Server.

Change-Id: I949160fa577caf42c02fbd07270e20c56cc2803a
3054d010327f8888919d7e0a97d63773dd015681 01-Apr-2016 Wei Wang <weiwa@google.com> Merge "Add death monitor to AsyncChannel Server." into nyc-dev
19c4883c850c2d1628e844b48778856673d8bfe6 28-Mar-2016 Wei Wang <weiwa@google.com> Add death monitor to AsyncChannel Server.

Bug:27878941
Change-Id: Ia6d12b49979b47434db7969372d6c02f799bc7d4
syncChannel.java
4723f36d3e93ce4585233de31c72143a46b657f7 30-Mar-2016 Philip P. Moltmann <moltmann@google.com> Make sure PrintDocumentInfo is always sane.

Change-Id: I73cf554d42dc33b7a1f6577088ec53b447f14c8c
reconditions.java
fa04bc7a5d49415bc7cd397bb9678316d3824f85 31-Mar-2016 Philip P. Moltmann <moltmann@google.com> Merge "Add the print service recommendation service" into nyc-dev
am: 740a5f0

* commit '740a5f023eea7b2fdb3e31efe8b8d5ac18aa8302':
Add the print service recommendation service

Change-Id: Ie58ade9356f591781496581259b6d8a876780ac9
9dcb86a48d73f399fb1b5c020005d76d350eeac2 14-Mar-2016 Philip P. Moltmann <moltmann@google.com> Add the print service recommendation service

This service connects through the print manager to the print spooler:

PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl

Hence there is a lot of mindless plumming.

The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.

The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.

This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.

Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
reconditions.java
bef5aad065fd2f5f222ac14a8d063d12348c7c34 27-Mar-2016 Jeff Sharkey <jsharkey@android.com> Update PRE_BOOT_COMPLETED for FBE.
am: bd91e2f

* commit 'bd91e2f3f6aca512a02be645b2515b5e3331e177':
Update PRE_BOOT_COMPLETED for FBE.
bd91e2f3f6aca512a02be645b2515b5e3331e177 22-Mar-2016 Jeff Sharkey <jsharkey@android.com> Update PRE_BOOT_COMPLETED for FBE.

Now that CE data isn't available until after a user is unlocked, we
need to delay the PRE_BOOT_COMPLETED broadcasts. This is done by
adding a new RUNNING_UNLOCKING user state to the UserController
lifecycle.

We now track the last fingerprint a user was logged in under, and we
dispatch PRE_BOOT receivers when that fingerprint changes. To work
around battery pull issues, we only persist the updated fingerprint
once all PRE_BOOT receivers have finished. This is less granular
than the original solution, but it's still correct. We only consider
a user as "logged in" once it transitions into the RUNNING_UNLOCKED
state.

When starting a process, track if the user was "unlocked" when
started, so that we only spin up unaware providers in processes
started before user unlock.

Add generic IProgressListener to communicate PRE_BOOT progress and
strings up to lock screen. For now, LockSettingsService just blocks
until finished, but it could display these strings in the future.

Bug: 27220885
Change-Id: I349439776b885acd32f6a578d8951ffd95640be2
rogressReporter.java
228f051748088c8831064b72c6ca4064840e215b 25-Mar-2016 Griff Hazen <griff@google.com> Merge "Detect ranchu as emulator" into nyc-dev
am: b63188d

* commit 'b63188de43c57174cccc1dc4c9b1df94828047e0':
Detect ranchu as emulator
b63188de43c57174cccc1dc4c9b1df94828047e0 25-Mar-2016 Griff Hazen <griff@google.com> Merge "Detect ranchu as emulator" into nyc-dev
e3221b5488aad3898abac47f6e28f4779c54543b 25-Mar-2016 Philip P. Moltmann <moltmann@google.com> Merge "Change hasCustomPrintIcon and setStatus as requested by API council." into nyc-dev
am: ebf3976

* commit 'ebf397625ea5ee41af531da251d8d0cb89c26beb':
Change hasCustomPrintIcon and setStatus as requested by API council.
d3c454db291e2780c4ad5fe8b5d9e8ce3fbea114 25-Mar-2016 Griff Hazen <griff@google.com> Detect ranchu as emulator

Bug: 27780791

Change-Id: I23e5511acfba22260714874baf5e9380480b22bf
creenShapeHelper.java
d74d1e549168ba521e8009961b76e8718be37aa1 18-Mar-2016 Philip P. Moltmann <moltmann@google.com> Change hasCustomPrintIcon and setStatus as requested by API council.

Bonus: null advanced keys produced a exception deep in the print
spooler. Hence prevent null keys on the surface from now on.

Bug: 27716355
Change-Id: I3c064956f4e670cd7091437ade06605aa8d797b0
reconditions.java
e933de8e769fb78d8af8b965d329ab91bccdbd15 23-Mar-2016 Adrian Roos <roosa@google.com> Merge "Ensure notification color contrast" into nyc-dev
am: 9b95f61

* commit '9b95f615c45b2dac053aa45d881f6a4b3c301342':
Ensure notification color contrast
4ff3b120ff8a788e3afeb266d18caf072f0b8ffb 01-Feb-2016 Adrian Roos <roosa@google.com> Ensure notification color contrast

Ensure we have at least 3:1 contrast for the
action buttons. Also ensures that the inline
reply box background has 4.5:1 contrast to white.

Further modifies the color of the inline reply
background to satisfy a 4.5:1 contrast ratio for
the entered text.

Bug: 26831312
Change-Id: If42b1c99d1adee547d0a583c1a69c48ef7287c23
otificationColorUtil.java
0dbdcead0a86c7fb0c32681c4d2d719195621df6 16-Mar-2016 Ian Rogers <irogers@google.com> Merge "Extra generic type information to aid certain javacs."
am: 8b9e56e

* commit '8b9e56e043d74249be8230db653c65d3ade94873':
Extra generic type information to aid certain javacs.
9b222c8fda48f87ad05338c74eb13e80738e194e 16-Mar-2016 Ian Rogers <irogers@google.com> Extra generic type information to aid certain javacs.

In particular this is needed for the code to compile using the error prone
analyzer.

Change-Id: I09904705ced909ead750cb30d0f96c994132a51c
redicates.java
082614c6a57a115ee0c5975e3579bf34a178c0f8 04-Mar-2016 Adam Lesinski <adamlesinski@google.com> Cache per-Activity Resources objects

Each Activity has a Resources object whose underlying state changes
when a configuration change occurs, both global and for that activity only (multi-window).
Views and other clients of the Resources object can safely cache it knowing that
they always have a reference to the most up-to-date resources.

This applies to Resources.Theme objects as well.

Bug:26854894
Change-Id: Ifd3da5a1086e17f747dfc265a447fe92a3a5c692
rrayUtils.java
3e1958936e9fbf853269200c00f8506d84d1a64d 06-Mar-2016 Jeff Sharkey <jsharkey@android.com> Skip publishContentProviders() when we have zero.

If the list of providers for the application being bound is empty,
don't bother trying to register them.

Bug: 27510621
Change-Id: I921fb70a4c97433fa123fa88e170745ee013ee35
rrayUtils.java
e7636e47504034c048872f251a0a7cb240017b31 20-Feb-2016 Lorenzo Colitti <lorenzo@google.com> Make it easier to test code that uses WakeupMessage.

Code that uses WakeupMessage uses the AlarmManager. Testing such
code is slow because AlarmManager.MIN_FUTURITY ensures that
alarms must wait at least 5 seconds before firing.

This change makes WakeupMessage's fields protected so that test
code can subclass from it and override schedule() and cancel()
with implementations that do not use AlarmManager, for example
by making schedule() call sendEmptyMessageDelayed and making
cancel() call removeMessages.

Change-Id: I51096b182d9eb87cc7bd46c3c91906f18356b354
akeupMessage.java
ebc106cb719c1356d7ffea1fa6b6fa95644647c7 26-Feb-2016 Mitchell Wills <mwills@google.com> Merge "Modify WakeupMessage to only send the message if not canceled" into mm-wireless-dev
am: 9505e0ac3f

* commit '9505e0ac3f6bef7ad850f3b6fc9ec576b65b1e55':
Modify WakeupMessage to only send the message if not canceled
634c1f9d0d43c7874ea433188b45fdf944d98a5a 19-Feb-2016 Mitchell Wills <mwills@google.com> Modify WakeupMessage to only send the message if not canceled

Change-Id: I9ca6d3726fe25c706b644bf61119837a7cbe6db1
akeupMessage.java
2a452d48d5bf05bf1a3edc762a0140738102a938 23-Feb-2016 Lorenzo Colitti <lorenzo@google.com> Merge "Add a unit test for MessageUtils." into mm-wireless-dev
am: 6f027b4f06

* commit '6f027b4f0651837877e0f291bbf121436dfe3958':
Add a unit test for MessageUtils.
f979012c9b5891254177dae965b2b64d70b8c283 20-Feb-2016 Lorenzo Colitti <lorenzo@google.com> Add a unit test for MessageUtils.

Also fix a couple of issues in the code:

1. Check that fields are static before attempting to read them.
Currently, if a non-static field's name starts with one of the
specified constant prefixes (by default, "CMD_" and "EVENT_")
we'd get an NPE.
2. Only read final fields.

Change-Id: I0e07c4c27a66180cbaf7f2b1c235daafc080863b
essageUtils.java
019fb9f4e419da4aacfac17ea89112a2f410ecf5 19-Feb-2016 Mitchell Wills <mwills@google.com> Merge "DO NOT MERGE Add a new WakeupMessage class" into mm-wireless-dev
a2a9ab947f248f35bafb9dd74b46016c3aa31820 19-Feb-2016 Lorenzo Colitti <lorenzo@google.com> Add a MessageUtils class to convert int constants to strings.
am: d2457a3ee3

* commit 'd2457a3ee39ea55ed8e302bd93feede793cb5055':
Add a MessageUtils class to convert int constants to strings.
e9ae977322d40eff94fcbe3fad186cd082a577b6 02-Dec-2015 Lorenzo Colitti <lorenzo@google.com> DO NOT MERGE Add a new WakeupMessage class

This is useful when using the new AlarmManager direct callback
interface to wake up the system and request that an object whose
API consists of messages (such as a StateMachine) perform some
action.

In this situation, using AlarmManager.onAlarmListener by itself
will wake up the system to send the message, but does not
guarantee that the system will be awake until the target object
has processed it. This is because as soon as the onAlarmListener
sends the message and returns, the system is free to go to sleep
again.

Bug: 20157436
Bug: 25823676
Cherry-picked WakeupMessage.java from 9d3aadb24778cc36a350a04b088d2ed7ee3790e1
Change-Id: Idff20029d287f26347441a2523b7fb20eda6a8b0
akeupMessage.java
d2457a3ee39ea55ed8e302bd93feede793cb5055 17-Feb-2016 Lorenzo Colitti <lorenzo@google.com> Add a MessageUtils class to convert int constants to strings.

This class uses reflection to find accessible static integer
members in a specified list of classes and returns a SparseArray
mapping the integers to their names. This will allow us to
replace various 400-line switch statements with a simple
array access.

Change-Id: I3607e6389a423cde0bd83270c00b3c863ae1bb29
essageUtils.java
bc163f07ee77b6f2b6cee02156935eab476b19a8 18-Feb-2016 Erik Kline <ek@google.com> Add Protocol.BASE_ETHERNET
am: ca4c61aa9f

* commit 'ca4c61aa9f7396a167202ea83f4d02f7f62ba482':
Add Protocol.BASE_ETHERNET
ca4c61aa9f7396a167202ea83f4d02f7f62ba482 18-Feb-2016 Erik Kline <ek@google.com> Add Protocol.BASE_ETHERNET

Change-Id: I4e51370c0b53d9902eea8aae409f9f7cffaf28ad
rotocol.java
1a5ee776ee51ae6fba30c8f3b33e26eb7f9dedc6 13-Feb-2016 Makoto Onuki <omakoto@google.com> Don't allow deactivating DAs when the user is not unlocked

Bug 27149570

Change-Id: I772d9cbd6edc822c8f7b1988905b702e05e674cd
reconditions.java
f72cc9437b7592980003050c492526c660dc5b14 11-Feb-2016 Andreas Gampe <agampe@google.com> Frameworks/base: Fix LineBreakBufferedWriter

In case of writing single character, check against the buffer length,
not the maximum buffer size.

Bug: 27099774
Change-Id: I83d49ea74cc3d25342ec540b654d3dc68e4e802e
ineBreakBufferedWriter.java
35871f2c2bb114806b4e3f109960b7f863d7885c 30-Jan-2016 Jeff Sharkey <jsharkey@android.com> Offer to migrate databases and SharedPreferences.

Databases and SharedPreferences often involve multiple files under
the hood, so developers wanting to migrate them between different
storage contexts should ask us to make sure all relevant files are
migrated correctly.

This makes a best-effort attempt to recover from battery pulls
during migration, while still trying to alert developers to
conflicting files.

Bug: 26668510, 25860525
Change-Id: I9ffa3e8cb6191dfd4237b9466a081d6d77df3ba0
rrayUtils.java
dbee9bb342cdfaa5155b1918f90262c05e2464cb 15-Dec-2015 Teng-Hui Zhu <ztenghui@google.com> Gradient for VectorDrawable's fill and stroke

Add ComplexColor interface for both GradientColor and ColorStateList.
Set up constant state, factory, theme attrs for GradientColor, while
refactoring the ColorStateList's similar code. (Functionality in CSL should
be the same).

Support themeing in both the root and item level in GradientColor.
For example, both startColor in <gradient> tag or color in <item> tag can
have theme color.
Add tests for both simple and complex cases with themeing etc.

Hook up the native VectorDrawable implementation using 2 extra JNI calls for
simplicity. Such calls only happen at inflate and applyTheme call.

b/22564318

Change-Id: Ibdc564ddb4a7ee0133c6141c4784782f0c93ce0e
rowingArrayUtils.java
76d7e3ee70c4299b22b1a03505d2b4f108716c75 15-Jan-2016 Philip P. Moltmann <moltmann@google.com> Check parameters for callers of IPrintManager

- Propagate nullness and non-null-ness up and down from the interfaces.
- Add non-CTS print tests for IPrintManager binder.

Change-Id: I0c310d9cea8aefba5ce386931521ffaf19712bbb
reconditions.java
cde1c2a7174833dc9c73c261ea6d6be9f7a4634b 14-Jan-2016 Philip P. Moltmann <moltmann@google.com> Merge "Clean up API for PrinterInfo."
c2ad22663ba8cbd0ceb35e760c5f3c4084fb5033 13-Jan-2016 Philip P. Moltmann <moltmann@google.com> Clean up API for PrinterInfo.

- Make immutable
- Check parameters
- Check state while unparcelling

Change-Id: I13959845ca508936331488506380e894f49abf25
reconditions.java
2dd48256e9657b013dd6fa0ca86d1d7c7c730428 12-Jan-2016 Daichi Hirono <hirono@google.com> Change offset and size arguments of MtpDevice#getPartialObject to Java
long.

To represents full range of 32-bit unsigned integer, we should use
jlong instead of jint.

BUG=26284424

Change-Id: Id3fa9e3daa778c204ab8e38f821d454c709c317a
reconditions.java
9229ee595988c66f1c59409a963fef88b2c30e03 12-Jan-2016 Jeff Sharkey <jsharkey@google.com> Merge "Install non-EA providers once user is unlocked."
67be7184762d17d243a9396dd9989369f7f7e0d1 10-Jan-2016 Jeff Sharkey <jsharkey@android.com> Fix IndentingPrintWriter after JDK switch.

We needed to overload more methods. Verified that tests pass.

Bug: 26191999
Change-Id: I2b75890239d3febf3411c4b7bb4df92a6d61f056
ndentingPrintWriter.java
2bd31dbd023a11d90061c7b6831dd06454c928af 10-Jan-2016 Jeff Sharkey <jsharkey@android.com> Install non-EA providers once user is unlocked.

When starting encryption-aware apps while the device is locked, we
can only spin up ContentProviders that have been marked as
encryption-aware. Once the user is unlocked, we need to go back and
install non-encryption-aware providers in already running apps.

Fix bugs in getPackageInfo() where only one of the various MATCH_
flags was being consulted (!). Move matching logic to single unified
location in PackageUserState so we have consistent behavior.

Fix another class of bugs where Safe Mode wasn't correctly filtering
package details (!). These bugs are fixed by splicing in the new
MATCH_SYSTEM_ONLY flag as part of state-based flag mutation that was
added for encryption.

Bug: 25944787
Change-Id: I39c8da74b1f9ba944cc817176983f50ba322329c
rrayUtils.java
74d7d0f10bccb42a879632baf22d0da61baf0ecb 05-Jan-2016 Hall Liu <hallliu@google.com> Don't call pre- and post-handlers for state machine initialization

Add check to onPreHandleMessage and onPostHandleMessage so that they
don't process the SM_INIT_CMD messages that are used internally by the
state machine.

Change-Id: I4061ed098d5c394d311714bbe13b738cb7209317
tateMachine.java
f59c02a65e9fd529467c4e5083d94ed6453e70f7 24-Dec-2015 Narayan Kamath <narayan@google.com> Merge changes from topic \'aosp-merge-24-12\'
am: e0e81bf407

* commit 'e0e81bf407508ec096c752948f8794af5fd480ca':
Special case system_server to not create the JIT code cache.
Don't use IntegralToString
Track libcore commit 85d69e16fe1e59e50c1ad228e754abf325088362.
Track API changes to java.lang.ref.Reference.
Remove merge markers from preloaded-classes
Move StrictJarFile from libcore to framework
Switch RecoverySystem impl to use sun.security.pkcs
API update for OpenJdk based libcore
Use libcore/known_oj_tags for the javadoc stage.
Stop preloading fortress classes
Use HexDump instead of java.lang.IntegralToString
Add core-oj to the list of core library jars.
e69a31d75081676260f05b3dd1b549849f775767 15-Oct-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Use HexDump instead of java.lang.IntegralToString

java.lang.IntegralToString is being removed, replaced
all its usage by com.android.internal.util.HexDump.

(cherry picked from commit 3f72604be806c0173b5dca0225cadf6e7c872147)

Change-Id: I0527d580f5975dca0dfaa6f86fa3695dd49d0849
exDump.java
5217cacbd9f382068bb9e176cd5a0b15388a335c 20-Dec-2015 Jeff Sharkey <jsharkey@android.com> Make JobSchedulerService encryption aware.

When a user is started, but a persisted job component doesn't appear
in the normal resolution list, we avoid enqueuing the job. Later
when the user is unlocked, we take another pass over the pending
jobs to see if they became available.

Load keyboard layouts from XML metadata regardless of crypto status,
since we don't need to spin up any remote code.

Add MATCH_SYSTEM_ONLY to make system logic easier to write when
looking for trusted components.

Sprinkle more annotations on ArrayUtils methods.

Bug: 26279465
Change-Id: Iec28e0bb46862b07d740b12a79f6360de68dab0f
rrayUtils.java
8413db8c36f4ba5979cdc2b1c3e1429e6ba34d6a 14-Dec-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Change android.util.Log multiline logging

To avoid long stacktraces being truncated, add code to split up
large chunks along line breaks.

Introduce LineBreakBufferedWriter to chunk up log output. Add a
core test for it.

Change-Id: I34160fbce853c21329f7fa109a9c42506b2066af
ineBreakBufferedWriter.java
355f11034d8aa1cbaac5d69e276767cb61ca925f 14-Dec-2015 Brad Ebinger <breadley@google.com> Null pointer fix for StateMachine

Checks if StateMachine is null before calling callbacks.

Bug-Id: 26176787
Change-Id: I7ee92326e99e18a3b7045ccf098b52acfaff9a15
tateMachine.java
9a2b9f61a33f3227ef4d5305013777249c2b4ead 12-Dec-2015 Brad Ebinger <breadley@google.com> Merge "Add handler callbacks to StateMachine"
6714030083b1d8ec5b2df6dfef08034d0d30c2fe 10-Dec-2015 Jack Yu <jackyu@google.com> merge from master

Change-Id: Ic03669db3f4595336a7dbc13ffc77d055d11acf9
tateMachine.java
9d3aadb24778cc36a350a04b088d2ed7ee3790e1 02-Dec-2015 Lorenzo Colitti <lorenzo@google.com> Add a new WakeupMessage class and use it in two places.

This is useful when using the new AlarmManager direct callback
interface to wake up the system and request that an object whose
API consists of messages (such as a StateMachine) perform some
action.

In this situation, using AlarmManager.onAlarmListener by itself
will wake up the system to send the message, but does not
guarantee that the system will be awake until the target object
has processed it. This is because as soon as the onAlarmListener
sends the message and returns, the system is free to go to sleep
again.

Bug: 20157436
Bug: 25823676
Change-Id: Idff20029d287f26347441a2523b7fb20eda6a8b0
akeupMessage.java
0c71404e772f96927668ee9f52f789ca209fa979 03-Dec-2015 Brad Ebinger <breadley@google.com> Add handler callbacks to StateMachine

Adds two callbacks to StateMachine that notify its user when (1) a message
is about to be processed in the StateMachine and (2) after the StateMachine
has successfully processed a message and has transitioned to a new
State.

Change-Id: I694793872a22f56b3092f5d8b39a116e385a64da
tateMachine.java
547ef450bf12e07beafcef24c19f6f80ec9fd788 08-Dec-2015 Amit Mahajan <amitmahajan@google.com> Merge "Adding StateMachine.hasMessages(), StateMachine.hasDeferredMessages()" into mnc-dr1.5-dev am: cd2cc9aa9b am: d515b124f7
am: 0dfeda60c0

* commit '0dfeda60c06c7bdbb4fde197e50a4c46f4024bd7':
Adding StateMachine.hasMessages(), StateMachine.hasDeferredMessages()
0dfeda60c06c7bdbb4fde197e50a4c46f4024bd7 08-Dec-2015 Amit Mahajan <amitmahajan@google.com> Merge "Adding StateMachine.hasMessages(), StateMachine.hasDeferredMessages()" into mnc-dr1.5-dev am: cd2cc9aa9b
am: d515b124f7

* commit 'd515b124f7f966a3e4725dc6f6179ade869df636':
Adding StateMachine.hasMessages(), StateMachine.hasDeferredMessages()
3f72604be806c0173b5dca0225cadf6e7c872147 15-Oct-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Use HexDump instead of java.lang.IntegralToString

java.lang.IntegralToString is being removed, replaced
all its usage by com.android.internal.util.HexDump.

Bug: 24932279
(cherry-picked from 15fc0548a536750110e159e06a39ba943eccdd81)

Change-Id: Id6ab88337af12d93cd73c41775b9d5baa1e61d96
exDump.java
8ed715e31e4be65b4bc752a2d230a21adce2bb3a 03-Nov-2015 Amit Mahajan <amitmahajan@google.com> Adding StateMachine.hasMessages(), StateMachine.hasDeferredMessages()

Bug: 23067429
Change-Id: Ia66fd1a6ff248520e86f6e502767b22c4d9d4814
tateMachine.java
f9fc6d6cc05595241bc7ced6d4cab97b45f9b901 09-Nov-2015 Jeff Sharkey <jsharkey@android.com> More file-based encryption work.

Add granular StorageManager APIs for key creation/destruction and
unlocking/locking. Start passing through an opaque token as part
of the unlock command, but leave it empty for now. We now have a
separate "prepare" method that sanity checks that user directories
are correctly setup.

Define a handful of system properties used for marking devices that
should be operating in FBE mode, and if they're emulating FBE. Wire
a command to "sm", but persisting will come later.

Start using new "encryptionAware" flag on apps previously marked with
coreApp flag, which were apps running in the legacy CryptKeeper
model. Small tweaks to handle non-encryptionAware voice interaction
services. Switch PackageManager to consult StorageManager about the
unlocked state of a user.

Bug: 22358539
Change-Id: Ic2865f9b81c10ea39369c441422f7427a3c3c3d6
rrayUtils.java
22190c0615828dd60b83e71a155674d5c4443cd0 28-Aug-2015 Ajay Panicker <apanicke@google.com> am 53b1884a: am 30aa53c7: am 92fb5342: am c07701f2: am 3e5b0118: Merge "Add StateMachine.removeDeferredMessages()" into mnc-dev

* commit '53b1884ac66f33614393013ffa1bfd89564d178b':
Add StateMachine.removeDeferredMessages()
53b1884ac66f33614393013ffa1bfd89564d178b 27-Aug-2015 Ajay Panicker <apanicke@google.com> am 30aa53c7: am 92fb5342: am c07701f2: am 3e5b0118: Merge "Add StateMachine.removeDeferredMessages()" into mnc-dev

* commit '30aa53c7af22f98233a9c3acbe0efe20a569c8f1':
Add StateMachine.removeDeferredMessages()
c211978650580904a4b11b7c5b899e9d2f7ed294 26-Aug-2015 Ajay Panicker <apanicke@google.com> Add StateMachine.removeDeferredMessages()

Bug: 23111466
Change-Id: Ifbb67d4eb080313af0968d5cb6b9508837e3458e
tateMachine.java
99ba7ad73c18cfe6942281ffbda07185c74e7dc7 14-Aug-2015 Svetoslav Ganov <svetoslavganov@google.com> am f6401419: am 340314fd: am 7c3d595a: am 4b655fd1: am b045331f: Merge "Add GTS test to ensure valid default permission grants - framework" into mnc-dev

* commit 'f64014195b6d7bdc2f4d79f3c4c71de16d2fe338':
Add GTS test to ensure valid default permission grants - framework
f64014195b6d7bdc2f4d79f3c4c71de16d2fe338 14-Aug-2015 Svetoslav Ganov <svetoslavganov@google.com> am 340314fd: am 7c3d595a: am 4b655fd1: am b045331f: Merge "Add GTS test to ensure valid default permission grants - framework" into mnc-dev

* commit '340314fd0306f24fe8e4047b8feede071aadfb97':
Add GTS test to ensure valid default permission grants - framework
52153f4c0540a991b5b7214f4f14b5a891479a3c 11-Aug-2015 Svet Ganov <svetoslavganov@google.com> Add GTS test to ensure valid default permission grants - framework

The platform grants runtime permissions by default to apps on the
system image that provide core device use cases which a user expects
to work out-of-the-box. We are now adding a test to ensure that
OEMs cannot pregrant premissions on non approved components.

bug:23043018

Change-Id: Id76717cce0ee59678956bd0be347d3c045fe4c51
rrayUtils.java
e318d8c7d1f8ac7885b6b5536673c0d21878ccd9 18-Jun-2015 Kevin Cernekee <cernekee@google.com> Clean up javadoc in StateMachine

Fix markup to use <pre> instead of <code> for multiline examples. Fix
a couple of miscellaneous typos and run-on sentences.

Tested by running `javadoc -d /tmp/jd StateMachine.java` and then viewing
the result in Chrome.

Change-Id: I3d0eee4be4c39a77fa9415f457d3c53bc17d66f1
tateMachine.java
71d12704f64eeace695a6b8e0cd8f36007b96270 17-Jul-2015 Svet Ganov <svetoslavganov@google.com> am 475858c3: am b295963b: am c00e49b6: am d4b566bf: Merge "Add APIs for verifier to grant at install and revoke permissions" into mnc-dev

* commit '475858c34d21b38d9be4356a7fc654eb879e34b5':
Add APIs for verifier to grant at install and revoke permissions
7121e18595d4c559044e26bfe6035406a862f466 14-Jul-2015 Svet Ganov <svetoslavganov@google.com> Add APIs for verifier to grant at install and revoke permissions

bug:22231699

Change-Id: Ie0c758bf73699f50bf99ff5aa0bf98dcc9004e37
mlUtils.java
bef809c4ba9cbf4654faf2d6c1ebfbc0a38c56fe 04-Jul-2015 Narayan Kamath <narayan@google.com> am 4da086ee: am 6bcdf90e: Merge "Delete unused testing scripts and WithFramework."

* commit '4da086ee7f4eba64265b28cdc5df9f690d97a7ac':
Delete unused testing scripts and WithFramework.
c21dab9dcbfce40879b86d5a757b749e77f5b244 25-Jun-2015 Narayan Kamath <narayan@google.com> Delete unused testing scripts and WithFramework.

These scripts haven't worked in a long time now. run_core_test
uses VM options that aren't supported and WithFramework (which is
unmaintained) and run_junit.sh refers to an APK that doesn't
exist anymore.

If anyone wishes to run these tests individually, they can just
use vogar instead :
$ make vogar vogar.jar
$ vogar --mode=activity frameworks/base/tests/CoreTests/android/core/Sha1Test.java

This also allows us to delete the WithFramework class, which was
only referenced by these obsolete scripts.

bug: 22078684
Change-Id: I481f6721d51d50456421a1526c370b93aec9b351
ithFramework.java
72478f053f403e29223dba6cc7be9e5bf115f670 18-Jun-2015 Adam Lesinski <adamlesinski@google.com> BatteryStats: Fix regression in wakelock power distribution

We used to give 50% of the cpu time of each app to any app holding a wakelock
while the screen is off.
Since we switched to the new kernel module for measuring app's cpu time, this distribution
was lost.

Bug:21876567
Change-Id: I42c294547f63d150d9929271ca0e27fedaaa9d77
rrayUtils.java
2217f61e51ba4b19c56b19297c1e9cf74d7d860f 26-May-2015 Filip Gruszczynski <gruszczy@google.com> Revert "Revert "resolved conflicts for merge of 47249f2a to mnc-dev""

This includes the fix for the broken dialog windows. The outsets will
only be calculated and applied if the window is full screen, since
they don't make much sense otherwise.

This reverts commit 4bb6b751fbbb218e8a298db4aa008472a0aa8d31.

Change-Id: I977a85a78c990c1840784dc0be0dddd5a6d84e6b
creenShapeHelper.java
4bb6b751fbbb218e8a298db4aa008472a0aa8d31 23-May-2015 Dianne Hackborn <hackbod@google.com> Revert "resolved conflicts for merge of 47249f2a to mnc-dev"

This reverts commit c7becb7ee78881646251ff4846e63eb6b96bf7ec, reversing
changes made to 8562b08f04c1309cf40db1e749d612b6824f1d12.
creenShapeHelper.java
4f11754f72ac4c60448b36a1a933cdc2d7bc1870 08-May-2015 Wojciech Staszkiewicz <staszkiewicz@google.com> Pass charset to XmlPullParser.setInput instead of null

Passing null to XmlPullParser.setInput forces it to do additional
work, which can be easily avoided if we know the charset beforehand.

bug: b/20849543

(cherry picked from commit 9e9e2e73c6ec7bece20268196dc89ad0c8bafad4)

Change-Id: Iaff97be9df2d0f99d7af8f19f65934439c9658e2
mlUtils.java
c7becb7ee78881646251ff4846e63eb6b96bf7ec 21-May-2015 Filip Gruszczynski <gruszczy@google.com> resolved conflicts for merge of 47249f2a to mnc-dev

This is a merge of chin support.

Change-Id: I436b751b3c4aaa6b46cfcdb475e02eedfa5a5635
3e11bf33a6094da92d97702213aa12c67b21c4d1 20-Apr-2015 Filip Gruszczynski <gruszczy@google.com> Support for devices with a chin.

Information about the chin is now part of the config.xml instead of the
theme. It is retrieved by WindowManagerService and passed to the clients
as insets. Clients can adjust their behavior in a way that makes it
invisible to the user, that part of the surface doesn't actually exist.

Bug: 19908853

Change-Id: Iedf57bf3c848201b854f91ffeb3b59187d375c1f
creenShapeHelper.java
01f280d376218c5a007fc29f70b876375ad24204 19-May-2015 Adam Powell <adamp@google.com> Migrate uses of config_windowIsRound to Configuration.isScreenRound

Move existing code that previously relied on config_windowIsRound to
use the new Configuration.isScreenRound() method. Also move the system
property override for emulators over to the initial setup of a Display
so that the configuration property is consistent with existing
expectations.

Remove config_windowIsRound from symbols.xml. The symbol now only
exists as a default value redirect for overlays already configured to
supply this value.

Change-Id: I24e6564030a6051c3ac7262868983b43e13eee65
creenShapeHelper.java
d63f9321e62064660d426efd5abbd885c4a24652 06-May-2015 Dan Sandler <dsandler@android.com> Icon support comes to Notification.

And you may ask yourself: what is that beautiful icon?
And you may ask yourself: where does that API go to?
And you may ask yourself: is it a resource? is it a Bitmap?
And you may say to yourself: my god, what have I done

(This patch fixes a number of bugs in the initial
implementation, but other than that, it's the same as it
ever was.)

Bug: 18568715
Bug: 21141842
Change-Id: I1d3f9427abd7f0bb57e533fcfac708851ff644b6
otificationColorUtil.java
09e51a739f3e408567f0eefafcc5fedb01bc3401 14-May-2015 Daniel Sandler <dsandler@android.com> Revert "Icon support comes to Notification."

This reverts commit 08a04c15245c970856022d0779aa27d4d63cdee3.
This also reverts commit 5bcbf857d129f4513e562801a4e88077b2655ade.

Change-Id: Ia0b0a5339d523581c877822a3a1feec97ae4b73d
otificationColorUtil.java
9e9e2e73c6ec7bece20268196dc89ad0c8bafad4 08-May-2015 Wojciech Staszkiewicz <staszkiewicz@google.com> Pass charset to XmlPullParser.setInput instead of null

Passing null to XmlPullParser.setInput forces it to do additional
work, which can be easily avoided if we know the charset beforehand.

bug: b/20849543

Change-Id: Iaff97be9df2d0f99d7af8f19f65934439c9658e2
mlUtils.java
08a04c15245c970856022d0779aa27d4d63cdee3 06-May-2015 Dan Sandler <dsandler@android.com> Icon support comes to Notification.

And you may ask yourself: what is that beautiful icon?
And you may ask yourself: where does that API go to?
And you may ask yourself: is it a resource? is it a Bitmap?
And you may say to yourself: my god, what have I done

Bug: 18568715
Change-Id: I4377b311c538bd1cf36b3fba22326bae81af40c9
otificationColorUtil.java
6a49ddef62865c1b245ad60a13c334f0ffaf1a5f 12-May-2015 Chris Craik <ccraik@google.com> Revert "Fix build - Revert "Revert "Use default constructor to get anti-aliasing"""

Fix import

This reverts commit 7ed1431c83286abc83b9e5afc45fbd21ecb777b1.

Change-Id: Id93eba3ed1d47a90384ba20dea6f74d78755792b
mageUtils.java
7ed1431c83286abc83b9e5afc45fbd21ecb777b1 12-May-2015 Chris Craik <ccraik@google.com> Fix build - Revert "Revert "Use default constructor to get anti-aliasing""

This reverts commit dfe0a66ceca530e0777ebfab20f81103baa18f14.

Change-Id: I58a1bae649a284f3d3b6213064d903ea7fcf185a
mageUtils.java
dfe0a66ceca530e0777ebfab20f81103baa18f14 12-May-2015 Chris Craik <ccraik@google.com> Revert "Use default constructor to get anti-aliasing"

bug:20948129

This reverts commit 58fc522a69e8ddf9ac8530ce88e9c2c92da1dd14.

Change-Id: Iddeccb4ad15b843bb3e610bd3673a0c7abc1bf46
mageUtils.java
ffe2dda135880c25ed7882de7bf74ea7ce0d5564 07-May-2015 Paul Jensen <pauljensen@google.com> Merge "Avoid NPE when sendMessage is called after disconnect." into mnc-dev
d0d420587a462024cdf47eee1d22cf6d52a4a6a0 07-May-2015 Paul Jensen <pauljensen@google.com> Avoid NPE when sendMessage is called after disconnect.

This avoids an NPE that could occur when:
1. disconnect() is called
2. sendMessage() is called but encounters a RemoteException
3. replyDisconnected() will attempt to dereference mSrcHandler
There does not appear to be any callers that rely on the NPE.
All callers erase their reference to the AsyncChannel after
calling disconnect(), except for NetworkAgentInfo which can
cause ConnectivityService to crash. This fix addresses that.

bug:20647016
Change-Id: I89864885dc3371941407a036b7b7647e0ec037b8
syncChannel.java
9189445c0a66d074dcded77b9c7322ef45422727 01-May-2015 George Mount <mount@google.com> Add CallbackRegistry.

Change-Id: Ib1a30a0ec8b1ece25046d85676432fb0b819f952
allbackRegistry.java
58fc522a69e8ddf9ac8530ce88e9c2c92da1dd14 28-Apr-2015 Chris Craik <ccraik@google.com> Use default constructor to get anti-aliasing

Change-Id: I3e078a3bc91a2fd703984ba18b5e7e98069b32f1
mageUtils.java
620b32b316fd4f1bab4eef55ec8802d14a55e7dd 24-Apr-2015 Jeff Sharkey <jsharkey@android.com> Package and storage movement callbacks.

Since package and primary storage movement can take quite awhile,
we want to have SystemUI surface progress and allow the Settings
app to be torn down while the movement proceeds in the background.

Movement requests now return a unique ID that identifies an ongoing
operation, and interested parties can observe ongoing progress and
final status. Internally, progress and status are overloaded so
the values 0-100 are progress, and any values outside that range
are terminal status.

Add explicit constants for special-cased volume UUIDs, and change
the APIs to accept VolumeInfo to reduce confusion. Internally the
UUID value "null" means internal storage, and "primary_physical"
means the current primary physical volume. These values are used
for both package and primary storage movement destinations.

Persist the current primary storage location in MountService
metadata, since it can be moved over time.

Surface disk scanned events with separate volume count so we can
determine when it's partitioned successfully. Also send broadcast
to support TvSettings launching into adoption flow.

Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
reconditions.java
59d577a518333f4b4514315b6d10e8dba160abcd 12-Apr-2015 Jeff Sharkey <jsharkey@android.com> Browse mode for DocumentsUI, removed volume state.

The existing management mode is too specific, and requires that
storage backends add queryChildDocumentsForManage(), etc. Instead,
to offer more natural browsing support, add a new BROWSE_ROOT intent.

It behaves mostly like MANAGE_ROOT, except that it doesn't mutate
its Uris with setManageMode(), and it shortcuts straight to VIEW on
clicked documents.

It can be launched like this:

$ adb shell am start -a android.provider.action.BROWSE_ROOT
-d content://com.android.externalstorage.documents/root/8405-1DFB
-c android.intent.category.DEFAULT

Also rename a MetricsConstants to make it clearer, and don't
auto-mount all emulated volumes.

Fix bugs around parceling of DiskInfo/VolumeInfo. Method to resolve
the best description for a VolumeInfo, which might need to fall
back to DiskInfo.

Add back "removed" volume state so we send broadcast when a volume
is destroyed, matching the expected public API behavior.

Bug: 19993667
Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
rrayUtils.java
39fb7fd730dc2113ced7e663d7a35e48a4c6b1ae 18-Feb-2015 Benjamin Franz <bfranz@google.com> Allow silent package install for device owner.

Allow the device owner to silently install and remove packages using the
PackageInstaller APIs. Show notifications to the user after the
installation / deletion was successful.

Bug: 19422461
Change-Id: I0506e18c510efd9d04c4aea9b60a37456e689615
mageUtils.java
1b8ef7e3165ff9aa52a4905dafc8d0f83e7403f9 04-Apr-2015 Jeff Sharkey <jsharkey@android.com> Parcelable objects for Disk/Volume.

Will eventually be used by SystemUI and/or Settings.

Also fix SettingsProvider NPE.

Bug: 19993667, 19909433
Change-Id: Ie326849ac5f43ee35f728d9cc0e332b72292db70
ndentingPrintWriter.java
4209a28270a70016ee5ee6cae3dc96d6df0ade26 24-Mar-2015 Prerepa Viswanadham <dham@google.com> Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release' into master_merge

Change-Id: I49aab437af220f1139cfd2d0a9c362acce31074e
daf5c0ebd0aa4f73fcf2c9fecd8ce9d36e3db4fc 24-Mar-2015 Griff Hazen <griff@google.com> Merge commit '583c7c56' into master

Change-Id: I89c2c63005fbb6b1c058b2022f4469be5244505f
4a357cd2e55293402d7172766f7f9419815fc1e8 19-Mar-2015 Alan Viverette <alanv@google.com> Replace usages of deprecated Resources.getColor() and getColorStateList()

Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
serIcons.java
2877877d4cb9ca220be28c136eee385550262354 16-Mar-2015 Pierre Vandwalle <vandwalle@google.com> add BASE_WIFI_LOGGER to system protocol messages

Change-Id: I4bb59b220208d5cb4fa415ad092970312392d8e4
rotocol.java
a0938021718867edd267d4905f3c17ef2944aa65 13-Mar-2015 Griff Hazen <griff@google.com> Allow emulator to select a window outset bottom

And clean up some copied around code.

Bug: 17440607

Change-Id: I5cf9c58b49110c4be1a77dc9c410fedc6b99aef3
creenShapeHelper.java
a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9d 11-Mar-2015 Dianne Hackborn <hackbod@google.com> More work on collecting assist data.

Optimize parceling of AssistData (which is now renamed to
AssistStructure) by pooling duplicated class name strings.

Change text associated with a view node to a CharSequence,
so styling information comes along.

Include global text attributes -- size, colors, etc.

Introduce a new AssistContent structure, which allows us
to propagate information about the intent and data the
activity is looking at. This further allows us to propagate
permission grants, so the assistant can dig in to that data.
The default implementation propagates the base intent of an
activity, so if for example you bring up the assistant while
doing a share the assistant itself has the same information
and access that was given to the share activity (so it could
for example share it in another way if it wanted to).

Did some optimization of loading PersistableBundle from xml,
to avoid duplicating hash maps and such.

Changed how we dispatch ACTION_ASSIST to no longer include
the more detailed AssistStructure (and new AssistContent)
data when launching; now the example code that intercepts
that needs to be sure to ask for assist data when it starts
its session. This is more like it will finally be, and allows
us to get to the UI more quickly.

Change-Id: I88420a55761bf48d34ce3013e81bd96a0e087637
mlUtils.java
ae6688b09649447e57468b3e7935691bc09ec9b9 12-Feb-2015 Dianne Hackborn <hackbod@google.com> Update voice interaction layer for new UI design.

Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.

Add mechanism to get assist data to the voice interaction UI.

Add some basic visualization of the assist data, outlining
where on the screen we have text.

Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.

Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
umpUtils.java
568e54be71731bdbcd5338385eb6cc6a082c9456 15-Jan-2015 Jorim Jaggi <jjaggi@google.com> resolve merge conflicts of 87f5369 to master.

Change-Id: I5d1a7aaf48c4bf70f7181508aa46fbbcc2cf7086
54b1b1a07ad3edd1df060889aad453aa0e1cc79a 12-Jan-2015 Wink Saville <wink@google.com> StateMachine.dump produces no output sometimes.

If the content to dump is large no output is produced by dump. Change
back to using a loop and flush.

Bug: 18965342
Change-Id: Ibc33da8bfffd5f998a78df0e2d70ed8e8a0aa137
tateMachine.java
1ed82edf1df1b1e86929669c4b9e2cac4a6f9283 09-Jan-2015 Dianne Hackborn <hackbod@google.com> am 2abf1f1c: Merge "Fix issue #18942959: Phone getting stuck then restarts after unplugging from Audi" into lmp-mr1-dev automerge: 54f9b1e automerge: a319aa8

* commit '2abf1f1c212574ea7073584406ee86898f5d3779':
Fix issue #18942959: Phone getting stuck then restarts after unplugging from Audi
b3d4cb369e37b1b7e85832cc035226dc7cc8f380 09-Jan-2015 Dianne Hackborn <hackbod@google.com> Fix issue #18942959: Phone getting stuck then restarts after unplugging from Audi

FastPrintWriter needs to have its own lock for each instance, or
else one getting blocked can cause others to block and whacky deadlocks
result.

Also:

- Improve error reporting of SystemConfig to tell you which config
file is the problem.
- Fix CoreSettingsProvider to not spew errors if a setting is not
defined (it should just use a default value).
- Get rid of noisy init output of ConditionProviders.
- Reduce log noise of starting a process; move some of that information
to ProcessRecord to print on demand.

Change-Id: I1032d141ddd449968b74ab7b88ab36f2d228ad1a
astPrintWriter.java
80d119bf6536293c3e6e4699a287a7bedfcf5586 15-Dec-2014 Alexandra Gherghina <alexgherghina@google.com> Fix image conversion

For some images, especially those in the bug linked, the conversion would
yield empty images otherwise.

Bug: 18311493
Change-Id: I90150a8837655df3c9c35b36eb02594807eb0a06
serIcons.java
7a17e0b601c7f65a2ae0b53d8494ae1722c7a28b 10-Dec-2014 Craig Mautner <cmautner@google.com> Merge "Add put/getBoolean/Array to PersistableBundle" into lmp-mr1-dev
73bdf9761be2abdd85efc5fce165f3fa80fcfa65 10-Dec-2014 Craig Mautner <cmautner@google.com> Add put/getBoolean/Array to PersistableBundle

Due to popular demand the methods putBoolean(), getBoolean(),
putBooleanArray() and getBooleanArray() have been added to
PersistableBundle.

Fixes bug 18390436.

Change-Id: Id133ba902aca774f98529e36ce560e873b88ad5b
mlUtils.java
3256601f5e4d94713f59e97b9d4912875c1bdcaf 03-Dec-2014 Jeff Sharkey <jsharkey@android.com> Offer to "merge" subscribers for data usage.

There are some cases where multiple subscriber identities (IMSI)
should be treated as "merged together" from a data usage
perspective. This is done by extending the template used for
matching purposes to support multiple subscribers.

Then, when we query historical usage or set network policies, we
normalize the matching template to merge to any other identities
that should be included. When normalizing, the "lowest" identity
is always used for equality and storage purposes, which allows
identities to come and go over time.

This change also fixes data usage recording for multi-SIM devices
by passing along the concrete subscriber identity for each network
interface. Also correctly create default policies for multi-SIM
devices. This change also drops setPolicyDataEnable() until it can
be wired up to the right underlying NetworkAgent. (This means we
still bring up the network, and then rely on iptables rules to block
traffic when over the limit, instead of proactively disabling the
connection.)

Bug: 18012787
Change-Id: If6acf32009fdfea2b836f5aff8e2f3e5e0248b4a
rrayUtils.java
95c05a590f97d81a5d4e5d86540833cc1637ffdc 08-Nov-2014 Mike Lockwood <lockwood@google.com> Merge "Add dumpsys support for bluetooth" into lmp-mr1-dev
6edb5c665dcb024ae7cfb95b9a92e30dcc5777c1 31-Oct-2014 Dianne Hackborn <hackbod@google.com> Improve low on RAM reporting.

- Don't print every little native process.
- Print in different sections, so if one is too long we don't get the
rest truncated in the log.
- Include other info from meminfo -- ksm and free/used/lost summary.

Change-Id: Iea4ec3860212667e195d2b60b3ded23bfec78436
emInfoReader.java
726d4de780dea9afded2e44a010b793f7ac29c23 28-Oct-2014 Mike Lockwood <lockwood@google.com> Add dumpsys support for bluetooth

Bug: 18159457
Change-Id: I8d3f7084a7b089c111fd622ff526630bfdfa7300
tateMachine.java
b3af4ec6bae4fe93d40f021e54cbbce10cc7b4c6 18-Oct-2014 Dianne Hackborn <hackbod@google.com> Fix issue #17948288: Improve accuracy of memory use reporting

We now use Mapped to not double-count cached pages that are
mapped in to app processes. Also read in some more values that
count towards kernel RAM use, and count buffers as free rather
than used RAM.

It also looks like the zram accounting is broken -- it was never
collecting the total zram reserved space. I need to figure out
how I was finding that before.

Change-Id: I883f6fc93966774b5c7d2801d1801666dd11ed41
emInfoReader.java
02bd78490d8594d225ecc70a74b2058cb968a657 07-Oct-2014 Jeff Sharkey <jsharkey@android.com> Reduce PackageInstaller I/O pressure.

When performing a restore during initial device setup, we could be
installing hundreds of packages. Currently, we're writing all
metadata (including heavy icons) for every session mutation! Because
we're holding the mSessions lock while writing all this heavy data,
we end up causing ANRs when apps call other PackageInstaller APIs.

This patch mitigates by moving the heavy icon data into separate
per-session PNG files, which we only persist when changed.

Bug: 17881962, 17567794
Change-Id: I4dee15d4a65a8eb65c381e6bb7477728b6cc30d2
mlUtils.java
64d4dca63f65e4c7d4a829c85ff6670bdd34e2eb 28-Aug-2014 Alexandra Gherghina <alexgherghina@google.com> Assign default icon to users at creation time and in SystemUI.

Right now different code in System UI, Settings app and other places replace the
user icon with their own default. This tries to make it consistent by moving the
mechanism used in Settings in a helper class.

Bug: 17311038
Change-Id: Ic858c65bf82a98b9806dbba029e7cdcf441f372e
serIcons.java
b4e5061fd6e0b665e025713643378ec31188cff2 10-Sep-2014 Mathieu Chartier <mathieuc@google.com> Change EmptyArray System.identityHashCode to Object.hashCode.

Equivalent behavior, improves performance since
Object.hashCode has a fast path in the java side that does not
require JNI.

According to traceview sampling profiler:
Calendar had 6.8% time in System.identityHashCode during launch.
0.4% time in System.identityHashCode after the change.

Bug: 16828525

Change-Id: I1ed1d1283a990f990b0d4352cc1f4822b1dadf7b
rrayUtils.java
1d38f5899019f3f0dead3b7aae6a22b216546845 09-Sep-2014 Zoltan Szatmary-Ban <szatmz@google.com> Merge "Extend IKeyChainService AIDL with CACert retrieval" into lmp-dev
f0ae135049048424bceccb0799b12377181b25f0 18-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Extend IKeyChainService AIDL with CACert retrieval

Bug:16029580
Change-Id: I41a3bd2f3bd95550e59f1d0d0acd0e765d7b62d7
arcelableString.java
77d218e1869e69c8d436b09cd11dcfe45e50b2cf 06-Sep-2014 Jeff Sharkey <jsharkey@android.com> Delayed ASEC allocation, refine progress handling.

For restore use-case, session creation needs to complete quickly, so
delay ASEC allocation until session is opened. When preflighting
size checks, only consider external when we have a known size for the
container. Also relax size checks when using MODE_INHERIT_EXISTING
on external, since we don't know how much of existing app will be
copied over.

Consider session as "active" while commit is ongoing, until we're
either finished or pending user interaction.

Always publish first client needle movement away from 0. Use 25% of
internal progress to reflect ASEC allocation.

Avoid CloseGuard messages about leaking PFDs.

Bug: 17405741, 17402982
Change-Id: I6247a1d335d26621549c701c4c4575a8d16ef8c2
mlUtils.java
05c362d5645367c816069aa138b597b77f317aa4 03-Sep-2014 Dan Sandler <dsandler@android.com> Reduce RAM requirements of grayscale icon testing

The isGrayscale family of methods is designed to identify
drawables and bitmaps that apps are using in the largeIcon
position to pose as small icons in order to get the
appropriate background treatment (a solid blue or gray block
in KK/JB, or geniune selvedge denim in ICS/HC).

We can optimize this search two ways:

(1) Reject immediately any largeIcon that is larger than
largeIcons should be (64x64dp). We could one day simply
reject, or resize, these in the notification manager,
but regardless these are not plausible smallIcon
subsitutes. This new constraint is commemorated in the
new name, isGrayscaleIcon().

(2) Shrink the bitmap even smaller before scanning it slowly
in Java. This lets native_drawBitmap do the heavy
lifting across the entire bitmap; we need only scan a
few pixels.

Bug: 16513124
Change-Id: I3a2b79130ed2465a4aedfbb5a556db7f8a7aa132
mageUtils.java
otificationColorUtil.java
3291de8f6c8bc7ffa5992a2a5a5c2cf8bb0adf4b 15-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Revert "Revert "Revert "Revert "Revert "Update Trusted Credentials screen in settings"""""

This reverts commit c9249c69813c6fb889d71d84583c67ae2942e6de.

Change-Id: I5504fddaf7b18efb73cd6c76678b3b39ce9b0229
arcelableString.java
f8d72cc14f70f5af13342c4c7b107a8ab60dfe23 15-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Revert "Revert "Revert "Revert "Update Trusted Credentials screen in settings""""

This reverts commit 87efe74e092236c372d3b6909009641123aa416a.

This should be fine now with all the dependency CLs +2-ed


Change-Id: I96ad14ad5ff81e6b5391035cb6c5a62339c6cc40
arcelableString.java
f75aadc028f2e79541a269bf2c74dcb3482e2ec7 15-Aug-2014 Narayan Kamath <narayan@google.com> Revert "Revert "Revert "Update Trusted Credentials screen in settings"""

This reverts commit 19c8ce291e89a9ef1442a20e1feab421b11536d7.

Change-Id: Ie5a5571127311e0a29f314c0566e779cfe940b53
arcelableString.java
1e7bc0def8c62b91d3eb985a51bec54063ce83f5 15-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Revert "Revert "Update Trusted Credentials screen in settings""

This reverts commit 0f0de0bdd021bad5f85fdb0399a4ea91a1611e25.

Change-Id: Ia3d0907e3d7c2ec42d64e45f60e3dfaffb932c3d
arcelableString.java
1a2aad0abb63d809695cb5e0bb903a7028d69f22 08-Aug-2014 Alan Viverette <alanv@google.com> Fix docs build

Change-Id: Ieaea48c597efd23449615d22969a107e607bbdc2
ournaledFile.java
138b324d5db09cff27e43c8ee3614def01630013 07-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Merge "Revert "Update Trusted Credentials screen in settings"" into lmp-dev
678e3ecc937c00969830700dffb42fb1ee232f7c 07-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Revert "Update Trusted Credentials screen in settings"

This reverts commit 4fde5aa9fab931d9becfc49f7d7b8526ad5640d9.

Change-Id: I581c38d64e9829b0079bafa42615f2aa0bf64763
arcelableString.java
0f5efe0b440832f6dea37b4381f9e4ebafd9bcad 07-Aug-2014 Zoltan Szatmary-Ban <szatmz@google.com> Merge "Update Trusted Credentials screen in settings" into lmp-dev
1386627335a79dd02fb34db344e63ca3abfce013 15-Jul-2014 Zoltan Szatmary-Ban <szatmz@google.com> Update Trusted Credentials screen in settings

Trusted credentials for both the primary user and its managed profiles are shown
on the Trusted Credentials fragment. All functionalities (e.g. disabling/enabling
of certificates) remain available.

Bug: 16029580

Change-Id: Ia92ae02d8c572bf4a3be172f6c255726cefc0fa1
arcelableString.java
1cb2d0d4bba387665128c62c342e59103ea4be26 31-Jul-2014 Jeff Sharkey <jsharkey@android.com> Persist install sessions, more lifecycle.

To resume install sessions across device boots, persist session
details and read at boot. Drop sessions older than 3 days, since
they're probably buggy installers.

Add session callback lifecycle around open/close to give home apps
details about active installs. Also give them a well-known intent
to show session details.

Extend Session to list staged APKs and open them read-only, giving
installers a mechanism to verify delivered bits, for example using
MessageDigest, before committing.

Switch to generating random session IDs instead of sequential.

Defensively resize app icons if too large. Reject runaway
installers when they have too many active sessions.

Bug: 16514389
Change-Id: I66c2266cb82fc72b1eb980a615566773f4290498
mlUtils.java
c4272f32aec68ae2377141a2d6d4e6059fb36714 26-Jul-2014 Vinit Deshpande <vinitd@google.com> Enable RTT End-to-end

This change includes various fixes to first RTT implementation and
enables RTT APIs end-to-end. Fixes include proper marshalling of
objects across API and service and JNI fixes.

Change-Id: Ie4ba1ffc6c5b42593e931438b3f03e201ff6be71
rotocol.java
91838ded36131525312739c0929913b215519c2a 17-Jul-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Fix LEGACY mode timestamps.

Bug: 15116722

- Add CaptureCollector class to accumulate buffer timestamps
and manage lifecycle callbacks for each request.
- Set correct timestamps for buffers, results, and callbacks.

Change-Id: I75fa1049cf100d9d14c5ba8992be93ba1048df19
reconditions.java
da96e137bcc8191c584ada7b5de31eaae92f244f 15-Jul-2014 Jeff Sharkey <jsharkey@android.com> Parse more split APK manifest details.

Allow split APKs to define activities, services, receivers,
providers, and metadata. However, support for many manifest items
are explicitly omitted.

Only dexopt split APKs that include code.

Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
rrayUtils.java
ec55ef0934b8e0d1bb705434947de817f7be57f1 08-Jul-2014 Jeff Sharkey <jsharkey@android.com> Extend pm to support sessions and split APKs.

Separate commands to create an install session, stream files into the
staging area, and then commit the install. Streaming can accept data
from stdin across adb, avoiding extra copy from push.

Extend FileBridge to support blocking close(). Always destroy
session regardless of result.

Bug: 14975160
Change-Id: Ic3f462e7d1901079b785e210228950cdfa676466
izedInputStream.java
57dcf5b177b56195421535938544f32d8b591b42 19-Jun-2014 Jeff Sharkey <jsharkey@android.com> Slow progress towards APK clusters.

Differentiate between "split APKs" and "cluster packages". A cluster
package is a directory containing zero or more APKs (base+splits),
and a monolithic package is a single APK (base).

PackageSetting will use the directory name as its codePath, so track
the baseCodePath separately. Clarify documentation in several
places.

Require that all installers provide file:// URIs through existing
hidden APIs; PackageInstaller hasn't been able to read content://
URIs for a long time.

Bug: 14975160
Change-Id: I1c6fed1b55205c2474b09871161a98a26669d22e
rrayUtils.java
830960cce032a1b0dc0cf54bcc44ffa339388c21 07-Jun-2014 Alan Viverette <alanv@google.com> Material theme

BUG: 15467097
Change-Id: I15191362e104a902895418fc615892c21db64c35
otificationColorUtil.java
3192dec32180f56733e631c2d9ec62fa1359283d 27-May-2014 Robert Greenwalt <rgreenwalt@google.com> Refactor NetworkFactory.

Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.

Change-Id: I401c14a6e5466f2fc63b04219b97ff85bb9af291
rotocol.java
559321abbfd2e66763accc172f3596e4cf7f9172 02-Jun-2014 dcashman <dcashman@google.com> Merge "Add ArrayUtils methods and tests for consumption by KeySet code."
874d0d4032dc940327a81359f144d38d3cb580a3 30-May-2014 dcashman <dcashman@google.com> Add ArrayUtils methods and tests for consumption by KeySet code.

Adds methods for dealing specifically with long data types. Used by
PackageKeySetData as part of the KeySet work. Add appropriate test methods
to MoreAsserts as well.

Bug: 6967056
Change-Id: I1e263301b353e0cd1b45126be6ef5ec310f311a8
rrayUtils.java
f41799e7f7d29ce479372f31d5570b99859692c3 30-May-2014 Yin-Chia Yeh <yinchiayeh@google.com> Merge "Camera2: update the range of metering weight" into lmp-preview-dev
d72e0a339b54af0c4e731513bbad120dff694723 30-May-2014 John Reck <jreck@google.com> Re-jigger layers

Bug: 15185239
Bug: 15238382

Make DeferredLayerUpdater ref counted so that
HardwareLayer:finalizer() works non-crashily on
leaked layers
Give DeferredLayerUpdater the ability to have a layer destroyer
set so that leaked layers can still be recycled on the
RenderThread
Order layer updates based off of pushLayerUpdate() calls to fix
issue with nested layers

Change-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf
irtualRefBasePtr.java
97f1c854993a65b2c700426a1e3a83b23ea65337 29-May-2014 Yin-Chia Yeh <yinchiayeh@google.com> Camera2: update the range of metering weight

Limit the range of metering weight to 0-1000.

Bug: 15315352
Change-Id: Iceb13b72508cb3c9f758bdcb1b69b6b11ec5aaf8
reconditions.java
21d24a21ea4aaadd78e73de54168e8a8a8973e4d 23-Apr-2014 Craig Mautner <cmautner@google.com> Add code for persisting tasks and activities to disk DO NOT MERGE

Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.

Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
mlUtils.java
ef73ee1dd98acfc4a19561367cfc3e4d8bbe06ea 23-Apr-2014 Craig Mautner <cmautner@google.com> Add code for persisting tasks and activities to disk

Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.

Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
mlUtils.java
a4864472313208e4f1de02f45d3eadad237c54af 10-Apr-2014 Yuhao Zheng <yuhaozheng@google.com> Hotspot 2.0 framework APIs -- initial implementation

Cherry-picked from klp-wireless-dev-mirror
SHA1: e73969fac45aaca72528226dc8c0c5e54fb2cdd4

Bug: 5485670
Change-Id: If3250a2fae181a3774d3158e341220006ad6ebe5
rotocol.java
3a44f3f1b446315ef894e01d2ab9b5388c2bd8c4 29-Apr-2014 Jeff Sharkey <jsharkey@android.com> Initial support for split APKs, PackageInstaller.

Defines a new PackageInstaller class that will be used for installing
and upgrading packages. An application desiring to install an
application creates a session, stages one or more package files in
that session, and then kicks off the install.

Previously, PackageManager would always make its own copy of a package
before inspecting it, to ensure the data could be trusted. This new
session concept allows the installer to write package data directly to
its final resting place on disk, reducing disk I/O and footprint
requirements. Writes are directed through an intermediate pipe
to ensure we can prevent mutations once an install has been initiated.
Also uses fallocate() internally to support optimal ext4 block
allocation using extents to reduce fragmentation.

Sessions are also the way we support installing multiple "split" APKs
in a single atomic operation. For a set of packages to form a valid
application, they must have exactly the same package name, version
code, and certificates. A session can also be used to add a small
handful of splits to an application by inheriting existing packages
when not performing a full install.

Add PackageParser support for extracting split names and certificates.

Bug: 14975160
Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
rrayUtils.java
9258c64bef1a01fe89bc7c1fa402c44c0e6a1255 27-Mar-2014 Robert Greenwalt <rgreenwalt@google.com> Add Multinetwork API

Change-Id: I3a9cef0d416db96d05098dd989ee3fef3b1e9274
(cherry picked from commit cc5e6afa1ba0bef099bcb21a64a36bc2bf7951db)
rotocol.java
ca8f16ad14819ba17f5ff3d2e2bf6fbc9bbaa9f7 09-May-2014 Paul Jensen <pauljensen@google.com> Add NetworkMonitor.
At present the network evaluation / captive portal detection
is disabled pending addition of API to bind socket to network.

Change-Id: I5d1f5dc86d4dd9481d52dd45d6da0732054c8315
rotocol.java
7b81602f3c18df8a4ca0342c514af8f7e394c0d7 19-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Enabling internal msg apis

NetworkFactory and NetworkAgent. First trying with wifi and
getting rid of WifiStateTracker.

Conflicts:
api/current.txt
services/core/java/com/android/server/ConnectivityService.java

Change-Id: I7f0ec13d7d8988b32f3c6dc71f72012f3349fe02
rotocol.java
e049c23980409be6576da3d30538a6cdc43854dd 12-Apr-2014 Robert Greenwalt <rgreenwalt@google.com> Add NetworkFactory support.

This is a protocol allowing transports to dynamically register with CS for
Handler to Handler communications.

bug:13885501
Change-Id: Ic7275e3724a15efc7e5f80981560c4cb3106007b
rotocol.java
202259785972be771075dce8d3e43c29b8d8f1f1 13-May-2014 Nicolas Prevot <nprevot@google.com> Merge "Resolving resources across users."
d85fc72fb810858f7502e7e7f1bad53e1bf03edd 16-Apr-2014 Nicolas Prevot <nprevot@google.com> Resolving resources across users.

When an intent is sent to another profile:
For content uris contained in this intent:
The userId of the source user is added to the userInfo part.
The ActivityManagerService has been modified to resolve resources in the user specified by the uri.
The user id to which the uri belongs to is stored in the UriPermission.

Change-Id: I43dc76895aba692bf148d276253aeaf9c75fce34
mlUtils.java
b7fbb9b691f2c8dfe23a327943bd6b05f1a3503e 08-May-2014 Robert Greenwalt <rgreenwalt@google.com> Support multiple calls to AsyncChannel.disconnect

prior to this you'd get a crash if you called it twice.

Change-Id: Ie066b1e00970e17b2ebab5c51a57a9a3459aee26
syncChannel.java
9fa4071c4768c63902c6a74a4b480b51a8b95d43 10-May-2014 John Reck <jreck@google.com> Refactor VirtualLightRefBase & JNI

Change-Id: I8e244e7109e59d5be96871b23bb9b1201c7f9eaa
irtualRefBasePtr.java
b325c80d3da0c14107597a4c5423dba938e1a633 08-May-2014 Dan Sandler <dsandler@android.com> Merge "Quantum notification improvements."
26e81cf14bf32585742cbb75ac14045acaab2692 06-May-2014 Dan Sandler <dsandler@android.com> Quantum notification improvements.

New API introduced here: Notification.color (and
Builder.setColor()), allowing apps to specify an accent
color to be used by the template. The Quantum templates
(which are now the only kind we support) use this when
creating a circular background to draw behind the smallIcon
in the expanded form.

Additionally, the quantum and legacy templates are no longer
in superposition; all apps using Builder will get quantum.

Change-Id: Iac5e2645cc5c2346ed458763f2280ae9c6368b62
egacyNotificationUtil.java
otificationColorUtil.java
011e1b35a64180d6f0234af8a3c2b70777eb9f39 08-May-2014 Vinit Deshapnde <vinitd@google.com> Initial implementation of WifiScanner

This change implements basic functionality of WifiScanner. Following
functionality is enabled

1. Scanning - specify a list of channels to scan
2. Significant change detection
3. AP hotlist

Change-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254
rotocol.java
b3a78b2ca9655396e2d73950221d187b7e5bb3ba 17-Apr-2014 Igor Murashkin <iam@google.com> camera2: Add re-usable data types for camera metadata key/values

Adds new types to public API:
* ColorSpaceTransform
* Range<T>
* SizeF (android.util)
* MeteringRectangle

Minor changes to:
* Size (docs and move to android.util)
* Preconditions (@hide)

Adds helper class:
* HashCodeHelpers

Change-Id: Ied6749a19234f3af9da838f365f8d68d90251aaf
reconditions.java
776abc24cdd18610232a50b997cce3cffa74609b 07-Mar-2014 Adam Lesinski <adamlesinski@google.com> Uses VMRuntime.newUnpaddedArray for ideal array sizes

Bug:13028925

Change-Id: I0a9301248b10a339afbdc5e4ffe3310ac4fa1fb7
rrayUtils.java
rowingArrayUtils.java
5c2d84675b239bc04ae98c75526e5b81897ee183 21-Mar-2014 Jorim Jaggi <jjaggi@google.com> Move legacy notification processing to Notification.Builder

Bug: 13485610
Change-Id: I5466d3dbc328c77876dc701c17e7a5a06777dbbe
mageUtils.java
egacyNotificationUtil.java
bbf1861fdd2ba250354c060fe70f0ee7cbe93877 13-Dec-2013 Mikael Gullstrand <mikael.gullstrand@sonymobile.com> Null pointer exception in FileRotator.java

Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
ileRotator.java
f748257eee651b974e15274e03fe9843a8393073 18-Dec-2013 Narayan Kamath <narayan@google.com> XmlUtils#readThisMapXml should handle null keys.

Both readThisValueXml & writeThisValueXml have been
implemented to handle values with "null" names.

Change readThisMapXml to allow such names as well, and
map them to the null key in the resulting HashMap.
readThisListXml and readThisSetXml already support
null names.

bug: https://code.google.com/p/android/issues/detail?id=63463

Change-Id: I1c93976656e45e7733113eb67d29b6bad5d25f1f
mlUtils.java
e6585b32ea586743258a5457e2184ffc087f2d2f 13-Dec-2013 Kenny Root <kroot@google.com> Use java.util.Objects instead on internal API

Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
bjects.java
ee2f7df9ee8a4f43c3b0858bad08a4f0a59a627f 26-Sep-2013 Jeff Sharkey <jsharkey@android.com> Tighten flags enforcement, API to test Uris.

Check and throw if callers request invalid grant flags. Add API to
test if a Uri is backend by a DocumentsProvider.

Bug: 10919391, 10935608
Change-Id: Ifa6afefb95983558c8c64dc15ddf650e9fe07080
reconditions.java
66a9b2d7392a7f6334b5fe23d00ba718f3fa1851 26-Sep-2013 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev
cbd9a52f256087426feb19ac6e51eff772e81375 25-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10903002: com.facebook.katana keeps itself in A Services

Now when memory low, if a service's process is above
a selected pss, then the process is not allowed to go
in to the service a list.

Also simplified the normal meminfo details dump to not
include the shared dirty and shared clean sizes by
default, since these can be very confusing. You will
still get to see them with the "-a" flag.

Finally some small steps to better managing service
processes in the LRU list, so hopefully we can some
day be better about letting them drop down in the list
when there isn't really much interesting happening in
the process. Not yet used at this point.

Change-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac
emInfoReader.java
e66c1778f80f4b18e29e018eca3a338f125f23b9 20-Sep-2013 Jeff Sharkey <jsharkey@android.com> Require that persistable Uri permissions be taken.

Change our Intent flag to indicate that a Uri permission grant is
persistable, but don't actually persist it until explicitly taken by
the receiving app. This prevents apps from spamming each other if
persisted permissions aren't really required.

Remember the last time a persisted grant was taken by an app, and
use this to prune away the oldest grants when the number of grants
grows too large. Allow apps to query persisted grants they are
holding, and allow them to release previously persisted grants. Add
public UriPermission class to return grant details and timestamp.

Track various permission strengths separately, and combine together
after each mutation pass. Persistable grants are currently treated
like global grants, but they could be moved to have owners in the
future. Require that grant holders trying to extend a persistable
permission actually hold a persistable permission themselves.

Bug: 10835779
Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
mlUtils.java
6d8dfbd8149942f25f2b9643a12f1fb38f3be834 24-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10848916: "Always" button is not working.

The problem was that the ResolverActivity filters some activities
out of the list it shows, but it uses that display list as the
list of components the preference is set against when ultimately
setting it on the package manager... but that filtered list is *not*
the right component set, since it is not the same as the package
manager's view on it.

The fix here is to retain the original set of matching components
and use that when setting the preferred activity. Note that this
does mean that in very unusual cases where filtering is happeing
(such as one of the activities not being exported but being seen
as a possible completion from another app), then you will be setting
the preference for the complete set. Ultimately we probably need
to have the package manager apply these filtering rules up-front so
this is all consistent, but this is a very rare case so not that
important.

And then most of the change here is just improving the debug
output for intent resolution.

Change-Id: Ie35ac2c05a45946439951bbf41433c8b7de79c05
astPrintWriter.java
8e69257a9c7e9c1781e1f53d8856358ada38921d 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Implement #10749688: Improve low memory reporting

This significantly reworks the logging we do when
all cached processes are killed:

- We now collect the list of processes in-place so we
have a snapshot of exactly when the low memory situation
happened.
- In that snapshot we include the key process state: oom
adj, proc state, adj reasons.
- The report then asynchronously collects pss information
for those processes.
- The ultimate data printed to the log looks like a mix
between the "dumpsys meminfo" and "dumpsys activity"
output. This code no longer uses "dumpsys meminfo"
itself, so some of that data is no longer included,
in particular pss organized by allocation type.

In doing this, I realized that the existing code that is
supposed to run "procstats" is not currently working. And
at that point I realized, really, when we are collecting
this pss data we'd really like to include all those native
processes using ghod-only-knows how much RAM. And guess
what, we have a list of processes available in
ProcessCpuTracker.

So we now also collect and print information for native
processes, and we also do this for "dumpsys meminfo" which
really seems like a good thing when we are printing summaries
of all pss and such.

I also improved the code for reading /proc/meminfo to be
able to load all the interesting fields from there, and
am now printing that as well.

Change-Id: I9e7d13e9c07a8249c7a7e12e5433973b2c0fdc11
emInfoReader.java
4c8dfabff440aa7dd6fd23187c300855db8882e6 18-Jul-2013 Elliott Hughes <enh@google.com> am e9643874: am 0bad5370: Merge "Handle missing and invalid numeric values in XmlUtils."

* commit 'e964387466e380f17e28ab3dd75139509d043ffd':
Handle missing and invalid numeric values in XmlUtils.
e964387466e380f17e28ab3dd75139509d043ffd 18-Jul-2013 Elliott Hughes <enh@google.com> am 0bad5370: Merge "Handle missing and invalid numeric values in XmlUtils."

* commit '0bad537093ed5b493e4c2af778cf802a2cf2c15f':
Handle missing and invalid numeric values in XmlUtils.
20cdcee47d10986969e7e2a53a40a6ecabae3827 11-Jul-2013 Dianne Hackborn <hackbod@google.com> Add -c option to meminfo to dump a compact form.

Also fix a bug in FastPrintWriter where println(long) was
not printing the newline.

Change-Id: Idcb4eaab0c1ec4b992032b5e36478ef11a6533d9
astPrintWriter.java
2ddce3226e2a1f380dfc4ad3f7e962dfdbfc39dd 01-Jul-2013 Vladimir Marko <vmarko@google.com> Handle missing and invalid numeric values in XmlUtils.

Convert these errors to XmlPullParserException.

Bug: 8584433
Change-Id: I070ed517682e7f047ec00271db26110da2bebb09
mlUtils.java
6e7affeb3d0d026db20690072d8a661847888a42 29-Jun-2013 Elliott Hughes <enh@google.com> am b8292830: resolved conflicts for merge of a920f25f to jb-mr2-dev-plus-aosp

* commit 'b8292830f79fc76ffb9a1be5cd316212ac494d03':
Switch frameworks/base over from @hidden Charsets to public StandardCharsets.
a920f25fe55fc9afc7640902a200f19ce278588b 29-Jun-2013 Elliott Hughes <enh@google.com> resolved conflicts for merge of fca0f92e to stage-aosp-master

Change-Id: I4791f0ffa324a313b8390fbde6d8f82f716ecf74
d396a448b2e36e29598c954b64bfddef73f3fae0 29-Jun-2013 Elliott Hughes <enh@google.com> Switch frameworks/base over from @hidden Charsets to public StandardCharsets.

Bug: 3484927
Change-Id: I5d136d2ee629588538602766a182ae14ce5fc63c
rocFileReader.java
8c84109b9fbbf473b225707a38261ff5f99d95fb 24-Jun-2013 Dianne Hackborn <hackbod@google.com> Use FastPrintWriter... everywhere.

One problem this turned up is, because FastPrintWriter does
its own buffering, a lot of code that used to use PrintWriter
would fail -- if it pointed to a StringWriter, there was no
buffering, so it could just immediately get the result. Now
you need to first flush the FastPrintWriter.

Also added some new constructors to specify the size of buffer
that FastPrintWriter should use.

Change-Id: If48cd28d7be0b6b3278bbb69a8357e6ce88cf54a
umpUtils.java
astPrintWriter.java
e5a9c92377e035b24f50f9f66f4cdfd9cf79c2dd 25-Jun-2013 Dianne Hackborn <hackbod@google.com> Improve FastPrintWriter.

Change-Id: I23acb8d4c3db1f2f8e2f8003296f8c253e2ae7d2
astPrintWriter.java
db4e33f1f1d766afa3218a6bbdbb561e7962c854 02-Apr-2013 Dianne Hackborn <hackbod@google.com> Faster PrintWriter.

Change-Id: I4e1ae7e0357214deb7e19ae65f8701b69b347c6e
astPrintWriter.java
b436a328a5392b3ed33ca1186c85b71af61497d1 16-Apr-2013 Wink Saville <wink@google.com> am bab00057: am c6f2d17a: Merge "Add mHasQuit to fix an NPE in StateMachine." into jb-mr2-dev

* commit 'bab000578d7ad6b380c558f28685d2303b64abc8':
Add mHasQuit to fix an NPE in StateMachine.
03812c7894bd51ffc27aece5933791e4a00d679b 16-Apr-2013 Wink Saville <wink@google.com> Add mHasQuit to fix an NPE in StateMachine.

After quiting mStateStack and other variables become
null so ignore all messages.

Bug: 8627228
Change-Id: I60150fb8023340768b38c2e72a8cbc982a59e0a8
tateMachine.java
328ebf222167ee1d25a54fd34c8293e183303752 22-Mar-2013 Jeff Sharkey <jsharkey@android.com> Support persistable Uri permission grants.

When granting a Uri permission with new PERSIST_GRANT_URI_PERMISSION
flag, persist that grant across device reboots until explicitly
revoked. Adds new persistedModeFlags dimension to UriPermission,
and moves all flag mutation into UriPermission for clarity. Adds
flag documentation. Only inflate HashSet as needed.

Write persisted grants into XML file, saving based on source and
target package name and user handle. Sanity check grants when
parsing.

Wipe all grants from/to a package when uninstalled, and wipe any
transient grants when a package or user is force stopped.

Persistable grants are always considered "needed."

Change-Id: I3f001571b498fd607456a1257a6383f904d19497
ndentingPrintWriter.java
665e1aed5e99af1e66af56c0d73e32fd86f57273 22-Aug-2012 Robert Greenwalt <rgreenwalt@google.com> Add BT - DataTracker connection

Allows the external BT stack the means to communicate with
ConnectivityService during reverse tethering.

bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
rotocol.java
57b0f3638297242baca5db3e8ab4b5aab151f09e 22-Mar-2013 Christopher Tate <ctate@google.com> Merge "Throw on illegal arguments to ArrayUtils.equals(a1, a2, len)" into jb-mr2-dev
fc054349089563699349c161011f378c67d15587 22-Mar-2013 Christopher Tate <ctate@google.com> Throw on illegal arguments to ArrayUtils.equals(a1, a2, len)

Specifically, throw an explicit IllegalArgumentException if
'len' is negative, rather than falling over in some other
way further down the line.

Change-Id: If955de7ec1a15aa9aa8c42b6994b059e0cdffcee
rrayUtils.java
ded7b75d1a353856ad8f126d171d598d15b97760 22-Mar-2013 Jeff Sharkey <jsharkey@android.com> Move XML utility methods into shared location.

Change-Id: I15e8f0e4a6c5546d9be956ca0d46715d3441458c
mlUtils.java
24d248acdf5eee9fc9a209d5207eaeceb00fa3e3 17-Mar-2013 Wink Saville <wink@google.com> Add new StateMachine constructor with name and handler params.

Change-Id: Ic252de6cac24a043050b37d81767d19e2739b2fc
tateMachine.java
11aefad94de6569c4c7394e7bc5fdeb0ae60d5bb 06-Mar-2013 Irfan Sheriff <isheriff@google.com> Add support for scan always available mode

Modify WifiService to add a controller to track the various
desired states and let the WifiStatemachine actually control
the bring up.

Bug: 8141918

Change-Id: I6e98fd5a29b43c3c50c315eff5255cd0a3eaebcd
rotocol.java
8b0db520405c88414bcf8fdcb96293fb7075e524 14-Mar-2013 Wink Saville <wink@google.com> Add all variations message parameters for send/obtain.

Change-Id: Ib8f3b66650d2ae2a8af7a537871361613e65b48e
tateMachine.java
614edf5833826da373cd88476e73147afbc0dc95 11-Mar-2013 Wink Saville <wink@google.com> Merge "Add additional message methods." into jb-mr2-dev
4753cd2014b3db7ab47a9d408601e9e17f790a21 06-Mar-2013 Wink Saville <wink@google.com> Add additional message methods.

Change-Id: Iac96815f7b72bcb3b9c658a24c24e0733e0ea1b0
tateMachine.java
94c91dca55de9ffdbe072fcc5dd6dbf1efe5e4c1 07-Mar-2013 Jeff Sharkey <jsharkey@android.com> ArrayUtils.indexOf(), containsAll() with tests.

Change-Id: I040164d4e45126e4a6c1df54bd114f47951da560
rrayUtils.java
ff4fcdb98c9575642c48f1daeafff4b257769e81 24-Feb-2013 Wink Saville <wink@google.com> Tweak logging and some code reformatting.

Add logAndAddLogRec method that logs a string and adds it to LogRecords.
Add loge(s, e)
Add missing javadoc to the logging methods
Reformatted the code.

Change-Id: I42f39e45aae77e5b6968f16b6b83f4804ccb7e73
tateMachine.java
f643069ad56763732a06ab601cea1272e4c1827a 12-Feb-2013 Wink Saville <wink@google.com> Fix record logging.

Change-Id: I246159dec9522e58ee88593000ac0f86aff4bb25
tateMachine.java
8e7b3b15f7a4f888d55f080d3ed61860cd5fab55 01-Feb-2013 Jeff Sharkey <jsharkey@android.com> Support optional values in ProcFileReader.

When new values are added to proc files, we need to handle reading
them from both old and new kernels. This change supports optionally
reading long values. Tests to verify.

Bug: 7903145
Change-Id: I9fe250c0486c3cce3cf3d8624f01af01128d1191
rocFileReader.java
ed1ad7fadae1ed0fae2946dbe3e3ee9eea299bde 31-Jan-2013 Jeff Sharkey <jsharkey@android.com> Merge "Add wrapping support to IndentingPrintWriter."
71cb446f010e791ca77a27c416a79b5ccb3f075b 31-Jan-2013 Jeff Sharkey <jsharkey@android.com> Add wrapping support to IndentingPrintWriter.

When created with a wrapping width, any content longer than the
requested width will be wrapped onto additional lines. This supports
use-cases like dumping lots of data with printPair().

Improve documentation and add tests to verify behavior.

Change-Id: Ibdfce198f0e69f4df7725544fd1cd02fa029c647
ndentingPrintWriter.java
d21e24bccec8309839a264da95c5dc1573fc65c3 30-Jan-2013 Wink Saville <wink@google.com> Merge "Cleanup StateMachine LogRec handling and get tests working."
efcc3d35661c0cd978bb2b2f808fade4c4734e21 30-Jan-2013 Wink Saville <wink@google.com> Cleanup StateMachine LogRec handling and get tests working.

Change-Id: I13107e846812b16f1c95be11626500dbd7a13b2a
tateMachine.java
3029bf225cfa2c4b5b6e76303b0eba0d91c21026 30-Jan-2013 Jeff Sharkey <jsharkey@android.com> Check text length when testing for newline.

Also add tests to verify.

Bug: 8102140
Change-Id: I7e5dbff53caeb50bfa0fb4ea5dce73e3c742986a
astXmlSerializer.java
8a2ed1d7c0c4f6476e39cc37d9ebd29c7562ce01 30-Jan-2013 Dianne Hackborn <hackbod@google.com> Improve configuration of default preferred apps.

The file that defines default preferred apps is now more
robust. It is no longer a raw dump of the package
manager settings, but instead a more general list of a
target activity and filter. When reading it, the remaining
information (match value, set of potential matches) is
determined dynamically.

Change-Id: I0edc6e0d2ed3dd2a6e2238992f18f7fc1f51d8d4
astXmlSerializer.java
58c73c3f76c231cf128041aefadd4b6a6bcefac2 28-Jan-2013 Wink Saville <wink@google.com> Add protected log methods to StateMachine

This allow child classes to Override the logging and
have consistent behavior across StateMachines.

Change-Id: I7e23a44d08ca304ade2d7830fd0e307f63f1879e
tateMachine.java
4bbfa9dbb08c815b890bcc1dc1759ca335b568f8 06-Dec-2012 Irfan Sheriff <isheriff@android.com> am 628ba035: am 1612e298: Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler."

* commit '628ba035b3c0636826f3eee3ae78da628cc1a8c8':
AsyncChannel to support remote death notification and post a disconnect message to the source handler.
628ba035b3c0636826f3eee3ae78da628cc1a8c8 06-Dec-2012 Irfan Sheriff <isheriff@android.com> am 1612e298: Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler."

* commit '1612e29826dfe55f8deca27374046c5931ce5335':
AsyncChannel to support remote death notification and post a disconnect message to the source handler.
1612e29826dfe55f8deca27374046c5931ce5335 06-Dec-2012 Irfan Sheriff <isheriff@android.com> Merge "AsyncChannel to support remote death notification and post a disconnect message to the source handler."
56a715ef7af1e8e808ac6274e0456d9731b97e7a 04-Dec-2012 Irfan Sheriff <isheriff@google.com> Merge "Fix NPE in StateMachine"
f98facaf808df28c54101c57097506d5f7709a4a 04-Dec-2012 Irfan Sheriff <isheriff@google.com> Fix NPE in StateMachine

Bug: 7661311
Change-Id: I8645692baf43aced1f4b364bbf13275646754b63
tateMachine.java
38ddedc8adfc4d58f4bebe4a51149e4768d42f70 30-Nov-2012 Irfan Sheriff <isheriff@google.com> Merge "Support for dumping transition only messages"
ef8da9fe0b70fdbbb54bb0645ac66f75f58f31b8 29-Nov-2012 Irfan Sheriff <isheriff@google.com> Support for dumping transition only messages

Change-Id: I4968e28334f9dd49bd8fb81d04b25d62ca6da300
tateMachine.java
816a5d9c27890fab17e2884fa3a67e4154ce8196 28-Nov-2012 Dianne Hackborn <hackbod@google.com> am 360acd03: am 78551bc7: am ba4ac518: Merge "Improve debugging for issue #7586414: AlarmManager wakelocks held" into jb-mr1.1-dev

* commit '360acd03bfe0d597ee845d2392d715633a89e12b':
Improve debugging for issue #7586414: AlarmManager wakelocks held
a8f6d5f0720f400b6f59b0809aaefea83c5f51d4 27-Nov-2012 Romain Guy <romainguy@google.com> Add support for face attribute to HTML string resources
Bug #7480719

This change also adds the alias "color" for the attribute "fgcolor".
This change also unifies HTML colors parsing between the Html class
and StringBlock for consistency.

Change-Id: I696a6e080387901d88e9baf7cb989b892f14b9db
mlUtils.java
8103890a59de6ed4abaedaad80e66666ea59f9b5 27-Nov-2012 Dianne Hackborn <hackbod@google.com> Improve debugging for issue #7586414: AlarmManager wakelocks held

In alarm manager, print a summary of the top 10 alarms by time
being executed. Keep track of execution time (and wake count) of
each type of alarm for each application so this can be printed in
the summary (and used to compute the top 10 alarms). Rework how
the alarm summary stats are tracked so that we don't need to hold
on to the full Intent for each stat and can get the Intent information
at the time the alarm is sent rather than waiting for whatever Intent
comes back in the result.

Also in the battery stats: sort the kernel wake locks by time, add
a new section showing all partial wake locks across all applications
sorted by time.

Finally a new LocalLog class that is used by AlarmManager to log
important warning messages, so these can also be later found in
its dumpsys output.

Change-Id: Icc07810053e60fb623a49937e696819cb8352b06
ocalLog.java
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
umpUtils.java
ndentingPrintWriter.java
c268f0b19efd0b6c6c89c21be0893787f3cc9cf7 24-Aug-2012 Jeff Sharkey <jsharkey@android.com> Framework interface for netd firewall.

Bug: 5756357
Change-Id: If8b9f738fcea2cf16bd01682220718b57346c7cc
reconditions.java
ba059bf54c58e312562ac527d97d2bc1d4dacb45 01-Aug-2012 Vairavan Srinivasan <vairav@codeaurora.org> AsyncChannel to support remote death notification and post a
disconnect message to the source handler.

Change-Id: I7368cb466d9e33f7da8095ef2de25fc70f13d47e
syncChannel.java
39606a007a5b1309dd000234f2b8cf156c49fd0f 01-Aug-2012 Dianne Hackborn <hackbod@google.com> Make AtomicFile a public API. It's about time!

Change-Id: Ib34e294747405b7ab709cb0bbb2d9a0cc80ce86a
ournaledFile.java
f3110dfc84f6d7ae0c2c0718db2d1948dfd99240 28-May-2012 Wink Saville <wink@google.com> When we disconnect shutdown the StateMachine.

Need to stop the StateMachine threads and release
all resources when we disconnect.

bug: 6342470
Change-Id: Ibf7a2ebf4f7ecd667c5d95579e66ecd5086103ea
syncChannel.java
bbf30dfd767f823f5f40d14b498e2a593454c5c9 29-May-2012 Wink Saville <wink@google.com> Enhance StateMachine Quitting and logging support.

Make StateMachine#quit non-conditional and remove the need to
process the SM_QUIT_CMD it is now private.

Rename halting to onHalting.

Add onQuitting

Change the message specific logging to be more generic and change
the xxxProcessedMessagesYyy methods to xxxLogRecXyy names. Also add
addLogRec(String) and addLogRec(String, State) as the generic logging
methods.


bug: 5678189
Change-Id: I22f66d11828bfd70498db625fe1be728b90478b7
tateMachine.java
6de357e4d10fa5977ab9a6c665dc858765e95d34 09-May-2012 Jeff Sharkey <jsharkey@android.com> Recover from Throwable in FileRotator, dump.

In rewriteSingle(), catch Throwable to rollback to backup file,
instead of just IOException. Also add dumpAll() to pack up contents
for later debugging, and use it when encountering bad stats.

Bug: 6467868
Change-Id: Ic8e287cf5a235706811a304a88d71d11d3a79cd4
ileRotator.java
01ce0ce4724803112e7f2885d9ad49edf7515dca 19-Apr-2012 Wink Saville <wink@google.com> Fix calcuation of CMD_TO_STRING_COUNT.

Change-Id: I03ae1a545474d7dcd4e65c58d9befd020d5b9c54
syncChannel.java
a3bc565882dd3984e995363642b1295fe3d24d10 17-Apr-2012 Jeff Brown <jeffbrown@google.com> Add persistence for selected keyboard layout.

Bug: 6110399
Change-Id: I99544bf05e9755385bee478b5f047ccec2e5cae3
mlUtils.java
dd0c13060dc385da3f264a3c08d766826565b6bf 14-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Surface list of apps with given network policy."
854b2b1670bda1eeb87a14b7ac3d222024f0aad6 14-Apr-2012 Jeff Sharkey <jsharkey@android.com> Surface list of apps with given network policy.

Bug: 6007276
Change-Id: I0f0e939ee6481496480c4afaa108c99eb158547c
rrayUtils.java
48a7bf24e375bb98f6300f0b1b3d4c9b7447443a 14-Apr-2012 Wink Saville <wink@google.com> Merge "Enhance the debug output for StateMachines."
583eaaa57c51b28bf14da2a5cc94a2e6091cccf5 14-Apr-2012 Wink Saville <wink@google.com> Enhance the debug output for StateMachines.

Allow some messages to be ignored and allow the subclass to
add additional information. In particular, the information
can be used to decode the msg.what to a string.

Change-Id: I4f53becc6f0cb77399f99702084efef9d8785d67
syncChannel.java
tateMachine.java
2f036c55c0b72ac350e378c12b0571b22bc64dc1 13-Apr-2012 Jeff Sharkey <jsharkey@android.com> Add simple method to dump key/value pairs.

Change-Id: I26ebf7e1a1667298c6deca742c104685c52955f7
ndentingPrintWriter.java
7d024d372431effc87168afdc7cbe387680c4935 23-Mar-2012 Irfan Sheriff <isheriff@google.com> Add initial framework for DNS service discovery

Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
rotocol.java
cea056f5894543819898a0e62f98dc7870b27758 27-Mar-2012 Wink Saville <wink@google.com> Add SM_INIT_CMD.

The enter methods of the initial states are now executed
in response to a message and therefore run in the handler
associated with the StateMachine. Previously these would
run in the thread that start() was called from.

I ran into a problem where in an Activities onCreate I called
StateMachine#start(), which called the default states enter,
which invoked Context#bindService. But bindService never
completed because onCreate hadn't returned. But invoking the
enter methods on the StateMachines handler this problem does
not occur.

Change-Id: I2c2e52e5de29a987c098196a0efdba446cbc29d0
tateMachine.java
3e3c3f80a90b156ff500076f8655647dfb317acf 06-Feb-2012 Jake Hamby <jhamby@google.com> Add support for CMAS warning notifications over CDMA.

Refactor SMS Cell Broadcast support to enable receiving CMAS warning
notifications over CDMA. The CellBroadcastReceiver app must also be
updated with the corresponding change. All cell broadcasts are now
delivered as a Parcelable SmsCbMessage object in the "message" extra
of the SMS_CB_RECEIVED_ACTION or SMS_EMERGENCY_CB_RECEIVED_ACTION,
instead of as a GSM/UMTS "pdu" byte array.

Existing functionality for ETWS and CMAS alerts over GSM/UMTS continues
to be supported using the new radio-technology independent SmsCbMessage
and related objects. Test cases are added to verify that valid and
invalid broadcast data is handled appropriately.

Unit testing discovered a bug in the BitwiseOutputStream utility class
used by the added test cases. When the BitwiseOutputStream object must be
expanded (in the private possExpand() method), the mEnd field is not
updated to the new array size. This causes a new array to be allocated
on every new write, and for all data beyond the original array allocation
to be replaced with zeroes. Fixed by adding a line to possExpand() to
update mEnd. Added a test case to BitwiseStreamsTest to verify the fix.
Besides the test cases, BitwiseOutputStream is only used by BearerData in
two places, both of which allocate a sufficient initial buffer. So the
bug in BitwiseOutputStream is not critical to fix for normal operation,
but should be fixed so that the test cases using it function correctly.

Bug: 5856308
Change-Id: I201ecbf11607fd200aaae3cbb32561efabf65672
itwiseOutputStream.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
syncService.java
tateMachine.java
d3975a917799b85cacaf382b65c5832813066b51 24-Feb-2012 Irfan Sheriff <isheriff@google.com> Fix WifiManager async API

Fix the current asynchronous API to use callback like the way
was done with p2p API.

In the process, fix the use of WPS

Change-Id: Ib6f8714cf51b3525b655948268804e7eaaf17587
rotocol.java
b303b428169986bc8c469218f3b0fc1fcafe4a95 29-Feb-2012 Jake Hamby <jhamby@google.com> Merge "Revert "Add support for CMAS warning notifications over CDMA." I'll submit again when the app change is ready."
efba344b5a7b20e400daf5f41b2fbd688337f789 29-Feb-2012 Jake Hamby <jhamby@google.com> Revert "Add support for CMAS warning notifications over CDMA." I'll submit again when the app change is ready.

This reverts commit 0c49f03a0429b5c0c4a619256f7bca86a4997ae8
itwiseOutputStream.java
7b0eb33c3a6a70c91a913e4cd0171e19fba0a3f1 29-Feb-2012 Jake Hamby <jhamby@google.com> Merge "Add support for CMAS warning notifications over CDMA."
0c49f03a0429b5c0c4a619256f7bca86a4997ae8 06-Feb-2012 Jake Hamby <jhamby@google.com> Add support for CMAS warning notifications over CDMA.

Refactor SMS Cell Broadcast support to enable receiving CMAS warning
notifications over CDMA. The CellBroadcastReceiver app must also be
updated with the corresponding change. All cell broadcasts are now
delivered as a Parcelable SmsCbMessage object in the "message" extra
of the SMS_CB_RECEIVED_ACTION or SMS_EMERGENCY_CB_RECEIVED_ACTION,
instead of as a GSM/UMTS "pdu" byte array.

Existing functionality for ETWS and CMAS alerts over GSM/UMTS continues
to be supported using the new radio-technology independent SmsCbMessage
and related objects. Test cases are added to verify that valid and
invalid broadcast data is handled appropriately.

Unit testing discovered a bug in the BitwiseOutputStream utility class
used by the added test cases. When the BitwiseOutputStream object must be
expanded (in the private possExpand() method), the mEnd field is not
updated to the new array size. This causes a new array to be allocated
on every new write, and for all data beyond the original array allocation
to be replaced with zeroes. Fixed by adding a line to possExpand() to
update mEnd. Added a test case to BitwiseStreamsTest to verify the fix.
Besides the test cases, BitwiseOutputStream is only used by BearerData in
two places, both of which allocate a sufficient initial buffer. So the
bug in BitwiseOutputStream is not critical to fix for normal operation,
but should be fixed so that the test cases using it function correctly.

Bug: 5856308
Change-Id: Ie3e6af747976ce9b8a3e71e76fec71709cf86545
itwiseOutputStream.java
e7bb71d26943fbb053139e1e34203df4c2afaa9b 29-Feb-2012 Jeff Sharkey <jsharkey@android.com> Disable verbose NetworkStats logging.

Bug: 6076584
Change-Id: I4efcda2b474f623f4fe70db8b43b0aa69017d749
ileRotator.java
74d7ca133a6db82abba5c0abe443fb001928e72c 31-Jan-2012 Romain Guy <romainguy@google.com> Proper equals/hashCode impls in Rect and RectF

Change-Id: Ief52d84f134018af4dfd19674de12736c056e3f8
astMath.java
63abc37356728c0575d6a62a203102ae6d97953b 12-Jan-2012 Jeff Sharkey <jsharkey@android.com> Move network stats to FileRotator pattern.

Split existing network stats into two separate classes: a recorder
which generates historical data based on periodic counter snapshots,
and a collection of historical data with persistance logic.

Recorder keeps a pending history in memory until outstanding data
crosses a specific threshold. Persisting is handled through a given
FileRotator. This pattern significantly reduces disk churn and
memory overhead. Separate UID data from UID tag data, enabling a
shorter rotation cycle. Migrate existing stats into new structure.

Remove "xt" stats until iptables hooks are ready. Avoid consuming
Entry values when recording into NetworkStatsHistory. Assign
operation counts to default route interface.

Introduce "Rewriter" interface in FileRotator with methods to enable
rewriteAll(). Introduce IndentingPrintWriter to handle indenting in
dump() methods.

Bug: 5386531
Change-Id: Ibe086230a17999a197206ca62d45f266225fdff1
rrayUtils.java
ileRotator.java
ndentingPrintWriter.java
a27a3e8ad7d20dea63ef2d5cb8b6ec7e56c20a89 09-Jan-2012 Jeff Sharkey <jsharkey@android.com> Introduce FileRotator.

Utility that rotates files over time, similar to logrotate. There is
a single "active" file, which is periodically rotated into historical
files, and eventually deleted entirely. Files are stored under a
specific directory with a well-known prefix.

Bug: 5386531
Change-Id: I29f821a881247e50ce0f6f73b20bbd020db39e43
ileRotator.java
07c2c9f03b9b3bdca89f4960380b6b714ea6b8b0 08-Dec-2011 Jaikumar Ganesh <jaikumar@google.com> am 38342c9d: am d426c338: Merge "Reduce likelihood of crash in state machine." into ics-mr1

* commit '38342c9d858d8b021bc5c616cfe6c0ab9f359b2b':
Reduce likelihood of crash in state machine.
a544d467f2a876f2ada2880214b3157cfaef769f 07-Dec-2011 Jaikumar Ganesh <jaikumar@google.com> Reduce likelihood of crash in state machine.

Reduce likelihood of crash when state machine has quit and someone
sends a message using one of the public functions.

Bug: 5724844

Change-Id: I6582a1d19113e6ed545c8ab20adb0a414d8784a7
tateMachine.java
96e942dabeeaaa9ab6df3a870668c6fe53d930da 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Use a Choreographer to schedule animation and drawing.

Both animations and drawing need to march to the beat of
the same drum, but the animation system doesn't know
abgout the view system and vice-versa so neither one
can drive the other.

We introduce the Choreographer as a drummer to keep
everyone in time and ensure a magnificent performance.

This patch enabled VSync based animations and drawing by
default. Two system properties are provided for testing
purposes to control the behavior.

"debug.choreographer.vsync": Enables vsync based animation
timing. Defaults to true. When false, animations are
timed by posting delayed messages to a message queue in
the same way they used to be before this patch.

"debug.choreographer.animdraw": Enables the use of the animation
timer to drive drawing such that drawing is synchronized with
animations (in other words, with vsync or the timing loop).
Defaults to true. When false, layout traversals and drawing
are posted to the message queue for execution without any delay or
synchronization in the same way they used to be before this patch.

Stubbed out part of the layoutlib animation code because it
depends on the old timing loop (opened bug 5712395)

Change-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d
rrayUtils.java
6f9a61651e7949a5d63a4b44314d435c0105a51f 28-Nov-2011 Jaikumar Ganesh <jaikumar@google.com> Cleanup static references when quitting.

The State machine was leaking references when it was
getting created and destroyed.

Change-Id: I7904baf0482eef1617071d159d7b283566b4095c
tateMachine.java
163e6443f27884a9bfcb9a48ef606dc635852c23 01-Nov-2011 Jeff Sharkey <jsharkey@android.com> Correct proc file reader, optimizations.

Moved away from BufferedReader, which only reads the first 8KB of
some proc files because it aggresively fills its buffer. Optimized
proc parsing, now double the speed. Tests to cover.

Log when NetworkStats counters roll backwards when subtracting, and
optimizations around findIndex(). When system removes UID, also
remove from last stats snapshot to avoid xt counters from rolling
backwards.

Bug: 5472949, 5458380
Change-Id: I07c08fe5233156fac2b84450f6291868bf9bfaf2
rocFileReader.java
630a1712168f402653039e368259cb9480454fa8 26-Sep-2011 Jeff Sharkey <jsharkey@android.com> Overlay to configure data usage network types.

Specify which network types should be counted when computing data
usage totals.

Bug: 5361005
Change-Id: I830caed1a29199892d209a692b50f8b3e144cafe
rrayUtils.java
7d608423b721e0153f37bfd5eba78fcd2489562d 08-Aug-2011 Dianne Hackborn <hackbod@google.com> Move OOM kernel settings to activity manager.

The activity manager now take care of plugging the correct settings
into the OOM killer in the kernel. This is a lot cleaner because
it is really central to how the activity manager works, and nobody
else cares about them.

Taking advantage of this, the activity manager computes what it
thinks are appropriate OOM levels based on the RAM and display
size of the device.

Also a small optization to the package manager to keep a binding
to the package install helper for a bit after done using it, to
avoid thrashing on it.

And some new APIs that are now needed by Settings.

Change-Id: I2b2d379194445d8305bde331c19bde91c8f24751
emInfoReader.java
d2fe04b71a89a0608eb7c67065dead2a1f540122 22-Jul-2011 Isaac Levy <ilevy@google.com> Rewrote DnsPinger - now is async and concurrant

Change-Id: I93e1374ae857832935202614e34ce18f040fcfc7
rotocol.java
tateMachine.java
55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be 24-Jun-2011 repo sync <isheriff@google.com> Updated: Wi-Fi p2p framework

First stage. Get the bones in right now even though
we are not ready on the native side.

Once, we have things underneath working - we will further update the
framework

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
rotocol.java
654f5090754e4e1bf4c1736d0a24769a15a6037e 14-Jul-2011 Isaac Levy <ilevy@google.com> WifiWatchdog rewrite to formal statemachine

Rewrote wifiwatchdog service to use net.statemachine

Change-Id: Id6fd42b13192ac2e99f842ff50e9edff1696675d
rotocol.java
d5cabff96af60d90e197007737ff04e4087f1010 08-Jul-2011 Wink Saville <wink@google.com> am a736cd54: am 848aa3ab: Merge "No need to have BASE_DATA_CONNECTION_TRACKER start at 50000." into honeycomb-LTE

* commit 'a736cd54e1de62e84a7a49a3c68c56fc6d9bfc00':
No need to have BASE_DATA_CONNECTION_TRACKER start at 50000.
8735a07a64b8891998402ac0e16d142399ecceaf 07-Jul-2011 Wink Saville <wink@google.com> No need to have BASE_DATA_CONNECTION_TRACKER start at 50000.

Update comment that values should be changed after releasing.

Change-Id: I10ed6a0238e4f5be866dd97cfb56c5e7c84ddb52
rotocol.java
1515c0b5192996fdaf49c6ab8841a0d5b8ea9ca9 17-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Remove HanziToPinin.java

Those files are moved to ContactsProvider package.

Must be after If786dd286dab47ca1b2ccab38c5fa43ae390c0f7

Bug: 4645142
Change-Id: I774426347e8331fc1c203d5d8e6887e83baffc9f
anziToPinyin.java
d2a458750e5a3d490af09cecb5c28370baf0a913 29-May-2011 Jeff Sharkey <jsharkey@android.com> Map network identity using ConnectivityService.

Instead of deriving network identity based on raw subsystem broadcasts,
listen for updates from ConnectivityService. Added atomic view of all
active NetworkState, and build map from "iface" to NetworkIdentity set
for stats tracking.

To avoid exposing internal complexity, INetworkStatsService calls use
general templates. Added TelephonyManager mapping to classify network
types using broad labels like "3G" or "4G", used to drive templates.

Cleaned up Objects and Preconditions.

Change-Id: I1d4c1403f0503bc3635a59bb378841ba42239a91
bjects.java
reconditions.java
0b80114a2d80c359a1b462c388247995ef653c00 03-May-2011 Wink Saville <wink@google.com> Make DataConnection asynchronous.

Change-Id: Ic0e01dded25ba1fdb3b2c6d0f95a1193f608a0e0
rotocol.java
0246bbc8d7b646a2344d04d5af41580fa9e17a98 02-May-2011 Wink Saville <wink@google.com> Enhance AsyncChannel.

- Use Protocol for BASE of CMD's.
- Add synchronous connect methods.
- Back port sha1 c23971b3e4f92ac31996d4f9f32eef3cb4ef65fd from master

Change-Id: If0b3f6cbbb8d4268cad6ca19d26ab2ee42390d86
syncChannel.java
rotocol.java
3fc75e9267a585101a06edc13d141b58efb9691f 28-Apr-2011 Irfan Sheriff <isheriff@google.com> Define Protocol class for use with StateMachine

Adds a common namespace for communication across
different state machines

Change-Id: I0a9ae872112567afd35a1dc95ac9283170f3f459
rotocol.java
64c42cae4482fe0157e977b8ddd0f2c2436b3f31 18-Apr-2011 Wink Saville <wink@google.com> Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.

Change-Id: Ib4b33894da75f5f156066092fb145b478e52f7d7
ierarchicalState.java
ierarchicalStateMachine.java
State.java
tate.java
tateMachine.java
d3059487abd526b91b912f70939c1c6994eecf52 11-Apr-2011 Wink Saville <wink@google.com> Move ProcessedMessage into HierarchicalStateMachine.

ProcessedMessage is really private to HSM and so moving
it into the HSM class.

Change-Id: Ida476fc7aae5e9bfb6ac632dac979e11f489b6fc
ierarchicalStateMachine.java
rocessedMessages.java
cfce303cbdd59a3883957e4bc96a0476ceeb86ac 02-Dec-2010 Wink Saville <wink@google.com> Remove the need for a token parameter from AsyncChannel.

By returning the channel object it self it is unnecessary
to have a token. Also, no current code needed it, if its
needed in the future it can be added back.

Change-Id: Ie1d2a1e885f9cd74e95663711ccefb760811bf16
syncChannel.java
33c54e3365d621fcc5b9f7564f18b33dc1e300df 15-Nov-2010 Wink Saville <wink@google.com> Add html formatting to AsyncChannel & Hsm class comments.

Change-Id: Ic42fdb4e8970166a92f173317210353ab8a2fa6a
syncChannel.java
ierarchicalStateMachine.java
9d9f0c20a6a8e2693b8534cc0a5c314bdb3a0090 28-Oct-2010 Wink Saville <wink@google.com> Remove an @Override that is not needed.

Change-Id: I23d216c387ea44073eed1e3acb05d07104784e16
syncChannel.java
385a753dead6ef15f2e30eae47f73e642b3ef7ed 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 368fdba4 to master

Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
d20a5d6b5a821e28d73eba6502a2135134014a84 21-Oct-2010 Wink Saville <wink@google.com> Add AsyncChannel and AsyncService.

Change-Id: Ie6f9aed58f49defcd1c051611ce791e2e62a9474
syncChannel.java
syncService.java
431bb2269532f2514861b908d5fafda8fa64da79 19-Oct-2010 Joe Onorato <joeo@google.com> Reduce logging.

Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
ierarchicalStateMachine.java
aa4b235dd720d1f2861681cdfabf3b5fabc61fb0 14-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> resolved conflicts for merge of 79a5307a to master

Change-Id: I5a524fe53e74df722db003cec6ab62451fe0f899
0b6232da8995d6fa556d55ea2067dab3c1180919 16-Sep-2010 Joe Onorato <joeo@google.com> These are not javadoc tags, they are annotations in sample code. Escape them properly.
ierarchicalStateMachine.java
0d903bcd780a927b8f9cdc8e178afdf85858ba0a 16-Sep-2010 Joe Onorato <joeo@google.com> These are not javadoc tags, they are annotations in sample code. Escape them properly.

Change-Id: Ic3b9f2738a1f8ae8aa6a2a278f1d4ba3a7727b51
ierarchicalStateMachine.java
4e8620f868e2490782ebb960404140ea9482c91d 25-Aug-2010 Ben Dodson <bjdodson@google.com> Updated documentation for upcoming fix for @code tags

Change-Id: Id7b163179132b9cf180afecb4e9e10ee39bcd415
ypedProperties.java
727782053ced0cac5beadc2c7ee9382d0f1ba1f5 21-Aug-2010 Dianne Hackborn <hackbod@google.com> Work on DialogFragment and docs.

- DialogFragment now has an option to not show a dialog, so you can
use your UI somewhere else.
- Deprecated show() versions that were tied to activities.
- Added documentation to DialogFragment class.
- Added documentation to onSaveInstanceState() to explain how the
time it is called is different than Activity's version.
- Fixed some java doc warnings.

Change-Id: If026744c368e2443030d2d9e0a9c808d820857df
ierarchicalStateMachine.java
96e6bdb033b2997a4215b70acc3777fe495b9aca 25-Jun-2010 Irfan Sheriff <isheriff@google.com> Add obtainMessage functions to HSM

Change-Id: Idc907f429cf15e61ad461af95fdc245fd5aca23f
ierarchicalStateMachine.java
33c26f9fd01d5e2acce3e6c7ca828951d28c7d66 19-May-2010 Wink Saville <wink@google.com> am 199d3783: am 7e3b31d7: Merge "Update docs, add HANDLED, NOT_HANDLED and getCurrentMessage." into kraken
a4f3bec29c85ef9e0d07fdd551fe3c50f28b9adc 19-May-2010 Wink Saville <wink@google.com> Update docs, add HANDLED, NOT_HANDLED and getCurrentMessage.

The EBNF statemachine description language was to difficult
to remember changed to use a simpler and more obvious psuedo
language.

Added HANDLED and NOT_HANDLED as it makes the psuedo code
more obvious.

Added getCurrentMessage primarily for use by code in enter
so that it can know why the new state is being entered.

Change-Id: I1446e417b77684fbde0020b1da0975eedc57cce4
ierarchicalStateMachine.java
212db7d3f8ce5297f4a556234a9c0675c697f1cf 09-Apr-2010 Adam Powell <adamp@google.com> Added MultiSelectListPreference

Added set support to XmlUtils; added Set<String> functions to SharedPreferences.

MultiSelectListPreference allows multiple selection and persistence of
string preferences. Addresses bug 2575634.

Change-Id: Icd56022d444b0ce43cccf819cd7d600fdb00e88a
mlUtils.java
1afd1c90ebe789b8d3a137004127a50d2db7e3b5 19-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2457218: Corrupt batterystats.bin file preventing phone boot - LIBtt68127

No steps to repro, but makes the code more robust by using the standard
JournaledFile class and doing sanity checks on the input it reads.

This required moving the JournaledFile class in to the framework (and
we really should get rid of either it or AtomicFile, but they have
different recovery semantics so that is tough). Also went through and
cleaned up the file management in various places.

Change-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e
ournaledFile.java
e7be6a85da5be32348f4e83ede195477a7ec1790 19-Mar-2010 Wink Saville <wink@google.com> Allow transitionTo in enter/exit.

bug: 2435366
Change-Id: Id15c5e2cca49ced5ebbda24887f8c490e717f101
ierarchicalState.java
ierarchicalStateMachine.java
91fbd56757751a7aca8ef2b4d936e587509e6eef 18-Mar-2010 Wink Saville <wink@google.com> Add additional sendMessage methods.

To simplify sending messages add sendMessage methods that take
what and obj as parameters.

Change-Id: Ib22d752eb3cb32fe3dfa8dd2e65915acec3e5db6
ierarchicalStateMachine.java
f0f566ec4607376583e59964a6a8a6dcb0265c20 11-Mar-2010 Wink Saville <wink@google.com> Ignore instead of throw errors in QuittingState and reorder some parameters.

Since there could be an arbitrary number of messages in
the queue but Handler/Looper/MessageQueue do not provide
any mechanism for removing "all" messages the best we can
do is ignore. Throwing an error is probably too heavy.

Change-Id: I13c81ac5786484f5b3218885b010de596d943975
ierarchicalStateMachine.java
1b8b98b3db5dcf0b01d1a632aafea076cc91f5a4 11-Mar-2010 Wink Saville <wink@google.com> Add quit and fix HSM EBNF.

Add support for quiting the looper and stopping a thread.

Allow enter/exit at top or bottom of a STATE EBNF.

Fix missing brace in MSG_LIST.

Change-Id: Iddf5ce908008933bf8f0646e844254183da3d1f3
ierarchicalStateMachine.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
astXmlSerializer.java
mlUtils.java
2a091d7aa0c174986387e5d56bf97a87fe075bdb 12-Feb-2010 Robert Greenwalt <robdroid@android.com> Update Tethering.

Adds telephony support, async model, multiple tethered iface suport,
better notifications, device config.

bug:2413855
ierarchicalStateMachine.java
4256586663f0d045c69ea818db4893b3365b9915 21-Jan-2010 Bai Tao <michaelbai@google.com> Modify the interface of HanziToPinyin class to make it generic and add test class
anziToPinyin.java
f0108cda21bec61418b24aa6217406072780b5d5 22-Dec-2009 Tom Taylor <tomtaylor@google.com> resolved conflicts for merge of ad2fa35d to master

Change-Id: Ia4362cd48ac0689b91003943a4cd9660da72ff90
d4a4729c0cac582a2dcec7c8cfb316b81885a0f0 21-Dec-2009 Tom Taylor <tomtaylor@google.com> Update imports to android-common

Several files were moved to android-common. Update all the references
to import those files from the new location.
astXmlSerializer.java
mlUtils.java
df1549128f26be712c46c88202b97145275f2125 15-Dec-2009 Dmitri Plotnikov <dplotnikov@google.com> Cherry-picking change I476e5a00 from eclair-china

Add Hanzi to Pinyin converter and sort key for contacts

Sort key and Hanzi to Pinyin converter is used for Chinese
implementation of contacts search, indexing and sorting.
Hanzi to Pinyin converter should be implemented on top of ICU
transliterator in the future.

Change-Id: I620f67c85897ee4054eda2624e7bcc12a81740aa
anziToPinyin.java
fc5b4802a544b6ca304aa7e58a26018ef714d233 09-Dec-2009 Wink Saville <wink@google.com> Implement a HierarchicalStateMachine

A hierarchical state machine is a state machine which processes messages
and can have states arranged hierarchically. Each state in the state
machine may have a single parent state and if a child state is unable to
handle a message it may have the message processed by its parent.

Change-Id: I0a56959ece8f89e4f9122dc8044120b82d517bbb
ierarchicalState.java
ierarchicalStateMachine.java
rocessedMessages.java
c25dbf88fc21c707b72502c43695c2c31ff22a23 28-Jun-2009 Tammo Spalink <tammo@google.com> add comment about endianness
itwiseInputStream.java
itwiseOutputStream.java
326c66d888f9b3ce82af93fe63e4828a4a4e3fbe 24-Jun-2009 Tammo Spalink <tammo@google.com> make BitwiseInputStream.read return int

Keep the maximum access 8 bits to avoid dealing with
endianness issues.
itwiseInputStream.java
itwiseOutputStream.java
fafb16c5ae18816bd048428e60f46aec1e993b20 14-May-2009 Marco Nelissen <marcone@google.com> Fix typo
itwiseOutputStream.java
4b0ebef18defefe6850360cf11498f262a71847d 29-Apr-2009 Dave Bort <dbort@android.com> TypedProperties: add getStringInfo() to help deal with null strings

Signed-off-by: Dave Bort <dbort@android.com>
ypedProperties.java
5b6f8d865d03f37c8c3a9397ca693ac671f39df7 30-Apr-2009 Dave Bort <dbort@android.com> TypedProperties: change the file format to be a subset of Java

Types and constants are now case-sensitive.
Types come first.
Newlines are ignored, but semicolons are required.
Comments are now Java-style, not sh-style.
unset() now looks like a method instead of a pseudotype.

Signed-off-by: Dave Bort <dbort@android.com>
ypedProperties.java
c4d6dd0bbce846c3b20e907d6a3016e4adc65e22 23-Apr-2009 Dave Bort <dbort@android.com> TypedProperties: initial commit
ypedProperties.java
e564b19ed2f6b8b5667648254bc6c6859bb536e7 15-Apr-2009 Tammo Spalink <tammo@google.com> replaced integer * and % with shift operations, for performance
itwiseInputStream.java
itwiseOutputStream.java
83917db040bd7498ebca3b74f879dc1c9e223d8e 14-Apr-2009 Tammo Spalink <tammo@google.com> Initial code for cdma sms encode and decode, in java, with simple tests.

(direct cherry-pick of master 42/42/8)
itwiseInputStream.java
itwiseOutputStream.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rrayUtils.java
harSequences.java
astMath.java
astXmlSerializer.java
exDump.java
bjects.java
redicate.java
redicates.java
ithFramework.java
mlUtils.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rrayUtils.java
harSequences.java
astMath.java
astXmlSerializer.java
exDump.java
bjects.java
redicate.java
redicates.java
ithFramework.java
mlUtils.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
astXmlSerializer.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
rrayUtils.java
harSequences.java
astMath.java
astXmlSerializer.java
exDump.java
bjects.java
redicate.java
redicates.java
ithFramework.java
mlUtils.java