From c5d1d5408b1a2f31ad697fb0940148801ee0ee1a Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sun, 24 Dec 2017 11:46:59 +0100 Subject: [PATCH] Added Picure in picture --- app/src/main/AndroidManifest.xml | 3 +- .../activity/MediaplayerActivity.java | 9 +++-- .../activity/VideoplayerActivity.java | 35 +++++++++++++++++-- app/src/main/res/menu/mediaplayer.xml | 8 +++++ core/src/main/res/values/strings.xml | 1 + 5 files changed, 49 insertions(+), 7 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 56d076441..5b5c1e5ad 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -224,7 +224,8 @@ { if (event.getAction() == MotionEvent.ACTION_DOWN) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N + && isInPictureInPictureMode()) { + return true; + } videoControlsHider.stop(); toggleVideoControlsVisibility(); if (videoControlsShowing) { @@ -349,6 +358,26 @@ public class VideoplayerActivity extends MediaplayerActivity { } } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + menu.findItem(R.id.player_go_to_picture_in_picture).setVisible(true); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == R.id.player_go_to_picture_in_picture) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + enterPictureInPictureMode(); + } + return true; + } + return super.onOptionsItemSelected(item); + } + private static class VideoControlsHider extends Handler { private static final int DELAY = 2500; diff --git a/app/src/main/res/menu/mediaplayer.xml b/app/src/main/res/menu/mediaplayer.xml index 530eb3400..98c7478a6 100644 --- a/app/src/main/res/menu/mediaplayer.xml +++ b/app/src/main/res/menu/mediaplayer.xml @@ -41,6 +41,14 @@ android:title="@string/visit_website_label" android:visible="false"> + + + + No media playing 00:00:00 Buffering + Picture-in-picture mode Playing podcast AntennaPod - Unknown media key: %1$d