Merge pull request #467 from alexbakker/fix-refresh-issue

Fix an issue where codes were not refreshed
This commit is contained in:
Michael Schättgen 2020-06-16 09:20:17 +02:00 committed by GitHub
commit 0111626d80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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();
}
}