diff --git a/build.gradle b/build.gradle index feadbf81..4e29c087 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ allprojects { ext { androidApplicationId = 'org.cryptomator' androidVersionCode = getVersionCode() - androidVersionName = '1.5.12-SNAPSHOT' + androidVersionName = '1.5.12' } repositories { mavenCentral() diff --git a/fastlane/metadata/android/de-DE/changelogs/default.txt b/fastlane/metadata/android/de-DE/changelogs/default.txt index 96332f4f..d723022d 100644 --- a/fastlane/metadata/android/de-DE/changelogs/default.txt +++ b/fastlane/metadata/android/de-DE/changelogs/default.txt @@ -1 +1,4 @@ -- Foo \ No newline at end of file +- Möglichkeit zum Sortieren der Tresorliste hinzugefügt +- Logging in Google Drive Cloud hinzugefügt +- Verhalten bei Änderung des OneDrive-Passworts verbessert +- CryptoBot-Symbole aufpoliert \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/default.txt b/fastlane/metadata/android/en-US/changelogs/default.txt index 96332f4f..22075f45 100644 --- a/fastlane/metadata/android/en-US/changelogs/default.txt +++ b/fastlane/metadata/android/en-US/changelogs/default.txt @@ -1 +1,4 @@ -- Foo \ No newline at end of file +- Added possibility to sort vault list +- Added logging to Google drive cloud +- Enhanced behavior when OneDrive password changed +- Polished CryptoBot icons \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/default.txt b/fastlane/metadata/android/fr-FR/changelogs/default.txt index 96332f4f..e69de29b 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/default.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/default.txt @@ -1 +0,0 @@ -- Foo \ No newline at end of file diff --git a/fastlane/release-notes.html b/fastlane/release-notes.html index 8066f97b..839af27d 100644 --- a/fastlane/release-notes.html +++ b/fastlane/release-notes.html @@ -1,3 +1,6 @@ \ No newline at end of file diff --git a/presentation/src/main/java/org/cryptomator/presentation/model/comparator/VaultPositionComparator.kt b/presentation/src/main/java/org/cryptomator/presentation/model/comparator/VaultPositionComparator.kt new file mode 100644 index 00000000..08324c77 --- /dev/null +++ b/presentation/src/main/java/org/cryptomator/presentation/model/comparator/VaultPositionComparator.kt @@ -0,0 +1,10 @@ +package org.cryptomator.presentation.model.comparator + +import org.cryptomator.presentation.model.VaultModel + +class VaultPositionComparator : Comparator { + + override fun compare(v1: VaultModel, v2: VaultModel): Int { + return v1.position - v2.position + } +} diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/BiometricAuthSettingsAdapter.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/BiometricAuthSettingsAdapter.kt index 2b45f0c1..ee154fa0 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/BiometricAuthSettingsAdapter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/BiometricAuthSettingsAdapter.kt @@ -4,6 +4,7 @@ import android.view.View import com.google.android.material.switchmaterial.SwitchMaterial import org.cryptomator.presentation.R import org.cryptomator.presentation.model.VaultModel +import org.cryptomator.presentation.model.comparator.VaultPositionComparator import org.cryptomator.presentation.ui.adapter.BiometricAuthSettingsAdapter.BiometricAuthSettingsViewHolder import javax.inject.Inject import kotlinx.android.synthetic.main.item_biometric_auth_vault.view.cloud @@ -12,7 +13,7 @@ import kotlinx.android.synthetic.main.item_biometric_auth_vault.view.vaultName class BiometricAuthSettingsAdapter // @Inject -constructor() : RecyclerViewBaseAdapter() { +constructor() : RecyclerViewBaseAdapter(VaultPositionComparator()) { private var onVaultBiometricAuthSettingsChanged: OnVaultBiometricAuthSettingsChanged? = null diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/SharedLocationsAdapter.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/SharedLocationsAdapter.kt index 4b8403dc..59693452 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/SharedLocationsAdapter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/SharedLocationsAdapter.kt @@ -3,6 +3,7 @@ package org.cryptomator.presentation.ui.adapter import android.view.View import org.cryptomator.presentation.R import org.cryptomator.presentation.model.VaultModel +import org.cryptomator.presentation.model.comparator.VaultPositionComparator import org.cryptomator.presentation.ui.adapter.SharedLocationsAdapter.VaultViewHolder import javax.inject.Inject import kotlinx.android.synthetic.main.item_shareable_location.view.chooseFolderLocation @@ -12,7 +13,7 @@ import kotlinx.android.synthetic.main.item_shareable_location.view.selectedVault import kotlinx.android.synthetic.main.item_shareable_location.view.vaultName class SharedLocationsAdapter @Inject -constructor() : RecyclerViewBaseAdapter() { +constructor() : RecyclerViewBaseAdapter(VaultPositionComparator()) { private var selectedVault: VaultModel? = null private var selectedLocation: String? = null diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/VaultsAdapter.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/VaultsAdapter.kt index 57d3407b..946aebfe 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/VaultsAdapter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/adapter/VaultsAdapter.kt @@ -3,6 +3,7 @@ package org.cryptomator.presentation.ui.adapter import android.view.View import org.cryptomator.presentation.R import org.cryptomator.presentation.model.VaultModel +import org.cryptomator.presentation.model.comparator.VaultPositionComparator import org.cryptomator.presentation.ui.adapter.VaultsAdapter.VaultViewHolder import javax.inject.Inject import kotlinx.android.synthetic.main.item_vault.view.cloudImage @@ -12,7 +13,7 @@ import kotlinx.android.synthetic.main.item_vault.view.vaultName import kotlinx.android.synthetic.main.item_vault.view.vaultPath class VaultsAdapter @Inject -internal constructor() : RecyclerViewBaseAdapter(VaultModelComparator()), VaultsMoveListener.Listener { +internal constructor() : RecyclerViewBaseAdapter(VaultPositionComparator()), VaultsMoveListener.Listener { interface OnItemInteractionListener { @@ -82,11 +83,4 @@ internal constructor() : RecyclerViewBaseAdapter { - - override fun compare(o1: VaultModel, o2: VaultModel): Int { - return o1.position - o2.position - } - } } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/SharedFilesFragment.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/SharedFilesFragment.kt index bafbcdfa..351aee11 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/SharedFilesFragment.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/fragment/SharedFilesFragment.kt @@ -6,6 +6,7 @@ import org.cryptomator.presentation.R import org.cryptomator.presentation.model.CloudFolderModel import org.cryptomator.presentation.model.SharedFileModel import org.cryptomator.presentation.model.VaultModel +import org.cryptomator.presentation.model.comparator.VaultPositionComparator import org.cryptomator.presentation.presenter.SharedFilesPresenter import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter.Callback @@ -70,9 +71,10 @@ class SharedFilesFragment : BaseFragment() { } fun displayVaults(vaults: List?) { - if (vaults?.isNotEmpty() == true) { - presenter.selectedVault?.let { presenter.selectedVault = vaults[vaults.indexOf(it)] } - val preselectedVault = presenter.selectedVault ?: vaults[0] + val sortedVaults = vaults?.sortedWith(VaultPositionComparator()) + if (sortedVaults?.isNotEmpty() == true) { + presenter.selectedVault?.let { presenter.selectedVault = sortedVaults[sortedVaults.indexOf(it)] } + val preselectedVault = presenter.selectedVault ?: sortedVaults[0] locationsAdapter.setPreselectedVault(preselectedVault) presenter.onVaultSelected(preselectedVault) }