From f8373725518ba7d65da8c62aff5ce1b2a5124445 Mon Sep 17 00:00:00 2001
From: Tanguy Herbron <tanguy.herbron@outlook.com>
Date: Sun, 2 Sep 2018 01:03:29 +0200
Subject: [PATCH] Add icon displaying animation

---
 .../CurrencyData/CurrencyCardview.java        | 26 +++++++++++--------
 .../main/res/layout-v21/cardview_currency.xml |  2 +-
 .../res/layout-v21/cardview_watchlist.xml     |  2 +-
 app/src/main/res/layout/cardview_currency.xml |  2 +-
 .../main/res/layout/cardview_watchlist.xml    |  2 +-
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/com/herbron/moodl/DataManagers/CurrencyData/CurrencyCardview.java b/app/src/main/java/com/herbron/moodl/DataManagers/CurrencyData/CurrencyCardview.java
index 1d38679..6640723 100644
--- a/app/src/main/java/com/herbron/moodl/DataManagers/CurrencyData/CurrencyCardview.java
+++ b/app/src/main/java/com/herbron/moodl/DataManagers/CurrencyData/CurrencyCardview.java
@@ -19,6 +19,12 @@ import android.support.v7.widget.CardView;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.AlphaAnimation;
+import android.view.animation.Animation;
+import android.view.animation.AnimationSet;
+import android.view.animation.AnticipateInterpolator;
+import android.view.animation.DecelerateInterpolator;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ProgressBar;
@@ -52,6 +58,8 @@ import static com.herbron.moodl.MoodlBox.numberConformer;
 
 public class CurrencyCardview extends CardView implements CurrencyInfoUpdateNotifierInterface {
 
+    private static final int FADE_IN_DURATION = 300;
+
     private Currency currency;
     private Activity parentActivity;
     private Context context;
@@ -160,7 +168,13 @@ public class CurrencyCardview extends CardView implements CurrencyInfoUpdateNoti
 
     private void updateCurrencyColorRelatedLayouts()
     {
-        ((ImageView) findViewById(R.id.currencyIcon)).setImageBitmap(currency.getIcon());
+        Animation fadeIn = new AlphaAnimation(0, 1);
+        fadeIn.setInterpolator(new AccelerateInterpolator());
+        fadeIn.setDuration(FADE_IN_DURATION);
+
+        ImageView currencyIconImageView = findViewById(R.id.currencyIcon);
+        currencyIconImageView.setImageBitmap(currency.getIcon());
+        currencyIconImageView.startAnimation(fadeIn);
 
         Drawable arrowDrawable = ((ImageView) findViewById(R.id.detailsArrow)).getDrawable();
         arrowDrawable.mutate();
@@ -304,16 +318,6 @@ public class CurrencyCardview extends CardView implements CurrencyInfoUpdateNoti
         }
     }
 
-    public double getOwnedValue()
-    {
-        return currency.getValue() * currency.getBalance();
-    }
-
-    public double getFluctuation()
-    {
-        return getOwnedValue() * (currency.getDayFluctuationPercentage() / 100);
-    }
-
     private LineData generateData()
     {
         LineDataSet dataSet;
diff --git a/app/src/main/res/layout-v21/cardview_currency.xml b/app/src/main/res/layout-v21/cardview_currency.xml
index 51dde10..2a5f084 100644
--- a/app/src/main/res/layout-v21/cardview_currency.xml
+++ b/app/src/main/res/layout-v21/cardview_currency.xml
@@ -31,7 +31,7 @@
                 android:id="@+id/currencyIcon"
                 android:layout_width="@dimen/currency_icon_cardview_size"
                 android:layout_height="@dimen/currency_icon_cardview_size"
-                android:layout_margin="1dp" />
+                android:layout_margin="1dp"/>
 
             <TextView
                 android:id="@+id/currencyNameTextView"
diff --git a/app/src/main/res/layout-v21/cardview_watchlist.xml b/app/src/main/res/layout-v21/cardview_watchlist.xml
index d124daa..f5e7e50 100644
--- a/app/src/main/res/layout-v21/cardview_watchlist.xml
+++ b/app/src/main/res/layout-v21/cardview_watchlist.xml
@@ -51,7 +51,7 @@
                     android:id="@+id/currencyIcon"
                     android:layout_width="@dimen/currency_icon_cardview_size"
                     android:layout_height="@dimen/currency_icon_cardview_size"
-                    android:layout_margin="1dp" />
+                    android:layout_margin="1dp"/>
 
                 <TextView
                     android:id="@+id/currencyNameTextView"
diff --git a/app/src/main/res/layout/cardview_currency.xml b/app/src/main/res/layout/cardview_currency.xml
index b70e5e8..35c1e03 100644
--- a/app/src/main/res/layout/cardview_currency.xml
+++ b/app/src/main/res/layout/cardview_currency.xml
@@ -32,7 +32,7 @@
                 android:id="@+id/currencyIcon"
                 android:layout_width="@dimen/currency_icon_cardview_size"
                 android:layout_height="@dimen/currency_icon_cardview_size"
-                android:layout_margin="1dp" />
+                android:layout_margin="1dp"/>
 
             <TextView
                 android:id="@+id/currencyNameTextView"
diff --git a/app/src/main/res/layout/cardview_watchlist.xml b/app/src/main/res/layout/cardview_watchlist.xml
index cc7c6e6..6e1469d 100644
--- a/app/src/main/res/layout/cardview_watchlist.xml
+++ b/app/src/main/res/layout/cardview_watchlist.xml
@@ -53,7 +53,7 @@
                     android:id="@+id/currencyIcon"
                     android:layout_width="@dimen/currency_icon_cardview_size"
                     android:layout_height="@dimen/currency_icon_cardview_size"
-                    android:layout_margin="1dp" />
+                    android:layout_margin="1dp"/>
 
                 <TextView
                     android:id="@+id/currencyNameTextView"