summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2012-06-01 14:37:21 -0700
committerWink Saville <wink@google.com>2012-07-18 17:05:09 -0700
commit79bff2a254eb7785b2b8fb6b8b700c274105cfd9 (patch)
tree4e9b7a39eb77bb9838c7c4d421e44a7a91957e39
parentf6941bdc63776d9b65616346df18ef3734358935 (diff)
downloadpackages_apps_Settings-79bff2a254eb7785b2b8fb6b8b700c274105cfd9.tar.gz
packages_apps_Settings-79bff2a254eb7785b2b8fb6b8b700c274105cfd9.tar.bz2
packages_apps_Settings-79bff2a254eb7785b2b8fb6b8b700c274105cfd9.zip
Test getAllCellInfo and onCellInfoChanged.
Change-Id: I20164d6bb9edb2ecf178b4533a39e885773d7b22
-rw-r--r--res/layout/radio_info.xml7
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/com/android/settings/RadioInfo.java35
3 files changed, 43 insertions, 1 deletions
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index d9e5f4d57..a636c9cc5 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -84,6 +84,13 @@
<TextView android:id="@+id/neighboring" style="@style/info_value" />
</LinearLayout>
+ <!-- CellInfo -->
+ <LinearLayout style="@style/entry_layout">
+ <TextView android:text="@string/radio_info_cellinfo_label"
+ style="@style/info_label" />
+ <TextView android:id="@+id/cellinfo" style="@style/info_value" />
+ </LinearLayout>
+
<!-- Roaming -->
<LinearLayout style="@style/entry_layout">
<TextView android:text="@string/radio_info_roaming_label" style="@style/info_label" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bb66a0b62..77cc49c9e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -420,6 +420,8 @@
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_neighboring_location_label">Neighboring CID:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_cellinfo_label">CellInfo:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_data_attempts_label">Data attempts:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 5ba383782..d72508a84 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -33,6 +33,7 @@ import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
+import android.telephony.CellInfo;
import android.telephony.CellLocation;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -111,6 +112,7 @@ public class RadioInfo extends Activity {
private TextView mCfi;
private TextView mLocation;
private TextView mNeighboringCids;
+ private TextView mCellInfo;
private TextView resets;
private TextView attempts;
private TextView successes;
@@ -140,6 +142,7 @@ public class RadioInfo extends Activity {
private String mHttpClientTestResult;
private boolean mMwiValue = false;
private boolean mCfiValue = false;
+ private List<CellInfo> mCellInfoValue;
private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
@Override
@@ -171,6 +174,13 @@ public class RadioInfo extends Activity {
mCfiValue = cfi;
updateCallRedirect();
}
+
+ @Override
+ public void onCellInfoChanged(List<CellInfo> arrayCi) {
+ Log.d(TAG, "[RadioInfo] onCellInfoChanged: arrayCi=" + arrayCi);
+ mCellInfoValue = arrayCi;
+ updateCellInfoTv();
+ }
};
private Handler mHandler = new Handler() {
@@ -263,6 +273,7 @@ public class RadioInfo extends Activity {
mCfi = (TextView) findViewById(R.id.cfi);
mLocation = (TextView) findViewById(R.id.location);
mNeighboringCids = (TextView) findViewById(R.id.neighboring);
+ mCellInfo = (TextView) findViewById(R.id.cellinfo);
resets = (TextView) findViewById(R.id.resets);
attempts = (TextView) findViewById(R.id.attempts);
@@ -326,6 +337,10 @@ public class RadioInfo extends Activity {
mHandler.obtainMessage(EVENT_QUERY_NEIGHBORING_CIDS_DONE));
CellLocation.requestLocationUpdate();
+
+ // Get current cell info
+ mCellInfoValue = mTelephonyManager.getAllCellInfo();
+ Log.d(TAG, "[RadioInfo] onCreate: mCellInfoValue=" + mCellInfoValue);
}
@Override
@@ -356,7 +371,8 @@ public class RadioInfo extends Activity {
| PhoneStateListener.LISTEN_DATA_ACTIVITY
| PhoneStateListener.LISTEN_CELL_LOCATION
| PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
- | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR);
+ | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
+ | PhoneStateListener.LISTEN_CELL_INFO);
}
@Override
@@ -508,6 +524,23 @@ public class RadioInfo extends Activity {
mNeighboringCids.setText(sb.toString());
}
+ private final void updateCellInfoTv() {
+ StringBuilder value = new StringBuilder();
+ if (mCellInfoValue != null) {
+ int index = 0;
+ for (CellInfo ci : mCellInfoValue) {
+ value.append('[');
+ value.append(index);
+ value.append("]=");
+ value.append(ci.toString());
+ if (++index < mCellInfoValue.size()) {
+ value.append("\n");
+ }
+ }
+ }
+ mCellInfo.setText(value.toString());
+ }
+
private final void
updateMessageWaiting() {
mMwi.setText(String.valueOf(mMwiValue));