aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-02-27 23:09:35 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-02-27 23:10:02 +0100
commitaec9bdfc1e30c590a22d4860b9e955c5cb570a3a (patch)
tree286044f4446bf16b6e1625c1bc330b59f4ad536a /OpenKeychain
parent863f4e6ac18edbeb0dde5c79b5a4808f7915dd0c (diff)
downloadopen-keychain-aec9bdfc1e30c590a22d4860b9e955c5cb570a3a.tar.gz
open-keychain-aec9bdfc1e30c590a22d4860b9e955c5cb570a3a.tar.bz2
open-keychain-aec9bdfc1e30c590a22d4860b9e955c5cb570a3a.zip
transition status color in key view
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java33
1 files changed, 30 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
index f6c56d965..d14455511 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java
@@ -18,11 +18,14 @@
package org.sufficientlysecure.keychain.ui;
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
import android.annotation.TargetApi;
import android.app.ActivityOptions;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
+import android.graphics.Color;
import android.net.Uri;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
@@ -717,6 +720,8 @@ public class ViewKeyActivity extends BaseActivity implements
}
}
+ int mPreviousColor = 0;
+
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
/* TODO better error handling? May cause problems when a key is deleted,
@@ -861,9 +866,31 @@ public class ViewKeyActivity extends BaseActivity implements
mFab.setVisibility(View.VISIBLE);
}
}
- mToolbar.setBackgroundColor(color);
- mStatusBar.setBackgroundColor(color);
- mBigToolbar.setBackgroundColor(color);
+
+ if (mPreviousColor == 0 || mPreviousColor == color) {
+ mToolbar.setBackgroundColor(color);
+ mStatusBar.setBackgroundColor(color);
+ mBigToolbar.setBackgroundColor(color);
+ mPreviousColor = color;
+ } else {
+ ObjectAnimator colorFade1 =
+ ObjectAnimator.ofObject(mToolbar, "backgroundColor",
+ new ArgbEvaluator(), mPreviousColor, color);
+ ObjectAnimator colorFade2 =
+ ObjectAnimator.ofObject(mStatusBar, "backgroundColor",
+ new ArgbEvaluator(), mPreviousColor, color);
+ ObjectAnimator colorFade3 =
+ ObjectAnimator.ofObject(mBigToolbar, "backgroundColor",
+ new ArgbEvaluator(), mPreviousColor, color);
+
+ colorFade1.setDuration(800);
+ colorFade2.setDuration(800);
+ colorFade3.setDuration(800);
+ colorFade1.start();
+ colorFade2.start();
+ colorFade3.start();
+ mPreviousColor = color;
+ }
mStatusImage.setAlpha(80);