Loading res/layout/radio_info.xml +8 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,14 @@ android:layout_height="wrap_content" /> <!-- CellInfoListRate --> <Button android:id="@+id/cell_info_list_rate" android:textSize="14sp" android:layout_marginTop="8dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- IMS registration required --> <Button android:id="@+id/ims_reg_required" android:textSize="14sp" Loading src/com/android/settings/RadioInfo.java +49 −15 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ public class RadioInfo extends Activity { private TextView dnsCheckState; private EditText smsc; private Button radioPowerButton; private Button cellInfoListRateButton; private Button dnsCheckToggleButton; private Button pingTestButton; private Button updateSmscButton; Loading Loading @@ -167,9 +168,8 @@ public class RadioInfo extends Activity { @Override public void onCellInfoChanged(List<CellInfo> arrayCi) { Log.d(TAG, "[RadioInfo] onCellInfoChanged: arrayCi=" + arrayCi); mCellInfoValue = arrayCi; updateCellInfoTv(); log("onCellInfoChanged: arrayCi=" + arrayCi); updateCellInfoTv(arrayCi); } }; Loading @@ -195,7 +195,7 @@ public class RadioInfo extends Activity { if (ar.exception == null) { int type = ((int[])ar.result)[0]; if (type >= mPreferredNetworkLabels.length) { Log.e(TAG, "[RadioInfo] EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " + log("EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " + "type=" + type); type = mPreferredNetworkLabels.length - 1; } Loading Loading @@ -289,6 +289,9 @@ public class RadioInfo extends Activity { radioPowerButton = (Button) findViewById(R.id.radio_power); radioPowerButton.setOnClickListener(mPowerButtonHandler); cellInfoListRateButton = (Button) findViewById(R.id.cell_info_list_rate); cellInfoListRateButton.setOnClickListener(mCellInfoListRateHandler); imsRegRequiredButton = (Button) findViewById(R.id.ims_reg_required); imsRegRequiredButton.setOnClickListener(mImsRegRequiredHandler); Loading Loading @@ -330,7 +333,7 @@ public class RadioInfo extends Activity { // Get current cell info mCellInfoValue = mTelephonyManager.getAllCellInfo(); Log.d(TAG, "[RadioInfo] onCreate: mCellInfoValue=" + mCellInfoValue); log("onCreate: mCellInfoValue=" + mCellInfoValue); } @Override Loading @@ -347,13 +350,14 @@ public class RadioInfo extends Activity { updateDataStats(); updateDataStats2(); updatePowerState(); updateCellInfoListRate(); updateImsRegRequiredState(); updateSmsOverImsState(); updateLteRamDumpState(); updateProperties(); updateDnsCheckState(); Log.i(TAG, "[RadioInfo] onResume: register phone & data intents"); log("onResume: register phone & data intents"); mPhoneStateReceiver.registerIntent(); mTelephonyManager.listen(mPhoneStateListener, Loading @@ -369,7 +373,7 @@ public class RadioInfo extends Activity { public void onPause() { super.onPause(); Log.i(TAG, "[RadioInfo] onPause: unregister phone & data intents"); log("onPause: unregister phone & data intents"); mPhoneStateReceiver.unregisterIntent(); mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); Loading Loading @@ -427,6 +431,11 @@ public class RadioInfo extends Activity { radioPowerButton.setText(buttonText); } private void updateCellInfoListRate() { cellInfoListRateButton.setText("CellInfoListRate " + mCellInfoListRateHandler.getRate()); updateCellInfoTv(mTelephonyManager.getAllCellInfo()); } private void updateDnsCheckState() { dnsCheckState.setText(phone.isDnsCheckDisabled() ? "0.0.0.0 allowed" :"0.0.0.0 not allowed"); Loading Loading @@ -514,7 +523,8 @@ public class RadioInfo extends Activity { mNeighboringCids.setText(sb.toString()); } private final void updateCellInfoTv() { private final void updateCellInfoTv(List<CellInfo> arrayCi) { mCellInfoValue = arrayCi; StringBuilder value = new StringBuilder(); if (mCellInfoValue != null) { int index = 0; Loading Loading @@ -918,12 +928,32 @@ public class RadioInfo extends Activity { } }; class CellInfoListRateHandler implements OnClickListener { int rates[] = {Integer.MAX_VALUE, 0, 1000}; int index = 0; public int getRate() { return rates[index]; } @Override public void onClick(View v) { index += 1; if (index >= rates.length) { index = 0; } phone.setCellInfoListRate(rates[index]); updateCellInfoListRate(); } } CellInfoListRateHandler mCellInfoListRateHandler = new CellInfoListRateHandler(); private Button imsRegRequiredButton; static final String PROPERTY_IMS_REG_REQUIRED = "persist.radio.imsregrequired"; OnClickListener mImsRegRequiredHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_IMS_REG_REQUIRED, (isImsRegRequired() ? "on":"off"))); boolean newValue = !isImsRegRequired(); SystemProperties.set(PROPERTY_IMS_REG_REQUIRED, Loading @@ -937,7 +967,7 @@ public class RadioInfo extends Activity { } private void updateImsRegRequiredState() { Log.d(TAG, "updateImsRegRequiredState isImsRegRequired()=" + isImsRegRequired()); log("updateImsRegRequiredState isImsRegRequired()=" + isImsRegRequired()); String buttonText = isImsRegRequired() ? getString(R.string.ims_reg_required_off) : getString(R.string.ims_reg_required_on); Loading @@ -949,7 +979,7 @@ public class RadioInfo extends Activity { OnClickListener mSmsOverImsHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_SMS_OVER_IMS, (isSmsOverImsEnabled() ? "on":"off"))); boolean newValue = !isSmsOverImsEnabled(); SystemProperties.set(PROPERTY_SMS_OVER_IMS, newValue ? "1":"0"); Loading @@ -962,7 +992,7 @@ public class RadioInfo extends Activity { } private void updateSmsOverImsState() { Log.d(TAG, "updateSmsOverImsState isSmsOverImsEnabled()=" + isSmsOverImsEnabled()); log("updateSmsOverImsState isSmsOverImsEnabled()=" + isSmsOverImsEnabled()); String buttonText = isSmsOverImsEnabled() ? getString(R.string.sms_over_ims_off) : getString(R.string.sms_over_ims_on); Loading @@ -974,7 +1004,7 @@ public class RadioInfo extends Activity { OnClickListener mLteRamDumpHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_LTE_RAM_DUMP, (isSmsOverImsEnabled() ? "on":"off"))); boolean newValue = !isLteRamDumpEnabled(); SystemProperties.set(PROPERTY_LTE_RAM_DUMP, newValue ? "1":"0"); Loading @@ -987,7 +1017,7 @@ public class RadioInfo extends Activity { } private void updateLteRamDumpState() { Log.d(TAG, "updateLteRamDumpState isLteRamDumpEnabled()=" + isLteRamDumpEnabled()); log("updateLteRamDumpState isLteRamDumpEnabled()=" + isLteRamDumpEnabled()); String buttonText = isLteRamDumpEnabled() ? getString(R.string.lte_ram_dump_off) : getString(R.string.lte_ram_dump_on); Loading @@ -1007,7 +1037,7 @@ public class RadioInfo extends Activity { try { startActivity(intent); } catch (android.content.ActivityNotFoundException ex) { Log.d(TAG, "OEM-specific Info/Settings Activity Not Found : " + ex); log("OEM-specific Info/Settings Activity Not Found : " + ex); // If the activity does not exist, there are no OEM // settings, and so we can just do nothing... } Loading Loading @@ -1061,4 +1091,8 @@ public class RadioInfo extends Activity { "LTE/GSM/CDMA auto (PRL)", "LTE only", "Unknown"}; private void log(String s) { Log.d(TAG, "[RadioInfo] " + s); } } Loading
res/layout/radio_info.xml +8 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,14 @@ android:layout_height="wrap_content" /> <!-- CellInfoListRate --> <Button android:id="@+id/cell_info_list_rate" android:textSize="14sp" android:layout_marginTop="8dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- IMS registration required --> <Button android:id="@+id/ims_reg_required" android:textSize="14sp" Loading
src/com/android/settings/RadioInfo.java +49 −15 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ public class RadioInfo extends Activity { private TextView dnsCheckState; private EditText smsc; private Button radioPowerButton; private Button cellInfoListRateButton; private Button dnsCheckToggleButton; private Button pingTestButton; private Button updateSmscButton; Loading Loading @@ -167,9 +168,8 @@ public class RadioInfo extends Activity { @Override public void onCellInfoChanged(List<CellInfo> arrayCi) { Log.d(TAG, "[RadioInfo] onCellInfoChanged: arrayCi=" + arrayCi); mCellInfoValue = arrayCi; updateCellInfoTv(); log("onCellInfoChanged: arrayCi=" + arrayCi); updateCellInfoTv(arrayCi); } }; Loading @@ -195,7 +195,7 @@ public class RadioInfo extends Activity { if (ar.exception == null) { int type = ((int[])ar.result)[0]; if (type >= mPreferredNetworkLabels.length) { Log.e(TAG, "[RadioInfo] EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " + log("EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " + "type=" + type); type = mPreferredNetworkLabels.length - 1; } Loading Loading @@ -289,6 +289,9 @@ public class RadioInfo extends Activity { radioPowerButton = (Button) findViewById(R.id.radio_power); radioPowerButton.setOnClickListener(mPowerButtonHandler); cellInfoListRateButton = (Button) findViewById(R.id.cell_info_list_rate); cellInfoListRateButton.setOnClickListener(mCellInfoListRateHandler); imsRegRequiredButton = (Button) findViewById(R.id.ims_reg_required); imsRegRequiredButton.setOnClickListener(mImsRegRequiredHandler); Loading Loading @@ -330,7 +333,7 @@ public class RadioInfo extends Activity { // Get current cell info mCellInfoValue = mTelephonyManager.getAllCellInfo(); Log.d(TAG, "[RadioInfo] onCreate: mCellInfoValue=" + mCellInfoValue); log("onCreate: mCellInfoValue=" + mCellInfoValue); } @Override Loading @@ -347,13 +350,14 @@ public class RadioInfo extends Activity { updateDataStats(); updateDataStats2(); updatePowerState(); updateCellInfoListRate(); updateImsRegRequiredState(); updateSmsOverImsState(); updateLteRamDumpState(); updateProperties(); updateDnsCheckState(); Log.i(TAG, "[RadioInfo] onResume: register phone & data intents"); log("onResume: register phone & data intents"); mPhoneStateReceiver.registerIntent(); mTelephonyManager.listen(mPhoneStateListener, Loading @@ -369,7 +373,7 @@ public class RadioInfo extends Activity { public void onPause() { super.onPause(); Log.i(TAG, "[RadioInfo] onPause: unregister phone & data intents"); log("onPause: unregister phone & data intents"); mPhoneStateReceiver.unregisterIntent(); mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); Loading Loading @@ -427,6 +431,11 @@ public class RadioInfo extends Activity { radioPowerButton.setText(buttonText); } private void updateCellInfoListRate() { cellInfoListRateButton.setText("CellInfoListRate " + mCellInfoListRateHandler.getRate()); updateCellInfoTv(mTelephonyManager.getAllCellInfo()); } private void updateDnsCheckState() { dnsCheckState.setText(phone.isDnsCheckDisabled() ? "0.0.0.0 allowed" :"0.0.0.0 not allowed"); Loading Loading @@ -514,7 +523,8 @@ public class RadioInfo extends Activity { mNeighboringCids.setText(sb.toString()); } private final void updateCellInfoTv() { private final void updateCellInfoTv(List<CellInfo> arrayCi) { mCellInfoValue = arrayCi; StringBuilder value = new StringBuilder(); if (mCellInfoValue != null) { int index = 0; Loading Loading @@ -918,12 +928,32 @@ public class RadioInfo extends Activity { } }; class CellInfoListRateHandler implements OnClickListener { int rates[] = {Integer.MAX_VALUE, 0, 1000}; int index = 0; public int getRate() { return rates[index]; } @Override public void onClick(View v) { index += 1; if (index >= rates.length) { index = 0; } phone.setCellInfoListRate(rates[index]); updateCellInfoListRate(); } } CellInfoListRateHandler mCellInfoListRateHandler = new CellInfoListRateHandler(); private Button imsRegRequiredButton; static final String PROPERTY_IMS_REG_REQUIRED = "persist.radio.imsregrequired"; OnClickListener mImsRegRequiredHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_IMS_REG_REQUIRED, (isImsRegRequired() ? "on":"off"))); boolean newValue = !isImsRegRequired(); SystemProperties.set(PROPERTY_IMS_REG_REQUIRED, Loading @@ -937,7 +967,7 @@ public class RadioInfo extends Activity { } private void updateImsRegRequiredState() { Log.d(TAG, "updateImsRegRequiredState isImsRegRequired()=" + isImsRegRequired()); log("updateImsRegRequiredState isImsRegRequired()=" + isImsRegRequired()); String buttonText = isImsRegRequired() ? getString(R.string.ims_reg_required_off) : getString(R.string.ims_reg_required_on); Loading @@ -949,7 +979,7 @@ public class RadioInfo extends Activity { OnClickListener mSmsOverImsHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_SMS_OVER_IMS, (isSmsOverImsEnabled() ? "on":"off"))); boolean newValue = !isSmsOverImsEnabled(); SystemProperties.set(PROPERTY_SMS_OVER_IMS, newValue ? "1":"0"); Loading @@ -962,7 +992,7 @@ public class RadioInfo extends Activity { } private void updateSmsOverImsState() { Log.d(TAG, "updateSmsOverImsState isSmsOverImsEnabled()=" + isSmsOverImsEnabled()); log("updateSmsOverImsState isSmsOverImsEnabled()=" + isSmsOverImsEnabled()); String buttonText = isSmsOverImsEnabled() ? getString(R.string.sms_over_ims_off) : getString(R.string.sms_over_ims_on); Loading @@ -974,7 +1004,7 @@ public class RadioInfo extends Activity { OnClickListener mLteRamDumpHandler = new OnClickListener() { @Override public void onClick(View v) { Log.d(TAG, String.format("toggle %s: currently %s", log(String.format("toggle %s: currently %s", PROPERTY_LTE_RAM_DUMP, (isSmsOverImsEnabled() ? "on":"off"))); boolean newValue = !isLteRamDumpEnabled(); SystemProperties.set(PROPERTY_LTE_RAM_DUMP, newValue ? "1":"0"); Loading @@ -987,7 +1017,7 @@ public class RadioInfo extends Activity { } private void updateLteRamDumpState() { Log.d(TAG, "updateLteRamDumpState isLteRamDumpEnabled()=" + isLteRamDumpEnabled()); log("updateLteRamDumpState isLteRamDumpEnabled()=" + isLteRamDumpEnabled()); String buttonText = isLteRamDumpEnabled() ? getString(R.string.lte_ram_dump_off) : getString(R.string.lte_ram_dump_on); Loading @@ -1007,7 +1037,7 @@ public class RadioInfo extends Activity { try { startActivity(intent); } catch (android.content.ActivityNotFoundException ex) { Log.d(TAG, "OEM-specific Info/Settings Activity Not Found : " + ex); log("OEM-specific Info/Settings Activity Not Found : " + ex); // If the activity does not exist, there are no OEM // settings, and so we can just do nothing... } Loading Loading @@ -1061,4 +1091,8 @@ public class RadioInfo extends Activity { "LTE/GSM/CDMA auto (PRL)", "LTE only", "Unknown"}; private void log(String s) { Log.d(TAG, "[RadioInfo] " + s); } }