Have the MediaProjection sample use the callback.

Bug: 18393320
Change-Id: I482ed9cde5444d62a5486f4ca91e3dc6b441e673
diff --git a/samples/ApiDemos/res/layout/media_projection.xml b/samples/ApiDemos/res/layout/media_projection.xml
index 412db4c..d9082a3 100644
--- a/samples/ApiDemos/res/layout/media_projection.xml
+++ b/samples/ApiDemos/res/layout/media_projection.xml
@@ -30,6 +30,7 @@
         android:orientation="horizontal"
         android:layout_alignParentBottom="true">
         <ToggleButton
+            android:id="@+id/screen_sharing_toggle"
             android:text="@string/screen_sharing_toggle"
             android:layout_width="0dp"
             android:layout_height="match_parent"
diff --git a/samples/ApiDemos/src/com/example/android/apis/media/projection/MediaProjectionDemo.java b/samples/ApiDemos/src/com/example/android/apis/media/projection/MediaProjectionDemo.java
index c593daf..f8a5d05 100644
--- a/samples/ApiDemos/src/com/example/android/apis/media/projection/MediaProjectionDemo.java
+++ b/samples/ApiDemos/src/com/example/android/apis/media/projection/MediaProjectionDemo.java
@@ -64,6 +64,7 @@
     private VirtualDisplay mVirtualDisplay;
     private Surface mSurface;
     private SurfaceView mSurfaceView;
+    private ToggleButton mToggle;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -85,6 +86,8 @@
         s.setAdapter(arrayAdapter);
         s.setOnItemSelectedListener(new ResolutionSelector());
         s.setSelection(0);
+
+        mToggle = (ToggleButton) findViewById(R.id.screen_sharing_toggle);
     }
 
     @Override
@@ -108,6 +111,7 @@
             return;
         }
         mMediaProjection = mProjectionManager.getMediaProjection(resultCode, data);
+        mMediaProjection.registerCallback(new MediaProjectionCallback(), null);
         mVirtualDisplay = createVirtualDisplay();
     }
 
@@ -133,11 +137,14 @@
     }
 
     private void stopScreenSharing() {
-        mScreenSharing = false;
-        if (mVirtualDisplay == null) {
-            return;
+        if (mToggle.isChecked()) {
+            mToggle.setChecked(false);
         }
-        mVirtualDisplay.release();
+        mScreenSharing = false;
+        if (mVirtualDisplay != null) {
+            mVirtualDisplay.release();
+            mVirtualDisplay = null;
+        }
     }
 
     private VirtualDisplay createVirtualDisplay() {