[skip ci] feat: theme crash fix
This commit is contained in:
parent
cd3bb20afd
commit
3d1040b280
15 changed files with 121 additions and 73 deletions
|
@ -306,23 +306,18 @@ fun Activity.reloadActivity() {
|
|||
initActivity(this)
|
||||
}
|
||||
|
||||
fun Context.restartApp(view: View) {
|
||||
fun Activity.restartApp() {
|
||||
val mainIntent = Intent.makeRestartActivityTask(
|
||||
packageManager.getLaunchIntentForPackage(this.packageName)!!.component
|
||||
)
|
||||
val component = ComponentName(this@restartApp.packageName, this@restartApp::class.qualifiedName!!)
|
||||
Snackbar.make(view, R.string.restart_app, Snackbar.LENGTH_INDEFINITE).apply {
|
||||
setAction(R.string.do_it) {
|
||||
this.dismiss()
|
||||
try {
|
||||
startActivity(Intent().setComponent(component))
|
||||
} catch (anything: Exception) {
|
||||
} catch (e: Exception) {
|
||||
startActivity(mainIntent)
|
||||
}
|
||||
Runtime.getRuntime().exit(0)
|
||||
}
|
||||
show()
|
||||
}
|
||||
finishAndRemoveTask()
|
||||
PrefManager.setCustomVal("reload", true)
|
||||
}
|
||||
|
||||
open class BottomSheetDialogFragment : BottomSheetDialogFragment() {
|
||||
|
|
|
@ -11,9 +11,9 @@ data class Settings(
|
|||
val icon : Int,
|
||||
val onClick: ((ItemSettingsBinding) -> Unit)? = null,
|
||||
val onLongClick: (() -> Unit)? = null,
|
||||
var isChecked : Boolean = false,
|
||||
val switch: ((isChecked:Boolean , view: ItemSettingsSwitchBinding ) -> Unit)? = null,
|
||||
val attach:((ItemSettingsBinding) -> Unit)? = null,
|
||||
val isVisible: Boolean = true,
|
||||
val isActivity: Boolean = false,
|
||||
val attach:((ViewGroup) -> Unit)? = null
|
||||
var isChecked : Boolean = false,
|
||||
)
|
|
@ -18,6 +18,7 @@ import ani.dantotsu.settings.saving.PrefManager
|
|||
import ani.dantotsu.settings.saving.PrefName
|
||||
import ani.dantotsu.statusBarHeight
|
||||
import ani.dantotsu.themes.ThemeManager
|
||||
import ani.dantotsu.util.Logger
|
||||
|
||||
class SettingsAboutActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivitySettingsAboutBinding
|
||||
|
@ -42,7 +43,7 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.faq),
|
||||
desc = getString(R.string.faq),
|
||||
desc = getString(R.string.faq_desc),
|
||||
icon = R.drawable.ic_round_help_24,
|
||||
onClick = {
|
||||
startActivity(Intent(context, FAQActivity::class.java))
|
||||
|
@ -52,7 +53,7 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.check_app_updates),
|
||||
desc = getString(R.string.check_app_updates),
|
||||
desc = getString(R.string.check_app_updates_desc),
|
||||
icon = R.drawable.ic_round_new_releases_24,
|
||||
isChecked = PrefManager.getVal(PrefName.CheckUpdate),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -63,7 +64,7 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 2,
|
||||
name = getString(R.string.share_username_in_crash_reports),
|
||||
desc = getString(R.string.share_username_in_crash_reports),
|
||||
desc = getString(R.string.share_username_in_crash_reports_desc),
|
||||
icon = R.drawable.ic_round_search_24,
|
||||
isChecked = PrefManager.getVal(PrefName.SharedUserID),
|
||||
switch = { isChecked, _ ->
|
||||
|
@ -79,13 +80,19 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
isChecked = PrefManager.getVal(PrefName.LogToFile),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.LogToFile, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
},
|
||||
attach = {
|
||||
it.settingsDesc.setOnLongClickListener {
|
||||
Logger.shareLog(context)
|
||||
true
|
||||
}
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.devs),
|
||||
desc= getString(R.string.devs),
|
||||
desc= getString(R.string.devs_desc),
|
||||
icon = R.drawable.ic_round_accessible_forward_24,
|
||||
onClick = {
|
||||
DevelopersDialogFragment().show(supportFragmentManager, "dialog")
|
||||
|
@ -94,7 +101,7 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.forks),
|
||||
desc = getString(R.string.forks),
|
||||
desc = getString(R.string.forks_desc),
|
||||
icon = R.drawable.ic_round_restaurant_24,
|
||||
onClick = {
|
||||
ForksDialogFragment().show(supportFragmentManager, "dialog")
|
||||
|
@ -103,7 +110,7 @@ class SettingsAboutActivity : AppCompatActivity() {
|
|||
Settings(
|
||||
type = 1,
|
||||
name = getString(R.string.disclaimer),
|
||||
desc = getString(R.string.disclaimer),
|
||||
desc = getString(R.string.disclaimer_desc),
|
||||
icon = R.drawable.ic_round_info_24,
|
||||
onClick = {
|
||||
val text = TextView(context)
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.os.Build.VERSION.SDK_INT
|
|||
import android.os.Bundle
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.updateLayoutParams
|
||||
|
@ -28,6 +29,7 @@ import ani.dantotsu.others.AppUpdater
|
|||
import ani.dantotsu.others.CustomBottomDialog
|
||||
import ani.dantotsu.pop
|
||||
import ani.dantotsu.setSafeOnClickListener
|
||||
import ani.dantotsu.settings.saving.PrefManager
|
||||
import ani.dantotsu.snackString
|
||||
import ani.dantotsu.startMainActivity
|
||||
import ani.dantotsu.statusBarHeight
|
||||
|
@ -40,9 +42,6 @@ import kotlin.random.Random
|
|||
|
||||
|
||||
class SettingsActivity : AppCompatActivity() {
|
||||
private val restartMainActivity = object : OnBackPressedCallback(false) {
|
||||
override fun handleOnBackPressed() = startMainActivity(this@SettingsActivity)
|
||||
}
|
||||
lateinit var binding: ActivitySettingsBinding
|
||||
private var cursedCounter = 0
|
||||
|
||||
|
@ -70,7 +69,14 @@ class SettingsActivity : AppCompatActivity() {
|
|||
bottomMargin = navBarHeight
|
||||
}
|
||||
|
||||
onBackPressedDispatcher.addCallback(context, restartMainActivity)
|
||||
onBackPressedDispatcher.addCallback(context){
|
||||
if (PrefManager.getCustomVal("reload", false)) {
|
||||
startMainActivity(context)
|
||||
PrefManager.setCustomVal("reload", false)
|
||||
}else{
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
settingsBack.setOnClickListener {
|
||||
onBackPressedDispatcher.onBackPressed()
|
||||
|
@ -262,4 +268,8 @@ class SettingsActivity : AppCompatActivity() {
|
|||
?: "Unknown Architecture"
|
||||
}
|
||||
}
|
||||
override fun onResume() {
|
||||
ThemeManager(this).applyTheme()
|
||||
super.onResume()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ class SettingsAdapter(private val settings: ArrayList<Settings>) :
|
|||
b.settingsIconRight.visibility =
|
||||
if (settings.isActivity) View.VISIBLE else View.GONE
|
||||
b.attachView.visibility = if (settings.attach != null) View.VISIBLE else View.GONE
|
||||
settings.attach?.invoke(b.attachView)
|
||||
settings.attach?.invoke(b)
|
||||
}
|
||||
|
||||
2 -> {
|
||||
|
|
|
@ -100,7 +100,7 @@ class SettingsAnimeActivity: AppCompatActivity(){
|
|||
isChecked = PrefManager.getVal(PrefName.IncludeAnimeList),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.IncludeAnimeList, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
),
|
||||
)
|
||||
|
|
|
@ -73,14 +73,14 @@ class SettingsCommonActivity: AppCompatActivity(){
|
|||
toast(getString(R.string.incorrect_password))
|
||||
return@passwordAlertDialog
|
||||
}
|
||||
if (PreferencePackager.unpack(decryptedJson)) restartApp(binding.root)
|
||||
if (PreferencePackager.unpack(decryptedJson)) restartApp()
|
||||
} else {
|
||||
toast(getString(R.string.password_cannot_be_empty))
|
||||
}
|
||||
}
|
||||
} else if (name.endsWith(".ani")) {
|
||||
val decryptedJson = jsonString.toString(Charsets.UTF_8)
|
||||
if (PreferencePackager.unpack(decryptedJson)) restartApp(binding.root)
|
||||
if (PreferencePackager.unpack(decryptedJson)) restartApp()
|
||||
} else {
|
||||
toast(getString(R.string.unknown_file_type))
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ class SettingsCommonActivity: AppCompatActivity(){
|
|||
settingsExtensionDns.setOnItemClickListener { _, _, i, _ ->
|
||||
PrefManager.setVal(PrefName.DohProvider, i)
|
||||
settingsExtensionDns.clearFocus()
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
|
||||
settingsRecyclerView.adapter = SettingsAdapter(
|
||||
|
@ -294,7 +294,7 @@ class SettingsCommonActivity: AppCompatActivity(){
|
|||
isChecked = PrefManager.getVal(PrefName.AdultOnly),
|
||||
switch = {isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.AdultOnly, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
},
|
||||
isVisible = Anilist.adult
|
||||
|
||||
|
|
|
@ -161,13 +161,12 @@ class SettingsExtensionsActivity: AppCompatActivity() {
|
|||
desc = getString(R.string.anime_add_repository),
|
||||
icon = R.drawable.ic_github,
|
||||
onClick = {
|
||||
val dialogView = layoutInflater.inflate(R.layout.dialog_user_agent, null)
|
||||
val editText =
|
||||
dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox).apply {
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
val editText = dialogView.userAgentTextBox.apply {
|
||||
hint = getString(R.string.anime_add_repository)
|
||||
}
|
||||
val alertDialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
.setTitle(R.string.anime_add_repository).setView(dialogView)
|
||||
.setTitle(R.string.anime_add_repository).setView(dialogView.root)
|
||||
.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
|
||||
if (!editText.text.isNullOrBlank()) processUserInput(
|
||||
editText.text.toString(),
|
||||
|
@ -183,8 +182,8 @@ class SettingsExtensionsActivity: AppCompatActivity() {
|
|||
alertDialog.show()
|
||||
alertDialog.window?.setDimAmount(0.8f)
|
||||
},
|
||||
attach = { view ->
|
||||
setExtensionOutput(view, MediaType.ANIME)
|
||||
attach = {
|
||||
setExtensionOutput(it.attachView, MediaType.ANIME)
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
|
@ -193,13 +192,12 @@ class SettingsExtensionsActivity: AppCompatActivity() {
|
|||
desc = getString(R.string.manga_add_repository),
|
||||
icon = R.drawable.ic_github,
|
||||
onClick = {
|
||||
val dialogView = layoutInflater.inflate(R.layout.dialog_user_agent, null)
|
||||
val editText =
|
||||
dialogView.findViewById<TextInputEditText>(R.id.userAgentTextBox).apply {
|
||||
val dialogView = DialogUserAgentBinding.inflate(layoutInflater)
|
||||
val editText = dialogView.userAgentTextBox.apply {
|
||||
hint = getString(R.string.manga_add_repository)
|
||||
}
|
||||
val alertDialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||
.setTitle(R.string.manga_add_repository).setView(dialogView)
|
||||
.setTitle(R.string.manga_add_repository).setView(dialogView.root)
|
||||
.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
|
||||
if (!editText.text.isNullOrBlank()) processUserInput(
|
||||
editText.text.toString(),
|
||||
|
@ -215,8 +213,8 @@ class SettingsExtensionsActivity: AppCompatActivity() {
|
|||
alertDialog.show()
|
||||
alertDialog.window?.setDimAmount(0.8f)
|
||||
},
|
||||
attach = { view ->
|
||||
setExtensionOutput(view, MediaType.MANGA)
|
||||
attach = {
|
||||
setExtensionOutput(it.attachView, MediaType.MANGA)
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
|
|
|
@ -123,7 +123,7 @@ class SettingsMangaActivity: AppCompatActivity(){
|
|||
isChecked = PrefManager.getVal(PrefName.IncludeMangaList),
|
||||
switch = {isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.IncludeMangaList, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
),
|
||||
)
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package ani.dantotsu.settings
|
||||
|
||||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.activity.addCallback
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
|
@ -37,8 +40,21 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
topMargin = statusBarHeight
|
||||
bottomMargin = navBarHeight
|
||||
}
|
||||
themeSettingsBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
|
||||
|
||||
onBackPressedDispatcher.addCallback(context) {
|
||||
val mainIntent = Intent.makeRestartActivityTask(
|
||||
packageManager.getLaunchIntentForPackage(packageName)!!.component
|
||||
)
|
||||
val component = ComponentName(packageName, SettingsActivity::class.qualifiedName!!)
|
||||
try {
|
||||
startActivity(Intent().setComponent(component))
|
||||
} catch (anything: Exception) {
|
||||
startActivity(mainIntent)
|
||||
}
|
||||
finishAndRemoveTask()
|
||||
}
|
||||
themeSettingsBack.setOnClickListener {
|
||||
onBackPressedDispatcher.onBackPressed()
|
||||
}
|
||||
var previous: View = when (PrefManager.getVal<Int>(PrefName.DarkMode)) {
|
||||
0 -> settingsUiAuto
|
||||
1 -> settingsUiLight
|
||||
|
@ -87,7 +103,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
ThemeManager.Companion.Theme.entries[i].theme
|
||||
)
|
||||
clearFocus()
|
||||
restartApp(binding.root)
|
||||
reload()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -101,7 +117,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
isChecked = PrefManager.getVal(PrefName.UseOLED),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.UseOLED, isChecked)
|
||||
restartApp(binding.root)
|
||||
reload()
|
||||
}
|
||||
),
|
||||
Settings(
|
||||
|
@ -113,7 +129,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.UseMaterialYou, isChecked)
|
||||
if (isChecked) PrefManager.setVal(PrefName.UseCustomTheme, false)
|
||||
restartApp(binding.root)
|
||||
reload()
|
||||
},
|
||||
isVisible = Build.VERSION.SDK_INT > Build.VERSION_CODES.R
|
||||
),
|
||||
|
@ -125,7 +141,6 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
isChecked = PrefManager.getVal(PrefName.UseSourceTheme),
|
||||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.UseSourceTheme, isChecked)
|
||||
restartApp(binding.root)
|
||||
},
|
||||
isVisible = Build.VERSION.SDK_INT > Build.VERSION_CODES.R
|
||||
),
|
||||
|
@ -138,7 +153,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
switch = { isChecked, _ ->
|
||||
PrefManager.setVal(PrefName.UseCustomTheme, isChecked)
|
||||
if (isChecked) PrefManager.setVal(PrefName.UseMaterialYou, false)
|
||||
restartApp(binding.root)
|
||||
reload()
|
||||
},
|
||||
isVisible = Build.VERSION.SDK_INT > Build.VERSION_CODES.R
|
||||
),
|
||||
|
@ -151,7 +166,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
val originalColor: Int = PrefManager.getVal(PrefName.CustomThemeInt)
|
||||
class CustomColorDialog : SimpleColorDialog() {
|
||||
override fun onPositiveButtonClick() {
|
||||
restartApp(binding.root)
|
||||
reload()
|
||||
super.onPositiveButtonClick()
|
||||
}
|
||||
}
|
||||
|
@ -183,4 +198,9 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi
|
|||
}
|
||||
return true
|
||||
}
|
||||
fun reload(){
|
||||
PrefManager.setCustomVal("reload", true)
|
||||
restartApp()
|
||||
}
|
||||
|
||||
}
|
|
@ -48,7 +48,7 @@ class UserInterfaceSettingsActivity : AppCompatActivity() {
|
|||
}
|
||||
setPositiveButton("Done") { _, _ ->
|
||||
PrefManager.setVal(PrefName.HomeLayoutShow, set)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
}.show()
|
||||
dialog.window?.setDimAmount(0.8f)
|
||||
|
@ -57,24 +57,24 @@ class UserInterfaceSettingsActivity : AppCompatActivity() {
|
|||
binding.uiSettingsSmallView.isChecked = PrefManager.getVal(PrefName.SmallView)
|
||||
binding.uiSettingsSmallView.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.SmallView, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
|
||||
binding.uiSettingsImmersive.isChecked = PrefManager.getVal(PrefName.ImmersiveMode)
|
||||
binding.uiSettingsImmersive.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.ImmersiveMode, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
binding.uiSettingsBannerAnimation.isChecked = PrefManager.getVal(PrefName.BannerAnimations)
|
||||
binding.uiSettingsBannerAnimation.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.BannerAnimations, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
|
||||
binding.uiSettingsLayoutAnimation.isChecked = PrefManager.getVal(PrefName.LayoutAnimations)
|
||||
binding.uiSettingsLayoutAnimation.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.LayoutAnimations, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
|
||||
binding.uiSettingsTrendingScroller.isChecked = PrefManager.getVal(PrefName.TrendingScroller)
|
||||
|
@ -98,22 +98,22 @@ class UserInterfaceSettingsActivity : AppCompatActivity() {
|
|||
mapReverse[PrefManager.getVal(PrefName.AnimationSpeed)] ?: 1f
|
||||
binding.uiSettingsAnimationSpeed.addOnChangeListener { _, value, _ ->
|
||||
PrefManager.setVal(PrefName.AnimationSpeed, map[value] ?: 1f)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
binding.uiSettingsBlurBanners.isChecked = PrefManager.getVal(PrefName.BlurBanners)
|
||||
binding.uiSettingsBlurBanners.setOnCheckedChangeListener { _, isChecked ->
|
||||
PrefManager.setVal(PrefName.BlurBanners, isChecked)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
binding.uiSettingsBlurRadius.value = (PrefManager.getVal(PrefName.BlurRadius) as Float)
|
||||
binding.uiSettingsBlurRadius.addOnChangeListener { _, value, _ ->
|
||||
PrefManager.setVal(PrefName.BlurRadius, value)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
binding.uiSettingsBlurSampling.value = (PrefManager.getVal(PrefName.BlurSampling) as Float)
|
||||
binding.uiSettingsBlurSampling.addOnChangeListener { _, value, _ ->
|
||||
PrefManager.setVal(PrefName.BlurSampling, value)
|
||||
restartApp(binding.root)
|
||||
restartApp()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,17 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical">
|
||||
android:layout_marginBottom="8dp"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:alpha="0.7"
|
||||
android:fontFamily="@font/poppins_bold"
|
||||
android:text="•"
|
||||
android:textSize="16sp"
|
||||
tools:ignore="HardcodedText,RtlSymmetry" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/repositoryItem"
|
||||
|
@ -12,8 +21,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
android:ellipsize="end"
|
||||
android:layout_gravity="center"
|
||||
android:alpha="0.66"
|
||||
android:textAlignment="viewStart"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
android:singleLine="true"
|
||||
tools:text="xyz repo"/>
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:gravity="center_vertical|start"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/settingsIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="top"
|
||||
android:layout_marginVertical="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
app:srcCompat="@drawable/ic_circle_add"
|
||||
|
@ -43,23 +43,26 @@
|
|||
android:fontFamily="@font/poppins_semi_bold"
|
||||
android:text="@string/slogan"
|
||||
android:textColor="?attr/colorOnSurfaceVariant" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/attachView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlSymmetry" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/settingsIconRight"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginVertical="24dp"
|
||||
android:rotation="180"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:srcCompat="@drawable/ic_round_arrow_back_ios_new_24"
|
||||
app:tint="?attr/colorPrimary"
|
||||
android:rotation="180"
|
||||
tools:ignore="ContentDescription" />
|
||||
tools:ignore="ContentDescription"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:gravity="center_vertical|start"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/settingsIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="top"
|
||||
android:layout_marginVertical="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
app:srcCompat="@drawable/ic_circle_add"
|
||||
|
@ -33,9 +33,9 @@
|
|||
android:elegantTextHeight="true"
|
||||
android:fontFamily="@font/poppins_bold"
|
||||
android:text="@string/name"
|
||||
android:textSize="16sp"
|
||||
android:textAlignment="viewStart"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
android:textSize="16sp"
|
||||
app:cornerRadius="0dp"
|
||||
app:drawableTint="?attr/colorPrimary"
|
||||
app:showText="false"
|
||||
|
|
|
@ -377,7 +377,7 @@
|
|||
<string name="search_source_list">Search next available source</string>
|
||||
<string name="timestamp_proxy_desc">Useful if you are getting Handshake Fails</string>
|
||||
<string name="timestamp_proxy">Use Proxy for Timestamps</string>
|
||||
<string name="check_app_updates">Always check for App Updates</string>
|
||||
<string name="check_app_updates">Check for Updates</string>
|
||||
<string name="author">Author</string>
|
||||
<string name="forks">Versions</string>
|
||||
<string name="faq">FAQ</string>
|
||||
|
@ -716,7 +716,7 @@
|
|||
<string name="purge_manga_downloads">Delete all Manga Downloads</string>
|
||||
<string name="purge_novel_downloads">Delete all Novel Downloads</string>
|
||||
<string name="requires_android_12">Requires Android 12+</string>
|
||||
<string name="share_username_in_crash_reports">Share username in crash reports</string>
|
||||
<string name="share_username_in_crash_reports">Share username</string>
|
||||
<string name="pinned_sources">Pinned Sources</string>
|
||||
<string name="backup_restore">Backup and Restore</string>
|
||||
<string name="restore_settings">Import Settings</string>
|
||||
|
@ -903,4 +903,10 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc
|
|||
<string name="anime_desc">Choose how you watch</string>
|
||||
<string name="manga_desc">Choose how you read</string>
|
||||
<string name="about_desc">Learn more about Dantotsu</string>
|
||||
<string name="faq_desc">General questions about Dantotsu</string>
|
||||
<string name="check_app_updates_desc">Check Github for app updates</string>
|
||||
<string name="share_username_in_crash_reports_desc">Share username in crash reports</string>
|
||||
<string name="devs_desc">Dantotsu\'s very own unpaid labours </string>
|
||||
<string name="forks_desc">More like Dantotsu</string>
|
||||
<string name="disclaimer_desc">Something to keep in mind</string>
|
||||
</resources>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue