Merge "Check for null to fix NPEs when fragment is shutting down." into lmp-mr1-dev
diff --git a/v17/leanback/res/values-km-rKH/strings.xml b/v17/leanback/res/values-km-rKH/strings.xml
index 710dbc7..7a52782 100644
--- a/v17/leanback/res/values-km-rKH/strings.xml
+++ b/v17/leanback/res/values-km-rKH/strings.xml
@@ -41,7 +41,7 @@
<string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"ជ្រើសមេដៃឡើងលើ"</string>
<string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"មិនជ្រើសមេដៃចុះក្រោម"</string>
<string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"ជ្រើសមេដៃចុះក្រោម"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"មិនធ្វើឡើងវិញ"</string>
+ <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"មិនធ្វើឡើងវិញ"</string>
<string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ធ្វើម្ដងទៀតទាំងអស់"</string>
<string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ធ្វើឡើងវិញម្ដង"</string>
<string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"បើកការច្របល់"</string>
diff --git a/v17/leanback/res/values-my-rMM/strings.xml b/v17/leanback/res/values-my-rMM/strings.xml
index f16ac93..d9c0a8d 100644
--- a/v17/leanback/res/values-my-rMM/strings.xml
+++ b/v17/leanback/res/values-my-rMM/strings.xml
@@ -41,13 +41,13 @@
<string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"နှစ်ခြိုက်သော သင်္ကေတအား ရွေးရန်"</string>
<string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"မနှစ်ခြိုက်သော သင်္ကေတအား မရွေးရန်"</string>
<string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"မနှစ်ခြိုက်သော သင်္ကေတအား ရွေးရန်"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ထပ်တလဲလဲမဖွင့်ရန်"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"အားလုံး ထပ်တလဲလဲဖွင့်ရန်"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"တစ်ခုအား ထပ်တလဲလဲဖွင့်ရန်"</string>
+ <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ထပ်တလဲလဲမဖွင့်ရန်"</string>
+ <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"အားလုံး ထပ်တလဲလဲဖွင့်ရန်"</string>
+ <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"တစ်ခုအား ထပ်တလဲလဲဖွင့်ရန်"</string>
<string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ရောသမမွှေခြင်း ပြုရန်"</string>
<string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ရောသမမေွှခြင်း မပြုရန်"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"အရည်အသွေးကောင်းအား ဖွင့်ရန်"</string>
+ <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"အရည်အသွေးကောင်းအား ဖွင့်ရန်"</string>
<string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"အရည်အသွေးကောင်းအား ပိတ်ထားရန်"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"စာတမ်းထိုး ဖွင့်ရန်"</string>
+ <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"စာတမ်းထိုး ဖွင့်ရန်"</string>
<string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"စာတမ်းထိုးအား ပိတ်ထားရန်"</string>
</resources>
diff --git a/v17/leanback/src/android/support/v17/leanback/app/BrowseFragment.java b/v17/leanback/src/android/support/v17/leanback/app/BrowseFragment.java
index c0befbe..0e1e1d4 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/BrowseFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/BrowseFragment.java
@@ -963,6 +963,18 @@
}
}
+ @Override
+ public void onPause() {
+ mTitleView.enableAnimation(false);
+ super.onPause();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mTitleView.enableAnimation(true);
+ }
+
/**
* Enable/disable headers transition on back key support. This is enabled by
* default. The BrowseFragment will add a back stack entry when headers are
diff --git a/v17/leanback/src/android/support/v17/leanback/app/BrowseSupportFragment.java b/v17/leanback/src/android/support/v17/leanback/app/BrowseSupportFragment.java
index ccc098f..27000bd 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/BrowseSupportFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/BrowseSupportFragment.java
@@ -965,6 +965,18 @@
}
}
+ @Override
+ public void onPause() {
+ mTitleView.enableAnimation(false);
+ super.onPause();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mTitleView.enableAnimation(true);
+ }
+
/**
* Enable/disable headers transition on back key support. This is enabled by
* default. The BrowseSupportFragment will add a back stack entry when headers are
diff --git a/v17/leanback/src/android/support/v17/leanback/app/VerticalGridFragment.java b/v17/leanback/src/android/support/v17/leanback/app/VerticalGridFragment.java
index 27ec91b..36ff251 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/VerticalGridFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/VerticalGridFragment.java
@@ -370,6 +370,18 @@
}
@Override
+ public void onPause() {
+ mTitleView.enableAnimation(false);
+ super.onPause();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mTitleView.enableAnimation(true);
+ }
+
+ @Override
public void onDestroyView() {
super.onDestroyView();
mGridViewHolder = null;
diff --git a/v17/leanback/src/android/support/v17/leanback/app/VerticalGridSupportFragment.java b/v17/leanback/src/android/support/v17/leanback/app/VerticalGridSupportFragment.java
index 3db224e..a83951f 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/VerticalGridSupportFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/VerticalGridSupportFragment.java
@@ -372,6 +372,18 @@
}
@Override
+ public void onPause() {
+ mTitleView.enableAnimation(false);
+ super.onPause();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mTitleView.enableAnimation(true);
+ }
+
+ @Override
public void onDestroyView() {
super.onDestroyView();
mGridViewHolder = null;
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/DetailsOverviewRowPresenter.java b/v17/leanback/src/android/support/v17/leanback/widget/DetailsOverviewRowPresenter.java
index 7bf2faf..a0d03ab 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/DetailsOverviewRowPresenter.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/DetailsOverviewRowPresenter.java
@@ -530,4 +530,22 @@
((ColorDrawable) vh.mOverviewFrame.getForeground().mutate()).setColor(dimmedColor);
}
}
+
+ @Override
+ protected void onRowViewAttachedToWindow(RowPresenter.ViewHolder vh) {
+ super.onRowViewAttachedToWindow(vh);
+ if (mDetailsPresenter != null) {
+ mDetailsPresenter.onViewAttachedToWindow(
+ ((ViewHolder) vh).mDetailsDescriptionViewHolder);
+ }
+ }
+
+ @Override
+ protected void onRowViewDetachedFromWindow(RowPresenter.ViewHolder vh) {
+ super.onRowViewDetachedFromWindow(vh);
+ if (mDetailsPresenter != null) {
+ mDetailsPresenter.onViewDetachedFromWindow(
+ ((ViewHolder) vh).mDetailsDescriptionViewHolder);
+ }
+ }
}
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/PlaybackControlsRowPresenter.java b/v17/leanback/src/android/support/v17/leanback/widget/PlaybackControlsRowPresenter.java
index 62da692..9c62a1b 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/PlaybackControlsRowPresenter.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/PlaybackControlsRowPresenter.java
@@ -417,4 +417,22 @@
((ViewHolder) vh).dispatchItemSelection();
}
}
+
+ @Override
+ protected void onRowViewAttachedToWindow(RowPresenter.ViewHolder vh) {
+ super.onRowViewAttachedToWindow(vh);
+ if (mDescriptionPresenter != null) {
+ mDescriptionPresenter.onViewAttachedToWindow(
+ ((ViewHolder) vh).mDescriptionViewHolder);
+ }
+ }
+
+ @Override
+ protected void onRowViewDetachedFromWindow(RowPresenter.ViewHolder vh) {
+ super.onRowViewDetachedFromWindow(vh);
+ if (mDescriptionPresenter != null) {
+ mDescriptionPresenter.onViewDetachedFromWindow(
+ ((ViewHolder) vh).mDescriptionViewHolder);
+ }
+ }
}
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
index 1c61fa0..9d73470 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
@@ -118,4 +118,11 @@
public SearchOrbView.Colors getSearchAffordanceColors() {
return mSearchOrbView.getOrbColors();
}
+
+ /**
+ * Enables or disables any view animations.
+ */
+ public void enableAnimation(boolean enable) {
+ mSearchOrbView.enableOrbColorAnimation(enable && mSearchOrbView.hasFocus());
+ }
}
diff --git a/v4/api21/android/support/v4/media/session/MediaSessionCompatApi21.java b/v4/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
index af00d8d..b53da43 100644
--- a/v4/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
+++ b/v4/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
@@ -42,6 +42,13 @@
throw new IllegalArgumentException("mediaSession is not a valid MediaSession object");
}
+ public static Object verifyToken(Object token) {
+ if (token instanceof MediaSession.Token) {
+ return token;
+ }
+ throw new IllegalArgumentException("token is not a valid MediaSession.Token object");
+ }
+
public static Object createCallback(Callback callback) {
return new CallbackProxy<Callback>(callback);
}
diff --git a/v4/java/android/support/v4/media/session/MediaSessionCompat.java b/v4/java/android/support/v4/media/session/MediaSessionCompat.java
index 9ceae80..7745015 100644
--- a/v4/java/android/support/v4/media/session/MediaSessionCompat.java
+++ b/v4/java/android/support/v4/media/session/MediaSessionCompat.java
@@ -439,6 +439,24 @@
mInner = inner;
}
+ /**
+ * Creates a compat Token from a framework
+ * {@link android.media.session.MediaSession.Token} object.
+ * <p>
+ * This method is only supported on
+ * {@link android.os.Build.VERSION_CODES#LOLLIPOP} and later.
+ * </p>
+ *
+ * @param token The framework token object.
+ * @return A compat Token for use with {@link MediaControllerCompat}.
+ */
+ public Token fromToken(Object token) {
+ if (token == null || android.os.Build.VERSION.SDK_INT < 21) {
+ return null;
+ }
+ return new Token((Parcelable) MediaSessionCompatApi21.verifyToken(token));
+ }
+
@Override
public int describeContents() {
return mInner.describeContents();
diff --git a/v7/appcompat/res/values-km-rKH/strings.xml b/v7/appcompat/res/values-km-rKH/strings.xml
index 319c9bd..32b8f68 100644
--- a/v7/appcompat/res/values-km-rKH/strings.xml
+++ b/v7/appcompat/res/values-km-rKH/strings.xml
@@ -28,7 +28,7 @@
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"សម្អាតសំណួរ"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ដាក់ស្នើសំណួរ"</string>
<string name="abc_searchview_description_voice" msgid="893419373245838918">"ការស្វែងរកសំឡេង"</string>
- <string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"ជ្រើសកម្មវិធី"</string>
+ <string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"ជ្រើសកម្មវិធី"</string>
<string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"មើលទាំងអស់"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="7165123711973476752">"ចែករំលែកជាមួយ %s"</string>
<string name="abc_shareactionprovider_share_with" msgid="3421042268587513524">"ចែករំលែកជាមួយ"</string>