Merge branch 'main' into develop

This commit is contained in:
Julian Raufelder 2021-02-22 12:23:41 +01:00
commit f8cc7aedc1
No known key found for this signature in database
GPG Key ID: 17EE71F6634E381D
10 changed files with 34 additions and 18 deletions

View File

@ -42,7 +42,7 @@ allprojects {
ext { ext {
androidApplicationId = 'org.cryptomator' androidApplicationId = 'org.cryptomator'
androidVersionCode = getVersionCode() androidVersionCode = getVersionCode()
androidVersionName = '1.5.12-SNAPSHOT' androidVersionName = '1.5.12'
} }
repositories { repositories {
mavenCentral() mavenCentral()

View File

@ -1 +1,4 @@
- Foo - 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

View File

@ -1 +1,4 @@
- Foo - Added possibility to sort vault list
- Added logging to Google drive cloud
- Enhanced behavior when OneDrive password changed
- Polished CryptoBot icons

View File

@ -1,3 +1,6 @@
<ul> <ul>
<li>Foo</li> <li>Added possibility to sort vault list</li>
<li>Added logging to Google drive cloud</li>
<li>Enhanced behavior when OneDrive password changed</li>
<li>Polished CryptoBot icons</li>
</ul> </ul>

View File

@ -0,0 +1,10 @@
package org.cryptomator.presentation.model.comparator
import org.cryptomator.presentation.model.VaultModel
class VaultPositionComparator : Comparator<VaultModel> {
override fun compare(v1: VaultModel, v2: VaultModel): Int {
return v1.position - v2.position
}
}

View File

@ -4,6 +4,7 @@ import android.view.View
import com.google.android.material.switchmaterial.SwitchMaterial import com.google.android.material.switchmaterial.SwitchMaterial
import org.cryptomator.presentation.R import org.cryptomator.presentation.R
import org.cryptomator.presentation.model.VaultModel import org.cryptomator.presentation.model.VaultModel
import org.cryptomator.presentation.model.comparator.VaultPositionComparator
import org.cryptomator.presentation.ui.adapter.BiometricAuthSettingsAdapter.BiometricAuthSettingsViewHolder import org.cryptomator.presentation.ui.adapter.BiometricAuthSettingsAdapter.BiometricAuthSettingsViewHolder
import javax.inject.Inject import javax.inject.Inject
import kotlinx.android.synthetic.main.item_biometric_auth_vault.view.cloud 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 // class BiometricAuthSettingsAdapter //
@Inject @Inject
constructor() : RecyclerViewBaseAdapter<VaultModel, BiometricAuthSettingsAdapter.OnVaultBiometricAuthSettingsChanged, BiometricAuthSettingsViewHolder>() { constructor() : RecyclerViewBaseAdapter<VaultModel, BiometricAuthSettingsAdapter.OnVaultBiometricAuthSettingsChanged, BiometricAuthSettingsViewHolder>(VaultPositionComparator()) {
private var onVaultBiometricAuthSettingsChanged: OnVaultBiometricAuthSettingsChanged? = null private var onVaultBiometricAuthSettingsChanged: OnVaultBiometricAuthSettingsChanged? = null

View File

@ -3,6 +3,7 @@ package org.cryptomator.presentation.ui.adapter
import android.view.View import android.view.View
import org.cryptomator.presentation.R import org.cryptomator.presentation.R
import org.cryptomator.presentation.model.VaultModel import org.cryptomator.presentation.model.VaultModel
import org.cryptomator.presentation.model.comparator.VaultPositionComparator
import org.cryptomator.presentation.ui.adapter.SharedLocationsAdapter.VaultViewHolder import org.cryptomator.presentation.ui.adapter.SharedLocationsAdapter.VaultViewHolder
import javax.inject.Inject import javax.inject.Inject
import kotlinx.android.synthetic.main.item_shareable_location.view.chooseFolderLocation 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 import kotlinx.android.synthetic.main.item_shareable_location.view.vaultName
class SharedLocationsAdapter @Inject class SharedLocationsAdapter @Inject
constructor() : RecyclerViewBaseAdapter<VaultModel, SharedLocationsAdapter.Callback, VaultViewHolder>() { constructor() : RecyclerViewBaseAdapter<VaultModel, SharedLocationsAdapter.Callback, VaultViewHolder>(VaultPositionComparator()) {
private var selectedVault: VaultModel? = null private var selectedVault: VaultModel? = null
private var selectedLocation: String? = null private var selectedLocation: String? = null

View File

@ -3,6 +3,7 @@ package org.cryptomator.presentation.ui.adapter
import android.view.View import android.view.View
import org.cryptomator.presentation.R import org.cryptomator.presentation.R
import org.cryptomator.presentation.model.VaultModel import org.cryptomator.presentation.model.VaultModel
import org.cryptomator.presentation.model.comparator.VaultPositionComparator
import org.cryptomator.presentation.ui.adapter.VaultsAdapter.VaultViewHolder import org.cryptomator.presentation.ui.adapter.VaultsAdapter.VaultViewHolder
import javax.inject.Inject import javax.inject.Inject
import kotlinx.android.synthetic.main.item_vault.view.cloudImage 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 import kotlinx.android.synthetic.main.item_vault.view.vaultPath
class VaultsAdapter @Inject class VaultsAdapter @Inject
internal constructor() : RecyclerViewBaseAdapter<VaultModel, VaultsAdapter.OnItemInteractionListener, VaultViewHolder>(VaultModelComparator()), VaultsMoveListener.Listener { internal constructor() : RecyclerViewBaseAdapter<VaultModel, VaultsAdapter.OnItemInteractionListener, VaultViewHolder>(VaultPositionComparator()), VaultsMoveListener.Listener {
interface OnItemInteractionListener { interface OnItemInteractionListener {
@ -82,11 +83,4 @@ internal constructor() : RecyclerViewBaseAdapter<VaultModel, VaultsAdapter.OnIte
override fun onRowMoved(fromPosition: Int, toPosition: Int) { override fun onRowMoved(fromPosition: Int, toPosition: Int) {
callback.onRowMoved(fromPosition, toPosition) callback.onRowMoved(fromPosition, toPosition)
} }
internal class VaultModelComparator : java.util.Comparator<VaultModel> {
override fun compare(o1: VaultModel, o2: VaultModel): Int {
return o1.position - o2.position
}
}
} }

View File

@ -6,6 +6,7 @@ import org.cryptomator.presentation.R
import org.cryptomator.presentation.model.CloudFolderModel import org.cryptomator.presentation.model.CloudFolderModel
import org.cryptomator.presentation.model.SharedFileModel import org.cryptomator.presentation.model.SharedFileModel
import org.cryptomator.presentation.model.VaultModel import org.cryptomator.presentation.model.VaultModel
import org.cryptomator.presentation.model.comparator.VaultPositionComparator
import org.cryptomator.presentation.presenter.SharedFilesPresenter import org.cryptomator.presentation.presenter.SharedFilesPresenter
import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter
import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter.Callback import org.cryptomator.presentation.ui.adapter.SharedFilesAdapter.Callback
@ -70,9 +71,10 @@ class SharedFilesFragment : BaseFragment() {
} }
fun displayVaults(vaults: List<VaultModel>?) { fun displayVaults(vaults: List<VaultModel>?) {
if (vaults?.isNotEmpty() == true) { val sortedVaults = vaults?.sortedWith(VaultPositionComparator())
presenter.selectedVault?.let { presenter.selectedVault = vaults[vaults.indexOf(it)] } if (sortedVaults?.isNotEmpty() == true) {
val preselectedVault = presenter.selectedVault ?: vaults[0] presenter.selectedVault?.let { presenter.selectedVault = sortedVaults[sortedVaults.indexOf(it)] }
val preselectedVault = presenter.selectedVault ?: sortedVaults[0]
locationsAdapter.setPreselectedVault(preselectedVault) locationsAdapter.setPreselectedVault(preselectedVault)
presenter.onVaultSelected(preselectedVault) presenter.onVaultSelected(preselectedVault)
} }