Update the Connectivity debug app to the multinetwork API. am: 28bb8be0da

am: bf91969961

* commit 'bf919699618027415134ccb39f66e2464257adaa':
  Update the Connectivity debug app to the multinetwork API.
This commit is contained in:
Lorenzo Colitti
2015-10-22 06:19:53 +00:00
committed by android-build-merger
3 changed files with 81 additions and 34 deletions

View File

@@ -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"

View File

@@ -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>

View File

@@ -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();