Skip to content

Commit

Permalink
Add option to show/hide post previews (#1033)
Browse files Browse the repository at this point in the history
* Add option to show/hide post previews

* Use showPostLinkPreview instead of showLinkPreview
  • Loading branch information
twizmwazin authored Jul 14, 2023
1 parent 0af4da7 commit 6027810
Show file tree
Hide file tree
Showing 14 changed files with 283 additions and 2 deletions.
218 changes: 218 additions & 0 deletions app/schemas/com.jerboa.db.AppDB/21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
{
"formatVersion": 1,
"database": {
"version": 21,
"identityHash": "57b5a9e25468cc9029f803df34415820",
"entities": [
{
"tableName": "Account",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `current` INTEGER NOT NULL, `instance` TEXT NOT NULL, `name` TEXT NOT NULL, `jwt` TEXT NOT NULL, `default_listing_type` INTEGER NOT NULL DEFAULT 0, `default_sort_type` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`id`))",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "current",
"columnName": "current",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "instance",
"columnName": "instance",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "jwt",
"columnName": "jwt",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "defaultListingType",
"columnName": "default_listing_type",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "defaultSortType",
"columnName": "default_sort_type",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
}
],
"primaryKey": {
"autoGenerate": false,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "AppSettings",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `font_size` INTEGER NOT NULL DEFAULT 16, `theme` INTEGER NOT NULL DEFAULT 0, `theme_color` INTEGER NOT NULL DEFAULT 0, `viewed_changelog` INTEGER NOT NULL DEFAULT 0, `post_view_mode` INTEGER NOT NULL DEFAULT 0, `show_bottom_nav` INTEGER NOT NULL DEFAULT 1, `show_collapsed_comment_content` INTEGER NOT NULL DEFAULT 0, `show_comment_action_bar_by_default` INTEGER NOT NULL DEFAULT 1, `show_voting_arrows_in_list_view` INTEGER NOT NULL DEFAULT 1, `show_parent_comment_navigation_buttons` INTEGER NOT NULL DEFAULT 0, `navigate_parent_comments_with_volume_buttons` INTEGER NOT NULL DEFAULT 0, `use_custom_tabs` INTEGER NOT NULL DEFAULT 1, `use_private_tabs` INTEGER NOT NULL DEFAULT 0, `secure_window` INTEGER NOT NULL DEFAULT 0, `blur_nsfw` INTEGER NOT NULL DEFAULT 1, `show_text_descriptions_in_navbar` INTEGER NOT NULL DEFAULT 1, `backConfirmationMode` INTEGER NOT NULL DEFAULT 1, `show_post_link_previews` INTEGER NOT NULL DEFAULT 1)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "fontSize",
"columnName": "font_size",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "16"
},
{
"fieldPath": "theme",
"columnName": "theme",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "themeColor",
"columnName": "theme_color",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "viewedChangelog",
"columnName": "viewed_changelog",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "postViewMode",
"columnName": "post_view_mode",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "showBottomNav",
"columnName": "show_bottom_nav",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "showCollapsedCommentContent",
"columnName": "show_collapsed_comment_content",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "showCommentActionBarByDefault",
"columnName": "show_comment_action_bar_by_default",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "showVotingArrowsInListView",
"columnName": "show_voting_arrows_in_list_view",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "showParentCommentNavigationButtons",
"columnName": "show_parent_comment_navigation_buttons",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "navigateParentCommentsWithVolumeButtons",
"columnName": "navigate_parent_comments_with_volume_buttons",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "useCustomTabs",
"columnName": "use_custom_tabs",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "usePrivateTabs",
"columnName": "use_private_tabs",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "secureWindow",
"columnName": "secure_window",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "0"
},
{
"fieldPath": "blurNSFW",
"columnName": "blur_nsfw",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "showTextDescriptionsInNavbar",
"columnName": "show_text_descriptions_in_navbar",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "backConfirmationMode",
"columnName": "backConfirmationMode",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
},
{
"fieldPath": "showPostLinkPreviews",
"columnName": "show_post_link_previews",
"affinity": "INTEGER",
"notNull": true,
"defaultValue": "1"
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '57b5a9e25468cc9029f803df34415820')"
]
}
}
6 changes: 6 additions & 0 deletions app/src/main/java/com/jerboa/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ class MainActivity : AppCompatActivity() {
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
)
}

Expand Down Expand Up @@ -304,6 +305,7 @@ class MainActivity : AppCompatActivity() {
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
)
}

