diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java index 1e5b9cf0..ba86e9cd 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java @@ -61,7 +61,6 @@ public class EntryHolder extends RecyclerView.ViewHolder { private ViewMode _viewMode; private final ImageView _selected; - private final Handler _selectedHandler; private Preferences.CodeGrouping _codeGrouping = Preferences.CodeGrouping.NO_GROUPING; private AccountNamePosition _accountNamePosition = AccountNamePosition.HIDDEN; @@ -73,7 +72,8 @@ public class EntryHolder extends RecyclerView.ViewHolder { private MaterialCardView _view; private UiRefresher _refresher; - private Handler _animationHandler; + private Handler _copyAnimationHandler; + private Handler _expirationHandler; private AnimatorSet _expirationAnimSet; private boolean _showNextCode; private boolean _showExpirationState; @@ -97,8 +97,8 @@ public class EntryHolder extends RecyclerView.ViewHolder { _dragHandle = view.findViewById(R.id.drag_handle); _favoriteIndicator = view.findViewById(R.id.favorite_indicator); - _selectedHandler = new Handler(); - _animationHandler = new Handler(); + _copyAnimationHandler = new Handler(); + _expirationHandler = new Handler(); _progressBar = view.findViewById(R.id.progressBar); @@ -132,8 +132,8 @@ public class EntryHolder extends RecyclerView.ViewHolder { _selected.clearAnimation(); _selected.setVisibility(View.GONE); - _selectedHandler.removeCallbacksAndMessages(null); - _animationHandler.removeCallbacksAndMessages(null); + _copyAnimationHandler.removeCallbacksAndMessages(null); + _expirationHandler.removeCallbacksAndMessages(null); _showNextCode = entry.getInfo() instanceof TotpInfo && showNextCode; _showExpirationState = _entry.getInfo() instanceof TotpInfo && showExpirationState; @@ -435,7 +435,7 @@ public class EntryHolder extends RecyclerView.ViewHolder { if (info.getMillisTillNextRotation() < totalStateDuration) { _profileCode.setTextColor(color); } else { - _animationHandler.postDelayed(() -> { + _expirationHandler.postDelayed(() -> { _profileCode.setTextColor(color); }, info.getMillisTillNextRotation() - totalStateDuration); } @@ -471,6 +471,7 @@ public class EntryHolder extends RecyclerView.ViewHolder { } private void stopExpirationAnimation() { + _expirationHandler.removeCallbacksAndMessages(null); if (_expirationAnimSet != null) { _expirationAnimSet.cancel(); _expirationAnimSet = null; @@ -513,7 +514,7 @@ public class EntryHolder extends RecyclerView.ViewHolder { } public void animateCopyText() { - _animationHandler.removeCallbacksAndMessages(null); + _copyAnimationHandler.removeCallbacksAndMessages(null); Animation slideDownFadeIn = AnimationsHelper.loadScaledAnimation(itemView.getContext(), R.anim.slide_down_fade_in); Animation slideDownFadeOut = AnimationsHelper.loadScaledAnimation(itemView.getContext(), R.anim.slide_down_fade_out); @@ -526,7 +527,7 @@ public class EntryHolder extends RecyclerView.ViewHolder { View fadeOutView = (_accountNamePosition == AccountNamePosition.BELOW) ? _profileName : _description; fadeOutView.startAnimation(slideDownFadeOut); - _animationHandler.postDelayed(() -> { + _copyAnimationHandler.postDelayed(() -> { _profileCopied.startAnimation(fadeOut); fadeOutView.startAnimation(fadeIn); }, 3000); @@ -536,7 +537,7 @@ public class EntryHolder extends RecyclerView.ViewHolder { _profileCopied.startAnimation(fadeIn); visibleProfileText.startAnimation(fadeOut); - _animationHandler.postDelayed(() -> { + _copyAnimationHandler.postDelayed(() -> { _profileCopied.startAnimation(fadeOut); visibleProfileText.startAnimation(fadeIn); }, 3000);