diff --git a/packages/SystemUI/res/anim/tv_pip_onboarding_background_enter_animation.xml b/packages/SystemUI/res/anim/tv_pip_onboarding_background_enter_animation.xml
new file mode 100644
index 0000000000000..9ab41d0be5253
--- /dev/null
+++ b/packages/SystemUI/res/anim/tv_pip_onboarding_background_enter_animation.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/layout/tv_pip_onboarding.xml b/packages/SystemUI/res/layout/tv_pip_onboarding.xml
index 288ad1edd4719..fe80b9464a019 100644
--- a/packages/SystemUI/res/layout/tv_pip_onboarding.xml
+++ b/packages/SystemUI/res/layout/tv_pip_onboarding.xml
@@ -21,8 +21,13 @@
android:id="@+id/pip_onboarding"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="#B3000000"
android:orientation="vertical">
+
40
+
+ 1000
1000
diff --git a/packages/SystemUI/res/values/strings_tv.xml b/packages/SystemUI/res/values/strings_tv.xml
index dcd165418b718..b1d23d8998520 100644
--- a/packages/SystemUI/res/values/strings_tv.xml
+++ b/packages/SystemUI/res/values/strings_tv.xml
@@ -32,9 +32,9 @@
- PIP mode
+ Picture-in-picture
- To control PIP press and hold the HOME button on the remote
+ This keeps your video in view until you play another one. Press and hold HOME to control it.
Got it
diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipOnboardingActivity.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipOnboardingActivity.java
index 398572abcdce8..9a87cfc97db5f 100644
--- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipOnboardingActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipOnboardingActivity.java
@@ -24,6 +24,7 @@ import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
+import android.view.KeyEvent;
import android.widget.ImageView;
import com.android.systemui.R;
@@ -33,6 +34,7 @@ import com.android.systemui.R;
*/
public class PipOnboardingActivity extends Activity implements PipManager.Listener {
private final PipManager mPipManager = PipManager.getInstance();
+ private AnimatorSet mEnterAnimator;
@Override
protected void onCreate(Bundle bundle) {
@@ -51,22 +53,25 @@ public class PipOnboardingActivity extends Activity implements PipManager.Listen
@Override
public void onResume() {
super.onResume();
- AnimatorSet enterAnimator = new AnimatorSet();
- enterAnimator.playTogether(
+ mEnterAnimator = new AnimatorSet();
+ mEnterAnimator.playTogether(
+ loadAnimator(R.id.background, R.anim.tv_pip_onboarding_background_enter_animation),
loadAnimator(R.id.remote, R.anim.tv_pip_onboarding_image_enter_animation),
loadAnimator(R.id.remote_button, R.anim.tv_pip_onboarding_image_enter_animation),
loadAnimator(R.id.title, R.anim.tv_pip_onboarding_title_enter_animation),
loadAnimator(R.id.description,
R.anim.tv_pip_onboarding_description_enter_animation),
loadAnimator(R.id.button, R.anim.tv_pip_onboarding_button_enter_animation));
- enterAnimator.addListener(new AnimatorListenerAdapter() {
+ mEnterAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
ImageView button = (ImageView) findViewById(R.id.remote_button);
((AnimationDrawable) button.getDrawable()).start();
}
});
- enterAnimator.start();
+ int delay = getResources().getInteger(R.integer.tv_pip_onboarding_anim_start_delay);
+ mEnterAnimator.setStartDelay(delay);
+ mEnterAnimator.start();
}
private Animator loadAnimator(int viewResId, int animResId) {
@@ -75,6 +80,22 @@ public class PipOnboardingActivity extends Activity implements PipManager.Listen
return animator;
}
+ @Override
+ public boolean onKeyUp(int keyCode, KeyEvent event) {
+ if (mEnterAnimator.isStarted()) {
+ return true;
+ }
+ return super.onKeyUp(keyCode, event);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (mEnterAnimator.isStarted()) {
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
@Override
public void onPause() {
super.onPause();