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() {