diff --git a/app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java b/app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java
index f9a8b3e82..231b3ed8d 100644
--- a/app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java
+++ b/app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java
@@ -13,6 +13,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
@@ -46,6 +48,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.3;
+ private Boolean isUploadFetched = false;
+ private Boolean isStatisticsFetched = false;
@BindView(R.id.achievement_badge)
ImageView imageView;
@@ -61,6 +65,16 @@ public class AchievementsActivity extends NavigationBaseActivity {
CircleProgressBar imagesUsedByWikiProgessbar;
@BindView(R.id.image_featured)
TextView imagesFeatured;
+ @BindView(R.id.progressBar)
+ ProgressBar progressBar;
+ @BindView(R.id.layout_image_uploaded)
+ RelativeLayout layoutImageUploaded;
+ @BindView(R.id.layout_image_reverts)
+ RelativeLayout layoutImageReverts;
+ @BindView(R.id.layout_image_used_by_wiki)
+ RelativeLayout layoutImageUsedByWiki;
+ @BindView(R.id.layout_statistics)
+ LinearLayout layoutStatistics;
@Inject
SessionManager sessionManager;
@Inject
@@ -99,6 +113,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
imageView.requestLayout();
setSupportActionBar(toolbar);
+ progressBar.setVisibility(View.VISIBLE);
+ hideLayouts();
setAchievements();
setUploadCount();
initDrawer();
@@ -182,6 +198,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
Log.i("uploadCount",Integer.toString(uploadCount));
imagesUploadedProgressbar.setProgress(100*uploadCount/25);
imagesUploadedProgressbar.setProgressTextFormatPattern(uploadCount +"/25" );
+ isUploadFetched = true;
+ hideProgressBar();
}
/**
@@ -216,6 +234,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
imagesUsedByWikiProgessbar.setProgress(100*achievements.getUniqueUsedImages()/25);
imagesUsedByWikiProgessbar.setProgressTextFormatPattern(achievements.getUniqueUsedImages() + "/25");
imagesFeatured.setText(Integer.toString(achievements.getFeaturedImages()));
+ isStatisticsFetched = true;
+ hideProgressBar();
}
/**
@@ -230,4 +250,29 @@ public class AchievementsActivity extends NavigationBaseActivity {
context.startActivity(intent);
}
+ /**
+ * to hide progressbar
+ */
+ private void hideProgressBar() {
+ if (progressBar != null && isUploadFetched && isStatisticsFetched) {
+ progressBar.setVisibility(View.GONE);
+ layoutImageReverts.setVisibility(View.VISIBLE);
+ layoutImageUploaded.setVisibility(View.VISIBLE);
+ layoutImageUsedByWiki.setVisibility(View.VISIBLE);
+ layoutStatistics.setVisibility(View.VISIBLE);
+ imageView.setVisibility(View.VISIBLE);
+ }
+ }
+
+ /**
+ * used to hide the layouts while fetching results from api
+ */
+ private void hideLayouts(){
+ layoutImageUsedByWiki.setVisibility(View.INVISIBLE);
+ layoutImageUploaded.setVisibility(View.INVISIBLE);
+ layoutImageReverts.setVisibility(View.INVISIBLE);
+ layoutStatistics.setVisibility(View.INVISIBLE);
+ imageView.setVisibility(View.INVISIBLE);
+ }
+
}
diff --git a/app/src/main/res/layout/activity_achievements.xml b/app/src/main/res/layout/activity_achievements.xml
index 56a285eca..af776a4f6 100644
--- a/app/src/main/res/layout/activity_achievements.xml
+++ b/app/src/main/res/layout/activity_achievements.xml
@@ -156,11 +156,19 @@
app:style="solid_line" />
+
+
+