Import/Export summary messages improved (only show useful data).

This commit is contained in:
Román Martínez
2021-01-09 16:55:43 +01:00
parent e9551bea36
commit f1d791a62c
6 changed files with 294 additions and 43 deletions
@@ -268,7 +268,14 @@ public class ExportActivity extends FragmentActivity implements ExportServiceRes
viewBinding.exportProgressTotal.setText("" + trackExportTotalCount);
viewBinding.exportProgressBar.setProgress((int) ((float) done / (float) trackExportTotalCount * 100f));
viewBinding.exportProgressSummary.setText(getString(R.string.export_progress_review, getTotalDone(), trackExportSuccessCount, trackExportOverwrittenCount, trackExportSkippedCount, trackExportErrorCount));
viewBinding.exportProgressSummaryNew.setText(String.valueOf(trackExportSuccessCount));
viewBinding.exportProgressSummaryOverwrite.setText(String.valueOf(trackExportOverwrittenCount));
viewBinding.exportProgressSummarySkip.setText(String.valueOf(trackExportSkippedCount));
viewBinding.exportProgressSummaryErrors.setText(String.valueOf(trackExportErrorCount));
viewBinding.exportProgressSummaryNewGroup.setVisibility(trackExportSuccessCount > 0 ? View.VISIBLE : View.GONE);
viewBinding.exportProgressSummaryOverwriteGroup.setVisibility(trackExportOverwrittenCount > 0 ? View.VISIBLE : View.GONE);
viewBinding.exportProgressSummarySkipGroup.setVisibility(trackExportSkippedCount > 0 ? View.VISIBLE : View.GONE);
viewBinding.exportProgressSummaryErrorsGroup.setVisibility(trackExportErrorCount > 0 ? View.VISIBLE : View.GONE);
}
private void onExportCompleted(Track.Id trackId) {
@@ -127,7 +127,9 @@ public class ImportActivity extends FragmentActivity {
private void initViews() {
viewBinding.importProgressDone.setText("0");
viewBinding.importProgressTotal.setText("0");
viewBinding.importProgressSummary.setText(getString(R.string.import_progress_review, 0, 0, 0, 0));
viewBinding.importProgressSummaryOk.setText("0");
viewBinding.importProgressSummaryExists.setText("0");
viewBinding.importProgressSummaryErrors.setText("0");
}
private int getTotalDone() {
@@ -141,7 +143,12 @@ public class ImportActivity extends FragmentActivity {
viewBinding.importProgressTotal.setText("" + summary.getTotalCount());
viewBinding.importProgressBar.setProgress((int) ((float) done / (float) summary.getTotalCount() * 100f));
viewBinding.importProgressSummary.setText(getString(R.string.import_progress_review, getTotalDone(), summary.getSuccessCount(), summary.getExistsCount(), summary.getErrorCount()));
viewBinding.importProgressSummaryOk.setText(String.valueOf(summary.getSuccessCount()));
viewBinding.importProgressSummaryExists.setText(String.valueOf(summary.getExistsCount()));
viewBinding.importProgressSummaryErrors.setText(String.valueOf(summary.getErrorCount()));
viewBinding.importProgressSummaryOkGroup.setVisibility(summary.getSuccessCount() > 0 ? View.VISIBLE : View.GONE);
viewBinding.importProgressSummaryExistsGroup.setVisibility(summary.getExistsCount() > 0 ? View.VISIBLE : View.GONE);
viewBinding.importProgressSummaryErrorsGroup.setVisibility(summary.getErrorCount() > 0 ? View.VISIBLE : View.GONE);
if (done == summary.getTotalCount()) {
onImportEnded();
+143 -13
View File
@@ -21,9 +21,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/export_progress_done"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
@@ -36,7 +43,7 @@
<TextView
android:id="@+id/export_progress_slash"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/generic_separator_done_total"
@@ -47,7 +54,7 @@
<TextView
android:id="@+id/export_progress_total"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
@@ -70,17 +77,140 @@
app:layout_constraintTop_toBottomOf="@id/export_progress_done"
tools:progress="25" />
<!-- Start Summary -->
<!-- Tracks exported (new tracks) -->
<TextView
android:id="@+id/export_progress_summary"
style="@style/TextMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:text="@string/export_progress_review"
app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/export_progress_summary_new_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_bar" />
<TextView
android:id="@+id/export_progress_summary_new"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_new_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_new_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_new_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
<!-- Tracks overwritten -->
<TextView
android:id="@+id/export_progress_summary_overwrite_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_new_barrier" />
<TextView
android:id="@+id/export_progress_summary_overwrite"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_overwrite_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_overwrite_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_overwrite_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
<!-- Tracks skipped -->
<TextView
android:id="@+id/export_progress_summary_skip_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_overwrite_barrier" />
<TextView
android:id="@+id/export_progress_summary_skip"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_skip_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_skip_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_skip_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<!-- Tracks errors -->
<TextView
android:id="@+id/export_progress_summary_errors_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_skip_barrier" />
<TextView
android:id="@+id/export_progress_summary_errors"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/export_progress_alert_icon"
android:layout_width="wrap_content"
@@ -96,16 +226,16 @@
<TextView
android:id="@+id/export_progress_alert_msg"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toTopOf="@id/export_progress_apply_to_all"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/export_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="The track already exists" />
+111 -14
View File
@@ -19,9 +19,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/import_progress_done"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
@@ -34,7 +41,7 @@
<TextView
android:id="@+id/import_progress_slash"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/generic_separator_done_total"
@@ -45,7 +52,7 @@
<TextView
android:id="@+id/import_progress_total"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
@@ -68,17 +75,107 @@
app:layout_constraintTop_toBottomOf="@id/import_progress_done"
tools:progress="25" />
<!-- Start Summary -->
<!-- Files imported correctly -->
<TextView
android:id="@+id/import_progress_summary"
style="@style/TextMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:text="@string/import_progress_review"
app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/import_progress_summary_ok_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_bar" />
<TextView
android:id="@+id/import_progress_summary_ok"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_ok_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_ok_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_ok_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
<!-- Already exists files -->
<TextView
android:id="@+id/import_progress_summary_exists_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_ok_barrier" />
<TextView
android:id="@+id/import_progress_summary_exists"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_exists_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_exists_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_exists_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
<!-- Importing error files -->
<TextView
android:id="@+id/import_progress_summary_errors_msg"
style="@style/TextImportExportSummaryStart"
android:text="@string/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_exists_barrier" />
<TextView
android:id="@+id/import_progress_summary_errors"
style="@style/TextImportExportSummaryEnd"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/import_progress_alert_icon"
android:layout_width="wrap_content"
@@ -94,18 +191,18 @@
<TextView
android:id="@+id/import_progress_alert_msg"
style="@style/TextMedium"
style="@style/TextMediumPrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/import_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="The file already exists" />
tools:text="Import progress alert message" />
</androidx.constraintlayout.widget.ConstraintLayout>
+7 -13
View File
@@ -221,13 +221,10 @@ limitations under the License.
<string name="export_track_already_exists_msg">The track %1$s already exists at the destination directory.</string>
<string name="export_all_do_it_for_all">do it for all conflicts</string>
<string name="export_track_errors">Tracks not exported</string>
<string name="export_progress_review">
Total exported tracks: %1$d\n
- New tracks exported: %2$d\n
- Tracks overwritten: %3$d\n
- Tracks skipped: %4$d\n
- Errors: %5$d
</string>
<string name="export_progress_summary_new_msg">New tracks exported</string>
<string name="export_progress_summary_overwrite_msg">Tracks overwritten</string>
<string name="export_progress_summary_skip_msg">Tracks skipped</string>
<string name="export_progress_summary_errors_msg">Errors</string>
<!-- External Storage -->
<!-- Files -->
<string name="files_few">%1$d files</string>
@@ -304,12 +301,9 @@ limitations under the License.
<string name="import_selection_option">All %1$s</string>
<string name="import_selection_title">Import from external storage</string>
<string name="import_success">Imported %1$s from %2$s</string>
<string name="import_progress_review">
Total imported files: %1$d\n
- Files imported: %2$d\n
- Already exists: %3$d\n
- Errors: %4$d
</string>
<string name="import_progress_summary_ok_msg">Files imported</string>
<string name="import_progress_summary_exists_msg">Already exists</string>
<string name="import_progress_summary_errors_msg">Errors</string>
<!-- Marker -->
<string name="marker_add_error">Unable to insert a marker. No GPS signal. Try again.</string>
<string name="marker_add_success">A marker was inserted</string>
+16
View File
@@ -241,5 +241,21 @@ limitations under the License.
<item name="android:layout_width">wrap_content</item>
</style>
<style name="TextImportExportSummaryStart" parent="TextMediumPrimary">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">12dp</item>
<item name="android:layout_marginEnd">8dp</item>
<item name="android:layout_marginStart">24dp</item>
<item name="android:gravity">end</item>
</style>
<style name="TextImportExportSummaryEnd" parent="TextMediumPrimary">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginStart">8dp</item>
<item name="android:layout_marginEnd">24dp</item>
</style>
<style name="ProgressBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal" />
</resources>