mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Add a progress bar to display upload progress, instead of just text
Change-Id: Id858ce3e508031435f7ceda3b2ffe2372b0c5510 GitHub: https://github.com/wikimedia/apps-android-commons/pull/11
This commit is contained in:
parent
0d70ec6f80
commit
b0bc8d0532
4 changed files with 23 additions and 8 deletions
|
|
@ -30,6 +30,15 @@
|
|||
android:orientation="vertical"
|
||||
android:padding="8dp"
|
||||
>
|
||||
<ProgressBar
|
||||
android:id="@+id/contributionProgress"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/ProgressBar"
|
||||
android:indeterminateOnly="false"
|
||||
android:max="100"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contributionState"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<resources>
|
||||
|
||||
<style name="NotificationProgress" parent="android:Widget.Holo.ProgressBar.Horizontal" />
|
||||
<style name="ProgressBar" parent="android:Widget.Holo.ProgressBar.Horizontal" />
|
||||
|
||||
</resources>
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
<resources>
|
||||
|
||||
<style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
|
||||
|
||||
<style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
|
||||
<style name="ProgressBar" parent="android:Widget.ProgressBar.Horizontal" />
|
||||
|
||||
</resources>
|
||||
|
|
@ -52,6 +52,7 @@ public class ContributionsListFragment extends SherlockFragment {
|
|||
final TextView titleView;
|
||||
final TextView stateView;
|
||||
final TextView seqNumView;
|
||||
final ProgressBar progressView;
|
||||
|
||||
String url;
|
||||
|
||||
|
|
@ -60,6 +61,7 @@ public class ContributionsListFragment extends SherlockFragment {
|
|||
titleView = (TextView)parent.findViewById(R.id.contributionTitle);
|
||||
stateView = (TextView)parent.findViewById(R.id.contributionState);
|
||||
seqNumView = (TextView)parent.findViewById(R.id.contributionSequenceNumber);
|
||||
progressView = (ProgressBar)parent.findViewById(R.id.contributionProgress);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -122,23 +124,29 @@ public class ContributionsListFragment extends SherlockFragment {
|
|||
switch(contribution.getState()) {
|
||||
case Contribution.STATE_COMPLETED:
|
||||
views.stateView.setVisibility(View.GONE);
|
||||
views.progressView.setVisibility(View.GONE);
|
||||
views.stateView.setText("");
|
||||
break;
|
||||
case Contribution.STATE_QUEUED:
|
||||
views.stateView.setVisibility(View.VISIBLE);
|
||||
views.progressView.setVisibility(View.GONE);
|
||||
views.stateView.setText(R.string.contribution_state_queued);
|
||||
break;
|
||||
case Contribution.STATE_IN_PROGRESS:
|
||||
views.stateView.setVisibility(View.VISIBLE);
|
||||
views.stateView.setText(R.string.contribution_state_starting);
|
||||
views.stateView.setVisibility(View.GONE);
|
||||
views.progressView.setVisibility(View.VISIBLE);
|
||||
long total = contribution.getDataLength();
|
||||
long transferred = contribution.getTransferred();
|
||||
String stateString = String.format(getString(R.string.contribution_state_in_progress), (int)(((double)transferred / (double)total) * 100));
|
||||
views.stateView.setText(stateString);
|
||||
if(transferred == 0 || transferred >= total) {
|
||||
views.progressView.setIndeterminate(true);
|
||||
} else {
|
||||
views.progressView.setProgress((int)(((double)transferred / (double)total) * 100));
|
||||
}
|
||||
break;
|
||||
case Contribution.STATE_FAILED:
|
||||
views.stateView.setVisibility(View.VISIBLE);
|
||||
views.stateView.setText(R.string.contribution_state_failed);
|
||||
views.progressView.setVisibility(View.GONE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue