diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/StatusIndicator.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/StatusIndicator.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/StatusIndicator.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/StatusIndicator.java new file mode 100644 index 000000000..2784ac5f0 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/StatusIndicator.java @@ -0,0 +1,45 @@ +package org.sufficientlysecure.keychain.ui.widget; + + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.animation.AnimationUtils; + +import org.sufficientlysecure.keychain.R; + + +public class StatusIndicator extends ToolableViewAnimator { + + public enum Status { + IDLE, PROGRESS, OK, ERROR + } + + public StatusIndicator(Context context) { + super(context); + + LayoutInflater.from(context).inflate(R.layout.status_indicator, this, true); + setInAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in)); + setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_out)); + } + + public StatusIndicator(Context context, AttributeSet attrs) { + super(context, attrs); + + LayoutInflater.from(context).inflate(R.layout.status_indicator, this, true); + setInAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in)); + setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_out)); + } + + @Override + public void setDisplayedChild(int whichChild) { + if (whichChild != getDisplayedChild()) { + super.setDisplayedChild(whichChild); + } + } + + public void setDisplayedChild(Status status) { + setDisplayedChild(status.ordinal()); + } + +} |