Updated on 2026-08-14
This commit is contained in:
parent
ad014e143e
commit
36eef84d80
12 changed files with 0 additions and 477 deletions
|
|
@ -1,71 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.tangem.tangemtest.commons.OnBackPressHandler
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.LayoutHolder
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
abstract class BaseMvpBottomSheetDialog(
|
||||
context: Context
|
||||
) : BottomSheetDialog(context), MvpDlgView, LayoutHolder {
|
||||
|
||||
protected val presenter: MvpDlgPresenter<MvpDlgView>
|
||||
protected val mainView: View
|
||||
|
||||
init {
|
||||
initComponent()
|
||||
presenter = getMvpPresenter()
|
||||
presenter.attached(this)
|
||||
mainView = layoutInflater.inflate(getLayoutId(), null, false)
|
||||
setContentView(mainView)
|
||||
presenter.contentViewSet()
|
||||
}
|
||||
|
||||
abstract fun initComponent()
|
||||
abstract fun getMvpPresenter(): MvpDlgPresenter<MvpDlgView>
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter.created()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
presenter.started()
|
||||
}
|
||||
|
||||
override fun show() {
|
||||
super.show()
|
||||
presenter.showed()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
presenter.stopped()
|
||||
}
|
||||
|
||||
override fun dismiss() {
|
||||
super.dismiss()
|
||||
presenter.dismissed()
|
||||
}
|
||||
|
||||
override fun cancel() {
|
||||
super.cancel()
|
||||
presenter.cancelled()
|
||||
presenter.detached()
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
super.onBackPressed()
|
||||
(presenter as? OnBackPressHandler)?.onBackPressed()
|
||||
}
|
||||
|
||||
protected fun <T : View> bindView(id: Int): T {
|
||||
return mainView.findViewById(id) as T
|
||||
}
|
||||
}
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.dialog
|
||||
|
||||
import com.tangem.tangemtest.commons.OnBackPressHandler
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
open class BaseMvpBottomSheetPresenter<View : MvpDlgView> : MvpDlgPresenter<View>, OnBackPressHandler {
|
||||
|
||||
protected var view: View? = null
|
||||
|
||||
protected val stopDisposable = CompositeDisposable()
|
||||
protected val dismissDisposable = CompositeDisposable()
|
||||
protected val cancelDisposable = CompositeDisposable()
|
||||
|
||||
override fun attached(view: View) {
|
||||
Log.d(this, "mvpView attached")
|
||||
this.view = view
|
||||
}
|
||||
|
||||
override fun contentViewSet() {
|
||||
Log.d(this, "contentViewSet")
|
||||
}
|
||||
|
||||
override fun created() {
|
||||
Log.d(this, "created")
|
||||
}
|
||||
|
||||
override fun started() {
|
||||
Log.d(this, "started")
|
||||
}
|
||||
|
||||
override fun showed() {
|
||||
Log.d(this, "showed")
|
||||
}
|
||||
|
||||
override fun stopped() {
|
||||
Log.d(this, "stoped")
|
||||
stopDisposable.clear()
|
||||
}
|
||||
|
||||
override fun dismissed() {
|
||||
Log.d(this, "dismissed")
|
||||
dismissDisposable.clear()
|
||||
}
|
||||
|
||||
override fun cancelled() {
|
||||
Log.d(this, "cancelled")
|
||||
cancelDisposable.clear()
|
||||
}
|
||||
|
||||
override fun detached() {
|
||||
Log.d(this, "detached")
|
||||
view = null
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
Log.d(this, "onBackPressed")
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.dialog
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
interface MvpDlgPresenter<T : MvpDlgView> {
|
||||
|
||||
fun attached(view: T)
|
||||
fun contentViewSet()
|
||||
|
||||
fun created()
|
||||
fun started()
|
||||
fun showed()
|
||||
fun stopped()
|
||||
fun dismissed()
|
||||
fun cancelled()
|
||||
fun detached()
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.dialog
|
||||
|
||||
import com.tangem.tangemtest._arch.mvp.view.MvpView
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
interface MvpDlgView : MvpView
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.presenter
|
||||
|
||||
import com.tangem.tangemtest._arch.mvp.view.MvpView
|
||||
import com.tangem.tangemtest.commons.OnBackPressHandler
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import ru.dev.gbixahue.eu4d.lib.android.global.log.Log
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
|
||||
abstract class BaseMvpPresenter<View : MvpView> : MvpPresenter<View>, OnBackPressHandler, DisposableHolder {
|
||||
|
||||
protected var view: View? = null
|
||||
|
||||
protected val pauseDisposable = CompositeDisposable()
|
||||
protected val stopDisposable = CompositeDisposable()
|
||||
protected val destroyDisposable = CompositeDisposable()
|
||||
|
||||
override fun attached(view: View) {
|
||||
Log.d(this, "attached")
|
||||
this.view = view
|
||||
}
|
||||
|
||||
override fun created() {
|
||||
Log.d(this, "created")
|
||||
}
|
||||
|
||||
override fun createView() {
|
||||
Log.d(this, "createView")
|
||||
}
|
||||
|
||||
override fun viewCreated() {
|
||||
Log.d(this, "viewCreated")
|
||||
}
|
||||
|
||||
override fun started() {
|
||||
Log.d(this, "started")
|
||||
}
|
||||
|
||||
override fun resumed() {
|
||||
Log.d(this, "resumed")
|
||||
}
|
||||
|
||||
override fun paused() {
|
||||
Log.d(this, "paused")
|
||||
pauseDisposable.clear()
|
||||
}
|
||||
|
||||
override fun stopped() {
|
||||
Log.d(this, "stopped")
|
||||
stopDisposable.clear()
|
||||
}
|
||||
|
||||
override fun destroyView() {
|
||||
Log.d(this, "destroyView")
|
||||
destroyDisposable.clear()
|
||||
}
|
||||
|
||||
override fun viewDestroyed() {
|
||||
Log.d(this, "viewDestroyed")
|
||||
}
|
||||
|
||||
override fun detached() {
|
||||
Log.d(this, "detached")
|
||||
this.view = null
|
||||
}
|
||||
|
||||
override fun disposeAll() {
|
||||
pauseDisposable.clear()
|
||||
stopDisposable.clear()
|
||||
destroyDisposable.clear()
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean = true
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.presenter
|
||||
|
||||
interface DisposableHolder {
|
||||
fun disposeAll()
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.presenter
|
||||
|
||||
import com.tangem.tangemtest._arch.mvp.view.MvpView
|
||||
|
||||
|
||||
interface MvpPresenter<T : MvpView> {
|
||||
|
||||
fun attached(view: T)
|
||||
fun created()
|
||||
fun createView()
|
||||
fun viewCreated()
|
||||
fun started()
|
||||
fun resumed()
|
||||
fun paused()
|
||||
fun stopped()
|
||||
fun destroyView()
|
||||
fun viewDestroyed()
|
||||
fun detached()
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.view
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.tangem.tangemtest._arch.mvp.presenter.MvpPresenter
|
||||
import ru.dev.gbixahue.eu4d.lib.kotlin.common.LayoutHolder
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
abstract class BaseMvpActivity : AppCompatActivity(), MvpView, LayoutHolder {
|
||||
|
||||
protected var presenter: MvpPresenter<in MvpView>? = null
|
||||
|
||||
protected abstract fun initComponent()
|
||||
protected abstract fun getMvpPresenter(): MvpPresenter<in MvpView>?
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
initComponent()
|
||||
presenter = getMvpPresenter()
|
||||
presenter?.attached(this)
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter?.created()
|
||||
setContentView(getLayoutId())
|
||||
presenter?.createView()
|
||||
presenter?.viewCreated()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
presenter?.started()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
presenter?.resumed()
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
presenter?.paused()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
presenter?.stopped()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
presenter?.destroyView()
|
||||
super.onDestroy()
|
||||
presenter?.viewDestroyed()
|
||||
presenter?.detached()
|
||||
}
|
||||
}
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.view
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.tangem.tangemtest._arch.mvp.presenter.MvpPresenter
|
||||
import com.tangem.tangemtest.commons.OnBackPressHandler
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
abstract class BaseMvpFragment : Fragment(), MvpView, OnBackPressHandler {
|
||||
|
||||
protected lateinit var mainView: View
|
||||
protected var presenter: MvpPresenter<in MvpView>? = null
|
||||
|
||||
protected abstract fun getMvpPresenter(): MvpPresenter<in MvpView>
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
presenter = getMvpPresenter()
|
||||
presenter?.attached(this)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
presenter?.created()
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
mainView = super.onCreateView(inflater, container, savedInstanceState)!!
|
||||
presenter?.createView()
|
||||
return mainView
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
presenter?.viewCreated()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
presenter?.started()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
presenter?.resumed()
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
when (item.itemId) {
|
||||
android.R.id.home -> onBackPressed()
|
||||
}
|
||||
return super.onOptionsItemSelected(item)
|
||||
}
|
||||
|
||||
override fun onBackPressed()
|
||||
: Boolean = (presenter as? OnBackPressHandler)?.onBackPressed() ?: false
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
presenter?.paused()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
presenter?.stopped()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
presenter?.destroyView()
|
||||
super.onDestroyView()
|
||||
presenter?.viewDestroyed()
|
||||
}
|
||||
|
||||
override fun onDetach() {
|
||||
super.onDetach()
|
||||
presenter?.detached()
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.view
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
|
||||
interface MvpView
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.view.custom
|
||||
|
||||
import android.view.View
|
||||
import com.tangem.tangemtest._arch.mvp.presenter.MvpPresenter
|
||||
import com.tangem.tangemtest._arch.mvp.view.MvpView
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
open class BaseMvpCustomView<in V : MvpView>(
|
||||
protected val mainView: View,
|
||||
protected val presenter: MvpPresenter<in V>
|
||||
) : MvpCustomView {
|
||||
|
||||
override fun onViewCreated() {
|
||||
presenter.created()
|
||||
presenter.viewCreated()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
presenter.started()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
presenter.resumed()
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
presenter.paused()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
presenter.stopped()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
presenter.destroyView()
|
||||
}
|
||||
|
||||
override fun onViewDestroyed() {
|
||||
presenter.viewDestroyed()
|
||||
}
|
||||
|
||||
override fun onDetach() {
|
||||
presenter.detached()
|
||||
}
|
||||
|
||||
protected fun <T> bindView(id: Int): T {
|
||||
return mainView.findViewById<View>(id) as T
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
package com.tangem.tangemtest._arch.mvp.view.custom
|
||||
|
||||
import com.tangem.tangemtest._arch.mvp.view.MvpView
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
interface MvpCustomView : MvpView {
|
||||
|
||||
fun onViewCreated()
|
||||
fun onStart()
|
||||
fun onResume()
|
||||
fun onPause()
|
||||
fun onStop()
|
||||
fun onDestroyView()
|
||||
fun onViewDestroyed()
|
||||
fun onDetach()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue