Add install support for WIFI UID
Bug: 8472221 Change-Id: If203760fc960b4d8987d745e49ef1d4355c45adf
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_WIMAX_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIMAX_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="com.android.certinstaller.INSTALL_AS_USER" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
|
||||
|
@@ -1274,6 +1274,8 @@
|
||||
<string name="wifi_scan_always_available">Scanning always available</string>
|
||||
<!-- Checkbox summary for option to toggle scan always available setting -->
|
||||
<string name="wifi_scan_always_available_summary">Let Google\'s location service and other apps scan for networks, even when Wi-Fi is off</string>
|
||||
<!-- Preference title for option to install certificates -->
|
||||
<string name="wifi_install_credentials">Install certificates</string>
|
||||
<string name="wifi_scan_notify_text_location_on">To improve location accuracy and for other purposes, Google and other apps may scan for nearby networks, even when Wi-Fi is off. If you don\'t want this to happen, go to Advanced > Scanning always available.</string>
|
||||
<string name="wifi_scan_notify_text_location_off">Apps may scan for nearby networks, even when Wi-Fi is off. If you don\'t want this to happen, go to Advanced > Scanning always available.</string>
|
||||
<!-- Wifi scan always mode checkbox text -->
|
||||
|
@@ -53,6 +53,11 @@
|
||||
android:entryValues="@array/wifi_frequency_band_values"
|
||||
/>
|
||||
|
||||
<Preference
|
||||
android:key="install_credentials"
|
||||
android:title="@string/wifi_install_credentials"
|
||||
android:persistent="false" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="suspend_optimizations"
|
||||
android:title="@string/wifi_suspend_optimizations"
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.wifi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiWatchdogStateMachine;
|
||||
@@ -27,6 +28,7 @@ import android.preference.Preference;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.Global;
|
||||
import android.security.Credentials;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
@@ -46,6 +48,7 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment
|
||||
private static final String KEY_SLEEP_POLICY = "sleep_policy";
|
||||
private static final String KEY_POOR_NETWORK_DETECTION = "wifi_poor_network_detection";
|
||||
private static final String KEY_SCAN_ALWAYS_AVAILABLE = "wifi_scan_always_available";
|
||||
private static final String KEY_INSTALL_CREDENTIALS = "install_credentials";
|
||||
private static final String KEY_SUSPEND_OPTIMIZATIONS = "suspend_optimizations";
|
||||
|
||||
private WifiManager mWifiManager;
|
||||
@@ -94,6 +97,13 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment
|
||||
scanAlwaysAvailable.setChecked(Global.getInt(getContentResolver(),
|
||||
Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
|
||||
|
||||
Intent intent=new Intent(Credentials.INSTALL_AS_USER_ACTION);
|
||||
intent.setClassName("com.android.certinstaller",
|
||||
"com.android.certinstaller.CertInstallerMain");
|
||||
intent.putExtra(Credentials.EXTRA_INSTALL_AS_UID, android.os.Process.WIFI_UID);
|
||||
Preference pref = findPreference(KEY_INSTALL_CREDENTIALS);
|
||||
pref.setIntent(intent);
|
||||
|
||||
CheckBoxPreference suspendOptimizations =
|
||||
(CheckBoxPreference) findPreference(KEY_SUSPEND_OPTIMIZATIONS);
|
||||
suspendOptimizations.setChecked(Global.getInt(getContentResolver(),
|
||||
|
@@ -819,7 +819,7 @@ public class WifiConfigController implements TextWatcher,
|
||||
private void loadCertificates(Spinner spinner, String prefix) {
|
||||
final Context context = mConfigUi.getContext();
|
||||
|
||||
String[] certs = KeyStore.getInstance().saw(prefix);
|
||||
String[] certs = KeyStore.getInstance().saw(prefix, android.os.Process.WIFI_UID);
|
||||
if (certs == null || certs.length == 0) {
|
||||
certs = new String[] {unspecifiedCert};
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user