Brion VIBBER has uploaded a new change for review. https://gerrit.wikimedia.org/r/122590
Change subject: [Gingerbread] Partial animations fixes using NineOldAndroids ...................................................................... [Gingerbread] Partial animations fixes using NineOldAndroids Change-Id: Iba79bd370eb1f7af45fd21c01f1b6c1e100befea --- M wikipedia/pom.xml M wikipedia/src/main/java/org/wikipedia/QuickReturnHandler.java M wikipedia/src/main/java/org/wikipedia/Utils.java M wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java 4 files changed, 22 insertions(+), 12 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/90/122590/1 diff --git a/wikipedia/pom.xml b/wikipedia/pom.xml index c1934e1..f451f09 100644 --- a/wikipedia/pom.xml +++ b/wikipedia/pom.xml @@ -76,6 +76,11 @@ <artifactId>android-saripaar</artifactId> <version>1.0.2</version> </dependency> + <dependency> + <groupId>com.nineoldandroids</groupId> + <artifactId>library</artifactId> + <version>2.4.0</version> + </dependency> </dependencies> <build> <finalName>${project.artifactId}</finalName> diff --git a/wikipedia/src/main/java/org/wikipedia/QuickReturnHandler.java b/wikipedia/src/main/java/org/wikipedia/QuickReturnHandler.java index b51e3ad..52b1813 100644 --- a/wikipedia/src/main/java/org/wikipedia/QuickReturnHandler.java +++ b/wikipedia/src/main/java/org/wikipedia/QuickReturnHandler.java @@ -1,6 +1,7 @@ package org.wikipedia; import android.view.*; +import com.nineoldandroids.view.ViewHelper; public class QuickReturnHandler implements ObservableWebView.OnScrollChangeListener, ObservableWebView.OnUpOrCancelMotionEventListener, ObservableWebView.OnDownMotionEventListener { private final ObservableWebView webview; @@ -26,21 +27,21 @@ if (oldScrollY > scrollY) { int minMargin = 0; int scrollDelta = oldScrollY - scrollY; - int newMargin = (int)quickReturnView.getTranslationY() + scrollDelta; + int newMargin = (int) ViewHelper.getTranslationY(quickReturnView) + scrollDelta; animMargin = Math.min(minMargin, newMargin); } else { // scroll downn! int minMargin = -quickReturnView.getHeight(); int scrollDelta = scrollY - oldScrollY; - int newMargin = (int)quickReturnView.getTranslationY() - scrollDelta; + int newMargin = (int)ViewHelper.getTranslationY(quickReturnView) - scrollDelta; animMargin = Math.max(minMargin, newMargin); } - quickReturnView.setTranslationY(animMargin); + ViewHelper.setTranslationY(quickReturnView, animMargin); } @Override public void onUpOrCancelMotionEvent() { - int transY = (int)quickReturnView.getTranslationY(); + int transY = (int)ViewHelper.getTranslationY(quickReturnView); int height = quickReturnView.getHeight(); if (transY != 0 && transY > -height) { if (transY > -height / 2 ) { diff --git a/wikipedia/src/main/java/org/wikipedia/Utils.java b/wikipedia/src/main/java/org/wikipedia/Utils.java index ee3a20d..16c92ad 100644 --- a/wikipedia/src/main/java/org/wikipedia/Utils.java +++ b/wikipedia/src/main/java/org/wikipedia/Utils.java @@ -1,6 +1,9 @@ package org.wikipedia; -import android.animation.*; +import com.nineoldandroids.animation.*; +import com.nineoldandroids.view.*; +import static com.nineoldandroids.view.ViewPropertyAnimator.animate; + import android.app.*; import android.content.*; import android.content.pm.*; @@ -52,9 +55,9 @@ * @param view The currently invisible view to be faded in */ public static void fadeIn(final View view) { - view.setAlpha(0f); + ViewHelper.setAlpha(view, 0f); view.setVisibility(View.VISIBLE); - view.animate() + animate(view) .alpha(1.0f) .setDuration(WikipediaApp.MEDIUM_ANIMATION_DURATION) .setListener(null) @@ -66,7 +69,7 @@ * @param view The currently visible view to be faded out */ public static void fadeOut(final View view) { - view.animate() + animate(view) .alpha(0f) .setDuration(WikipediaApp.MEDIUM_ANIMATION_DURATION) .setListener(new AnimatorListenerAdapter() { @@ -83,7 +86,7 @@ // Detect if we got canceled, and if so DON'T hide... // There's another animation now pushing the alpha back up view.setVisibility(View.GONE); - view.setAlpha(1.0f); + ViewHelper.setAlpha(view, 1.0f); } } }); @@ -180,8 +183,8 @@ * @param translation The value to ensure it is translated by */ public static void ensureTranslationY(View view, int translation) { - if (view.getTranslationY() != translation) { - view.animate().translationY(translation).setDuration(WikipediaApp.SHORT_ANIMATION_DURATION).start(); + if (ViewHelper.getTranslationY(view) != translation) { + animate(view).translationY(translation).setDuration(WikipediaApp.SHORT_ANIMATION_DURATION).start(); } } diff --git a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java index 4668c50..9f0df84 100644 --- a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java +++ b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java @@ -6,6 +6,7 @@ import android.util.*; import android.view.*; import android.widget.*; +import com.nineoldandroids.view.ViewHelper; import org.json.*; import org.wikipedia.*; @@ -35,7 +36,7 @@ private float prevTranslateY; @Override public void onPanelOpened(View view) { - prevTranslateY = quickReturnBar.getTranslationY(); + prevTranslateY = ViewHelper.getTranslationY(quickReturnBar); bridge.sendMessage("requestCurrentSection", new JSONObject()); Utils.ensureTranslationY(quickReturnBar, -quickReturnBar.getHeight()); } -- To view, visit https://gerrit.wikimedia.org/r/122590 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iba79bd370eb1f7af45fd21c01f1b6c1e100befea Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Brion VIBBER <br...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits