From 9174dbd8c7125ba94f1d6de544afe3d94f517800 Mon Sep 17 00:00:00 2001 From: tanvidadu Date: Sat, 26 May 2018 23:40:15 +0530 Subject: [PATCH] added ProgressBar --- .../achievements/AchievementsActivity.java | 45 +++++++++++++++++++ .../main/res/layout/activity_achievements.xml | 8 ++++ 2 files changed, 53 insertions(+) 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" /> + + +