From 30dc9d65971ac6c6ff723bde2275b98e4c915af9 Mon Sep 17 00:00:00 2001 From: Stefan Niedermann Date: Fri, 10 Sep 2021 18:34:37 +0200 Subject: #545 Visualize import progress UI Signed-off-by: Stefan Niedermann --- .../niedermann/nextcloud/deck/ui/ImportAccountActivity.java | 9 ++++++++- app/src/main/res/layout/activity_import_account.xml | 13 ++++++++++++- app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java index b8183d310..7910c55de 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java @@ -110,6 +110,9 @@ public class ImportAccountActivity extends AppCompatActivity { binding.status.setText(null); binding.status.setVisibility(View.GONE); binding.progressCircular.setVisibility(View.VISIBLE); + binding.progressText.setVisibility(View.VISIBLE); + binding.progressCircular.setIndeterminate(true); + binding.progressText.setText(R.string.progress_import_indeterminate); }); SingleAccountHelper.setCurrentAccount(getApplicationContext(), account.name); @@ -130,7 +133,6 @@ public class ImportAccountActivity extends AppCompatActivity { public void onResponse(Capabilities response) { if (!response.isMaintenanceEnabled()) { if (response.getDeckVersion().isSupported()) { - binding.progressCircular.setIndeterminate(false); var progress$ = syncManager.synchronize(new ResponseCallback<>(account) { @Override public void onResponse(Boolean response) { @@ -150,6 +152,10 @@ public class ImportAccountActivity extends AppCompatActivity { }); runOnUiThread(() -> progress$.observe(ImportAccountActivity.this, (progress) -> { DeckLog.log("New progress value", progress.first, progress.second); + if(progress.first > 0) { + binding.progressCircular.setIndeterminate(false); + } + binding.progressText.setText(getString(R.string.progress_import, progress.first + 1, progress.second)); binding.progressCircular.setProgress(progress.first); binding.progressCircular.setMax(progress.second); })); @@ -229,6 +235,7 @@ public class ImportAccountActivity extends AppCompatActivity { runOnUiThread(() -> { binding.updateDeckButton.setVisibility(View.GONE); binding.progressCircular.setVisibility(View.GONE); + binding.progressText.setVisibility(View.GONE); binding.status.setVisibility(View.VISIBLE); binding.status.setText(statusText); }); diff --git a/app/src/main/res/layout/activity_import_account.xml b/app/src/main/res/layout/activity_import_account.xml index f769f8443..92190953f 100644 --- a/app/src/main/res/layout/activity_import_account.xml +++ b/app/src/main/res/layout/activity_import_account.xml @@ -70,10 +70,21 @@ android:layout_height="wrap_content" android:layout_below="@id/add_button" android:layout_centerHorizontal="true" - android:layout_marginTop="32dp" + android:layout_marginTop="@dimen/spacer_4x" + android:indeterminate="true" android:indeterminateTint="@color/defaultBrand" android:visibility="gone" /> + +