Add the ability to request SUPL neworks.
Also: - Refactor the code to remove duplication and make it easier to add/change the network buttons. - Make the MMS network request specify TRANSPORT_CELLULAR as well, since that's what the system MMS service uses. Change-Id: If8e2ca1ae22b3da3fffb0593fbb93a1d479143f3
This commit is contained in:
@@ -257,6 +257,19 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/release_mms" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<Button android:id="@+id/request_supl"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/request_supl" />
|
||||
<Button android:id="@+id/release_supl"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/release_supl" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
@@ -272,6 +285,7 @@
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="4dip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<Button android:id="@+id/report_all_bad"
|
||||
@@ -280,6 +294,11 @@
|
||||
android:text="@string/report_all_bad" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- divider line -->
|
||||
<View android:background="#FFFFFFFF"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="3dip" />
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
<string name="request_mms">Request MMS</string>
|
||||
<string name="release_mms">Release MMS</string>
|
||||
<string name="request_supl">Request SUPL</string>
|
||||
<string name="release_supl">Release SUPL</string>
|
||||
<string name="request_cell">Request cell</string>
|
||||
<string name="release_cell">Release cell</string>
|
||||
<string name="report_all_bad">Report all bad</string>
|
||||
|
||||
@@ -76,7 +76,6 @@ import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.methods.HttpGet;
|
||||
@@ -86,6 +85,8 @@ import org.apache.http.params.HttpParams;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
|
||||
import static android.net.NetworkCapabilities.*;
|
||||
|
||||
public class Connectivity extends Activity {
|
||||
private static final String TAG = "DevTools - Connectivity";
|
||||
private static final String GET_SCAN_RES = "Get Results";
|
||||
@@ -298,6 +299,21 @@ public class Connectivity extends Activity {
|
||||
mReleaseButton = releaseButton;
|
||||
}
|
||||
|
||||
public RequestableNetwork(int capability, int requestButton, int releaseButton) {
|
||||
this(new NetworkRequest.Builder()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
|
||||
.addCapability(capability)
|
||||
.build(),
|
||||
requestButton, releaseButton);
|
||||
}
|
||||
|
||||
public void addOnClickListener() {
|
||||
findViewById(mRequestButton).setOnClickListener(
|
||||
new View.OnClickListener() { public void onClick(View v) { request(); }});
|
||||
findViewById(mReleaseButton).setOnClickListener(
|
||||
new View.OnClickListener() { public void onClick(View v) { release(); }});
|
||||
}
|
||||
|
||||
public void setRequested(boolean requested) {
|
||||
findViewById(mRequestButton).setEnabled(!requested);
|
||||
findViewById(mReleaseButton).setEnabled(requested);
|
||||
@@ -320,20 +336,18 @@ public class Connectivity extends Activity {
|
||||
}
|
||||
}
|
||||
|
||||
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 ArrayList<RequestableNetwork> mRequestableNetworks = new ArrayList<>();
|
||||
|
||||
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);
|
||||
private void addRequestableNetwork(int capability, int requestButton, int releaseButton) {
|
||||
mRequestableNetworks.add(new RequestableNetwork(capability, requestButton, releaseButton));
|
||||
}
|
||||
|
||||
public Connectivity() {
|
||||
super();
|
||||
addRequestableNetwork(NET_CAPABILITY_MMS, R.id.request_mms, R.id.release_mms);
|
||||
addRequestableNetwork(NET_CAPABILITY_SUPL, R.id.request_supl, R.id.release_supl);
|
||||
addRequestableNetwork(NET_CAPABILITY_INTERNET, R.id.request_cell, R.id.release_cell);
|
||||
}
|
||||
|
||||
final NetworkRequest mEmptyRequest = new NetworkRequest.Builder().clearCapabilities().build();
|
||||
|
||||
@@ -386,10 +400,6 @@ public class Connectivity extends Activity {
|
||||
findViewById(R.id.startTdls).setOnClickListener(mClickListener);
|
||||
findViewById(R.id.stopTdls).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.add_default_route).setOnClickListener(mClickListener);
|
||||
@@ -402,8 +412,10 @@ 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);
|
||||
for (RequestableNetwork network : mRequestableNetworks) {
|
||||
network.setRequested(false);
|
||||
network.addOnClickListener();
|
||||
}
|
||||
|
||||
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
|
||||
|
||||
@@ -417,8 +429,9 @@ public class Connectivity extends Activity {
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
mCellNetwork.release();
|
||||
mMmsNetwork.release();
|
||||
for (RequestableNetwork network : mRequestableNetworks) {
|
||||
network.release();
|
||||
}
|
||||
mCm.unregisterNetworkCallback(mCallback);
|
||||
mCallback = null;
|
||||
unregisterReceiver(mReceiver);
|
||||
@@ -460,12 +473,6 @@ public class Connectivity extends Activity {
|
||||
case R.id.stopTdls:
|
||||
onStopTdls();
|
||||
break;
|
||||
case R.id.request_mms:
|
||||
mMmsNetwork.request();
|
||||
break;
|
||||
case R.id.release_mms:
|
||||
mMmsNetwork.release();
|
||||
break;
|
||||
case R.id.default_socket:
|
||||
onDefaultSocket();
|
||||
break;
|
||||
@@ -493,12 +500,6 @@ public class Connectivity extends Activity {
|
||||
case R.id.report_all_bad:
|
||||
onReportAllBad();
|
||||
break;
|
||||
case R.id.request_cell:
|
||||
mCellNetwork.request();
|
||||
break;
|
||||
case R.id.release_cell:
|
||||
mCellNetwork.release();
|
||||
break;
|
||||
case R.id.link_stats:
|
||||
onLinkStats();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user