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:layout_height="wrap_content"
|
||||||
android:text="@string/release_mms" />
|
android:text="@string/release_mms" />
|
||||||
</LinearLayout>
|
</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
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -272,6 +285,7 @@
|
|||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
android:paddingBottom="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/report_all_bad"
|
<Button android:id="@+id/report_all_bad"
|
||||||
@@ -280,6 +294,11 @@
|
|||||||
android:text="@string/report_all_bad" />
|
android:text="@string/report_all_bad" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- divider line -->
|
||||||
|
<View android:background="#FFFFFFFF"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="3dip" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -42,6 +42,8 @@
|
|||||||
|
|
||||||
<string name="request_mms">Request MMS</string>
|
<string name="request_mms">Request MMS</string>
|
||||||
<string name="release_mms">Release 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="request_cell">Request cell</string>
|
||||||
<string name="release_cell">Release cell</string>
|
<string name="release_cell">Release cell</string>
|
||||||
<string name="report_all_bad">Report all bad</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.ArrayList;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
import org.apache.http.client.methods.HttpGet;
|
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.HttpResponse;
|
||||||
import org.apache.http.impl.client.DefaultHttpClient;
|
import org.apache.http.impl.client.DefaultHttpClient;
|
||||||
|
|
||||||
|
import static android.net.NetworkCapabilities.*;
|
||||||
|
|
||||||
public class Connectivity extends Activity {
|
public class Connectivity extends Activity {
|
||||||
private static final String TAG = "DevTools - Connectivity";
|
private static final String TAG = "DevTools - Connectivity";
|
||||||
private static final String GET_SCAN_RES = "Get Results";
|
private static final String GET_SCAN_RES = "Get Results";
|
||||||
@@ -298,6 +299,21 @@ public class Connectivity extends Activity {
|
|||||||
mReleaseButton = releaseButton;
|
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) {
|
public void setRequested(boolean requested) {
|
||||||
findViewById(mRequestButton).setEnabled(!requested);
|
findViewById(mRequestButton).setEnabled(!requested);
|
||||||
findViewById(mReleaseButton).setEnabled(requested);
|
findViewById(mReleaseButton).setEnabled(requested);
|
||||||
@@ -320,20 +336,18 @@ public class Connectivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final RequestableNetwork mMmsNetwork = new RequestableNetwork(
|
private final ArrayList<RequestableNetwork> mRequestableNetworks = new ArrayList<>();
|
||||||
new NetworkRequest.Builder()
|
|
||||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS)
|
|
||||||
.build(),
|
|
||||||
R.id.request_mms,
|
|
||||||
R.id.release_mms);
|
|
||||||
|
|
||||||
private final RequestableNetwork mCellNetwork = new RequestableNetwork(
|
private void addRequestableNetwork(int capability, int requestButton, int releaseButton) {
|
||||||
new NetworkRequest.Builder()
|
mRequestableNetworks.add(new RequestableNetwork(capability, requestButton, releaseButton));
|
||||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
}
|
||||||
.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
|
|
||||||
.build(),
|
public Connectivity() {
|
||||||
R.id.request_cell,
|
super();
|
||||||
R.id.release_cell);
|
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();
|
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.startTdls).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.stopTdls).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.report_all_bad).setOnClickListener(mClickListener);
|
||||||
|
|
||||||
findViewById(R.id.add_default_route).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.default_socket).setOnClickListener(mClickListener);
|
||||||
findViewById(R.id.link_stats).setOnClickListener(mClickListener);
|
findViewById(R.id.link_stats).setOnClickListener(mClickListener);
|
||||||
|
|
||||||
mCellNetwork.setRequested(false);
|
for (RequestableNetwork network : mRequestableNetworks) {
|
||||||
mMmsNetwork.setRequested(false);
|
network.setRequested(false);
|
||||||
|
network.addOnClickListener();
|
||||||
|
}
|
||||||
|
|
||||||
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
|
registerReceiver(mReceiver, new IntentFilter(CONNECTIVITY_TEST_ALARM));
|
||||||
|
|
||||||
@@ -417,8 +429,9 @@ public class Connectivity extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
mCellNetwork.release();
|
for (RequestableNetwork network : mRequestableNetworks) {
|
||||||
mMmsNetwork.release();
|
network.release();
|
||||||
|
}
|
||||||
mCm.unregisterNetworkCallback(mCallback);
|
mCm.unregisterNetworkCallback(mCallback);
|
||||||
mCallback = null;
|
mCallback = null;
|
||||||
unregisterReceiver(mReceiver);
|
unregisterReceiver(mReceiver);
|
||||||
@@ -460,12 +473,6 @@ public class Connectivity extends Activity {
|
|||||||
case R.id.stopTdls:
|
case R.id.stopTdls:
|
||||||
onStopTdls();
|
onStopTdls();
|
||||||
break;
|
break;
|
||||||
case R.id.request_mms:
|
|
||||||
mMmsNetwork.request();
|
|
||||||
break;
|
|
||||||
case R.id.release_mms:
|
|
||||||
mMmsNetwork.release();
|
|
||||||
break;
|
|
||||||
case R.id.default_socket:
|
case R.id.default_socket:
|
||||||
onDefaultSocket();
|
onDefaultSocket();
|
||||||
break;
|
break;
|
||||||
@@ -493,12 +500,6 @@ public class Connectivity extends Activity {
|
|||||||
case R.id.report_all_bad:
|
case R.id.report_all_bad:
|
||||||
onReportAllBad();
|
onReportAllBad();
|
||||||
break;
|
break;
|
||||||
case R.id.request_cell:
|
|
||||||
mCellNetwork.request();
|
|
||||||
break;
|
|
||||||
case R.id.release_cell:
|
|
||||||
mCellNetwork.release();
|
|
||||||
break;
|
|
||||||
case R.id.link_stats:
|
case R.id.link_stats:
|
||||||
onLinkStats();
|
onLinkStats();
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user