Fixes migration of follow lists from old accounts

This commit is contained in:
Vitor Pamplona
2023-05-04 21:10:09 -04:00
parent dea6f0ca21
commit 5f4886ce52
4 changed files with 13 additions and 11 deletions
@@ -6,6 +6,8 @@ import android.content.SharedPreferences
import com.google.gson.GsonBuilder import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.Account
import com.vitorpamplona.amethyst.model.GLOBAL_FOLLOWS
import com.vitorpamplona.amethyst.model.KIND3_FOLLOWS
import com.vitorpamplona.amethyst.model.RelaySetupInfo import com.vitorpamplona.amethyst.model.RelaySetupInfo
import com.vitorpamplona.amethyst.model.toByteArray import com.vitorpamplona.amethyst.model.toByteArray
import com.vitorpamplona.amethyst.service.model.ContactListEvent import com.vitorpamplona.amethyst.service.model.ContactListEvent
@@ -221,8 +223,8 @@ object LocalPreferences {
val dontTranslateFrom = getStringSet(PrefKeys.DONT_TRANSLATE_FROM, null) ?: setOf() val dontTranslateFrom = getStringSet(PrefKeys.DONT_TRANSLATE_FROM, null) ?: setOf()
val translateTo = getString(PrefKeys.TRANSLATE_TO, null) ?: Locale.getDefault().language val translateTo = getString(PrefKeys.TRANSLATE_TO, null) ?: Locale.getDefault().language
val defaultHomeFollowList = getString(PrefKeys.DEFAULT_HOME_FOLLOW_LIST, null) val defaultHomeFollowList = getString(PrefKeys.DEFAULT_HOME_FOLLOW_LIST, null) ?: KIND3_FOLLOWS
val defaultStoriesFollowList = getString(PrefKeys.DEFAULT_STORIES_FOLLOW_LIST, null) val defaultStoriesFollowList = getString(PrefKeys.DEFAULT_STORIES_FOLLOW_LIST, null) ?: GLOBAL_FOLLOWS
val zapAmountChoices = gson.fromJson( val zapAmountChoices = gson.fromJson(
getString(PrefKeys.ZAP_AMOUNTS, "[]"), getString(PrefKeys.ZAP_AMOUNTS, "[]"),
@@ -53,8 +53,8 @@ class Account(
var zapAmountChoices: List<Long> = listOf(500L, 1000L, 5000L), var zapAmountChoices: List<Long> = listOf(500L, 1000L, 5000L),
var defaultZapType: LnZapEvent.ZapType = LnZapEvent.ZapType.PRIVATE, var defaultZapType: LnZapEvent.ZapType = LnZapEvent.ZapType.PRIVATE,
var defaultFileServer: ServersAvailable = ServersAvailable.IMGUR, var defaultFileServer: ServersAvailable = ServersAvailable.IMGUR,
var defaultHomeFollowList: String? = null, var defaultHomeFollowList: String = KIND3_FOLLOWS,
var defaultStoriesFollowList: String? = null, var defaultStoriesFollowList: String = GLOBAL_FOLLOWS,
var zapPaymentRequest: Nip47URI? = null, var zapPaymentRequest: Nip47URI? = null,
var hideDeleteRequestDialog: Boolean = false, var hideDeleteRequestDialog: Boolean = false,
var hideBlockAlertDialog: Boolean = false, var hideBlockAlertDialog: Boolean = false,
@@ -408,12 +408,12 @@ class Account(
} }
} }
fun createNip95(data: ByteArray, headerInfo: FileHeader): Pair<FileStorageEvent, FileStorageHeaderEvent>? { fun createNip95(byteArray: ByteArray, headerInfo: FileHeader): Pair<FileStorageEvent, FileStorageHeaderEvent>? {
if (!isWriteable()) return null if (!isWriteable()) return null
val data = FileStorageEvent.create( val data = FileStorageEvent.create(
mimeType = headerInfo.mimeType ?: "", mimeType = headerInfo.mimeType ?: "",
data = data, data = byteArray,
privateKey = loggedIn.privKey!! privateKey = loggedIn.privKey!!
) )
@@ -734,13 +734,13 @@ class Account(
saveable.invalidateData() saveable.invalidateData()
} }
fun changeDefaultHomeFollowList(name: String?) { fun changeDefaultHomeFollowList(name: String) {
defaultHomeFollowList = name defaultHomeFollowList = name
live.invalidateData() live.invalidateData()
saveable.invalidateData() saveable.invalidateData()
} }
fun changeDefaultStoriesFollowList(name: String?) { fun changeDefaultStoriesFollowList(name: String) {
defaultStoriesFollowList = name defaultStoriesFollowList = name
live.invalidateData() live.invalidateData()
saveable.invalidateData() saveable.invalidateData()
@@ -138,7 +138,7 @@ open class NewMediaModel : ViewModel() {
onReady = { onReady = {
uploadingPercentage.value = 0.90f uploadingPercentage.value = 0.90f
uploadingDescription.value = "Sending" uploadingDescription.value = "Sending"
val note = account?.sendHeader(it) account?.sendHeader(it)
uploadingPercentage.value = 1.00f uploadingPercentage.value = 1.00f
isUploadingImage = false isUploadingImage = false
onceUploaded() onceUploaded()
@@ -226,7 +226,7 @@ private fun LoggedInUserPictureDrawer(
} }
@Composable @Composable
fun FollowList(listName: String?, withGlobal: Boolean, onChange: (String?) -> Unit) { fun FollowList(listName: String, withGlobal: Boolean, onChange: (String) -> Unit) {
// Notification // Notification
val dbState = LocalCache.live.observeAsState() val dbState = LocalCache.live.observeAsState()
val db = dbState.value ?: return val db = dbState.value ?: return
@@ -257,7 +257,7 @@ fun FollowList(listName: String?, withGlobal: Boolean, onChange: (String?) -> Un
placeholder = followLists.firstOrNull { it.first == listName }?.first ?: KIND3_FOLLOWS, placeholder = followLists.firstOrNull { it.first == listName }?.first ?: KIND3_FOLLOWS,
options = followNames.value, options = followNames.value,
onSelect = { onSelect = {
onChange(followLists.getOrNull(it)?.first) onChange(followLists.getOrNull(it)?.first ?: KIND3_FOLLOWS)
} }
) )
} }