History log of /frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
20eaaa496d04a4391314103849647b3d60384fee 09-May-2018 Dmitry Dementyev <dementyev@google.com> Check the return values after updating Recoverable KeyStore Database.

Add exception/ logs for Database failures.
Low impact updates (like setShouldCreateSnapshot) are skipped.
Downgraded some Log.wtf logs to Log.e to prevent some unlikely Framework build
crashes.
Command to enable .wtf crash: adb shell settings put global wtf_is_fatal 1

Bug: 78366791
Test: apct
Change-Id: I2e6fd22602024cedb9f16ca68175a1c614b915e9
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
c3aefbd7f8def01618f399f427ddf7c11aeaa88c 06-Apr-2018 Bo Zhu <bozhu@google.com> Use Scrypt to hash all passwords in RecoverableKeyStore

Bug: 77325751
Test: runtest frameworks-services -p
com.android.server.locksettings.recoverablekeystor

Change-Id: Ifd934593a2161e397eac77b682e3f4bb2d518822
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
ebdd19c7733f8f61794aefb7067ea31e205ba2e9 11-Apr-2018 Dmitry Dementyev <dementyev@google.com> Don't store deprecated trustedHardwarePublicKey field.

Bug:77873515
Test: apct
Change-Id: I990203781587f1747af514725014bc6b5bf1e517
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
76973437e9cb36eb60fb2a374366713307688136 03-Apr-2018 Bo Zhu <bozhu@google.com> Use Scrypt to hash long passwords in RecoverableKeyStore

It's enabled for test mode for now, and will need to be updated after
the other components of the system is updated.

Bug: 77325751
Test: runtest frameworks-services -p
com.android.server.locksettings.recoverablekeystore

Change-Id: I4fc77aba37aeddbe6a82b633934b068cd4ac507f
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
0b8c82e66078b842c9bf4a0297e90303e5aa4c1a 30-Mar-2018 Bo Zhu <bozhu@google.com> Throw an exception if the given root alias is unknown

Bug: 76433465
Test: runtest frameworks-services -p
com.android.server.locksettings.recoverablekeystore

Change-Id: I3a213ab0cd3b0e9c002bc44d4ce929977e119e81
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
57ca3da24f26164104aecbcebf345cfcfac17a66 28-Mar-2018 Dmitry Dementyev <dementyev@google.com> Add support for testing mode root certificate.

1) Add Certificate
2) Helper class for end-to-end tests
3) Only create snapshot for passwords with special prefix in test mode
4) Sync only keys with insecure prefix in test mode.

Bug: 76433465
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I6edc8c4716c3a034b6b79c7aa6f4b8478e9a3c9e
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
f34fc7e18c2a2ec5cff0bd9d96397311745fbef4 27-Mar-2018 Dmitry Dementyev <dementyev@google.com> Use rootAlias to index chosen cert and its version.

Added new column to store active alias for given recovery agent.
Added new table with chosen certififcate and cert list serial number indexed
by recovery agent and root of trust.

Bug: 76433465
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Iae8b84312805400bf1acd4db242efeb6d167c000
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
f23c203ed5dc98a701ab7b425d4773aa27a761d9 22-Mar-2018 Bo Zhu <bozhu@google.com> Remove the hard-coded counterId in VaultParams

Bug: 72221676
Test: Manual test and runtest frameworks-services -p
com.android.server.locksettings.recoverablekeystore

Change-Id: I51cfac6478d59f41c1107106a14af008463f7de7
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
2fd4b597ae3cfaa5dfa8156ec15bc813d69acf7a 15-Mar-2018 Robert Berry <robertberry@google.com> Create snapshot even if no PendingIntent is registered

When the user first unlocks the phone after booting, the system
app has not yet started. As such, it will not have had a chance to
register a PendingIntent. But if it has ever previously initialized,
the framework can still create a snapshot, and should. Otherwise, it
may be up to 72 hours before the user unlocks their phone again using
the primary method, which adds delay to the key sync.

