mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 06:21:31 +01:00
more fonts
This commit is contained in:
parent
c89e74205d
commit
32c3c41266
8 changed files with 59 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
package de.jrpie.android.launcher
|
||||
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.content.res.Resources
|
||||
import android.os.AsyncTask
|
||||
import android.os.Bundle
|
||||
|
@ -42,6 +43,13 @@ class HomeActivity: UIObject, AppCompatActivity(),
|
|||
|
||||
private lateinit var binding: HomeBinding
|
||||
|
||||
private var sharedPreferencesListener =
|
||||
SharedPreferences.OnSharedPreferenceChangeListener { _, prefKey ->
|
||||
if(prefKey?.startsWith("clock.") == true ||
|
||||
prefKey?.startsWith("display.") == true) {
|
||||
recreate()
|
||||
}
|
||||
}
|
||||
|
||||
private var bufferedPointerCount = 1 // how many fingers on screen
|
||||
private var pointerBufferTimer = Timer()
|
||||
|
@ -71,6 +79,7 @@ class HomeActivity: UIObject, AppCompatActivity(),
|
|||
// Initialise layout
|
||||
binding = HomeBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
||||
}
|
||||
|
||||
override fun onStart(){
|
||||
|
@ -80,6 +89,8 @@ class HomeActivity: UIObject, AppCompatActivity(),
|
|||
mDetector.setOnDoubleTapListener(this)
|
||||
|
||||
super<UIObject>.onStart()
|
||||
|
||||
LauncherPreferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(sharedPreferencesListener)
|
||||
}
|
||||
|
||||
private fun updateClock() {
|
||||
|
@ -127,6 +138,7 @@ class HomeActivity: UIObject, AppCompatActivity(),
|
|||
override fun getTheme(): Resources.Theme {
|
||||
val mTheme = modifyTheme(super.getTheme())
|
||||
mTheme.applyStyle(R.style.backgroundWallpaper, true)
|
||||
LauncherPreferences.clock().font().applyToTheme(mTheme)
|
||||
return mTheme
|
||||
}
|
||||
|
||||
|
@ -138,7 +150,11 @@ class HomeActivity: UIObject, AppCompatActivity(),
|
|||
override fun onPause() {
|
||||
super.onPause()
|
||||
clockTimer.cancel()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
LauncherPreferences.getSharedPreferences().unregisterOnSharedPreferenceChangeListener(sharedPreferencesListener)
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
|
||||
|
|
|
@ -31,6 +31,7 @@ import eu.jonahbauer.android.preference.annotations.Preferences;
|
|||
@Preference(name = "monochrome_icons", type = boolean.class, defaultValue = "false"),
|
||||
}),
|
||||
@PreferenceGroup(name = "clock", prefix = "settings_clock_", suffix = "_key", value = {
|
||||
@Preference(name = "font", type = Font.class, defaultValue = "HACK"),
|
||||
@Preference(name = "date_visible", type = boolean.class, defaultValue = "true"),
|
||||
@Preference(name = "time_visible", type = boolean.class, defaultValue = "true"),
|
||||
@Preference(name = "flip_date_time", type = boolean.class, defaultValue = "false"),
|
||||
|
|
|
@ -3,9 +3,16 @@ package de.jrpie.android.launcher.preferences.theme
|
|||
import android.content.res.Resources
|
||||
import de.jrpie.android.launcher.R
|
||||
|
||||
/**
|
||||
* Changes here must also be added to @array/settings_theme_font_values
|
||||
*/
|
||||
enum class Font(val id: Int) {
|
||||
HACK(R.style.fontHack),
|
||||
SYSTEM_DEFAULT(R.style.fontSystemDefault),
|
||||
SANS_SERIF(R.style.fontSansSerif),
|
||||
SERIF(R.style.fontSerifMonospace),
|
||||
MONOSPACE(R.style.fontMonospace),
|
||||
SERIF_MONOSPACE(R.style.fontSerifMonospace),
|
||||
;
|
||||
|
||||
fun applyToTheme(theme: Resources.Theme) {
|
||||
|
|
|
@ -32,7 +32,8 @@ class SettingsActivity: AppCompatActivity(), UIObject {
|
|||
|
||||
private var sharedPreferencesListener =
|
||||
SharedPreferences.OnSharedPreferenceChangeListener { _,prefKey ->
|
||||
if(prefKey?.startsWith("theme.") == true) {
|
||||
if(prefKey?.startsWith("theme.") == true ||
|
||||
prefKey?.startsWith("display.") == true) {
|
||||
recreate()
|
||||
}
|
||||
}
|
||||
|
@ -49,6 +50,7 @@ class SettingsActivity: AppCompatActivity(), UIObject {
|
|||
val sectionsPagerAdapter = SettingsSectionsPagerAdapter(this, supportFragmentManager)
|
||||
val viewPager: ViewPager = findViewById(R.id.settings_viewpager)
|
||||
viewPager.adapter = sectionsPagerAdapter
|
||||
|
||||
val tabs: TabLayout = findViewById(R.id.settings_tabs)
|
||||
tabs.setupWithViewPager(viewPager)
|
||||
}
|
||||
|
|
|
@ -58,9 +58,15 @@
|
|||
</string-array>
|
||||
<string name="settings_theme_wallpaper_key" translatable="false">theme.wallpaper</string>
|
||||
<string name="settings_theme_font_key" translatable="false">theme.font</string>
|
||||
|
||||
<!-- values of de.jrpie.android.launcher.preferences.theme.Font -->
|
||||
<string-array name="settings_theme_font_values" translatable="false">
|
||||
<item>HACK</item>
|
||||
<item>SYSTEM_DEFAULT</item>
|
||||
<item>SANS_SERIF</item>
|
||||
<item>SERIF</item>
|
||||
<item>MONOSPACE</item>
|
||||
<item>SERIF_MONOSPACE</item>
|
||||
</string-array>
|
||||
<string name="settings_theme_monochrome_icons_key" translatable="false">theme.monochrome_icons</string>
|
||||
|
||||
|
@ -69,6 +75,7 @@
|
|||
- Settings : Clock
|
||||
-
|
||||
-->
|
||||
<string name="settings_clock_font_key" translatable="false">clock.font</string>
|
||||
<string name="settings_clock_time_visible_key" translatable="false">clock.time_visible</string>
|
||||
<string name="settings_clock_date_visible_key" translatable="false">clock.date_visible</string>
|
||||
<string name="settings_clock_localized_key" translatable="false">clock.date_localized</string>
|
||||
|
|
|
@ -77,9 +77,15 @@
|
|||
<item>Solid</item>
|
||||
</string-array>
|
||||
<string name="settings_theme_font">Font</string>
|
||||
|
||||
<!-- names for @array/settings_theme_font_values -->
|
||||
<string-array name="settings_theme_font_items">
|
||||
<item>Hack</item>
|
||||
<item>System default</item>
|
||||
<item>Sans serif</item>
|
||||
<item>Serif</item>
|
||||
<item>Monospace</item>
|
||||
<item>Serif monospace</item>
|
||||
</string-array>
|
||||
<string name="settings_theme_monochrome_icons">Monochrome app icons</string>
|
||||
|
||||
|
|
|
@ -65,6 +65,18 @@
|
|||
<item name="android:fontFamily">@font/hack</item>
|
||||
<!--<item name="android:textSize">18sp</item>-->
|
||||
</style>
|
||||
<style name="fontMonospace">
|
||||
<item name="android:fontFamily">monospace</item>
|
||||
</style>
|
||||
<style name="fontSerifMonospace">
|
||||
<item name="android:fontFamily">serif-monospace</item>
|
||||
</style>
|
||||
<style name="fontSansSerif">
|
||||
<item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
<style name="fontSerif">
|
||||
<item name="android:fontFamily">serif</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -46,6 +46,13 @@
|
|||
<PreferenceCategory
|
||||
android:title="@string/settings_launcher_section_date_time"
|
||||
app:allowDividerAbove="false">
|
||||
<DropDownPreference
|
||||
android:key="@string/settings_clock_font_key"
|
||||
android:title="@string/settings_theme_font"
|
||||
android:entryValues="@array/settings_theme_font_values"
|
||||
android:entries="@array/settings_theme_font_items"
|
||||
android:summary="%s"
|
||||
android:defaultValue="HACK"/>
|
||||
<SwitchPreference
|
||||
android:key="@string/settings_clock_localized_key"
|
||||
android:defaultValue="false"
|
||||
|
|
Loading…
Add table
Reference in a new issue