Remove activity mixin class
This commit is contained in:
parent
73d1a1a05e
commit
c7686323b7
6 changed files with 21 additions and 123 deletions
|
@ -1,84 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.ui.base.activity
|
|
||||||
|
|
||||||
import android.Manifest
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.os.Build
|
|
||||||
import android.support.v4.app.ActivityCompat
|
|
||||||
import android.support.v4.content.ContextCompat
|
|
||||||
import android.support.v7.app.ActionBar
|
|
||||||
import android.support.v7.app.AppCompatActivity
|
|
||||||
import android.support.v7.widget.Toolbar
|
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
||||||
import uy.kohesive.injekt.Injekt
|
|
||||||
import uy.kohesive.injekt.api.get
|
|
||||||
|
|
||||||
interface ActivityMixin {
|
|
||||||
|
|
||||||
var resumed: Boolean
|
|
||||||
|
|
||||||
fun setupToolbar(toolbar: Toolbar, backNavigation: Boolean = true) {
|
|
||||||
setSupportActionBar(toolbar)
|
|
||||||
getSupportActionBar()?.setDisplayHomeAsUpEnabled(true)
|
|
||||||
if (backNavigation) {
|
|
||||||
toolbar.setNavigationOnClickListener {
|
|
||||||
if (resumed) {
|
|
||||||
onBackPressed()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setAppTheme() {
|
|
||||||
setTheme(when (Injekt.get<PreferencesHelper>().theme()) {
|
|
||||||
2 -> R.style.Theme_Tachiyomi_Dark
|
|
||||||
3 -> R.style.Theme_Tachiyomi_Amoled
|
|
||||||
else -> R.style.Theme_Tachiyomi
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setToolbarTitle(title: String) {
|
|
||||||
getSupportActionBar()?.title = title
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setToolbarTitle(titleResource: Int) {
|
|
||||||
getSupportActionBar()?.title = getString(titleResource)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setToolbarSubtitle(title: String) {
|
|
||||||
getSupportActionBar()?.subtitle = title
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setToolbarSubtitle(titleResource: Int) {
|
|
||||||
getSupportActionBar()?.subtitle = getString(titleResource)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Requests read and write permissions on Android M and higher.
|
|
||||||
*/
|
|
||||||
fun requestPermissionsOnMarshmallow() {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
||||||
if (ContextCompat.checkSelfPermission(getActivity(),
|
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
||||||
|
|
||||||
ActivityCompat.requestPermissions(getActivity(),
|
|
||||||
arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE),
|
|
||||||
1)
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getActivity(): AppCompatActivity
|
|
||||||
|
|
||||||
fun onBackPressed()
|
|
||||||
|
|
||||||
fun getSupportActionBar(): ActionBar?
|
|
||||||
|
|
||||||
fun setSupportActionBar(toolbar: Toolbar?)
|
|
||||||
|
|
||||||
fun setTheme(resource: Int)
|
|
||||||
|
|
||||||
fun getString(resource: Int): String
|
|
||||||
|
|
||||||
}
|
|
|
@ -3,24 +3,11 @@ package eu.kanade.tachiyomi.ui.base.activity
|
||||||
import android.support.v7.app.AppCompatActivity
|
import android.support.v7.app.AppCompatActivity
|
||||||
import eu.kanade.tachiyomi.util.LocaleHelper
|
import eu.kanade.tachiyomi.util.LocaleHelper
|
||||||
|
|
||||||
abstract class BaseActivity : AppCompatActivity(), ActivityMixin {
|
abstract class BaseActivity : AppCompatActivity() {
|
||||||
|
|
||||||
override var resumed = false
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@Suppress("LeakingThis")
|
||||||
LocaleHelper.updateConfiguration(this)
|
LocaleHelper.updateConfiguration(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getActivity() = this
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
resumed = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onPause() {
|
|
||||||
resumed = false
|
|
||||||
super.onPause()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,24 +4,11 @@ import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
|
||||||
import eu.kanade.tachiyomi.util.LocaleHelper
|
import eu.kanade.tachiyomi.util.LocaleHelper
|
||||||
import nucleus.view.NucleusAppCompatActivity
|
import nucleus.view.NucleusAppCompatActivity
|
||||||
|
|
||||||
abstract class BaseRxActivity<P : BasePresenter<*>> : NucleusAppCompatActivity<P>(), ActivityMixin {
|
abstract class BaseRxActivity<P : BasePresenter<*>> : NucleusAppCompatActivity<P>() {
|
||||||
|
|
||||||
override var resumed = false
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@Suppress("LeakingThis")
|
||||||
LocaleHelper.updateConfiguration(this)
|
LocaleHelper.updateConfiguration(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getActivity() = this
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
resumed = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onPause() {
|
|
||||||
resumed = false
|
|
||||||
super.onPause()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,6 @@ class MainActivity : BaseActivity() {
|
||||||
|
|
||||||
private val startScreenId by lazy {
|
private val startScreenId by lazy {
|
||||||
when (preferences.startScreen()) {
|
when (preferences.startScreen()) {
|
||||||
1 -> R.id.nav_drawer_library
|
|
||||||
2 -> R.id.nav_drawer_recently_read
|
2 -> R.id.nav_drawer_recently_read
|
||||||
3 -> R.id.nav_drawer_recent_updates
|
3 -> R.id.nav_drawer_recent_updates
|
||||||
else -> R.id.nav_drawer_library
|
else -> R.id.nav_drawer_library
|
||||||
|
@ -52,7 +51,11 @@ class MainActivity : BaseActivity() {
|
||||||
lateinit var tabAnimator: TabsAnimator
|
lateinit var tabAnimator: TabsAnimator
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
setAppTheme()
|
setTheme(when (preferences.theme()) {
|
||||||
|
2 -> R.style.Theme_Tachiyomi_Dark
|
||||||
|
3 -> R.style.Theme_Tachiyomi_Amoled
|
||||||
|
else -> R.style.Theme_Tachiyomi
|
||||||
|
})
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
// Do not let the launcher create a new activity http://stackoverflow.com/questions/16283079
|
// Do not let the launcher create a new activity http://stackoverflow.com/questions/16283079
|
||||||
|
|
|
@ -21,9 +21,9 @@ class TabsAnimator(val tabs: TabLayout) {
|
||||||
* Animation used to expand and collapse the tab layout.
|
* Animation used to expand and collapse the tab layout.
|
||||||
*/
|
*/
|
||||||
private val animation by lazy {
|
private val animation by lazy {
|
||||||
ObjectAnimator.ofInt(this, "height", tabsHeight).also {
|
ObjectAnimator.ofInt(this, "height", tabsHeight).apply {
|
||||||
it.duration = 300L
|
duration = 300L
|
||||||
it.interpolator = DecelerateInterpolator()
|
interpolator = DecelerateInterpolator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,11 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
setupToolbar(toolbar)
|
setSupportActionBar(toolbar)
|
||||||
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
|
toolbar.setNavigationOnClickListener {
|
||||||
|
onBackPressed()
|
||||||
|
}
|
||||||
|
|
||||||
initializeSettings()
|
initializeSettings()
|
||||||
initializeBottomMenu()
|
initializeBottomMenu()
|
||||||
|
@ -131,6 +135,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
|
toolbar.setNavigationOnClickListener(null)
|
||||||
subscriptions.unsubscribe()
|
subscriptions.unsubscribe()
|
||||||
viewer = null
|
viewer = null
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
|
@ -256,7 +261,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
||||||
// Invert the seekbar for the right to left reader
|
// Invert the seekbar for the right to left reader
|
||||||
page_seekbar.rotation = 180f
|
page_seekbar.rotation = 180f
|
||||||
}
|
}
|
||||||
setToolbarTitle(manga.title)
|
supportActionBar?.title = manga.title
|
||||||
please_wait.visibility = View.VISIBLE
|
please_wait.visibility = View.VISIBLE
|
||||||
please_wait.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in_long))
|
please_wait.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in_long))
|
||||||
}
|
}
|
||||||
|
@ -288,10 +293,10 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
||||||
page_seekbar.max = numPages - 1
|
page_seekbar.max = numPages - 1
|
||||||
page_seekbar.progress = currentPage
|
page_seekbar.progress = currentPage
|
||||||
|
|
||||||
setToolbarSubtitle(if (chapter.isRecognizedNumber)
|
supportActionBar?.subtitle = if (chapter.isRecognizedNumber)
|
||||||
getString(R.string.chapter_subtitle, decimalFormat.format(chapter.chapter_number.toDouble()))
|
getString(R.string.chapter_subtitle, decimalFormat.format(chapter.chapter_number.toDouble()))
|
||||||
else
|
else
|
||||||
chapter.name)
|
chapter.name
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onAppendChapter(chapter: ReaderChapter) {
|
fun onAppendChapter(chapter: ReaderChapter) {
|
||||||
|
|
Reference in a new issue