From b0c5ef51488d911637b6bba897a74da4f7757c71 Mon Sep 17 00:00:00 2001 From: Praneeth Date: Fri, 26 Dec 2025 13:25:39 +0530 Subject: [PATCH] Made the changes to Remove the PiP implementation --- .../src/main/AndroidManifest.xml | 4 ++-- .../example/android/pip/PiPMovieActivity.kt | 16 +++++++------- .../example/android/pip/PiPSampleActivity.kt | 22 ++++++++++--------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/samples/user-interface/picture-in-picture/src/main/AndroidManifest.xml b/samples/user-interface/picture-in-picture/src/main/AndroidManifest.xml index 48cff2c7..be5c42f9 100644 --- a/samples/user-interface/picture-in-picture/src/main/AndroidManifest.xml +++ b/samples/user-interface/picture-in-picture/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ android:name=".PiPSampleActivity" android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" android:exported="true" - android:supportsPictureInPicture="true" + android:supportsPictureInPicture="false" android:launchMode="singleTask" android:theme="@style/PiPAppTheme" tools:targetApi="26" /> @@ -31,7 +31,7 @@ diff --git a/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPMovieActivity.kt b/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPMovieActivity.kt index 8a569c1d..6f0aec9b 100644 --- a/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPMovieActivity.kt +++ b/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPMovieActivity.kt @@ -111,7 +111,7 @@ class PiPMovieActivity : ComponentActivity() { // Configure parameters for the picture-in-picture mode. We do this at the first layout of // the MovieView because we use its layout position and size. - binding.movie.doOnLayout { updatePictureInPictureParams() } +// binding.movie.doOnLayout { updatePictureInPictureParams() } // Set up the video; it automatically starts. binding.movie.setMovieListener(movieListener) @@ -175,7 +175,7 @@ class PiPMovieActivity : ComponentActivity() { } } - override fun onPictureInPictureModeChanged( + /*override fun onPictureInPictureModeChanged( isInPictureInPictureMode: Boolean, newConfig: Configuration, ) { super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig) @@ -188,18 +188,18 @@ class PiPMovieActivity : ComponentActivity() { binding.movie.showControls() } } - } + }*/ - @RequiresApi(35) + /*@RequiresApi(35) override fun onPictureInPictureUiStateChanged(pipState: PictureInPictureUiState) { super.onPictureInPictureUiStateChanged(pipState) if (pipState.isTransitioningToPip) { binding.movie.hideControls() } - } + }*/ - private fun updatePictureInPictureParams(): PictureInPictureParams { + /*private fun updatePictureInPictureParams(): PictureInPictureParams { // Calculate the aspect ratio of the PiP screen. val aspectRatio = Rational(binding.movie.width, binding.movie.height) // The movie view turns into the picture-in-picture mode. @@ -219,13 +219,13 @@ class PiPMovieActivity : ComponentActivity() { return params.build().also { setPictureInPictureParams(it) } - } + }*/ /** * Enters Picture-in-Picture mode. */ private fun minimize() { - enterPictureInPictureMode(updatePictureInPictureParams()) +// enterPictureInPictureMode(updatePictureInPictureParams()) } /** diff --git a/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPSampleActivity.kt b/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPSampleActivity.kt index 1d5e967a..30f06936 100644 --- a/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPSampleActivity.kt +++ b/samples/user-interface/picture-in-picture/src/main/java/com/example/android/pip/PiPSampleActivity.kt @@ -89,7 +89,7 @@ class PiPSampleActivity : ComponentActivity() { binding.clear.setOnClickListener { viewModel.clear() } binding.startOrPause.setOnClickListener { viewModel.startOrPause() } binding.pip.setOnClickListener { - enterPictureInPictureMode(updatePictureInPictureParams(viewModel.started.value == true)) +// enterPictureInPictureMode(updatePictureInPictureParams(viewModel.started.value == true)) } // Observe data from the viewModel. viewModel.time.observe(this) { time -> binding.time.text = time } @@ -97,28 +97,28 @@ class PiPSampleActivity : ComponentActivity() { binding.startOrPause.setImageResource( if (started) R.drawable.ic_pause_24dp else R.drawable.ic_play_arrow_24dp, ) - updatePictureInPictureParams(started) +// updatePictureInPictureParams(started) } // Use trackPipAnimationHint view to make a smooth enter/exit pip transition. // See https://android.devsite.corp.google.com/develop/ui/views/picture-in-picture#smoother-transition - lifecycleScope.launch { + /* lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { trackPipAnimationHintView(binding.stopwatchBackground) } - } + }*/ // Handle events from the action icons on the picture-in-picture mode. - ActivityCompat.registerReceiver( + /*ActivityCompat.registerReceiver( this, broadcastReceiver, IntentFilter(ACTION_STOPWATCH_CONTROL), ContextCompat.RECEIVER_NOT_EXPORTED - ) + )*/ } // This is called when the activity gets into or out of the picture-in-picture mode. - override fun onPictureInPictureModeChanged( + /*override fun onPictureInPictureModeChanged( isInPictureInPictureMode: Boolean, newConfig: Configuration, ) { @@ -126,25 +126,26 @@ class PiPSampleActivity : ComponentActivity() { // Toggle visibility of in-app buttons. They cannot be interacted in the picture-in-picture // mode, and their features are provided as the action icons. toggleControls(if (isInPictureInPictureMode) View.GONE else View.VISIBLE) - } + }*/ private fun toggleControls(view: Int) { binding.clear.visibility = view binding.startOrPause.visibility = view } - @RequiresApi(35) +/* @RequiresApi(35) override fun onPictureInPictureUiStateChanged(pipState: PictureInPictureUiState) { super.onPictureInPictureUiStateChanged(pipState) if (pipState.isTransitioningToPip) { toggleControls(View.GONE) } - } + }*/ /** * Updates the parameters of the picture-in-picture mode for this activity based on the current * [started] state of the stopwatch. */ +/* private fun updatePictureInPictureParams(started: Boolean): PictureInPictureParams { val params = PictureInPictureParams.Builder() // Set action items for the picture-in-picture mode. These are the only custom controls @@ -191,6 +192,7 @@ class PiPSampleActivity : ComponentActivity() { setPictureInPictureParams(it) } } +*/ /** * Creates a [RemoteAction]. It is used as an action icon on the overlay of the