ProvisioningParams.java revision 48fdbe03c7cc39accada396a96acff09bdecb3b2
1ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse/* 2ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * Copyright 2014, The Android Open Source Project 3ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * 4ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * Licensed under the Apache License, Version 2.0 (the "License"); 5ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * you may not use this file except in compliance with the License. 6ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * You may obtain a copy of the License at 7ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * 8ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * http://www.apache.org/licenses/LICENSE-2.0 9ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * 10ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * Unless required by applicable law or agreed to in writing, software 11ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * distributed under the License is distributed on an "AS IS" BASIS, 12ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * See the License for the specific language governing permissions and 14ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * limitations under the License. 15ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse */ 16ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse 17ed0883b8349832c510353310f48a47f316900a00Sander Alewijnsepackage com.android.managedprovisioning; 18ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse 19d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnseimport android.os.Parcel; 20d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnseimport android.os.Parcelable; 2148fdbe03c7cc39accada396a96acff09bdecb3b2Sander Alewijnseimport android.util.Base64; 2263254f4c85d3a0643bafb78558fa2cb75f4ee3d5Sander Alewijnseimport java.util.Locale; 2363254f4c85d3a0643bafb78558fa2cb75f4ee3d5Sander Alewijnse 2448fdbe03c7cc39accada396a96acff09bdecb3b2Sander Alewijnse 25ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse/** 26ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse * Provisioning Parameters for DeviceOwner Provisioning 27ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse */ 28d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnsepublic class ProvisioningParams implements Parcelable { 2956f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static final long DEFAULT_LOCAL_TIME = -1; 3056f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static final boolean DEFAULT_WIFI_HIDDEN = false; 3156f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static final int DEFAULT_WIFI_PROXY_PORT = 0; 3256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse 33ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mTimeZone; 3456f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static long mLocalTime = DEFAULT_LOCAL_TIME; 3563254f4c85d3a0643bafb78558fa2cb75f4ee3d5Sander Alewijnse public static Locale mLocale; 36ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse 37ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mWifiSsid; 3856f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static boolean mWifiHidden = DEFAULT_WIFI_HIDDEN; 39ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mWifiSecurityType; 40ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mWifiPassword; 41ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mWifiProxyHost; 4256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static int mWifiProxyPort = DEFAULT_WIFI_PROXY_PORT; 43ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse public static String mWifiProxyBypassHosts; 442daab0a2c2bcb07a0595f93c4367ed1ca673e0e6Jason Monk public static String mWifiPacUrl; 45ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse 46885c349f7658aee02af77da42400d360e93bb310Sander Alewijnse public static String mDeviceAdminPackageName; // Package name of the device admin package. 47af8413ea41cba9a29fda7eef0c2e8ecafb454dbfSander Alewijnse 4856f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static String mDeviceAdminPackageDownloadLocation; // Url of the device admin .apk 4956f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public static byte[] mDeviceAdminPackageChecksum = new byte[0]; // SHA-1 sum of the .apk file. 5056f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse 5156f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public String getLocaleAsString() { 5256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse if (mLocale != null) { 5356f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse return mLocale.getLanguage() + "_" + mLocale.getCountry(); 5456f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse } else { 5556f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse return null; 5656f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse } 5756f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse } 5856f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse 5956f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse public String getDeviceAdminPackageChecksumAsString() { 6048fdbe03c7cc39accada396a96acff09bdecb3b2Sander Alewijnse return Base64.encodeToString(mDeviceAdminPackageChecksum, 6148fdbe03c7cc39accada396a96acff09bdecb3b2Sander Alewijnse Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP); 6256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse } 63d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse 64d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse @Override 65d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse public int describeContents() { 66d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse return 0; 67d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse } 68d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse 69d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse @Override 70d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse public void writeToParcel(Parcel out, int flags) { 71d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mTimeZone); 72d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeLong(mLocalTime); 73d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeSerializable(mLocale); 74d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mWifiSsid); 75d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeInt(mWifiHidden ? 1 : 0); 76d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mWifiSecurityType); 77d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mWifiPassword); 78d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mWifiProxyHost); 79d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeInt(mWifiProxyPort); 80d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mWifiProxyBypassHosts); 81d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse out.writeString(mDeviceAdminPackageName); 8256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse out.writeString(mDeviceAdminPackageDownloadLocation); 8356f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse out.writeByteArray(mDeviceAdminPackageChecksum); 84d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse } 85d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse 86d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse public static final Parcelable.Creator<ProvisioningParams> CREATOR 87d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse = new Parcelable.Creator<ProvisioningParams>() { 88d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse @Override 89d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse public ProvisioningParams createFromParcel(Parcel in) { 90d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse ProvisioningParams params = new ProvisioningParams(); 91d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mTimeZone = in.readString(); 92d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mLocalTime = in.readLong(); 93d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mLocale = (Locale) in.readSerializable(); 94d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiSsid = in.readString(); 95d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiHidden = in.readInt()==1; 96d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiSecurityType = in.readString(); 97d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiPassword = in.readString(); 98d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiProxyHost = in.readString(); 99d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiProxyPort = in.readInt(); 100d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mWifiProxyBypassHosts = in.readString(); 101d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse params.mDeviceAdminPackageName = in.readString(); 10256f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse params.mDeviceAdminPackageDownloadLocation = in.readString(); 10356f7157c220d657d48406caf8e0d61904dfd7789Sander Alewijnse in.readByteArray(params.mDeviceAdminPackageChecksum); 104d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse return params; 105d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse } 106d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse 107d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse @Override 108d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse public ProvisioningParams[] newArray(int size) { 109d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse return new ProvisioningParams[size]; 110d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse } 111d70438542632a1c8df15bdd9d91bfee52bf2b655Sander Alewijnse }; 112ed0883b8349832c510353310f48a47f316900a00Sander Alewijnse} 113