Skip to content

Commit d599f03

Browse files
committed
LinearProgressIndicator added.
1 parent 9f63337 commit d599f03

File tree

3 files changed

+46
-19
lines changed

3 files changed

+46
-19
lines changed

mobile/src/main/java/io/syslogic/github/dialog/ProgressDialogFragment.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class ProgressDialogFragment extends BaseDialogFragment implements Progre
3434
private String repoName = null;
3535

3636
private boolean taskCancelled = false;
37-
private int totalTasks = 0;
37+
private int totalTasks = 4;
3838
private int currentTask = 0;
3939
private int totalWork = 0;
4040
private int currentWork = 0;
@@ -58,21 +58,23 @@ public void setRepositoryName(String repoName) {
5858
/** ProgressMonitor: Advise the monitor of the total number of subtasks. */
5959
@Override
6060
public void start(int totalTasks) {
61-
this.totalTasks = totalTasks;
61+
// this.totalTasks = totalTasks;
6262
}
6363

6464
/** ProgressMonitor: Begin processing a single task. */
6565
@SuppressLint("SetTextI18n")
6666
@Override
6767
public void beginTask(String title, int totalWork) {
68-
this.currentTask++;
6968
this.totalWork = totalWork;
70-
this.currentWork = 0;
69+
this.currentTask++;
70+
this.currentWork=0;
7171
if (mDebug) {
7272
Log.d(LOG_TAG, "beginTask " + this.currentTask + ": " + title + ": " + totalWork + " items");
7373
}
74-
requireActivity().runOnUiThread(() ->
75-
this.mDataBinding.textCurrentTaskTitle.setText(title));
74+
requireActivity().runOnUiThread(() -> {
75+
this.mDataBinding.progressIndicator.setMax(totalWork);
76+
this.mDataBinding.textTaskTitle.setText(title);
77+
});
7678
}
7779

7880
/** ProgressMonitor: Denote that some work units have been completed. */
@@ -81,17 +83,23 @@ public void beginTask(String title, int totalWork) {
8183
public void update(int completed) {
8284
this.currentWork += completed;
8385
String message = this.currentWork + " / " + this.totalWork;
84-
if (mDebug) {Log.d(LOG_TAG, "items complete: " + message);}
85-
requireActivity().runOnUiThread(() ->
86-
this.mDataBinding.textDownloadStatus.setText(message)
87-
);
86+
// if (mDebug) {Log.d(LOG_TAG, "items complete: " + message);}
87+
requireActivity().runOnUiThread(() -> {
88+
this.mDataBinding.progressIndicator.setProgress(this.currentWork);
89+
this.mDataBinding.textTaskStatus.setText(message);
90+
});
8891
}
8992

9093
/** ProgressMonitor: Finish the current task, so the next can begin. */
9194
@Override
9295
public void endTask() {
93-
if (mDebug) {Log.d(LOG_TAG, "endTask " + this.currentTask);}
94-
if (this.currentTask == this.totalTasks) {this.dismiss();}
96+
if (mDebug) {Log.d(LOG_TAG, "endTask " + this.currentTask + " / " + this.totalTasks);}
97+
// if (this.currentTask == this.totalTasks) {this.dismiss();} // TODO: comparison doesn't work.
98+
99+
/* Reset the progress indicator */
100+
requireActivity().runOnUiThread(() -> {
101+
this.mDataBinding.progressIndicator.setProgress(0);
102+
});
95103
}
96104

97105
/** Interface: ProgressMonitor. Check for user task cancellation. */

mobile/src/main/res/layout/dialog_progress.xml

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,33 +43,51 @@
4343
android:layout_height="8dp"/>
4444

4545
<androidx.appcompat.widget.LinearLayoutCompat
46-
android:id="@+id/layout_download_progress"
4746
android:layout_width="match_parent"
4847
android:layout_height="wrap_content"
4948
android:layout_margin="0dp"
5049
android:orientation="vertical">
5150

5251
<androidx.appcompat.widget.AppCompatTextView
53-
android:id="@+id/text_current_task_title"
52+
android:id="@+id/text_task_title"
5453
android:layout_width="match_parent"
5554
android:layout_height="wrap_content"
5655
android:padding="4dp"
5756
android:textAlignment="center"
5857
android:textColor="#546E7A"
5958
android:textSize="20sp"
6059
app:fontFamily="monospace"
61-
tools:text="@string/tools_current_task_title" />
60+
tools:text="@string/tools_task_title"/>
61+
62+
<com.google.android.material.progressindicator.LinearProgressIndicator
63+
android:id="@+id/progressIndicator"
64+
android:layout_width="fill_parent"
65+
android:layout_height="12dp"
66+
style="@style/Widget.MaterialComponents.LinearProgressIndicator"
67+
tools:background="@color/colorAccent"/>
68+
69+
70+
<androidx.appcompat.widget.AppCompatTextView
71+
android:id="@+id/text_task_status"
72+
android:layout_width="match_parent"
73+
android:layout_height="wrap_content"
74+
android:padding="4dp"
75+
android:textAlignment="center"
76+
android:textColor="#546E7A"
77+
android:textSize="20sp"
78+
app:fontFamily="monospace"
79+
tools:text="@string/tools_task_progress"/>
6280

6381
<androidx.appcompat.widget.AppCompatTextView
64-
android:id="@+id/text_download_status"
82+
android:id="@+id/text_task_percentage"
6583
android:layout_width="match_parent"
6684
android:layout_height="wrap_content"
6785
android:padding="4dp"
6886
android:textAlignment="center"
6987
android:textColor="#546E7A"
7088
android:textSize="20sp"
7189
app:fontFamily="monospace"
72-
tools:text="@string/tools_current_task_progress"/>
90+
tools:text="@string/tools_task_percentage"/>
7391

7492
</androidx.appcompat.widget.LinearLayoutCompat>
7593

mobile/src/main/res/values/tools.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
<string name="tools_workflow_name">android.yml</string>
2323

2424
<!-- dialog progress -->
25-
<string name="tools_current_task_title">Enumerating objects</string>
26-
<string name="tools_current_task_progress">2056 / 5793</string>
25+
<string name="tools_task_title">Enumerating objects</string>
26+
<string name="tools_task_progress">2056 / 5793</string>
27+
<string name="tools_task_percentage">93%</string>
2728

2829
</resources>

0 commit comments

Comments
 (0)