Bug: 73921897
Test: runtest frameworks-services -p \
com.android.server.locksettings.recoverablekeystore

Change-Id: Idfaf53194e6a2f5d5ce0123d72f46197392d2c99
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
636108077feaf6126a24a0868f6a3e65c8f8afa0 09-Mar-2018 Bo Zhu <bozhu@google.com> DO NOT MERGE Fix the null return value of getTrustedHardwareCertPath

I forgot to serialize and deserialize it in the last CL adding it.

Bug: 74359698
Change-Id: I34f9225dc63b55223c2a7db23ee3fa6abf056a0d
Test: atest RecoveryControllerHostTest
(cherry picked from commit b4d2cc684dcd94a1482c8c2e66d421d481032833)
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
3326da5f4ca80c83d9631d6ba237bbf7223f0b9f 13-Mar-2018 Aseem Kumar <aseemk@google.com> Disable RecoverableKeyStoreManager for custom lockscreens.

Bug: 74225107
Test: adb shell am instrument \
-w -e package com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I88fc0fe7fdb23439d781cac96632196465553a38
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
7c1972ff71080568b7288197e96e163d5a469e5f 23-Feb-2018 Bo Zhu <bozhu@google.com> Add CertPath to KeyChainSnapshot and startRecoverySession

CertPath will include a cert of the trusted hardware and necessary
intermediate certificates.

Bug: 73784851
Change-Id: Ic70616b8f119891a82402b91035456e404c5f6de
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
14d993dc2c0bbdee6a6ae0c270a92107c9f57a84 04-Feb-2018 Bo Zhu <bozhu@google.com> Accept an XML file containing a list of THM certificates instead of the
temporary solution using the raw public key

Change-Id: I6f9543c39e328503db0f24a49901fff6e04fe8c5
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
73a4d9444b24617444179a3c8a88f8c6820e39bc 27-Jan-2018 Dmitry Dementyev <dementyev@google.com> Merge "Recreate recovery snapshot with current version if it is not stored."
907e27586a4c2890d7c531e8f0eedb0c18d4decc 26-Jan-2018 Dmitry Dementyev <dementyev@google.com> Recreate recovery snapshot with current version if it is not stored.

Use Builder to create Parcelables.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ieed92be627a8a2411353ce6a84b26dd7bde99401
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
6e16724fb66e4bd14274768174379aa88c34464f 26-Jan-2018 Dmitry Dementyev <dementyev@google.com> Remove platform key when user disables lock screen protection

Correctly sync keys on LSKF update.

Bug: 72443379
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I2569310388a6f852c86d560663024d8c8dadb761
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
3f2d1713fd8d3379f94c0c880d6242c7cbc1eea8 24-Jan-2018 Dmitry Dementyev <dementyev@google.com> Handle case when PlatformKey is invalid.

When Platform key is invalidated, all applicatio keys wraped into it
needs to be marked as unrecoverable.
It can happen when user removes screen lock.

Bug: 72443379
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I7ae257f8fdb4b6abf789887f15b02a2fe370dfb8
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
0916e7ca44aba5e6c89d75007da805697fdace9e 23-Jan-2018 Dmitry Dementyev <dementyev@google.com> Prepare KeyStore RecoveryController API for review.

- set/get recovery status simplification
- adding account to WrappedKey
- moving recovery methods to the Session class.

There are small cosmetical changes to .aidl which don't affect
implementation logic.

Bug: 72299798
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I9efaa4cde42cf778bb97ed13f62750a65d8c6cb5
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
81ee34bf957dffe020442e3f0c6c06817397ebf0 23-Jan-2018 Robert Berry <robertberry@google.com> Move APIs to final location in preparation for API review

Leave old APIs in current location for backwards compatibility reasons.

Bug: 72298565
Test: Tried flow with current versions of GMSCore to ensure they work still
Change-Id: Iafc2b8ad8a574460dbb2482a67935debe71f1113
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
26cbb6b039a7d20531fbd37005f05fe4268062bc 22-Jan-2018 Robert Berry <robertberry@google.com> Fail KeySyncTask if the PlatformKey can't be used to decrypt

