diff options
author | Benjamin Franz <bfranz@google.com> | 2015-07-01 13:49:49 +0100 |
---|---|---|
committer | Benjamin Franz <bfranz@google.com> | 2015-08-11 15:46:45 +0000 |
commit | ae6b3a1d69af519de158a093463de423765fa5c5 (patch) | |
tree | 76607ef8e82f384262b344f5d2040d35c7e33cfe /admin | |
parent | c75d6fa76bdf9fb976890b53535824a0caeef029 (diff) | |
download | android-ae6b3a1d69af519de158a093463de423765fa5c5.tar.gz |
Add COSU support to NfcProvisioner
Bug: 23028577
Change-Id: Ifdc636eace8feeb52e785249718ad47906231e22
Diffstat (limited to 'admin')
-rw-r--r-- | admin/NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/ProvisioningValuesLoader.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/admin/NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/ProvisioningValuesLoader.java b/admin/NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/ProvisioningValuesLoader.java index 2203c30d..73a60532 100644 --- a/admin/NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/ProvisioningValuesLoader.java +++ b/admin/NfcProvisioning/Application/src/main/java/com/example/android/nfcprovisioning/ProvisioningValuesLoader.java @@ -30,8 +30,12 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.io.StringWriter; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Properties; +import java.util.Set; import java.util.TimeZone; /** @@ -55,6 +59,7 @@ public class ProvisioningValuesLoader extends AsyncTaskLoader<Map<String, String public Map<String, String> loadInBackground() { HashMap<String, String> values = new HashMap<>(); loadFromDisk(values); + gatherAdminExtras(values); loadSystemValues(values); return values; } @@ -130,6 +135,29 @@ public class ProvisioningValuesLoader extends AsyncTaskLoader<Map<String, String } } + private void gatherAdminExtras(HashMap<String, String> values) { + HashMap<String, String> newMap = new HashMap<String, String>(); + Properties props = new Properties(); + Set<String>keys = new HashSet(values.keySet()); + for (String key : keys) { + if (key.startsWith("android.app.extra")) { + continue; + } + props.put(key, values.get(key)); + values.remove(key); + } + StringWriter sw = new StringWriter(); + try{ + props.store(sw, "admin extras bundle"); + values.put(DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, + sw.toString()); + Log.d(TAG, "Admin extras bundle=" + values.get( + DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE)); + } catch (IOException e) { + Log.e(TAG, "Unable to build admin extras bundle"); + } + } + private void loadSystemValues(HashMap<String, String> values) { Context context = getContext(); putIfMissing(values, DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, |