Merge "[FRP] Show FRP warning when disabling secure unlock" into lmp-mr1-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1162273..6647c6a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5545,8 +5545,6 @@
<string name="sim_no_inserted_msg">No SIM cards inserted</string>
<!-- SIM status title [CHAR LIMIT=40] -->
<string name="sim_status_title">SIM status</string>
- <!-- SIM status summary [CHAR LIMIT=60] -->
- <string name="sim_status_summary">SIM related information</string>
<!-- Title for call back. [CHAR LIMIT=60] -->
<string name="sim_call_back_title">Call back from default SIM</string>
<!-- Title for outgoing back. [CHAR LIMIT=60] -->
@@ -5978,8 +5976,6 @@
<!-- Title and summary for SIM Status -->
<!-- Title for IMEI preference [CHAR LIMIT=30] -->
<string name="imei_information_title">IMEI information</string>
- <!-- Description for IMEI preference [CHAR LIMIT=40] -->
- <string name="imei_information_summary">IMEI relative information</string>
<!-- Encryption interstitial title [CHAR LIMIT=30] -->
<string name="encryption_interstitial_header">Encryption</string>
diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xml
index 26b067b..fc6016f 100644
--- a/res/xml/device_info_status.xml
+++ b/res/xml/device_info_status.xml
@@ -29,14 +29,12 @@
android:persistent="false" />
<PreferenceScreen android:key="sim_status"
android:title="@string/sim_status_title"
- android:summary="@string/sim_status_summary"
android:persistent="false">
<intent android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.deviceinfo.SimStatus" />
</PreferenceScreen>
<PreferenceScreen android:key="imei_info"
android:title="@string/imei_information_title"
- android:summary="@string/imei_information_summary"
android:persistent="false">
<intent android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.deviceinfo.ImeiInformation" />
diff --git a/res/xml/sim_lock_settings.xml b/res/xml/sim_lock_settings.xml
index 0e43fcd..0246ea2 100644
--- a/res/xml/sim_lock_settings.xml
+++ b/res/xml/sim_lock_settings.xml
@@ -17,8 +17,8 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
android:title="@string/sim_lock_settings">
-
- <CheckBoxPreference
+
+ <SwitchPreference
android:key="sim_toggle"
android:title="@string/sim_pin_toggle"
android:summaryOn="@string/sim_lock_on"
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index a0a237d..58208fa 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -140,6 +140,7 @@
import com.android.settings.sim.SimSettings;
import com.android.settings.widget.ChartDataUsageView;
import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener;
+import com.android.settings.widget.ChartNetworkSeriesView;
import com.google.android.collect.Lists;
import libcore.util.Objects;
@@ -209,6 +210,8 @@
private ViewGroup mTabsContainer;
private TabWidget mTabWidget;
private ListView mListView;
+ private ChartNetworkSeriesView mSeries;
+ private ChartNetworkSeriesView mDetailedSeries;
private DataUsageAdapter mAdapter;
/** Distance to inset content from sides, when needed. */
@@ -400,6 +403,8 @@
mCycleSpinner.setOnItemSelectedListener(mCycleListener);
mCycleSummary = (TextView) mCycleView.findViewById(R.id.cycle_summary);
mNetworkSwitches.addView(mCycleView);
+ mSeries = (ChartNetworkSeriesView)view.findViewById(R.id.series);
+ mDetailedSeries = (ChartNetworkSeriesView)view.findViewById(R.id.detail_series);
}
mChart = (ChartDataUsageView) mHeader.findViewById(R.id.chart);
@@ -658,16 +663,17 @@
final Context context = getActivity();
mTabHost.clearAllTabs();
- final boolean mobileSplit = isMobilePolicySplit();
- if (mobileSplit && hasReadyMobile4gRadio(context)) {
- mTabHost.addTab(buildTabSpec(TAB_3G, R.string.data_usage_tab_3g));
- mTabHost.addTab(buildTabSpec(TAB_4G, R.string.data_usage_tab_4g));
- } else if (hasReadyMobileRadio(context)) {
- addMobileTab(context, mSubInfoList);
+ for (int i = 0; i < mTelephonyManager.getSimCount(); i++) {
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(context, i);
+ if (sir != null) {
+ addMobileTab(context, sir);
+ }
}
+
if (mShowWifi && hasWifiRadio(context)) {
mTabHost.addTab(buildTabSpec(TAB_WIFI, R.string.data_usage_tab_wifi));
}
+
if (mShowEthernet && hasEthernet(context)) {
mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet));
}
@@ -736,6 +742,7 @@
if (!isAdded()) return;
final Context context = getActivity();
+ final Resources resources = context.getResources();
final String currentTab = mTabHost.getCurrentTabTag();
final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER;
@@ -799,6 +806,21 @@
getActivity().invalidateOptionsMenu();
mBinding = false;
+
+ int seriesColor = resources.getColor(R.color.sim_noitification);
+ if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
+ final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
+ mCurrentTab.length()));
+ final SubscriptionInfo sir = com.android.settings.Utils.findRecordBySlotId(context,
+ slotId);
+
+ if (sir != null) {
+ seriesColor = sir.getIconTint();
+ }
+ }
+
+ mSeries.setChartColor(Color.BLACK, seriesColor, seriesColor);
+ mDetailedSeries.setChartColor(Color.BLACK, seriesColor, seriesColor);
}
private boolean isAppDetailMode() {
@@ -2588,13 +2610,11 @@
}
};
- private void addMobileTab(Context context, List<SubscriptionInfo> subInfoList) {
- if (subInfoList != null && mMobileTagMap != null) {
- for (SubscriptionInfo subInfo : mSubInfoList) {
- if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
- mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
- subInfo.getDisplayName()));
- }
+ private void addMobileTab(Context context, SubscriptionInfo subInfo) {
+ if (subInfo != null && mMobileTagMap != null) {
+ if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
+ mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
+ subInfo.getDisplayName()));
}
}
}
@@ -2620,13 +2640,17 @@
* @return The map or null if no activated subscription
*/
private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) {
+ final Context context = getActivity();
Map<Integer, String> map = null;
if (subInfoList != null) {
String mobileTag;
map = new HashMap<Integer, String>();
- for (SubscriptionInfo subInfo : subInfoList) {
- mobileTag = TAB_MOBILE + String.valueOf(subInfo.getSubscriptionId());
- map.put(subInfo.getSubscriptionId(), mobileTag);
+ for (int i = 0; i < mTelephonyManager.getSimCount(); i++) {
+ final SubscriptionInfo subInfo = Utils.findRecordBySlotId(context, i);
+ mobileTag = TAB_MOBILE + i;
+ if (subInfo != null) {
+ map.put(subInfo.getSubscriptionId(), mobileTag);
+ }
}
}
return map;
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index cfe27bb..5201375 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -25,10 +25,10 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -106,7 +106,7 @@
private Phone mPhone;
private EditPinPreference mPinDialog;
- private CheckBoxPreference mPinToggle;
+ private SwitchPreference mPinToggle;
private Resources mRes;
@@ -173,7 +173,7 @@
addPreferencesFromResource(R.xml.sim_lock_settings);
mPinDialog = (EditPinPreference) findPreference(PIN_DIALOG);
- mPinToggle = (CheckBoxPreference) findPreference(PIN_TOGGLE);
+ mPinToggle = (SwitchPreference) findPreference(PIN_TOGGLE);
if (savedInstanceState != null && savedInstanceState.containsKey(DIALOG_STATE)) {
mDialogState = savedInstanceState.getInt(DIALOG_STATE);
mPin = savedInstanceState.getString(DIALOG_PIN);
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index fe45299..858880b 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -91,20 +91,20 @@
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- // TODO: We need an API to remove an account from a different user.
- // See: http://b/15466880
- AccountManager.get(AccountSyncSettings.this.getActivity())
- .removeAccountAsUser(mAccount,
- new AccountManagerCallback<Boolean>() {
+ Activity activity = getActivity();
+ AccountManager.get(activity)
+ .removeAccountAsUser(mAccount, activity,
+ new AccountManagerCallback<Bundle>() {
@Override
- public void run(AccountManagerFuture<Boolean> future) {
+ public void run(AccountManagerFuture<Bundle> future) {
// If already out of this screen, don't proceed.
if (!AccountSyncSettings.this.isResumed()) {
return;
}
boolean failed = true;
try {
- if (future.getResult() == true) {
+ if (future.getResult()
+ .getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
failed = false;
}
} catch (OperationCanceledException e) {
diff --git a/src/com/android/settings/deviceinfo/SimStatus.java b/src/com/android/settings/deviceinfo/SimStatus.java
index 11daf0c..2afdb84 100644
--- a/src/com/android/settings/deviceinfo/SimStatus.java
+++ b/src/com/android/settings/deviceinfo/SimStatus.java
@@ -22,6 +22,8 @@
import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Bundle;
+import android.os.ServiceManager;
+import android.os.RemoteException;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.preference.Preference;
@@ -34,9 +36,11 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.provider.Telephony;
import android.text.TextUtils;
import android.util.Log;
+import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.DefaultPhoneNotifier;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
@@ -232,11 +236,18 @@
private void updateNetworkType() {
// Whether EDGE, UMTS, etc...
String networktype = null;
- if (TelephonyManager.NETWORK_TYPE_UNKNOWN
- != mTelephonyManager.getNetworkType(mSir.getSubscriptionId())) {
- networktype = mTelephonyManager.getNetworkTypeName(
- mTelephonyManager.getNetworkType(mSir.getSubscriptionId()));
+ final ITelephony telephony = ITelephony.Stub.asInterface(
+ ServiceManager.getService(Context.TELEPHONY_SERVICE));
+ try {
+ final int actualNetworkType = telephony.getVoiceNetworkTypeForSubscriber(
+ mSir.getSubscriptionId());
+ if (TelephonyManager.NETWORK_TYPE_UNKNOWN != actualNetworkType) {
+ networktype = mTelephonyManager.getNetworkTypeName(actualNetworkType);
+ }
+ } catch (RemoteException remoteException){
+ // Do nothing, networkType will remain null.
}
+
setSummaryText(KEY_NETWORK_TYPE, networktype);
}
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index e6dd9c7..b00faf1 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -307,7 +307,8 @@
}
}
- if (mEdit || (mAccessPoint.getState() == null && mAccessPoint.getLevel() != -1)){
+ if ((mEdit) || (mAccessPoint != null
+ && mAccessPoint.getState() == null && mAccessPoint.getLevel() != -1)){
mConfigUi.setCancelButton(res.getString(R.string.wifi_cancel));
}else{
mConfigUi.setCancelButton(res.getString(R.string.wifi_display_options_done));
diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java
index 1d0e824..a036bae 100644
--- a/src/com/android/settings/wifi/WifiSetupActivity.java
+++ b/src/com/android/settings/wifi/WifiSetupActivity.java
@@ -239,7 +239,7 @@
return new AlertDialog.Builder(getActivity())
.setMessage(messageRes)
.setCancelable(false)
- .setNegativeButton(R.string.wifi_skip_anyway,
+ .setPositiveButton(R.string.wifi_skip_anyway,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
@@ -247,7 +247,7 @@
activity.finishOrNext(RESULT_SKIP);
}
})
- .setPositiveButton(R.string.wifi_dont_skip,
+ .setNegativeButton(R.string.wifi_dont_skip,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {