package Ġcom . e ion g . base app . mvp Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . view binding . View Binding Ċ import Ġcom . blank j . util code . util . Reflect Utils Ċ import Ġcom . e ion g . base app . mvc . Base Activity Ċ import Ġjava . lang . reflect . Parameterized Type Ċ Ċ /** Ċ Ġ* ĠM VP Ċ Ġ* Ċ Ġ* Ġ@ author ĠEI ong Ċ Ġ* Ċ Ġ* Ġ@ param ĠVB Ġ ç»ĳå®ļ è§ĨåĽ¾ Ċ Ġ* Ġ@ param ĠP Ġ Ġæķ°æį® å¤ĦçĲĨ Ċ Ġ*/ Ċ open Ġclass ĠBase Activity < VB Ġ: ĠView Binding , ĠP Ġ: ĠBase Contract . Base Presenter > Ġ: ĠBase Activity < VB >(), ĊĠĠĠ ĠBase Contract . Base View Ġ{ ĊĠĠĠ Ġ/** Ġæķ°æį® å¤ĦçĲĨ Ġ*/ ĊĠĠĠ Ġprotected Ġval Ġp : ĠP Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġjava Class . generic Super class Ġas ĠParameter ized Type ĊĠĠĠĠĠĠĠ Ġval Ġp Class Ġ= Ġtype . actual Type Arguments [ 1 ] Ġas ĠClass < *> ĊĠĠĠĠĠĠĠ ĠReflect Utils . reflect ( p Class ). newInstance (). get () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . initialize ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġp . attach View ( this , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġp . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcancel All () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetach View () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }