Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add back app style below Android 10 and fix app crash #144

Merged
1 commit merged into from
Sep 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ dependencies {
implementation(project(":mathc"))
implementation(project(":rboardcomponents"))

implementation(platform("com.google.firebase:firebase-bom:30.4.1"))
implementation(platform("com.google.firebase:firebase-bom:30.5.0"))
implementation("com.google.firebase:firebase-messaging-ktx:23.0.8")
implementation("com.google.firebase:firebase-analytics-ktx:21.1.1")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,74 @@ fun Activity.openXMLEntryDialog(block: DialogInterface.(XMLEntry) -> Unit) =

negativeButton.setOnClickListener { dialog.dismiss() }
}

fun Activity.applyTheme(
main: Boolean = false,
info: Boolean = false,
shareFlags: Boolean = false,
installPack: Boolean = false
) {
val style = preferences.getString("app_style", "default_style")
setTheme(
when (style) {
"blue_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Blue
info -> R.style.Theme_RboardThemeManagerV3_Info_Blue
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Blue
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Blue
else -> R.style.Theme_RboardThemeManagerV3_Blue
}
"green_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Green
info -> R.style.Theme_RboardThemeManagerV3_Info_Green
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Green
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Green
else -> R.style.Theme_RboardThemeManagerV3_Green
}
"lime_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Lime
info -> R.style.Theme_RboardThemeManagerV3_Info_Lime
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Lime
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Lime
else -> R.style.Theme_RboardThemeManagerV3_Lime
}
"orange_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Orange
info -> R.style.Theme_RboardThemeManagerV3_Info_Orange
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Orange
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Orange
else -> R.style.Theme_RboardThemeManagerV3_Orange
}
"pink_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Pink
info -> R.style.Theme_RboardThemeManagerV3_Info_Pink
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Pink
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Pink
else -> R.style.Theme_RboardThemeManagerV3_Pink
}
"red_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Red
info -> R.style.Theme_RboardThemeManagerV3_Info_Red
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Red
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Red
else -> R.style.Theme_RboardThemeManagerV3_Red
}
"yellow_style" -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main_Yellow
info -> R.style.Theme_RboardThemeManagerV3_Info_Yellow
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags_Yellow
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack_Yellow
else -> R.style.Theme_RboardThemeManagerV3_Yellow
}
else -> when {
main -> R.style.Theme_RboardThemeManagerV3_Main
info -> R.style.Theme_RboardThemeManagerV3_Info
shareFlags -> R.style.Theme_RboardThemeManagerV3_ShareFlags
installPack -> R.style.Theme_RboardThemeManagerV3_InstallPack
else -> R.style.Theme_RboardThemeManagerV3
}
}
)
}
fun Activity.openDialog(
@LayoutRes layout: Int,
cancelable: Boolean = true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.dertyp7214.rboardthememanager.screens

import android.os.Build
import android.os.Bundle
import android.util.Log
import android.widget.Toast
Expand All @@ -23,6 +24,9 @@ class InstallPackActivity : AppCompatActivity() {
private lateinit var binding: ActivityInstallPackBinding

override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
binding = ActivityInstallPackBinding.inflate(layoutInflater)
setContentView(binding.root)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package de.dertyp7214.rboardthememanager.screens

import android.annotation.SuppressLint
import android.os.Build
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.dertyp7214.logs.fragments.Logs
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.core.applyTheme

class Logs : AppCompatActivity() {

@SuppressLint("CommitTransaction")
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_logs)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ class MainActivity : AppCompatActivity() {

@SuppressLint("NotifyDataSetChanged", "ShowToast")
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ package de.dertyp7214.rboardthememanager.screens

import android.annotation.SuppressLint
import android.content.Intent
import android.os.Build
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.google.gson.Gson
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.adapter.ManageRepoThemePackAdapter
import de.dertyp7214.rboardthememanager.components.LayoutManager
import de.dertyp7214.rboardthememanager.core.applyTheme
import de.dertyp7214.rboardthememanager.core.getTextFromUrl
import de.dertyp7214.rboardthememanager.core.safeParse
import de.dertyp7214.rboardthememanager.data.ThemePack
Expand All @@ -36,6 +38,9 @@ class ManageRepo : AppCompatActivity() {

@SuppressLint("NotifyDataSetChanged")
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
binding = ActivityManageRepoBinding.inflate(layoutInflater)
setContentView(binding.root)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import de.Maxr1998.modernpreferences.PreferencesAdapter
import de.dertyp7214.rboardthememanager.core.addCallback
import de.dertyp7214.rboardthememanager.core.applyTheme
import de.dertyp7214.rboardthememanager.databinding.ActivityPreferencesBinding
import de.dertyp7214.rboardthememanager.preferences.Preferences
import de.dertyp7214.rboardthememanager.utils.doAsync
Expand All @@ -29,6 +30,9 @@ class PreferencesActivity : AppCompatActivity() {
@SuppressLint("NotifyDataSetChanged")
@RequiresApi(Build.VERSION_CODES.R)
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
binding = ActivityPreferencesBinding.inflate(layoutInflater)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package de.dertyp7214.rboardthememanager.screens

import android.annotation.SuppressLint
import android.os.Build
import android.os.Bundle
import android.view.View.FOCUS_DOWN
import android.widget.LinearLayout
Expand All @@ -9,6 +10,7 @@ import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.button.MaterialButton
import de.dertyp7214.rboardthememanager.R
import de.dertyp7214.rboardthememanager.core.applyTheme
import de.dertyp7214.rboardthememanager.core.openDialog
import de.dertyp7214.rboardthememanager.core.su
import de.dertyp7214.rboardthememanager.utils.RootUtils
Expand All @@ -17,6 +19,9 @@ import de.dertyp7214.rboardthememanager.utils.doAsync
class ReadMoreReadFast : AppCompatActivity() {
@SuppressLint("SetTextI18n")
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_read_more_read_fast)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import de.dertyp7214.rboardthememanager.adapter.ShareFlagsAdapter
import de.dertyp7214.rboardthememanager.components.LayoutManager
import de.dertyp7214.rboardthememanager.components.XMLFile
import de.dertyp7214.rboardthememanager.core.addCallback
import de.dertyp7214.rboardthememanager.core.applyTheme
import de.dertyp7214.rboardthememanager.core.getMapExtra
import de.dertyp7214.rboardthememanager.core.share
import de.dertyp7214.rboardthememanager.databinding.ActivityShareFlagsBinding
Expand All @@ -38,6 +39,9 @@ class ShareFlags : AppCompatActivity() {

@SuppressLint("NotifyDataSetChanged")
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(savedInstanceState)
binding = ActivityShareFlagsBinding.inflate(layoutInflater)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@file:Suppress("DEPRECATION")

package de.dertyp7214.rboardthememanager.utils

import android.annotation.SuppressLint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ package de.dertyp7214.rboardthememanager.widgets
import android.app.Activity
import android.appwidget.AppWidgetManager
import android.content.Intent
import android.os.Build
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import de.dertyp7214.rboardthememanager.adapter.ThemeAdapter
import de.dertyp7214.rboardthememanager.core.applyTheme
import de.dertyp7214.rboardthememanager.data.ThemeDataClass
import de.dertyp7214.rboardthememanager.databinding.SwitchKeyboardWidgetConfigureBinding
import de.dertyp7214.rboardthememanager.utils.ThemeUtils
import de.dertyp7214.rboardthememanager.utils.applyTheme
import de.dertyp7214.rboardthememanager.utils.doAsync

class SwitchKeyboardWidgetConfigureActivity : Activity() {
Expand All @@ -18,6 +21,9 @@ class SwitchKeyboardWidgetConfigureActivity : Activity() {
private lateinit var binding: SwitchKeyboardWidgetConfigureBinding

public override fun onCreate(icicle: Bundle?) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
applyTheme(installPack = true)
}
super.onCreate(icicle)

setResult(RESULT_CANCELED)
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/res/values-hu/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -272,4 +272,12 @@
<string name="gboard_3">A hangok módosítása nem fog működni</string>
<string name="gboard_4">A témák nem jelennek meg a gboard beállításaiban</string>
<string name="gboard_5">Kompatibilitás</string>
<string name="default_style">Alapértelmezett</string>
<string name="green_style">Zöld</string>
<string name="yellow_style">Sárga</string>
<string name="pink_style">Rózsaszín</string>
<string name="red_style">Piros</string>
<string name="blue_style">Kék</string>
<string name="orange_style">Narancssárga</string>
<string name="lime_style">Lime</string>
</resources>
30 changes: 30 additions & 0 deletions app/src/main/res/values-night/themes_blue.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<resources>
<style name="Theme.RboardThemeManager.Colors_blue" parent="Theme.Material3.DayNight.NoActionBar">
<item name="colorPrimary">@color/blue_md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/blue_md_theme_dark_onPrimary</item>
<item name="colorPrimaryContainer">@color/blue_md_theme_dark_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/blue_md_theme_dark_onPrimaryContainer</item>
<item name="colorSecondary">@color/blue_md_theme_dark_secondary</item>
<item name="colorOnSecondary">@color/blue_md_theme_dark_onSecondary</item>
<item name="colorSecondaryContainer">@color/blue_md_theme_dark_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/blue_md_theme_dark_onSecondaryContainer</item>
<item name="colorTertiary">@color/blue_md_theme_dark_tertiary</item>
<item name="colorOnTertiary">@color/blue_md_theme_dark_onTertiary</item>
<item name="colorTertiaryContainer">@color/blue_md_theme_dark_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/blue_md_theme_dark_onTertiaryContainer</item>
<item name="colorError">@color/blue_md_theme_dark_error</item>
<item name="colorErrorContainer">@color/blue_md_theme_dark_errorContainer</item>
<item name="colorOnError">@color/blue_md_theme_dark_onError</item>
<item name="colorOnErrorContainer">@color/blue_md_theme_dark_onErrorContainer</item>
<item name="android:colorBackground">@color/blue_md_theme_dark_background</item>
<item name="colorOnBackground">@color/blue_md_theme_dark_onBackground</item>
<item name="colorSurface">@color/blue_md_theme_dark_surface</item>
<item name="colorOnSurface">@color/blue_md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/blue_md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/blue_md_theme_dark_onSurfaceVariant</item>
<item name="colorOutline">@color/blue_md_theme_dark_outline</item>
<item name="colorOnSurfaceInverse">@color/blue_md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/blue_md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/blue_md_theme_dark_inversePrimary</item>
</style>
</resources>
30 changes: 30 additions & 0 deletions app/src/main/res/values-night/themes_green.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<resources>
<style name="Theme.RboardThemeManager.Colors_green" parent="Theme.Material3.DayNight.NoActionBar">
<item name="colorPrimary">@color/green_md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/green_md_theme_dark_onPrimary</item>
<item name="colorPrimaryContainer">@color/green_md_theme_dark_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/green_md_theme_dark_onPrimaryContainer</item>
<item name="colorSecondary">@color/green_md_theme_dark_secondary</item>
<item name="colorOnSecondary">@color/green_md_theme_dark_onSecondary</item>
<item name="colorSecondaryContainer">@color/green_md_theme_dark_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/green_md_theme_dark_onSecondaryContainer</item>
<item name="colorTertiary">@color/green_md_theme_dark_tertiary</item>
<item name="colorOnTertiary">@color/green_md_theme_dark_onTertiary</item>
<item name="colorTertiaryContainer">@color/green_md_theme_dark_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/green_md_theme_dark_onTertiaryContainer</item>
<item name="colorError">@color/green_md_theme_dark_error</item>
<item name="colorErrorContainer">@color/green_md_theme_dark_errorContainer</item>
<item name="colorOnError">@color/green_md_theme_dark_onError</item>
<item name="colorOnErrorContainer">@color/green_md_theme_dark_onErrorContainer</item>
<item name="android:colorBackground">@color/green_md_theme_dark_background</item>
<item name="colorOnBackground">@color/green_md_theme_dark_onBackground</item>
<item name="colorSurface">@color/green_md_theme_dark_surface</item>
<item name="colorOnSurface">@color/green_md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/green_md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/green_md_theme_dark_onSurfaceVariant</item>
<item name="colorOutline">@color/green_md_theme_dark_outline</item>
<item name="colorOnSurfaceInverse">@color/green_md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/green_md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/green_md_theme_dark_inversePrimary</item>
</style>
</resources>
Loading