add more options to default reply visibility setting (#4568)
This adds `direct` and `match_default_post_visibility` as options to the default reply visibility setting. `match_default_post_visibility` will be the default for new accounts. closes https://github.com/tuskyapp/Tusky/issues/4555 <img src="https://github.com/user-attachments/assets/b256ff32-cd49-4274-903b-96da96451e0e" width="320"/>
This commit is contained in:
parent
18b943fef5
commit
892801b83a
13 changed files with 135 additions and 35 deletions
|
|
@ -846,7 +846,7 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||
public static final Migration MIGRATION_60_62 = new Migration(60, 62) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE `AccountEntity` ADD COLUMN `defaultReplyPrivacy` INTEGER NOT NULL DEFAULT 2");
|
||||
database.execSQL("ALTER TABLE `AccountEntity` ADD COLUMN `defaultReplyPrivacy` INTEGER NOT NULL DEFAULT 0");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import com.keylesspalace.tusky.entity.HashTag
|
|||
import com.keylesspalace.tusky.entity.NewPoll
|
||||
import com.keylesspalace.tusky.entity.Poll
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.settings.DefaultReplyVisibility
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.adapter
|
||||
import java.net.URLDecoder
|
||||
|
|
@ -56,12 +57,22 @@ class Converters @Inject constructor(
|
|||
|
||||
@TypeConverter
|
||||
fun visibilityToInt(visibility: Status.Visibility?): Int {
|
||||
return visibility?.num ?: Status.Visibility.UNKNOWN.num
|
||||
return visibility?.int ?: Status.Visibility.UNKNOWN.int
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
fun intToVisibility(visibility: Int): Status.Visibility {
|
||||
return Status.Visibility.byNum(visibility)
|
||||
return Status.Visibility.fromInt(visibility)
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
fun defaultReplyVisibilityToInt(visibility: DefaultReplyVisibility?): Int {
|
||||
return visibility?.int ?: DefaultReplyVisibility.MATCH_DEFAULT_POST_VISIBILITY.int
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
fun intToDefaultReplyVisibility(visibility: Int): DefaultReplyVisibility {
|
||||
return DefaultReplyVisibility.fromInt(visibility)
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import com.keylesspalace.tusky.db.Converters
|
|||
import com.keylesspalace.tusky.defaultTabs
|
||||
import com.keylesspalace.tusky.entity.Emoji
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.settings.DefaultReplyVisibility
|
||||
|
||||
@Entity(
|
||||
indices = [
|
||||
|
|
@ -63,7 +64,7 @@ data class AccountEntity(
|
|||
var notificationVibration: Boolean = true,
|
||||
var notificationLight: Boolean = true,
|
||||
var defaultPostPrivacy: Status.Visibility = Status.Visibility.PUBLIC,
|
||||
var defaultReplyPrivacy: Status.Visibility = Status.Visibility.UNLISTED,
|
||||
var defaultReplyPrivacy: DefaultReplyVisibility = DefaultReplyVisibility.MATCH_DEFAULT_POST_VISIBILITY,
|
||||
var defaultMediaSensitivity: Boolean = false,
|
||||
var defaultPostLanguage: String = "",
|
||||
var alwaysShowSensitiveMedia: Boolean = false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue