From e367fa679278ff6c6106a5b8dc0edb8a34aefe78 Mon Sep 17 00:00:00 2001 From: Harry Bond Date: Sat, 23 Aug 2025 13:57:46 +0100 Subject: [PATCH] [android] Start LinearProgressBars at 1% to show initial dot see https://m3.material.io/components/progress-indicators/guidelines#817a3dbd-9dd5-471f-a7d0-50eae6270ee0 Signed-off-by: Harry Bond --- .../organicmaps/DownloadResourcesLegacyActivity.java | 10 ++++++---- .../sdk/DownloadResourcesLegacyActivity.java | 2 +- .../main/java/app/organicmaps/widget/menu/NavMenu.java | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/DownloadResourcesLegacyActivity.java b/android/app/src/main/java/app/organicmaps/DownloadResourcesLegacyActivity.java index 55038a5ec..989d5a8cf 100644 --- a/android/app/src/main/java/app/organicmaps/DownloadResourcesLegacyActivity.java +++ b/android/app/src/main/java/app/organicmaps/DownloadResourcesLegacyActivity.java @@ -116,10 +116,10 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity private final app.organicmaps.sdk.DownloadResourcesLegacyActivity.Listener mResourcesDownloadListener = new app.organicmaps.sdk.DownloadResourcesLegacyActivity.Listener() { @Override - public void onProgress(final int percent) + public void onProgress(final int bytesDownloaded) { if (!isFinishing()) - mProgress.setProgressCompat(percent, true); + mProgress.setProgressCompat(bytesDownloaded, true); } @Override @@ -250,7 +250,8 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity setDownloadMessage(bytes); mProgress.setMax(bytes); - mProgress.setProgressCompat(0, true); + // Start progress at 1% according to M3 guidelines + mProgress.setProgressCompat(bytes/100, true); } else finishFilesDownload(bytes); @@ -368,7 +369,8 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity String fileSizeString = StringUtils.getFileSizeString(this, item.totalSize); mTvMessage.setText(getString(R.string.downloading_country_can_proceed, item.name, fileSizeString)); mProgress.setMax((int) item.totalSize); - mProgress.setProgressCompat(0, true); + // Start progress at 1% according to M3 guidelines + mProgress.setProgressCompat((int) (item.totalSize/100), true); mCountryDownloadListenerSlot = MapManager.nativeSubscribe(mCountryDownloadListener); MapManager.startDownload(mCurrentCountry); diff --git a/android/app/src/main/java/app/organicmaps/sdk/DownloadResourcesLegacyActivity.java b/android/app/src/main/java/app/organicmaps/sdk/DownloadResourcesLegacyActivity.java index 58c2558c2..ffc0f3af3 100644 --- a/android/app/src/main/java/app/organicmaps/sdk/DownloadResourcesLegacyActivity.java +++ b/android/app/src/main/java/app/organicmaps/sdk/DownloadResourcesLegacyActivity.java @@ -17,7 +17,7 @@ public class DownloadResourcesLegacyActivity { // Called by JNI. @Keep - void onProgress(int percent); + void onProgress(int bytesDownloaded); // Called by JNI. @Keep diff --git a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java index 6f96fd355..b0a14e383 100644 --- a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java +++ b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java @@ -231,7 +231,9 @@ public class NavMenu updateTime(info.totalTimeInSeconds); mDistanceValue.setText(info.distToTarget.mDistanceStr); mDistanceUnits.setText(info.distToTarget.getUnitsStr(mActivity.getApplicationContext())); - mRouteProgress.setProgressCompat((int) info.completionPercent, true); + // Start progress at 1% according to M3 guidelines + final int completionPercent = (info.completionPercent < 1) ? 1 : (int) info.completionPercent; + mRouteProgress.setProgressCompat(completionPercent, true); } public interface NavMenuListener