diff --git a/apps/Development/res/layout/connectivity.xml b/apps/Development/res/layout/connectivity.xml
index 00ba508..8de23da 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 3ef8845..ed42725 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 0f0030f..21bf07c 100644
--- a/apps/Development/src/com/android/development/Connectivity.java
+++ b/apps/Development/src/com/android/development/Connectivity.java
@@ -287,6 +287,56 @@
     }
     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 @@
         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 @@
         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 @@
                 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 @@
                 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();
