package Ġcom . look ie . inst ad own loader . ui . post details Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġcom . look ie . inst ad own loader . R Ċ import Ġcom . look ie . inst ad own loader . base . Base Activity Ċ import Ġcom . look ie . inst ad own loader . data . remote . model . Edge Model Ċ import Ġcom . look ie . inst ad own loader . data . room . entity . Post Ċ import Ġcom . look ie . inst ad own loader . databinding . Activity Post Details Binding Ċ import Ġcom . look ie . inst ad own loader . ui . custom . Sections Pager Adapter Ċ import Ġcom . look ie . inst ad own loader . ui . download . Post List ViewModel Ċ import Ġcom . look ie . inst ad own loader . utilities . EXTRA _ POST Ċ import Ġcom . look ie . inst ad own loader . utilities . Injector Utils Ċ import Ġcom . look ie . inst ad own loader . utilities . System Utils Ċ import Ġcom . look ie . inst ad own loader . utilities . System Utils . setStatus Bar Color Ċ Ċ class ĠPost Details Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠ Ġprivate Ġvar Ġm Post : ĠPost ? Ġ= Ġnull ĊĊĠ Ġprivate Ġvar ĠmCurrent Post : ĠPost ? Ġ= Ġnull ĊĊĠ Ġprivate Ġval ĠviewModel Post : ĠPost List ViewModel Ġby Ġview Models Ġ{ ĊĠĠĠ ĠInject or Utils . provide Post List ViewModel Factory ( this ) ĊĠ Ġ} ĊĊĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠ Ġset StatusBar Color ( this , Ġandroid . R . color . black ) ĊĊĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util ĊĠĠĠĠĠ Ġ. set ContentView < Activity Post Details Binding >( this , ĠR . layout . activity _ post _ details ) ĊĊĠĠĠ Ġval Ġpager Adapter Ġ= ĊĠĠĠĠĠ ĠSe ctions Pager Adapter ( ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġif Ġ( intent Ġ!= Ġnull Ġ&& Ġintent . extras Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġm Post Ġ= Ġintent . extras !!. get Parcelable ( EXTRA _ POST ) ĊĠĠĠĠĠ ĠmCurrent Post Ġ= Ġm Post ĊĠĠĠĠĠ Ġprintln (" Post Details Activity : Ġ$ m Post ") ĊĊĠĠĠĠĠ Ġval Ġmulti Media Ġ= Ġm Post !!. children . edges !!. isNotEmpty () ĊĠĠĠĠĠ Ġprintln (" multi Media : Ġ$ multi Media ") ĊĊĠĠĠĠĠ Ġif Ġ( multi Media ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( edge : ĠEdge Model Ġin Ġm Post !!. children . edges !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġpager Adapter . add Post ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPost ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedge . note !!. id !! , Ġedge . note !!. shortcode !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedge . note !!. display Url !! , Ġedge . note !!. video Url !! , Ġedge . note !!. is Video , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedge . note !!. text !! , Ġm Post !!. create At , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedge . note !!. children !! , Ġedge . note !!. caption !! , Ġedge . note !!. owner !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġpager Adapter . add Post ( m Post !! ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" pager Adapter . count : Ġ${ pager Adapter . count }") ĊĊĠĠĠ Ġbinding . text Photos . text Ġ= Ġ" 1 /${ pager Adapter . count }" ĊĊĠĠĠ Ġbinding . container . adapter Ġ= Ġpager Adapter ĊĊĠĠĠ Ġbinding . container . add On Page ChangeListener ( object Ġ: ĠView Pager . On Page ChangeListener Ġ{ ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( position : ĠInt , Ġposition Offset : ĠFloat , Ġposition Offset Pixels : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" on Page Sc rolled Ġ$ position ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" on Page Selected Ġ$ position ") ĊĠĠĠĠĠĠĠ Ġbinding . text Photos . text Ġ= Ġ"${ position Ġ+ Ġ 1 }/${ pager Adapter . count }" ĊĠĠĠĠĠĠĠ ĠmCurrent Post Ġ= Ġpager Adapter . m List [ position ] ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" on Page Scroll StateChanged Ġ$ state ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġinit OnClickListener ( binding ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġinit OnClickListener ( binding : ĠActivity Post Details Binding ?) Ġ{ ĊĠĠĠ Ġbinding !!. back . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img View Inst a . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠSystem Utils . open Inst agram ( this , Ġm Post !!. shortcode ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Re post . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠSystem Utils . re post Inst a ( this , ĠmCurrent Post ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Share . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠSystem Utils . share Link ( this , Ġm Post ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Share Media . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠSystem Utils . share Local Media ( this , ĠmCurrent Post ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Delete . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠviewModel Post . delete Post ( m Post ) ĊĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Copy Link . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠSystem Utils . copy Text ( ĊĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠ Ġ" https :// www . instagram . com / p /${ m Post !!. shortcode }/ ", ĊĠĠĠĠĠĠĠ ĠR . string . copied _ link _ to _ clipboard ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbinding . img Copy Caption . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġif Ġ( m Post !!. has Caption Text ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcaption Ġ= Ġm Post !!. get Caption Text () ĊĠĠĠĠĠĠĠ ĠSystem Utils . copy Text ( this , Ġcaption , ĠR . string . copied _ caption _ to _ clipboard ) ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . caption _ not _ found , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }