Dbrant has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/395587 )
Change subject: Element transition for On This Day.
......................................................................
Element transition for On This Day.
Bug: T175995
Change-Id: I9512d4a1fe60a2a050b80f6add64dfbe9f4b904f
---
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
M app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
M app/src/main/res/layout/fragment_on_this_day.xml
M app/src/main/res/layout/view_card_on_this_day.xml
M app/src/main/res/values/strings_no_translate.xml
6 files changed, 55 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/87/395587/1
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
index 4278eff..7ad4c7a 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayActivity.java
@@ -19,6 +19,12 @@
}
@Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ getFragment().onBackPressed();
+ }
+
+ @Override
protected OnThisDayFragment createFragment() {
return OnThisDayFragment.newInstance(getIntent().getIntExtra(AGE, 0));
}
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
index c1a1501..0d827ee 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayCardView.java
@@ -1,8 +1,10 @@
package org.wikipedia.feed.onthisday;
+import android.app.Activity;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
@@ -133,13 +135,17 @@
}
@OnClick({R.id.view_on_this_day_click_container}) void onMoreClick() {
+ ActivityOptionsCompat options = ActivityOptionsCompat.
+ makeSceneTransitionAnimation((Activity) getContext(),
dayTextView, getContext().getString(R.string.transition_on_this_day));
getContext().startActivity(OnThisDayActivity.newIntent(getContext(),
age,
- OnThisDayActivity.INVOKE_SOURCE_CARD_BODY));
+ OnThisDayActivity.INVOKE_SOURCE_CARD_BODY),
options.toBundle());
}
@OnClick({R.id.more_events_layout}) void onMoreFooterClick() {
+ ActivityOptionsCompat options = ActivityOptionsCompat.
+ makeSceneTransitionAnimation((Activity) getContext(),
dayTextView, getContext().getString(R.string.transition_on_this_day));
getContext().startActivity(OnThisDayActivity.newIntent(getContext(),
age,
- OnThisDayActivity.INVOKE_SOURCE_CARD_FOOTER));
+ OnThisDayActivity.INVOKE_SOURCE_CARD_FOOTER),
options.toBundle());
}
private void setPagesRecycler(OnThisDayCard card) {
diff --git
a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
index 7e8c873..24c6819 100644
--- a/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/onthisday/OnThisDayFragment.java
@@ -1,6 +1,9 @@
package org.wikipedia.feed.onthisday;
+import android.animation.ArgbEvaluator;
+import android.animation.ValueAnimator;
import android.graphics.Color;
+import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -24,6 +27,7 @@
import org.wikipedia.dataclient.WikiSite;
import org.wikipedia.util.DateUtil;
import org.wikipedia.util.DimenUtil;
+import org.wikipedia.util.ResourceUtil;
import org.wikipedia.util.log.L;
import org.wikipedia.views.DontInterceptTouchListener;
import org.wikipedia.views.HeaderMarginItemDecoration;
@@ -74,7 +78,7 @@
View view = inflater.inflate(R.layout.fragment_on_this_day, container,
false);
unbinder = ButterKnife.bind(this, view);
int age = getActivity().getIntent().getIntExtra(AGE, 0);
- OnThisDayFragment.this.date = DateUtil.getDefaultDateFor(age);
+ date = DateUtil.getDefaultDateFor(age);
setUpToolbar();
eventsRecycler.setLayoutManager(new LinearLayoutManager(getContext(),
LinearLayoutManager.VERTICAL, false));
@@ -84,11 +88,42 @@
errorView.setBackClickListener(v -> getActivity().finish());
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
+ && getActivity().getWindow().getSharedElementEnterTransition()
!= null
+ && savedInstanceState == null) {
+ final int animDelay = 500;
+ dayText.postDelayed(() -> {
+ if (!isAdded() || dayText == null) {
+ return;
+ }
+ updateContents(age);
+ ValueAnimator colorAnimation = ValueAnimator.ofObject(new
ArgbEvaluator(), dayText.getCurrentTextColor(), Color.WHITE);
+ colorAnimation.addUpdateListener(animator -> {
+ if (dayText != null) {
+ dayText.setTextColor((Integer)
animator.getAnimatedValue());
+ }
+ });
+ colorAnimation.start();
+ }, animDelay);
+ } else {
+ dayText.setTextColor(Color.WHITE);
+ updateContents(age);
+ }
+
+ eventsRecycler.setVisibility(View.GONE);
+ errorView.setVisibility(View.GONE);
+ return view;
+ }
+
+ public void onBackPressed() {
+ dayText.setTextColor(ResourceUtil.getThemedColor(getContext(),
R.attr.primary_text_color));
+ }
+
+ private void updateContents(int age) {
Calendar today = DateUtil.getDefaultDateFor(age);
requestEvents(today.get(Calendar.MONTH), today.get(Calendar.DATE));
funnel = new OnThisDayFunnel(WikipediaApp.getInstance(),
WikipediaApp.getInstance().getWikiSite(),
getActivity().getIntent().getIntExtra(OnThisDayActivity.INVOKE_SOURCE_EXTRA,
0));
- return view;
}
private void requestEvents(int month, int date) {
diff --git a/app/src/main/res/layout/fragment_on_this_day.xml
b/app/src/main/res/layout/fragment_on_this_day.xml
index 40d7bca..2d7d1ef 100644
--- a/app/src/main/res/layout/fragment_on_this_day.xml
+++ b/app/src/main/res/layout/fragment_on_this_day.xml
@@ -45,9 +45,10 @@
android:layout_marginBottom="4dp"
android:layout_marginEnd="12dp"
android:fontFamily="serif"
- android:textColor="@color/base100"
+ android:textColor="?attr/primary_text_color"
android:textSize="24sp"
android:textStyle="normal"
+ android:transitionName="@string/transition_on_this_day"
tools:text="January 1" />
<TextView
diff --git a/app/src/main/res/layout/view_card_on_this_day.xml
b/app/src/main/res/layout/view_card_on_this_day.xml
index 472b9cf..120e84e 100644
--- a/app/src/main/res/layout/view_card_on_this_day.xml
+++ b/app/src/main/res/layout/view_card_on_this_day.xml
@@ -37,6 +37,7 @@
android:maxLines="1"
android:textColor="?attr/primary_text_color"
android:textSize="24sp"
+ android:transitionName="@string/transition_on_this_day"
tools:text="November 1" />
</FrameLayout>
diff --git a/app/src/main/res/values/strings_no_translate.xml
b/app/src/main/res/values/strings_no_translate.xml
index 19db219..71cbc1d 100644
--- a/app/src/main/res/values/strings_no_translate.xml
+++ b/app/src/main/res/values/strings_no_translate.xml
@@ -104,6 +104,7 @@
<!-- Transition names -->
<string name="transition_news_item">newsItemTransition</string>
<string name="transition_random_activity">randomActivityTransition</string>
+ <string name="transition_on_this_day">onThisDayTransition</string>
<!-- Miscellaneous -->
<string name="text_size_percent">%d%%</string>
--
To view, visit https://gerrit.wikimedia.org/r/395587
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9512d4a1fe60a2a050b80f6add64dfbe9f4b904f
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits