Index: webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java |
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java |
index 14c2bfe658d8b4137e8b78d607e273f32fb01d3b..9864efba682e537a97c722623fcdb61a168d4da9 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java |
@@ -10,6 +10,7 @@ |
package org.appspot.apprtc; |
+import android.annotation.TargetApi; |
import android.app.Activity; |
import android.app.AlertDialog; |
import android.app.FragmentTransaction; |
@@ -20,6 +21,7 @@ import android.content.pm.PackageManager; |
import android.media.projection.MediaProjection; |
import android.media.projection.MediaProjectionManager; |
import android.net.Uri; |
+import android.os.Build; |
import android.os.Bundle; |
import android.os.Handler; |
import android.util.DisplayMetrics; |
@@ -191,8 +193,7 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven |
getWindow().addFlags(LayoutParams.FLAG_FULLSCREEN | LayoutParams.FLAG_KEEP_SCREEN_ON |
| LayoutParams.FLAG_DISMISS_KEYGUARD | LayoutParams.FLAG_SHOW_WHEN_LOCKED |
| LayoutParams.FLAG_TURN_SCREEN_ON); |
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
- | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); |
+ getWindow().getDecorView().setSystemUiVisibility(getSystemUiVisibility()); |
setContentView(R.layout.activity_call); |
iceConnected = false; |
@@ -362,16 +363,30 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven |
getApplicationContext(), peerConnectionParameters, CallActivity.this); |
if (screencaptureEnabled) { |
- MediaProjectionManager mediaProjectionManager = |
- (MediaProjectionManager) getApplication().getSystemService( |
- Context.MEDIA_PROJECTION_SERVICE); |
- startActivityForResult( |
- mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE); |
+ startScreenCapture(); |
} else { |
startCall(); |
} |
} |
+ @TargetApi(19) |
+ private static int getSystemUiVisibility() { |
+ int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; |
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
+ flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; |
+ } |
+ return flags; |
+ } |
+ |
+ @TargetApi(21) |
+ private void startScreenCapture() { |
+ MediaProjectionManager mediaProjectionManager = |
+ (MediaProjectionManager) getApplication().getSystemService( |
+ Context.MEDIA_PROJECTION_SERVICE); |
+ startActivityForResult( |
+ mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE); |
+ } |
+ |
@Override |
public void onActivityResult(int requestCode, int resultCode, Intent data) { |
if (requestCode != CAPTURE_PERMISSION_REQUEST_CODE) |