Currently just uploads an empty set of keys, and thinks the key sync
was successful. (i.e., does not sync again afterwards.)

Bug: 72299798
Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I7342f93bd205777688a737d6e1ec8c1ab5b5f7a5
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
d5ba9f60dc9885912a5add4c6d9038c35f31b08a 19-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add 4 new fields to KeychainSnapshot"
add1bad01ee9ac90177df832e6dceb288db93f04 19-Jan-2018 Dmitry Dementyev <dementyev@google.com> Add 4 new fields to KeychainSnapshot

The fields are necessary to construct correct arguments for recovery session.
maxAttempts
counterId
serverParams
trustedHardwarePublicKey

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: If8fbc2e0a313d4367712e3598925eab0fb334258
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
aea1e39be476a6e005709191b5b78a0cbec12684 19-Jan-2018 Dmitry Dementyev <dementyev@google.com> Temporary use hardcoded counterId.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I0f387e6a424f24de340276fc45cfaddb3529a715
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
ae6ec6d2ee732ae6060e4558f36c77e0283a2dd8 18-Jan-2018 Dmitry Dementyev <dementyev@google.com> Fix RecoverableKeyStore unit tests.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I19aeb444e2f99f698cd1f9dfa13215093f5230da
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
c07dd18a3ebbceb6bf6277275d504fe38bdabaac 18-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update the VaultParams encoding to reflect the recent change in the format of vault_handle"
9e1bd362df96daeda3cce5f536e57479f7ea6105 18-Jan-2018 Robert Berry <robertberry@google.com> Rename KeychainProtectionParameter to KeychainProtectionParams

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Iab6d85d0be38e1a09ce78bb96b8f68493de65be9
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
4ff2b3fd83514807607231303ea0bb2c73c0fc5c 18-Jan-2018 Bo Zhu <bozhu@google.com> Update the VaultParams encoding to reflect the recent change in the
format of vault_handle

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I105d17ac87b70795fa977b7649c7a1fdcb97b5e9
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
5f138701fe5c652199aae4845caf83797ead4c82 17-Jan-2018 Robert Berry <robertberry@google.com> Use better names for associated classes of RecoveryManager

I will also rename RecoveryManager to RecoveryController -- in a separate CL,
as this one is already becoming too large.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I2fb4e1f55fb50d95f15c230783c3d289dd71f7f3
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
7d8c78a2c88a4898a63b918ab8b974aecd7b165b 13-Jan-2018 Dmitry Dementyev <dementyev@google.com> Refactor KeyStore Recovery Manager.

1) Parameters -> Params
2) Use byte[] for serivice parameters.
2) Move Exception into separate class.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I1b9a8748830f7deb9eeb57693f5a818a49a7aabe
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
ed89ea04e48f0c629c6511a2e41a9979da575881 11-Jan-2018 Dmitry Dementyev <dementyev@google.com> Big RecoverableKeyStoreLoader refactoring.

The change is based on API review.
1) package and class names update
2) Builders for Parcelables.
3) Use Constant for RECOVER_KEYSTORE permission defined in
android.Manifest.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I49f80acbb6dc0eb6d049e18e8cb0d1aa326dadb2
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
122bfe1b7eed5fb772d40b901ed818095c62c2e9 11-Jan-2018 Dmitry Dementyev <dementyev@google.com> Check that recoverySecretTypes contains TYPE_LOCKSCREEN during unlock.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I55e8518c92704655d96eb1cddf84bb7956ea5912
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
abd713c4c8dc266ccd25d3a9e46d2e44d2606dfb 10-Jan-2018 Dmitry Dementyev <dementyev@google.com> Use correct lock screen type in KeyStoreRecoveryMetadata constructor.

