summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2015-10-22 06:18:12 +0000
committerandroid-build-merger <android-build-merger@google.com>2015-10-22 06:18:12 +0000
commitbf919699618027415134ccb39f66e2464257adaa (patch)
tree51686be1de837fc54f01eb44f3b7f03ce6ea7592
parent2d7067cd967e91fdeb5632f5a1fbc5035c3d9c6a (diff)
parent28bb8be0daaf93d0053fdeafc9de283eb7c59848 (diff)
downloadandroid_development-bf919699618027415134ccb39f66e2464257adaa.tar.gz
android_development-bf919699618027415134ccb39f66e2464257adaa.tar.bz2
android_development-bf919699618027415134ccb39f66e2464257adaa.zip
Update the Connectivity debug app to the multinetwork API.
am: 28bb8be0da * commit '28bb8be0daaf93d0053fdeafc9de283eb7c59848': Update the Connectivity debug app to the multinetwork API.
-rw-r--r--apps/Development/res/layout/connectivity.xml16
-rw-r--r--apps/Development/res/values/strings.xml8
-rw-r--r--apps/Development/src/com/android/development/Connectivity.java91
3 files changed, 81 insertions, 34 deletions
diff --git a/apps/Development/res/layout/connectivity.xml b/apps/Development/res/layout/connectivity.xml
index 00ba508bb..8de23dab5 100644
--- a/apps/Development/res/layout/connectivity.xml
+++ b/apps/Development/res/layout/connectivity.xml
@@ -248,27 +248,27 @@
android:paddingTop="4dip"
android:layout_width="match_parent"
android:layout_height="wrap_content">
- <Button android:id="@+id/start_mms"
+ <Button android:id="@+id/request_mms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/start_mms" />
- <Button android:id="@+id/stop_mms"
+ android:text="@string/request_mms" />
+ <Button android:id="@+id/release_mms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/stop_mms" />
+ android:text="@string/release_mms" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
- <Button android:id="@+id/start_hipri"
+ <Button android:id="@+id/request_cell"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/start_hipri" />
- <Button android:id="@+id/stop_hipri"
+ android:text="@string/request_cell" />
+ <Button android:id="@+id/release_cell"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/stop_hipri" />
+ android:text="@string/release_cell" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
diff --git a/apps/Development/res/values/strings.xml b/apps/Development/res/values/strings.xml
index 3ef88458e..ed42725f6 100644
--- a/apps/Development/res/values/strings.xml
+++ b/apps/Development/res/values/strings.xml
@@ -40,10 +40,10 @@
<string name="stop_tdls">Stop TDLS</string>
<string name="mac_tdls"> IP/MAC: </string>
- <string name="start_mms">Start MMS</string>
- <string name="stop_mms">Stop MMS</string>
- <string name="start_hipri">Start HiPri</string>
- <string name="stop_hipri">Stop HiPri</string>
+ <string name="request_mms">Request MMS</string>
+ <string name="release_mms">Release MMS</string>
+ <string name="request_cell">Request cell</string>
+ <string name="release_cell">Release cell</string>
<string name="crash">CRASH</string>
<string name="report_all_bad">Report all bad</string>
diff --git a/apps/Development/src/com/android/development/Connectivity.java b/apps/Development/src/com/android/development/Connectivity.java
index 0f0030f95..21bf07ceb 100644
--- a/apps/Development/src/com/android/development/Connectivity.java
+++ b/apps/Development/src/com/android/development/Connectivity.java
@@ -287,6 +287,56 @@ public class Connectivity extends Activity {
}
private DevToolsNetworkCallback mCallback;
+ private class RequestableNetwork {
+ private final NetworkRequest mRequest;
+ private final int mRequestButton, mReleaseButton;
+ private NetworkCallback mCallback;
+
+ public RequestableNetwork(NetworkRequest request, int requestButton, int releaseButton) {
+ mRequest = request;
+ mRequestButton = requestButton;
+ mReleaseButton = releaseButton;
+ }
+
+ public void setRequested(boolean requested) {
+ findViewById(mRequestButton).setEnabled(!requested);
+ findViewById(mReleaseButton).setEnabled(requested);
+ }
+
+ public void request() {
+ if (mCallback == null) {
+ mCallback = new NetworkCallback();
+ mCm.requestNetwork(mRequest, mCallback);
+ setRequested(true);
+ }
+ }
+
+ public void release() {
+ if (mCallback != null) {
+ mCm.unregisterNetworkCallback(mCallback);
+ mCallback = null;
+ setRequested(false);
+ }
+ }
+ }
+
+ private final RequestableNetwork mMmsNetwork = new RequestableNetwork(
+ new NetworkRequest.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS)
+ .build(),
+ R.id.request_mms,
+ R.id.release_mms);
+
+ private final RequestableNetwork mCellNetwork = new RequestableNetwork(
+ new NetworkRequest.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
+ .build(),
+ R.id.request_cell,
+ R.id.release_cell);
+
+ final NetworkRequest mEmptyRequest = new NetworkRequest.Builder().clearCapabilities().build();
+
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -336,10 +386,10 @@ public class Connectivity extends Activity {
findViewById(R.id.startTdls).setOnClickListener(mClickListener);
findViewById(R.id.stopTdls).setOnClickListener(mClickListener);
- findViewById(R.id.start_mms).setOnClickListener(mClickListener);
- findViewById(R.id.stop_mms).setOnClickListener(mClickListener);
- findViewById(R.id.start_hipri).setOnClickListener(mClickListener);
- findViewById(R.id.stop_hipri).setOnClickListener(mClickListener);
+ findViewById(R.id.request_mms).setOnClickListener(mClickListener);
+ findViewById(R.id.release_mms).setOnClickListener(mClickListener);
+ findViewById(R.id.request_cell).setOnClickListener(mClickListener);
+ findViewById(R.id.release_cell).setOnClickListener(mClickListener);
findViewById(R.id.report_all_bad).setOnClickListener(mClickListener);
findViewById(R.id.crash).setOnClickListener(mClickListener);
@@ -353,24 +403,25 @@ public class Connectivity extends Activity {
findViewById(R.id.default_socket).setOnClickListener(mClickListener);
findViewById(R.id.link_stats).setOnClickListener(mClickListener);
+ mCellNetwork.setRequested(false);
+ mMmsNetwork.setRequested(false);
+
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
mLinkStatsResults = (TextView)findViewById(R.id.stats);
mLinkStatsResults.setVisibility(View.VISIBLE);
- NetworkRequest.Builder builder = new NetworkRequest.Builder();
- for (int i = 0; i < 255; i++) {
- try { builder.removeCapability(i); } catch (IllegalArgumentException e) {}
- }
- NetworkRequest request = builder.build();
mCallback = new DevToolsNetworkCallback();
- mCm.registerNetworkCallback(request, mCallback);
+ mCm.registerNetworkCallback(mEmptyRequest, mCallback);
}
@Override
public void onDestroy() {
super.onDestroy();
+ mCellNetwork.release();
+ mMmsNetwork.release();
mCm.unregisterNetworkCallback(mCallback);
+ mCallback = null;
unregisterReceiver(mReceiver);
}
@@ -410,13 +461,11 @@ public class Connectivity extends Activity {
case R.id.stopTdls:
onStopTdls();
break;
- case R.id.start_mms:
- mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
- Phone.FEATURE_ENABLE_MMS);
+ case R.id.request_mms:
+ mMmsNetwork.request();
break;
- case R.id.stop_mms:
- mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
- Phone.FEATURE_ENABLE_MMS);
+ case R.id.release_mms:
+ mMmsNetwork.release();
break;
case R.id.default_socket:
onDefaultSocket();
@@ -448,13 +497,11 @@ public class Connectivity extends Activity {
case R.id.crash:
onCrash();
break;
- case R.id.start_hipri:
- mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
- Phone.FEATURE_ENABLE_HIPRI);
+ case R.id.request_cell:
+ mCellNetwork.request();
break;
- case R.id.stop_hipri:
- mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
- Phone.FEATURE_ENABLE_HIPRI);
+ case R.id.release_cell:
+ mCellNetwork.release();
break;
case R.id.link_stats:
onLinkStats();