Expand Down Expand Up @@ -370,6 +372,7 @@ class MainActivity : AppCompatActivity() {
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
drawerState = drawerState,
openImageViewer = navController::toView,
)
Expand Down Expand Up @@ -403,6 +406,7 @@ class MainActivity : AppCompatActivity() {
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
drawerState = drawerState,
openImageViewer = navController::toView,
)
Expand Down Expand Up @@ -507,6 +511,7 @@ class MainActivity : AppCompatActivity() {
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreview = appSettings.showPostLinkPreviews,
openImageViewer = { url -> navController.toView(url) },
)
}
Expand Down Expand Up @@ -537,6 +542,7 @@ class MainActivity : AppCompatActivity() {
navigateParentCommentsWithVolumeButtons = appSettings.navigateParentCommentsWithVolumeButtons,
siteViewModel = siteViewModel,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreview = appSettings.showPostLinkPreviews,
openImageViewer = navController::toView,
)
}
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/java/com/jerboa/db/AppDB.kt
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,11 @@ val APP_SETTINGS_DEFAULT = AppSettings(
blurNSFW = true,
showTextDescriptionsInNavbar = true,
backConfirmationMode = 1,
showPostLinkPreviews = true,
)

@Database(
version = 20,
version = 21,
entities = [Account::class, AppSettings::class],
exportSchema = true,
)
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/com/jerboa/db/AppDBMigrations.kt
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,15 @@ val MIGRATION_19_20 = object : Migration(19, 20) {
}
}

val MIGRATION_20_21 = object : Migration(20, 21) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL(UPDATE_APP_CHANGELOG_UNVIEWED)
database.execSQL(
"ALTER TABLE AppSettings ADD COLUMN show_post_link_previews INTEGER NOT NULL DEFAULT 1",
)
}
}

// Don't forget to test your migration with `./gradlew app:connectAndroidTest`
val MIGRATIONS_LIST = arrayOf(
MIGRATION_1_2,
Expand All @@ -282,4 +291,5 @@ val MIGRATIONS_LIST = arrayOf(
MIGRATION_17_18,
MIGRATION_18_19,
MIGRATION_19_20,
MIGRATION_20_21,
)
5 changes: 5 additions & 0 deletions app/src/main/java/com/jerboa/db/entity/AppSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,9 @@ data class AppSettings(
defaultValue = "1",
)
val backConfirmationMode: Int,
@ColumnInfo(
name = "show_post_link_previews",
defaultValue = "1",
)
val showPostLinkPreviews: Boolean,
)
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ fun CommunityActivity(
useCustomTabs: Boolean,
usePrivateTabs: Boolean,
blurNSFW: Boolean,
showPostLinkPreviews: Boolean,
) {
Log.d("jerboa", "got to community activity")
val transferCreatePostDepsViaRoot = navController.rootChannel<CreatePostDeps>()
Expand Down Expand Up @@ -388,6 +389,7 @@ fun CommunityActivity(
useCustomTabs = useCustomTabs,
usePrivateTabs = usePrivateTabs,
blurNSFW = blurNSFW,
showPostLinkPreviews = showPostLinkPreviews,
openImageViewer = navController::toView,
navController = navController,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ fun BottomNavActivity(
usePrivateTabs = appSettings.usePrivateTabs,
drawerState = drawerState,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
)
}

Expand Down Expand Up @@ -206,6 +207,7 @@ fun BottomNavActivity(
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
drawerState = drawerState,
openImageViewer = navController::toView,
)
Expand All @@ -223,6 +225,7 @@ fun BottomNavActivity(
useCustomTabs = appSettings.useCustomTabs,
usePrivateTabs = appSettings.usePrivateTabs,
blurNSFW = appSettings.blurNSFW,
showPostLinkPreviews = appSettings.showPostLinkPreviews,
openImageViewer = navController::toView,
drawerState = drawerState,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ fun HomeActivity(
usePrivateTabs: Boolean,
drawerState: DrawerState,
blurNSFW: Boolean,
showPostLinkPreviews: Boolean,
) {
Log.d("jerboa", "got to home activity")
val transferCreatePostDepsViaRoot = navController.rootChannel<CreatePostDeps>()
Expand Down Expand Up @@ -147,6 +148,7 @@ fun HomeActivity(
useCustomTabs = useCustomTabs,
usePrivateTabs = usePrivateTabs,
blurNSFW = blurNSFW,
showPostLinkPreviews = showPostLinkPreviews,
)
},
floatingActionButtonPosition = FabPosition.End,
Expand Down Expand Up @@ -187,6 +189,7 @@ fun MainPostListingsContent(
useCustomTabs: Boolean,
usePrivateTabs: Boolean,
blurNSFW: Boolean,
showPostLinkPreviews: Boolean,
) {
val transferPostEditDepsViaRoot = navController.rootChannel<PostEditDeps>()

Expand Down Expand Up @@ -346,6 +349,7 @@ fun MainPostListingsContent(
useCustomTabs = useCustomTabs,
usePrivateTabs = usePrivateTabs,
blurNSFW = blurNSFW,
showPostLinkPreviews = showPostLinkPreviews,
navController = navController,
openImageViewer = navController::toView,
)
Expand Down
Loading

0 comments on commit 6027810

Please sign in to comment.