From 8c9c6b4cd088c9e4f95627fe02002b160e359e8d Mon Sep 17 00:00:00 2001 From: Tanguy Herbron Date: Sun, 13 May 2018 04:03:16 +0200 Subject: [PATCH] Add watchlist transition animations --- .../moodl/Activities/CurrencyDetailsActivity.java | 11 ++++++++++- .../Activities/HomeActivityFragments/Watchlist.java | 2 +- .../DataManagers/CurrencyData/CurrencyCardview.java | 11 ++++++++--- app/src/main/res/layout/activity_currency_details.xml | 1 + app/src/main/res/layout/cardview_currency.xml | 3 ++- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nauk/moodl/Activities/CurrencyDetailsActivity.java b/app/src/main/java/com/nauk/moodl/Activities/CurrencyDetailsActivity.java index a39b859..a307d54 100644 --- a/app/src/main/java/com/nauk/moodl/Activities/CurrencyDetailsActivity.java +++ b/app/src/main/java/com/nauk/moodl/Activities/CurrencyDetailsActivity.java @@ -140,7 +140,16 @@ public class CurrencyDetailsActivity extends AppCompatActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: - finish(); + + if(viewFlipper.getDisplayedChild() == 0) + { + finishAfterTransition(); + } + else + { + finish(); + } + return true; } return super.onOptionsItemSelected(item); diff --git a/app/src/main/java/com/nauk/moodl/Activities/HomeActivityFragments/Watchlist.java b/app/src/main/java/com/nauk/moodl/Activities/HomeActivityFragments/Watchlist.java index 0b6c332..c2bfb0a 100644 --- a/app/src/main/java/com/nauk/moodl/Activities/HomeActivityFragments/Watchlist.java +++ b/app/src/main/java/com/nauk/moodl/Activities/HomeActivityFragments/Watchlist.java @@ -250,7 +250,7 @@ public class Watchlist extends Fragment { public void run() { for(Currency currency : watchlistManager.getWatchlist()) { - ((LinearLayout) view.findViewById(R.id.linearLayoutWatchlist)).addView(new CurrencyCardview(getContext(), currency)); + ((LinearLayout) view.findViewById(R.id.linearLayoutWatchlist)).addView(new CurrencyCardview(getContext(), currency, getActivity())); } } }); diff --git a/app/src/main/java/com/nauk/moodl/DataManagers/CurrencyData/CurrencyCardview.java b/app/src/main/java/com/nauk/moodl/DataManagers/CurrencyData/CurrencyCardview.java index 11c0535..37b361d 100644 --- a/app/src/main/java/com/nauk/moodl/DataManagers/CurrencyData/CurrencyCardview.java +++ b/app/src/main/java/com/nauk/moodl/DataManagers/CurrencyData/CurrencyCardview.java @@ -1,5 +1,7 @@ package com.nauk.moodl.DataManagers.CurrencyData; +import android.app.Activity; +import android.app.ActivityOptions; import android.content.Context; import android.content.Intent; import android.graphics.Color; @@ -21,6 +23,7 @@ import com.github.mikephil.charting.data.Entry; import com.github.mikephil.charting.data.LineData; import com.github.mikephil.charting.data.LineDataSet; import com.nauk.moodl.Activities.CurrencyDetailsActivity; +import com.nauk.moodl.Activities.HomeActivityFragments.Summary; import com.nauk.moodl.DataManagers.PreferencesManager; import com.nauk.moodl.PlaceholderManager; import com.nauk.moodl.R; @@ -43,7 +46,7 @@ public class CurrencyCardview extends CardView { super(context); } - public CurrencyCardview(@NonNull final Context context, final Currency currency) + public CurrencyCardview(@NonNull final Context context, final Currency currency, final Activity activity) { super (context); @@ -97,9 +100,11 @@ public class CurrencyCardview extends CardView { findViewById(R.id.LineChartView).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Intent intent = new Intent(context.getApplicationContext(), CurrencyDetailsActivity.class); + Intent intent = new Intent(activity, CurrencyDetailsActivity.class); intent.putExtra("currency", currency); - context.getApplicationContext().startActivity(intent); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity, findViewById(R.id.LineChartView), "chart"); + activity.startActivity(intent, activityOptions.toBundle()); } }); diff --git a/app/src/main/res/layout/activity_currency_details.xml b/app/src/main/res/layout/activity_currency_details.xml index 2fe170c..3ffb3ab 100644 --- a/app/src/main/res/layout/activity_currency_details.xml +++ b/app/src/main/res/layout/activity_currency_details.xml @@ -63,6 +63,7 @@ android:id="@+id/chartPriceView" android:layout_width="match_parent" android:layout_height="match_parent" + android:transitionName="chart" android:layout_weight="0.5"/> + android:layout_height="match_parent" + android:transitionName="chart"/>