Merge "Fix usages of PUBLISH_STATE_OK"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 258ec1c..9e56ef8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -211,6 +211,7 @@
ACTION_SIM_SLOT_STATUS_CHANGED broadcast to start activities
from the background. -->
<uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
+ <uses-permission android:name="android.permission.NETWORK_STATS_PROVIDER" />
<application android:name="PhoneApp"
android:persistent="true"
diff --git a/OWNERS b/OWNERS
index 849347f..3059d4d 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,15 +1,15 @@
amitmahajan@google.com
breadley@google.com
fionaxu@google.com
-hallliu@google.com
jackyu@google.com
+hallliu@google.com
rgreenwalt@google.com
tgunn@google.com
-refuhoo@google.com
-mpq@google.com
jminjie@google.com
shuoq@google.com
-paulye@google.com
+refuhoo@google.com
nazaninb@google.com
sarahchin@google.com
dbright@google.com
+xiaotonj@google.com
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d75e484..a19f3df 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -273,6 +273,7 @@
<string name="sum_cfnrc_disabled">Off</string>
<!-- Error message displayed after failing to disable forwarding calls when the phone is unreachable -->
<string name="disable_cfnrc_forbidden">Your carrier doesn\'t support disabling call forwarding when your phone is unreachable.</string>
+ <string name="registration_cf_forbidden">Your carrier doesn\'t support call forwarding.</string>
<!-- Title of the progress dialog displayed while updating Call settings -->
<string name="updating_title">Call settings</string>
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index e8cf0d1..24dc020 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -379,8 +379,7 @@
// Show an alert if we got a success response but
// with unexpected values.
- // Currently only handle the fail-to-disable case
- // since we haven't observed fail-to-enable.
+ // Handle the fail-to-disable case.
if (msg.arg2 == MESSAGE_SET_CF &&
msg.arg1 == CommandsInterface.CF_ACTION_DISABLE &&
info.status == 1) {
@@ -404,7 +403,21 @@
}
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setNeutralButton(R.string.close_dialog, null);
- builder.setTitle(getContext().getText(R.string.error_updating_title));
+ builder.setTitle(getContext()
+ .getText(R.string.error_updating_title));
+ builder.setMessage(s);
+ builder.setCancelable(true);
+ builder.create().show();
+ } else if (msg.arg2 == MESSAGE_SET_CF &&
+ msg.arg1 == CommandsInterface.CF_ACTION_REGISTRATION &&
+ info.status == 0) {
+ // Handle the fail-to-enable case.
+ CharSequence s = getContext()
+ .getText(R.string.registration_cf_forbidden);
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setNeutralButton(R.string.close_dialog, null);
+ builder.setTitle(getContext()
+ .getText(R.string.error_updating_title));
builder.setMessage(s);
builder.setCancelable(true);
builder.create().show();
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index ef7f5b8..a816c89 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -596,6 +596,10 @@
configToSend = mConfigFromDefaultApp[phoneId];
}
+ if (configToSend == null) {
+ configToSend = new PersistableBundle();
+ }
+
// mOverrideConfigs is for testing. And it will override current configs.
PersistableBundle config = mOverrideConfigs[phoneId];
if (config != null) {
@@ -615,7 +619,6 @@
private void broadcastConfigChangedIntent(int phoneId, boolean addSubIdExtra) {
Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT |
- Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND |
Intent.FLAG_RECEIVER_FOREGROUND);
if (addSubIdExtra) {
int simApplicationState = TelephonyManager.SIM_STATE_UNKNOWN;
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 408131e..dc286be 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -45,6 +45,7 @@
import android.os.Looper;
import android.os.Message;
import android.os.Messenger;
+import android.os.ParcelFileDescriptor;
import android.os.ParcelUuid;
import android.os.PersistableBundle;
import android.os.Process;
@@ -7543,23 +7544,6 @@
}
}
- @Override
- public void setRadioIndicationUpdateMode(int subId, int filters, int mode) {
- enforceModifyPermission();
- final Phone phone = getPhone(subId);
- if (phone == null) {
- loge("setRadioIndicationUpdateMode fails with invalid subId: " + subId);
- return;
- }
-
- final long identity = Binder.clearCallingIdentity();
- try {
- phone.setRadioIndicationUpdateMode(filters, mode);
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
- }
-
/**
* A test API to reload the UICC profile.
*
@@ -7849,7 +7833,7 @@
}
@Override
- public void updateTestOtaEmergencyNumberDbFilePath(String otaFilePath) {
+ public void updateOtaEmergencyNumberDbFilePath(ParcelFileDescriptor otaParcelFileDescriptor) {
enforceActiveEmergencySessionPermission();
final long identity = Binder.clearCallingIdentity();
@@ -7857,7 +7841,24 @@
for (Phone phone: PhoneFactory.getPhones()) {
EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
if (tracker != null) {
- tracker.updateTestOtaEmergencyNumberDbFilePath(otaFilePath);
+ tracker.updateOtaEmergencyNumberDbFilePath(otaParcelFileDescriptor);
+ }
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
+ public void resetOtaEmergencyNumberDbFilePath() {
+ enforceActiveEmergencySessionPermission();
+
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ for (Phone phone: PhoneFactory.getPhones()) {
+ EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
+ if (tracker != null) {
+ tracker.resetOtaEmergencyNumberDbFilePath();
}
}
} finally {
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 77f1135..31b7a9e 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -1449,8 +1449,18 @@
OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- log("toggle radio power: currently " + (isRadioOn() ? "on" : "off"));
- mPhone.setRadioPower(isChecked);
+ // TODO: b/145681511. Within current design, radio power on all of the phones need
+ // to be controlled at the same time.
+ Phone[] phones = PhoneFactory.getPhones();
+ if (phones == null) {
+ return;
+ }
+ log("toggle radio power: phone*" + phones.length + " " + (isRadioOn() ? "on" : "off"));
+ for (int phoneIndex = 0; phoneIndex < phones.length; phoneIndex++) {
+ if (phones[phoneIndex] != null) {
+ phones[phoneIndex].setRadioPower(isChecked);
+ }
+ }
}
};
@@ -1718,7 +1728,7 @@
mQueuedWork.execute(new Runnable() {
public void run() {
mTelephonyManager.setOpportunisticNetworkState(state);
- mCbrsDataSwitch.setChecked(getCbrsDataState());
+ mHandler.post(() -> mCbrsDataSwitch.setChecked(getCbrsDataState()));
}
});
}