aboutsummaryrefslogtreecommitdiff
path: root/admin
diff options
context:
space:
mode:
authorBenjamin Franz <bfranz@google.com>2015-07-01 13:49:49 +0100
committerBenjamin Franz <bfranz@google.com>2015-08-11 15:46:45 +0000
commitae6b3a1d69af519de158a093463de423765fa5c5 (patch)
tree76607ef8e82f384262b344f5d2040d35c7e33cfe /admin
parentc75d6fa76bdf9fb976890b53535824a0caeef029 (diff)
downloadandroid-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.java28
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,