Merge changes from topic 'ims-radio-info-mr2' into nyc-mr2-dev
* changes: Add Ims Registration Info to RadioInfo Enable and Disable IMS Provisioning Based on Platform Capability
This commit is contained in:
@@ -81,7 +81,23 @@
|
|||||||
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
|
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
<string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
|
<string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
|
||||||
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
|
<!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
<string name="radioInfo_menu_getPDP">Get PDP List</string>
|
<string name="radioInfo_menu_getIMS">IMS Service Status</string>
|
||||||
|
|
||||||
|
<!-- Phone Info screen. IMS Registration Title. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_reg_status_title">IMS Status</string>
|
||||||
|
|
||||||
|
<!-- Phone Info screen. IMS Status - Registered. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_reg_status_registered">Registered</string>
|
||||||
|
<!-- Phone Info screen. Ims Status - Unregistered. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_reg_status_not_registered">Not Registered</string>
|
||||||
|
|
||||||
|
<!-- Phone Info screen. Ims Feature Status label. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_feature_status_available">Available</string>
|
||||||
|
<!-- Phone Info screen. Ims Feature status label. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_feature_status_unavailable">Unavailable</string>
|
||||||
|
|
||||||
|
<!-- Phone Info screen. IMS Registration. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
|
<string name="radio_info_ims_reg_status">IMS Registration: <xliff:g id="status" example="registered">%1$s</xliff:g>\u000AVoice over LTE: <xliff:g id="availability" example="available">%2$s</xliff:g>\u000AVoice over WiFi: <xliff:g id="availability" example="available">%3$s</xliff:g>\u000AVideo Calling: <xliff:g id="availability" example="available">%4$s</xliff:g>\u000AUT Interface: <xliff:g id="availability" example="available">%5$s</xliff:g></string>
|
||||||
|
|
||||||
<!-- Phone Info screen. Status label. Used for diagnostic info screens, precise translation isn't needed -->
|
<!-- Phone Info screen. Status label. Used for diagnostic info screens, precise translation isn't needed -->
|
||||||
<string name="radioInfo_service_in">In Service</string>
|
<string name="radioInfo_service_in">In Service</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.app.Dialog;
|
||||||
import android.app.QueuedWork;
|
import android.app.QueuedWork;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -160,7 +162,7 @@ public class RadioInfo extends Activity {
|
|||||||
private static final int MENU_ITEM_VIEW_ADN = 1;
|
private static final int MENU_ITEM_VIEW_ADN = 1;
|
||||||
private static final int MENU_ITEM_VIEW_FDN = 2;
|
private static final int MENU_ITEM_VIEW_FDN = 2;
|
||||||
private static final int MENU_ITEM_VIEW_SDN = 3;
|
private static final int MENU_ITEM_VIEW_SDN = 3;
|
||||||
private static final int MENU_ITEM_GET_PDP_LIST = 4;
|
private static final int MENU_ITEM_GET_IMS_STATUS = 4;
|
||||||
private static final int MENU_ITEM_TOGGLE_DATA = 5;
|
private static final int MENU_ITEM_TOGGLE_DATA = 5;
|
||||||
|
|
||||||
private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
|
private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
|
||||||
@@ -497,7 +499,7 @@ public class RadioInfo extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void restoreFromBundle(Bundle b) {
|
private void restoreFromBundle(Bundle b) {
|
||||||
if( b == null) {
|
if (b == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -537,8 +539,8 @@ public class RadioInfo extends Activity {
|
|||||||
R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
|
R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
|
||||||
menu.add(1, MENU_ITEM_VIEW_SDN, 0,
|
menu.add(1, MENU_ITEM_VIEW_SDN, 0,
|
||||||
R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
|
R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
|
||||||
menu.add(1, MENU_ITEM_GET_PDP_LIST,
|
menu.add(1, MENU_ITEM_GET_IMS_STATUS,
|
||||||
0, R.string.radioInfo_menu_getPDP).setOnMenuItemClickListener(mGetPdpList);
|
0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
|
||||||
menu.add(1, MENU_ITEM_TOGGLE_DATA,
|
menu.add(1, MENU_ITEM_TOGGLE_DATA,
|
||||||
0, R.string.radio_info_data_connection_disable).setOnMenuItemClickListener(mToggleData);
|
0, R.string.radio_info_data_connection_disable).setOnMenuItemClickListener(mToggleData);
|
||||||
return true;
|
return true;
|
||||||
@@ -632,7 +634,7 @@ public class RadioInfo extends Activity {
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
if (cids != null) {
|
if (cids != null) {
|
||||||
if ( cids.isEmpty() ) {
|
if (cids.isEmpty()) {
|
||||||
sb.append("no neighboring cells");
|
sb.append("no neighboring cells");
|
||||||
} else {
|
} else {
|
||||||
for (NeighboringCellInfo cell : cids) {
|
for (NeighboringCellInfo cell : cids) {
|
||||||
@@ -860,7 +862,7 @@ public class RadioInfo extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final void updateNetworkType() {
|
private final void updateNetworkType() {
|
||||||
if( phone != null ) {
|
if (phone != null) {
|
||||||
ServiceState ss = phone.getServiceState();
|
ServiceState ss = phone.getServiceState();
|
||||||
dataNetwork.setText(ServiceState.rilRadioTechnologyToString(
|
dataNetwork.setText(ServiceState.rilRadioTechnologyToString(
|
||||||
phone.getServiceState().getRilDataRadioTechnology()));
|
phone.getServiceState().getRilDataRadioTechnology()));
|
||||||
@@ -1069,10 +1071,36 @@ public class RadioInfo extends Activity {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() {
|
private MenuItem.OnMenuItemClickListener mGetImsStatus = new MenuItem.OnMenuItemClickListener() {
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
//FIXME: Replace with a TelephonyManager call
|
boolean isImsRegistered = phone.isImsRegistered();
|
||||||
phone.getDataCallList(null);
|
boolean availableVolte = phone.isVolteEnabled();
|
||||||
|
boolean availableWfc = phone.isWifiCallingEnabled();
|
||||||
|
boolean availableVt = phone.isVideoEnabled();
|
||||||
|
boolean availableUt = phone.isUtEnabled();
|
||||||
|
|
||||||
|
final String imsRegString = isImsRegistered ?
|
||||||
|
getString(R.string.radio_info_ims_reg_status_registered) :
|
||||||
|
getString(R.string.radio_info_ims_reg_status_not_registered);
|
||||||
|
|
||||||
|
final String available = getString(R.string.radio_info_ims_feature_status_available);
|
||||||
|
final String unavailable = getString(
|
||||||
|
R.string.radio_info_ims_feature_status_unavailable);
|
||||||
|
|
||||||
|
String imsStatus = getString(R.string.radio_info_ims_reg_status,
|
||||||
|
imsRegString,
|
||||||
|
availableVolte ? available : unavailable,
|
||||||
|
availableWfc ? available : unavailable,
|
||||||
|
availableVt ? available : unavailable,
|
||||||
|
availableUt ? available : unavailable);
|
||||||
|
|
||||||
|
AlertDialog imsDialog = new AlertDialog.Builder(RadioInfo.this)
|
||||||
|
.setMessage(imsStatus)
|
||||||
|
.setTitle(getString(R.string.radio_info_ims_reg_status_title))
|
||||||
|
.create();
|
||||||
|
|
||||||
|
imsDialog.show();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1119,22 +1147,22 @@ public class RadioInfo extends Activity {
|
|||||||
radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
|
radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImsVolteProvisionedState( boolean state ) {
|
void setImsVolteProvisionedState(boolean state) {
|
||||||
Log.d(TAG, "setImsVolteProvisioned state: " + ((state)? "on":"off"));
|
Log.d(TAG, "setImsVolteProvisioned state: " + ((state)? "on":"off"));
|
||||||
setImsConfigProvisionedState( IMS_VOLTE_PROVISIONED_CONFIG_ID, state );
|
setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImsVtProvisionedState( boolean state ) {
|
void setImsVtProvisionedState(boolean state) {
|
||||||
Log.d(TAG, "setImsVtProvisioned() state: " + ((state)? "on":"off"));
|
Log.d(TAG, "setImsVtProvisioned() state: " + ((state)? "on":"off"));
|
||||||
setImsConfigProvisionedState( IMS_VT_PROVISIONED_CONFIG_ID, state );
|
setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImsWfcProvisionedState( boolean state ) {
|
void setImsWfcProvisionedState(boolean state) {
|
||||||
Log.d(TAG, "setImsWfcProvisioned() state: " + ((state)? "on":"off"));
|
Log.d(TAG, "setImsWfcProvisioned() state: " + ((state)? "on":"off"));
|
||||||
setImsConfigProvisionedState( IMS_WFC_PROVISIONED_CONFIG_ID, state );
|
setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setImsConfigProvisionedState( int configItem, boolean state ) {
|
void setImsConfigProvisionedState(int configItem, boolean state) {
|
||||||
if (phone != null && mImsManager != null) {
|
if (phone != null && mImsManager != null) {
|
||||||
QueuedWork.singleThreadExecutor().submit(new Runnable() {
|
QueuedWork.singleThreadExecutor().submit(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -1170,7 +1198,7 @@ public class RadioInfo extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||||
setImsVolteProvisionedState(isChecked);
|
setImsVolteProvisionedState(isChecked);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private boolean isImsVtProvisioned() {
|
private boolean isImsVtProvisioned() {
|
||||||
@@ -1185,7 +1213,7 @@ public class RadioInfo extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||||
setImsVtProvisionedState(isChecked);
|
setImsVtProvisionedState(isChecked);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private boolean isImsWfcProvisioned() {
|
private boolean isImsWfcProvisioned() {
|
||||||
@@ -1200,7 +1228,7 @@ public class RadioInfo extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||||
setImsWfcProvisionedState(isChecked);
|
setImsWfcProvisionedState(isChecked);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private void updateImsProvisionedState() {
|
private void updateImsProvisionedState() {
|
||||||
@@ -1210,14 +1238,20 @@ public class RadioInfo extends Activity {
|
|||||||
imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
|
imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
|
||||||
imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
|
imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
|
||||||
imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
|
imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
|
||||||
|
imsVolteProvisionedSwitch.setEnabled(
|
||||||
|
mImsManager.isVolteEnabledByPlatform(phone.getContext()));
|
||||||
|
|
||||||
imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
|
imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
|
||||||
imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
|
imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
|
||||||
imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
|
imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
|
||||||
|
imsVtProvisionedSwitch.setEnabled(
|
||||||
|
mImsManager.isVtEnabledByPlatform(phone.getContext()));
|
||||||
|
|
||||||
imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
|
imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
|
||||||
imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
|
imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
|
||||||
imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
|
imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
|
||||||
|
imsWfcProvisionedSwitch.setEnabled(
|
||||||
|
mImsManager.isWfcEnabledByPlatform(phone.getContext()));
|
||||||
}
|
}
|
||||||
|
|
||||||
OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
|
OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
|
||||||
|
Reference in New Issue
Block a user