Fixes migration of follow lists from old accounts
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user