From 34c788681bb7f4fa0c0017044e321ed364eee81d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 20 Jul 2018 10:34:35 +0200 Subject: [PATCH] ensure single progressbar is shown while doing first index update --- .../org/fdroid/fdroid/views/main/WhatsNewViewBinder.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java b/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java index 2ad7c0115..c53932349 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java +++ b/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java @@ -41,6 +41,8 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks { private final TextView emptyState; private final RecyclerView appList; + private ProgressBar progressBar; + WhatsNewViewBinder(final AppCompatActivity activity, FrameLayout parent) { this.activity = activity; @@ -126,8 +128,13 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks { private void explainEmptyStateToUser() { if (Preferences.get().isIndexNeverUpdated() && UpdateService.isUpdating()) { + if (progressBar != null) { + return; + } LinearLayout linearLayout = (LinearLayout) appList.getParent(); - linearLayout.addView(new ProgressBar(activity, null, android.R.attr.progressBarStyleLarge)); + progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleLarge); + progressBar.setId(R.id.progress_bar); + linearLayout.addView(progressBar); emptyState.setVisibility(View.GONE); appList.setVisibility(View.GONE); return;