1
0
mirror of https://github.com/AllanWang/Frost-for-Facebook.git synced 2024-11-08 20:12:39 +01:00

Add prefs

This commit is contained in:
Allan Wang 2019-07-21 01:07:06 -07:00
parent dc5979df63
commit 0055ab5fda
No known key found for this signature in database
GPG Key ID: C93E3F9C679D7A56
4 changed files with 46 additions and 17 deletions

View File

@ -271,7 +271,10 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
}
profileSetting(nameRes = R.string.kau_add_account) {
iconDrawable =
IconicsDrawable(this@BaseMainActivity, GoogleMaterial.Icon.gmd_add).actionBar().paddingDp(5)
IconicsDrawable(
this@BaseMainActivity,
GoogleMaterial.Icon.gmd_add
).actionBar().paddingDp(5)
.color(Prefs.textColor)
textColor = Prefs.textColor.toLong()
identifier = -3L
@ -362,14 +365,15 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
}
}
private fun Builder.secondaryFrostItem(@StringRes title: Int, onClick: () -> Unit) = this.secondaryItem(title) {
textColor = Prefs.textColor.toLong()
selectedIconColor = Prefs.textColor.toLong()
selectedTextColor = Prefs.textColor.toLong()
selectedColor = 0x00000001.toLong()
identifier = title.toLong()
onClick { _ -> onClick(); false }
}
private fun Builder.secondaryFrostItem(@StringRes title: Int, onClick: () -> Unit) =
this.secondaryItem(title) {
textColor = Prefs.textColor.toLong()
selectedIconColor = Prefs.textColor.toLong()
selectedTextColor = Prefs.textColor.toLong()
selectedColor = 0x00000001.toLong()
identifier = title.toLong()
onClick { _ -> onClick(); false }
}
private fun refreshAll() {
L.d { "Refresh all" }
@ -413,7 +417,8 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
}
}
textDebounceInterval = 300
searchCallback = { query, _ -> launchWebOverlay("${FbItem._SEARCH.url}/?q=$query"); true }
searchCallback =
{ query, _ -> launchWebOverlay("${FbItem._SEARCH.url}/?q=$query"); true }
closeListener = { _ -> searchViewCache.clear() }
foregroundColor = Prefs.textColor
backgroundColor = Prefs.bgColor.withMinAlpha(200)
@ -429,7 +434,11 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
val intent = Intent(this, SettingsActivity::class.java)
intent.putParcelableArrayListExtra(EXTRA_COOKIES, cookies())
val bundle =
ActivityOptions.makeCustomAnimation(this, R.anim.kau_slide_in_right, R.anim.kau_fade_out).toBundle()
ActivityOptions.makeCustomAnimation(
this,
R.anim.kau_slide_in_right,
R.anim.kau_fade_out
).toBundle()
startActivityForResult(intent, ACTIVITY_SETTINGS, bundle)
}
else -> return super.onOptionsItemSelected(item)
@ -490,8 +499,9 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
controlWebview?.resumeTimers()
launch {
FbCookie.switchBackUser()
// if (shouldReload)
// refreshAll()
if (shouldReload && Prefs.autoRefreshFeed) {
refreshAll()
}
}
}
@ -557,7 +567,9 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract,
this.pages.forEachIndexed { index, fbItem ->
tabs.addTab(
tabs.newTab()
.setCustomView(BadgedIcon(this@BaseMainActivity).apply { iicon = fbItem.icon }.also {
.setCustomView(BadgedIcon(this@BaseMainActivity).apply {
iicon = fbItem.icon
}.also {
it.setAllAlpha(if (index == 0) SELECTED_TAB_ALPHA else UNSELECTED_TAB_ALPHA)
})
)

View File

@ -29,6 +29,10 @@ import com.pitchedapps.frost.utils.launchWebOverlay
*/
fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
checkbox(R.string.auto_refresh_feed, Prefs::autoRefreshFeed, { Prefs.autoRefreshFeed = it }) {
descRes = R.string.auto_refresh_feed_desc
}
checkbox(R.string.fancy_animations, Prefs::animate, { Prefs.animate = it; animate = it }) {
descRes = R.string.fancy_animations_desc
}
@ -40,11 +44,17 @@ fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
descRes = R.string.overlay_swipe_desc
}
checkbox(R.string.overlay_full_screen_swipe, Prefs::overlayFullScreenSwipe, { Prefs.overlayFullScreenSwipe = it }) {
checkbox(
R.string.overlay_full_screen_swipe,
Prefs::overlayFullScreenSwipe,
{ Prefs.overlayFullScreenSwipe = it }) {
descRes = R.string.overlay_full_screen_swipe_desc
}
checkbox(R.string.open_links_in_default, Prefs::linksInDefaultApp, { Prefs.linksInDefaultApp = it }) {
checkbox(
R.string.open_links_in_default,
Prefs::linksInDefaultApp,
{ Prefs.linksInDefaultApp = it }) {
descRes = R.string.open_links_in_default_desc
}
@ -52,7 +62,10 @@ fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
descRes = R.string.viewpager_swipe_desc
}
checkbox(R.string.force_message_bottom, Prefs::messageScrollToBottom, { Prefs.messageScrollToBottom = it }) {
checkbox(
R.string.force_message_bottom,
Prefs::messageScrollToBottom,
{ Prefs.messageScrollToBottom = it }) {
descRes = R.string.force_message_bottom_desc
}

View File

@ -173,6 +173,8 @@ object Prefs : KPref() {
var blackMediaBg: Boolean by kpref("black_media_bg", false)
var autoRefreshFeed: Boolean by kpref("auto_refresh_feed", false)
inline val mainActivityLayout: MainActivityLayout
get() = MainActivityLayout(mainActivityLayoutType)

View File

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="auto_refresh_feed">Auto Refresh Feed</string>
<string name="auto_refresh_feed_desc">Refresh the feed after 30 minutes of inactivity</string>
<string name="fancy_animations">Fancy Animations</string>
<string name="fancy_animations_desc">Reveal webviews using ripples and animate transitions</string>
<string name="overlay_swipe">Enable Overlays</string>