Update the Connectivity debug app to the multinetwork API.
am: 28bb8be0da
* commit '28bb8be0daaf93d0053fdeafc9de283eb7c59848':
Update the Connectivity debug app to the multinetwork API.
This commit is contained in:
@@ -248,27 +248,27 @@
|
|||||||
android:paddingTop="4dip"
|
android:paddingTop="4dip"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<Button android:id="@+id/start_mms"
|
<Button android:id="@+id/request_mms"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/start_mms" />
|
android:text="@string/request_mms" />
|
||||||
<Button android:id="@+id/stop_mms"
|
<Button android:id="@+id/release_mms"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stop_mms" />
|
android:text="@string/release_mms" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<Button android:id="@+id/start_hipri"
|
<Button android:id="@+id/request_cell"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/start_hipri" />
|
android:text="@string/request_cell" />
|
||||||
<Button android:id="@+id/stop_hipri"
|
<Button android:id="@+id/release_cell"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stop_hipri" />
|
android:text="@string/release_cell" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
|||||||
@@ -40,10 +40,10 @@
|
|||||||
<string name="stop_tdls">Stop TDLS</string>
|
<string name="stop_tdls">Stop TDLS</string>
|
||||||
<string name="mac_tdls"> IP/MAC: </string>
|
<string name="mac_tdls"> IP/MAC: </string>
|
||||||
|
|
||||||
<string name="start_mms">Start MMS</string>
|
<string name="request_mms">Request MMS</string>
|
||||||
<string name="stop_mms">Stop MMS</string>
|
<string name="release_mms">Release MMS</string>
|
||||||
<string name="start_hipri">Start HiPri</string>
|
<string name="request_cell">Request cell</string>
|
||||||
<string name="stop_hipri">Stop HiPri</string>
|
<string name="release_cell">Release cell</string>
|
||||||
<string name="crash">CRASH</string>
|
<string name="crash">CRASH</string>
|
||||||
<string name="report_all_bad">Report all bad</string>
|
<string name="report_all_bad">Report all bad</string>
|
||||||
|
|
||||||
|
|||||||
@@ -287,6 +287,56 @@ public class Connectivity extends Activity {
|
|||||||
}
|
}
|
||||||
private DevToolsNetworkCallback mCallback;
|
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
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
@@ -336,10 +386,10 @@ public class Connectivity extends Activity {
|
|||||||
findViewById(R.id.startTdls).setOnClickListener(mClickListener);
|
findViewById(R.id.startTdls).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.stopTdls).setOnClickListener(mClickListener);
|
findViewById(R.id.stopTdls).setOnClickListener(mClickListener);
|
||||||
|
|
||||||
findViewById(R.id.start_mms).setOnClickListener(mClickListener);
|
findViewById(R.id.request_mms).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.stop_mms).setOnClickListener(mClickListener);
|
findViewById(R.id.release_mms).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.start_hipri).setOnClickListener(mClickListener);
|
findViewById(R.id.request_cell).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.stop_hipri).setOnClickListener(mClickListener);
|
findViewById(R.id.release_cell).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.report_all_bad).setOnClickListener(mClickListener);
|
findViewById(R.id.report_all_bad).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.crash).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.default_socket).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.link_stats).setOnClickListener(mClickListener);
|
findViewById(R.id.link_stats).setOnClickListener(mClickListener);
|
||||||
|
|
||||||
|
mCellNetwork.setRequested(false);
|
||||||
|
mMmsNetwork.setRequested(false);
|
||||||
|
|
||||||
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
|
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
|
||||||
|
|
||||||
mLinkStatsResults = (TextView)findViewById(R.id.stats);
|
mLinkStatsResults = (TextView)findViewById(R.id.stats);
|
||||||
mLinkStatsResults.setVisibility(View.VISIBLE);
|
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();
|
mCallback = new DevToolsNetworkCallback();
|
||||||
mCm.registerNetworkCallback(request, mCallback);
|
mCm.registerNetworkCallback(mEmptyRequest, mCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
|
mCellNetwork.release();
|
||||||
|
mMmsNetwork.release();
|
||||||
mCm.unregisterNetworkCallback(mCallback);
|
mCm.unregisterNetworkCallback(mCallback);
|
||||||
|
mCallback = null;
|
||||||
unregisterReceiver(mReceiver);
|
unregisterReceiver(mReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -410,13 +461,11 @@ public class Connectivity extends Activity {
|
|||||||
case R.id.stopTdls:
|
case R.id.stopTdls:
|
||||||
onStopTdls();
|
onStopTdls();
|
||||||
break;
|
break;
|
||||||
case R.id.start_mms:
|
case R.id.request_mms:
|
||||||
mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
|
mMmsNetwork.request();
|
||||||
Phone.FEATURE_ENABLE_MMS);
|
|
||||||
break;
|
break;
|
||||||
case R.id.stop_mms:
|
case R.id.release_mms:
|
||||||
mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
|
mMmsNetwork.release();
|
||||||
Phone.FEATURE_ENABLE_MMS);
|
|
||||||
break;
|
break;
|
||||||
case R.id.default_socket:
|
case R.id.default_socket:
|
||||||
onDefaultSocket();
|
onDefaultSocket();
|
||||||
@@ -448,13 +497,11 @@ public class Connectivity extends Activity {
|
|||||||
case R.id.crash:
|
case R.id.crash:
|
||||||
onCrash();
|
onCrash();
|
||||||
break;
|
break;
|
||||||
case R.id.start_hipri:
|
case R.id.request_cell:
|
||||||
mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
|
mCellNetwork.request();
|
||||||
Phone.FEATURE_ENABLE_HIPRI);
|
|
||||||
break;
|
break;
|
||||||
case R.id.stop_hipri:
|
case R.id.release_cell:
|
||||||
mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
|
mCellNetwork.release();
|
||||||
Phone.FEATURE_ENABLE_HIPRI);
|
|
||||||
break;
|
break;
|
||||||
case R.id.link_stats:
|
case R.id.link_stats:
|
||||||
onLinkStats();
|
onLinkStats();
|
||||||
|
|||||||
Reference in New Issue
Block a user