Skip to content

Commit 9174dbd

Browse files
committed
added ProgressBar
1 parent 5f45401 commit 9174dbd

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java

+45
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import android.view.MenuItem;
1414
import android.view.View;
1515
import android.widget.ImageView;
16+
import android.widget.LinearLayout;
17+
import android.widget.ProgressBar;
1618
import android.widget.RelativeLayout;
1719
import android.widget.TextView;
1820

@@ -46,6 +48,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
4648

4749
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
4850
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.3;
51+
private Boolean isUploadFetched = false;
52+
private Boolean isStatisticsFetched = false;
4953

5054
@BindView(R.id.achievement_badge)
5155
ImageView imageView;
@@ -61,6 +65,16 @@ public class AchievementsActivity extends NavigationBaseActivity {
6165
CircleProgressBar imagesUsedByWikiProgessbar;
6266
@BindView(R.id.image_featured)
6367
TextView imagesFeatured;
68+
@BindView(R.id.progressBar)
69+
ProgressBar progressBar;
70+
@BindView(R.id.layout_image_uploaded)
71+
RelativeLayout layoutImageUploaded;
72+
@BindView(R.id.layout_image_reverts)
73+
RelativeLayout layoutImageReverts;
74+
@BindView(R.id.layout_image_used_by_wiki)
75+
RelativeLayout layoutImageUsedByWiki;
76+
@BindView(R.id.layout_statistics)
77+
LinearLayout layoutStatistics;
6478
@Inject
6579
SessionManager sessionManager;
6680
@Inject
@@ -99,6 +113,8 @@ protected void onCreate(Bundle savedInstanceState) {
99113
imageView.requestLayout();
100114

101115
setSupportActionBar(toolbar);
116+
progressBar.setVisibility(View.VISIBLE);
117+
hideLayouts();
102118
setAchievements();
103119
setUploadCount();
104120
initDrawer();
@@ -182,6 +198,8 @@ private void setUploadProgress( int uploadCount){
182198
Log.i("uploadCount",Integer.toString(uploadCount));
183199
imagesUploadedProgressbar.setProgress(100*uploadCount/25);
184200
imagesUploadedProgressbar.setProgressTextFormatPattern(uploadCount +"/25" );
201+
isUploadFetched = true;
202+
hideProgressBar();
185203
}
186204

187205
/**
@@ -216,6 +234,8 @@ private void inflateAchievements( Achievements achievements){
216234
imagesUsedByWikiProgessbar.setProgress(100*achievements.getUniqueUsedImages()/25);
217235
imagesUsedByWikiProgessbar.setProgressTextFormatPattern(achievements.getUniqueUsedImages() + "/25");
218236
imagesFeatured.setText(Integer.toString(achievements.getFeaturedImages()));
237+
isStatisticsFetched = true;
238+
hideProgressBar();
219239
}
220240

221241
/**
@@ -230,4 +250,29 @@ public static void startYourself(Context context) {
230250
context.startActivity(intent);
231251
}
232252

253+
/**
254+
* to hide progressbar
255+
*/
256+
private void hideProgressBar() {
257+
if (progressBar != null && isUploadFetched && isStatisticsFetched) {
258+
progressBar.setVisibility(View.GONE);
259+
layoutImageReverts.setVisibility(View.VISIBLE);
260+
layoutImageUploaded.setVisibility(View.VISIBLE);
261+
layoutImageUsedByWiki.setVisibility(View.VISIBLE);
262+
layoutStatistics.setVisibility(View.VISIBLE);
263+
imageView.setVisibility(View.VISIBLE);
264+
}
265+
}
266+
267+
/**
268+
* used to hide the layouts while fetching results from api
269+
*/
270+
private void hideLayouts(){
271+
layoutImageUsedByWiki.setVisibility(View.INVISIBLE);
272+
layoutImageUploaded.setVisibility(View.INVISIBLE);
273+
layoutImageReverts.setVisibility(View.INVISIBLE);
274+
layoutStatistics.setVisibility(View.INVISIBLE);
275+
imageView.setVisibility(View.INVISIBLE);
276+
}
277+
233278
}

app/src/main/res/layout/activity_achievements.xml

+8
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,19 @@
156156
app:style="solid_line" />
157157

158158
</RelativeLayout>
159+
160+
<ProgressBar
161+
android:id="@+id/progressBar"
162+
android:layout_centerVertical="true"
163+
android:layout_width="match_parent"
164+
android:layout_height="wrap_content" />
165+
159166
</RelativeLayout>
160167

161168
<LinearLayout
162169
android:layout_width="match_parent"
163170
android:layout_height="wrap_content"
171+
android:id="@+id/layout_statistics"
164172
android:orientation="vertical">
165173

166174
<TextView

0 commit comments

Comments
 (0)