Bug: 71738161
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ib06a9fe4c1182bfd3f4eb0d5f3f3b50c0bf71f25
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
67d86e3990953cc6b5821111be79953e533ca34b 10-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update recovery snapshot version."
ce5ed6e6f366646d82ecd9cc6142926e51eef99d 10-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Rename createSHA256Parameters to createSha256Parameters"
77183effbf21cbaa9dd81b31ba5c0e1a580619a3 06-Jan-2018 Dmitry Dementyev <dementyev@google.com> Update recovery snapshot version.

There is exactly one snapshot per userId - recovery agent uid pair.
Version is incremented when
1) User credential is updated
2) User unlockes phone and list of application keys was changes since
last snapshot creation.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I6ab98fcbbb05e33958e6def644b40441cb52de6a
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
b719546cada471f58880b4e66762c1d31d742df6 09-Jan-2018 Dmitry Dementyev <dementyev@google.com> Rename createSHA256Parameters to createSha256Parameters

Fixes the following lint warning:
Warning S1: Method names with acronyms should be getMtu() instead of
getMTU()

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: If9eb03e2a2a63fe02a2da4828bd0c5c8997078b9
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
07c765553da1224876cd55b91e260b240025bc6e 09-Jan-2018 Dmitry Dementyev <dementyev@google.com> Use String instead of byte[] to represent alias in KeyEntryRecoveryData.

Bug: 66499222
Test: adb shell am instrument -w -e package \
com.android.server.locksettings.recoverablekeystore \
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Iac74fe856b43faa602ea1c2d9172f669826f4011
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
3462c832d1acccca3cdd541dea86442eb81536ab 05-Jan-2018 Bo Zhu <bozhu@google.com> Refactor PlatformKeyManger to remove mUserId to fix two tests that fail
on clean devices without secure screenlocks

The mUserId is removed to allow a mocked PlatformKeyManager to be passed
into RecoverableKeyStoreManager for tests.

Test: adb shell am instrument -w -e package
com.android.server.locksettings.recoverablekeystore
com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I9b1fda3c7d869b683cd71cb81ea88da5d995ace9
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
94ea4e4caf0c41042df288b6fcdade01c0ce3430 28-Dec-2017 Robert Berry <robertberry@google.com> Encode vault params in key sync task

Still not sure how we're getting counter_id here, though?

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Ic473fff4a19c1d044a6381a1459eca0835a55697
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
aa3f4cad33c7143679d54938aae7a37749d7f035 27-Dec-2017 Robert Berry <robertberry@google.com> Hook up using initialized public key in KeySyncTask

Not sure if this is correct, PTAL. We won't have a specific uid when
the phone is unlocked, only the userId. Should the public key be
uid-specific or just userId-specific?

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Ic2ec442c8a283e747542fafa9d7b0462aa185532
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
9104404408cbead4a2faedd96d5bab3fa050751a 27-Dec-2017 Robert Berry <robertberry@google.com> Trigger recovery agent PendingIntent in KeySyncTask

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Iafae3ff7da9bdc9e986cd19cde72170f9f438180
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
bd086f1963f13d13a03928f41b9b7979bebffa26 27-Dec-2017 Robert Berry <robertberry@google.com> Add storage for snapshots in KeySyncTask

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I25a9d6999bec5639cc91532da1b42a8d1f911b79
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
f0a4bea6b242d7673053bfd43f932e9a464ac9e0 22-Dec-2017 Robert Berry <robertberry@google.com> Add key encryption to KeySyncTask

This mostly completes the task. Still some TODOs around constructing
the vault metadata correctly, and exactly what the Intent should look
like.

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: Ibf5705830f577597f0cc2afdd906f6517e426d01
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
4a534ecdd326db6557ac5fc275c11e091c306a44 21-Dec-2017 Robert Berry <robertberry@google.com> Add KeySyncTask

We should be doing all syncing on another thread, so as not to slow down
screen unlock. This is an initial skeleton implementation that does
nothing.

Test: adb shell am instrument -w -e package com.android.server.locksettings.recoverablekeystore com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I43ebe3f026cbba62985a464b6c0e0a9151448a51
/frameworks/base/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java