From 49c9805758d05620b1b64eb2fe8f88427d8c7ff4 Mon Sep 17 00:00:00 2001 From: Jorge Aguado Recio Date: Fri, 26 Jun 2026 09:31:55 +0200 Subject: [PATCH 1/5] build: update versionCode and versionName for 4.8.2 Signed-off-by: Jorge Aguado Recio --- owncloudApp/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/owncloudApp/build.gradle b/owncloudApp/build.gradle index c0dc4469430..273c44cc2f1 100644 --- a/owncloudApp/build.gradle +++ b/owncloudApp/build.gradle @@ -101,8 +101,8 @@ android { testInstrumentationRunner "com.owncloud.android.utils.OCTestAndroidJUnitRunner" - versionCode = 48000100 - versionName = "4.8.1" + versionCode = 48000200 + versionName = "4.8.2" buildConfigField "String", gitRemote, "\"" + getGitOriginRemote() + "\"" buildConfigField "String", commitSHA1, "\"" + getLatestGitHash() + "\"" From 556f8617b22ee1e6f76e3c15510ccc20d0280f0d Mon Sep 17 00:00:00 2001 From: Jorge Aguado Recio Date: Fri, 26 Jun 2026 10:27:31 +0200 Subject: [PATCH 2/5] chore: move unreleased calens files to new folder release Signed-off-by: Jorge Aguado Recio --- changelog/{unreleased => 4.8.2_2026-06-30}/4887 | 0 changelog/{unreleased => 4.8.2_2026-06-30}/4897 | 0 changelog/{unreleased => 4.8.2_2026-06-30}/4901 | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename changelog/{unreleased => 4.8.2_2026-06-30}/4887 (100%) rename changelog/{unreleased => 4.8.2_2026-06-30}/4897 (100%) rename changelog/{unreleased => 4.8.2_2026-06-30}/4901 (100%) diff --git a/changelog/unreleased/4887 b/changelog/4.8.2_2026-06-30/4887 similarity index 100% rename from changelog/unreleased/4887 rename to changelog/4.8.2_2026-06-30/4887 diff --git a/changelog/unreleased/4897 b/changelog/4.8.2_2026-06-30/4897 similarity index 100% rename from changelog/unreleased/4897 rename to changelog/4.8.2_2026-06-30/4897 diff --git a/changelog/unreleased/4901 b/changelog/4.8.2_2026-06-30/4901 similarity index 100% rename from changelog/unreleased/4901 rename to changelog/4.8.2_2026-06-30/4901 From 04dc853ff6c233a5b9e97ba3ea32092a8de71adc Mon Sep 17 00:00:00 2001 From: "owncloud-calens-bot[bot]" <276982735+owncloud-calens-bot[bot]@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:39:20 +0200 Subject: [PATCH 3/5] chore: update changelog (#4904) Co-authored-by: owncloud-calens-bot[bot] <276982735+owncloud-calens-bot[bot]@users.noreply.github.com> --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a588e6c5ff..b53c6716c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Table of Contents -* [Changelog for unreleased](#changelog-for-owncloud-android-client-unreleased-unreleased) +* [Changelog for 4.8.2](#changelog-for-owncloud-android-client-482-2026-06-30) * [Changelog for 4.8.1](#changelog-for-owncloud-android-client-481-2026-06-09) * [Changelog for 4.8.0](#changelog-for-owncloud-android-client-480-2026-05-18) * [Changelog for 4.7.0](#changelog-for-owncloud-android-client-470-2025-11-17) @@ -33,12 +33,12 @@ * [Changelog for 2.18.1](#changelog-for-owncloud-android-client-2181-2021-07-20) * [Changelog for 2.18.0](#changelog-for-owncloud-android-client-2180-2021-05-24) * [Changelog for 2.17 versions and below](#changelog-for-217-versions-and-below) -# Changelog for ownCloud Android Client [unreleased] (UNRELEASED) +# Changelog for ownCloud Android Client [4.8.2] (2026-06-30) -The following sections list the changes in ownCloud Android Client unreleased relevant to +The following sections list the changes in ownCloud Android Client 4.8.2 relevant to ownCloud admins and users. -[unreleased]: https://github.com/owncloud/android/compare/v4.8.1...master +[4.8.2]: https://github.com/owncloud/android/compare/v4.8.1...v4.8.2 ## Summary From 8d78aaf028fcfab18eb21c6d950c24480a5eec38 Mon Sep 17 00:00:00 2001 From: Jorge Aguado Recio Date: Fri, 26 Jun 2026 13:31:58 +0200 Subject: [PATCH 4/5] fix: use content layout to show snackbar with action Signed-off-by: Jorge Aguado Recio --- .../java/com/owncloud/android/extensions/ActivityExt.kt | 3 +-- .../java/com/owncloud/android/ui/activity/FileActivity.java | 6 ++---- .../com/owncloud/android/ui/activity/FileDisplayActivity.kt | 1 - 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt b/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt index c7f45020ba8..58a71bf3dd7 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt @@ -104,9 +104,8 @@ fun Activity.showSnackbarWithAction( actionText: CharSequence, action: () -> Unit, duration: Int = Snackbar.LENGTH_LONG, - layoutId: Int = android.R.id.content ) { - Snackbar.make(findViewById(layoutId), message, duration) + Snackbar.make(findViewById(android.R.id.content), message, duration) .setAction(actionText) { action() } .show() } diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileActivity.java b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileActivity.java index 863316fa2b5..ddead51aa02 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileActivity.java +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileActivity.java @@ -289,8 +289,7 @@ protected void showRequestAccountChangeNotice(String errorMessage, boolean mustC requestCredentialsUpdate(); return Unit.INSTANCE; }, - Snackbar.LENGTH_INDEFINITE, - android.R.id.content + Snackbar.LENGTH_INDEFINITE ); } } @@ -304,8 +303,7 @@ protected void showRequestRegainAccess() { requestCredentialsUpdate(); return Unit.INSTANCE; }, - Snackbar.LENGTH_INDEFINITE, - android.R.id.content + Snackbar.LENGTH_INDEFINITE ); } diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt index 7b7d2b4a56b..e55a7bb4e7c 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt @@ -1178,7 +1178,6 @@ class FileDisplayActivity : FileActivity(), } updateBottombar(targetFolderSpace) }, - layoutId = R.id.list_layout ) } else { showMessageInSnackbar(R.id.list_layout, message) From 600f558b3cd7c43973fc713a89aa74855de06a46 Mon Sep 17 00:00:00 2001 From: Jorge Aguado Recio Date: Mon, 29 Jun 2026 11:15:02 +0200 Subject: [PATCH 5/5] fix: prevent snackbars from overlapping bottom bar Signed-off-by: Jorge Aguado Recio --- .../com/owncloud/android/extensions/ActivityExt.kt | 5 ++++- .../com/owncloud/android/extensions/FragmentExt.kt | 12 ++++++++---- .../presentation/transfers/TransferListFragment.kt | 4 ++-- .../owncloud/android/ui/activity/BaseActivity.java | 7 +++++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt b/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt index 58a71bf3dd7..c8c70ade80d 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/extensions/ActivityExt.kt @@ -96,7 +96,9 @@ fun Activity.showMessageInSnackbar( message: CharSequence, duration: Int = Snackbar.LENGTH_LONG ) { - Snackbar.make(findViewById(layoutId), message, duration).show() + Snackbar.make(findViewById(layoutId), message, duration) + .setAnchorView(findViewById(R.id.bottom_nav_view)) + .show() } fun Activity.showSnackbarWithAction( @@ -106,6 +108,7 @@ fun Activity.showSnackbarWithAction( duration: Int = Snackbar.LENGTH_LONG, ) { Snackbar.make(findViewById(android.R.id.content), message, duration) + .setAnchorView(findViewById(R.id.bottom_nav_view)) .setAction(actionText) { action() } .show() } diff --git a/owncloudApp/src/main/java/com/owncloud/android/extensions/FragmentExt.kt b/owncloudApp/src/main/java/com/owncloud/android/extensions/FragmentExt.kt index 1187c70a954..bb66a0f7228 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/extensions/FragmentExt.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/extensions/FragmentExt.kt @@ -3,8 +3,9 @@ * * @author David González Verdugo * @author Juan Carlos Garrote Gascón + * @author Jorge Aguado Recio * - * Copyright (C) 2023 ownCloud GmbH. + * Copyright (C) 2026 ownCloud GmbH. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -47,8 +48,10 @@ fun Fragment.showMessageInSnackbar( message: CharSequence, duration: Int = Snackbar.LENGTH_LONG ) { - val requiredView = view ?: return - Snackbar.make(requiredView, message, duration).show() + val requiredView = view?.rootView ?: return + Snackbar.make(requiredView, message, duration) + .setAnchorView(requiredView.findViewById(R.id.bottom_nav_view)) + .show() } fun Fragment.showSnackbarWithAction( @@ -57,8 +60,9 @@ fun Fragment.showSnackbarWithAction( action: () -> Unit, duration: Int = Snackbar.LENGTH_LONG ) { - val requiredView = view ?: return + val requiredView = view?.rootView ?: return Snackbar.make(requiredView, message, duration) + .setAnchorView(requiredView.findViewById(R.id.bottom_nav_view)) .setAction(actionText) { action() } .show() } diff --git a/owncloudApp/src/main/java/com/owncloud/android/presentation/transfers/TransferListFragment.kt b/owncloudApp/src/main/java/com/owncloud/android/presentation/transfers/TransferListFragment.kt index 79576e85d2c..04312b80fc3 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/presentation/transfers/TransferListFragment.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/presentation/transfers/TransferListFragment.kt @@ -4,7 +4,7 @@ * @author Juan Carlos Garrote Gascón * @author Jorge Aguado Recio * - * Copyright (C) 2025 ownCloud GmbH. + * Copyright (C) 2026 ownCloud GmbH. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -88,7 +88,7 @@ class TransferListFragment : Fragment() { view, getString(R.string.local_file_not_found_toast), Snackbar.LENGTH_LONG - ).show() + ).setAnchorView(view.rootView.findViewById(R.id.bottom_nav_view)).show() } } }, diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java index 96fdab7ba1c..fd24d77990d 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java @@ -1,7 +1,7 @@ /** * ownCloud Android client application *

- * Copyright (C) 2022 ownCloud GmbH. + * Copyright (C) 2026 ownCloud GmbH. *

* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -35,6 +35,7 @@ import androidx.fragment.app.FragmentTransaction; import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; +import com.owncloud.android.R; import com.owncloud.android.presentation.authentication.AccountUtils; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.domain.files.model.OCFile; @@ -325,6 +326,8 @@ public void showSnackMessage(String message) { Toast.makeText(this, message, Toast.LENGTH_LONG).show(); return; } - Snackbar.make(rootView, message, Snackbar.LENGTH_LONG).show(); + Snackbar.make(rootView, message, Snackbar.LENGTH_LONG) + .setAnchorView(findViewById(R.id.bottom_nav_view)) + .show(); } }