|
|
@ -1,7 +1,14 @@
|
|
|
|
package eu.kanade.tachiyomi.ui.setting
|
|
|
|
package eu.kanade.tachiyomi.ui.setting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint
|
|
|
|
import android.app.Dialog
|
|
|
|
import android.app.Dialog
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
|
|
|
|
import android.content.Intent
|
|
|
|
|
|
|
|
import android.net.Uri
|
|
|
|
|
|
|
|
import android.os.Build
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.os.Bundle
|
|
|
|
|
|
|
|
import android.os.PowerManager
|
|
|
|
|
|
|
|
import android.provider.Settings
|
|
|
|
import android.widget.Toast
|
|
|
|
import android.widget.Toast
|
|
|
|
import androidx.preference.PreferenceScreen
|
|
|
|
import androidx.preference.PreferenceScreen
|
|
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
|
@ -36,6 +43,7 @@ class SettingsAdvancedController : SettingsController() {
|
|
|
|
|
|
|
|
|
|
|
|
private val db: DatabaseHelper by injectLazy()
|
|
|
|
private val db: DatabaseHelper by injectLazy()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("BatteryLife")
|
|
|
|
override fun setupPreferenceScreen(screen: PreferenceScreen) = with(screen) {
|
|
|
|
override fun setupPreferenceScreen(screen: PreferenceScreen) = with(screen) {
|
|
|
|
titleRes = R.string.advanced
|
|
|
|
titleRes = R.string.advanced
|
|
|
|
|
|
|
|
|
|
|
@ -83,6 +91,26 @@ class SettingsAdvancedController : SettingsController() {
|
|
|
|
|
|
|
|
|
|
|
|
onClick { cleanupDownloads() }
|
|
|
|
onClick { cleanupDownloads() }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
|
|
|
|
|
|
val pm = context.getSystemService(Context.POWER_SERVICE) as? PowerManager?
|
|
|
|
|
|
|
|
if (pm != null) preference {
|
|
|
|
|
|
|
|
titleRes = R.string.disable_battery_optimization
|
|
|
|
|
|
|
|
summaryRes = R.string.disable_if_issues_with_updating
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onClick {
|
|
|
|
|
|
|
|
val packageName: String = context.packageName
|
|
|
|
|
|
|
|
if (!pm.isIgnoringBatteryOptimizations(packageName)) {
|
|
|
|
|
|
|
|
val intent = Intent().apply {
|
|
|
|
|
|
|
|
action = Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
|
|
|
|
|
|
|
|
data = Uri.parse("package:$packageName")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
startActivity(intent)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
context.toast(R.string.battery_optimization_disabled)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun cleanupDownloads() {
|
|
|
|
private fun cleanupDownloads() {
|
|
|
@ -141,10 +169,10 @@ class SettingsAdvancedController : SettingsController() {
|
|
|
|
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
|
|
|
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
|
|
|
return MaterialDialog(activity!!)
|
|
|
|
return MaterialDialog(activity!!)
|
|
|
|
.message(R.string.clear_database_confirmation)
|
|
|
|
.message(R.string.clear_database_confirmation)
|
|
|
|
.positiveButton(android.R.string.yes) {
|
|
|
|
.positiveButton(android.R.string.ok) {
|
|
|
|
(targetController as? SettingsAdvancedController)?.clearDatabase()
|
|
|
|
(targetController as? SettingsAdvancedController)?.clearDatabase()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.negativeButton(android.R.string.no)
|
|
|
|
.negativeButton(android.R.string.cancel)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|