From 0b83546db7d3d7427fb45e3ae462e2166e0e5540 Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sun, 14 Jun 2020 20:50:18 +0200 Subject: [PATCH] Fix an issue where codes were not refreshed Sometimes I get so enthusiastic when refactoring that I accidentally remove too much. This issue was introduced in 98a38b03e4bddc9d7c9a0d0c24ecb408950dbad0 --- .../aegis/ui/views/EntryListView.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java index 50fbe087..05ac998c 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java @@ -23,6 +23,8 @@ import com.beemdevelopment.aegis.R; import com.beemdevelopment.aegis.SortCategory; import com.beemdevelopment.aegis.ViewMode; import com.beemdevelopment.aegis.helpers.SimpleItemTouchHelperCallback; +import com.beemdevelopment.aegis.helpers.UiRefresher; +import com.beemdevelopment.aegis.otp.TotpInfo; import com.beemdevelopment.aegis.vault.VaultEntry; import com.bumptech.glide.Glide; import com.bumptech.glide.ListPreloader; @@ -49,6 +51,8 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener { private ViewMode _viewMode; private LinearLayout _emptyStateView; + private UiRefresher _refresher; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -93,6 +97,19 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener { int resId = R.anim.layout_animation_fall_down; LayoutAnimationController animation = AnimationUtils.loadLayoutAnimation(getContext(), resId); _recyclerView.setLayoutAnimation(animation); + + _refresher = new UiRefresher(new UiRefresher.Listener() { + @Override + public void onRefresh() { + refresh(false); + } + + @Override + public long getMillisTillNextRefresh() { + return TotpInfo.getMillisTillNextRotation(_adapter.getMostFrequentPeriod()); + } + }); + _emptyStateView = view.findViewById(R.id.vEmptyList); return view; @@ -104,6 +121,7 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener { @Override public void onDestroyView() { + _refresher.destroy(); super.onDestroyView(); } @@ -210,9 +228,11 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener { _progressBar.setVisibility(View.VISIBLE); _progressBar.setPeriod(period); _progressBar.start(); + _refresher.start(); } else { _progressBar.setVisibility(View.GONE); _progressBar.stop(); + _refresher.stop(); } }