Merge "Include NOTICE file in /product partition."
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
index f70d3c2..7131e94 100644
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ b/src/com/android/settings/ResetNetworkConfirm.java
@@ -105,7 +105,8 @@
                 }
             }
 
-            ImsManager.factoryReset(context);
+            ImsManager.getInstance(context,
+                     SubscriptionManager.getPhoneId(mSubId)).factoryReset();
             restoreDefaultApn(context);
 
             Toast.makeText(context, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
diff --git a/src/com/android/settings/SetFullBackupPassword.java b/src/com/android/settings/SetFullBackupPassword.java
index 4ab096b..b6a03d5 100644
--- a/src/com/android/settings/SetFullBackupPassword.java
+++ b/src/com/android/settings/SetFullBackupPassword.java
@@ -21,6 +21,7 @@
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -45,7 +46,7 @@
 
                 if (!newPw.equals(confirmPw)) {
                     // Mismatch between new pw and its confirmation re-entry
-Log.i(TAG, "password mismatch");
+                    Log.i(TAG, "password mismatch");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_confirmation_mismatch,
                             Toast.LENGTH_LONG).show();
@@ -56,14 +57,14 @@
 
                 if (setBackupPassword(curPw, newPw)) {
                     // success
-Log.i(TAG, "password set successfully");
+                    Log.i(TAG, "password set successfully");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_success,
                             Toast.LENGTH_LONG).show();
                     finish();
                 } else {
                     // failure -- bad existing pw, usually
-Log.i(TAG, "failure; password mismatch?");
+                    Log.i(TAG, "failure; password mismatch?");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_validation_failure,
                             Toast.LENGTH_LONG).show();
@@ -96,6 +97,11 @@
     }
 
     private boolean setBackupPassword(String currentPw, String newPw) {
+        // new password can't be empty
+        if (TextUtils.isEmpty(newPw)) {
+            return false;
+        }
+
         try {
             return mBackupManager.setBackupPassword(currentPw, newPw);
         } catch (RemoteException e) {
diff --git a/src/com/android/settings/wifi/WifiNoInternetDialog.java b/src/com/android/settings/wifi/WifiNoInternetDialog.java
index 6b7b2db..b175665 100644
--- a/src/com/android/settings/wifi/WifiNoInternetDialog.java
+++ b/src/com/android/settings/wifi/WifiNoInternetDialog.java
@@ -25,6 +25,7 @@
 import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
 import android.net.NetworkRequest;
+import android.net.wifi.WifiInfo;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.util.Log;
@@ -107,14 +108,15 @@
         mCM.registerNetworkCallback(request, mNetworkCallback);
 
         final NetworkInfo ni = mCM.getNetworkInfo(mNetwork);
-        if (ni == null || !ni.isConnectedOrConnecting()) {
+        final NetworkCapabilities nc = mCM.getNetworkCapabilities(mNetwork);
+        if (ni == null || !ni.isConnectedOrConnecting() || nc == null) {
             Log.d(TAG, "Network " + mNetwork + " is not connected: " + ni);
             finish();
             return;
         }
-        mNetworkName = ni.getExtraInfo();
+        mNetworkName = nc.getSSID();
         if (mNetworkName != null) {
-            mNetworkName = mNetworkName.replaceAll("^\"|\"$", "");  // Remove double quotes
+            mNetworkName = WifiInfo.removeDoubleQuotes(mNetworkName);
         }
 
         createDialog();