11package com.armanco.integral
22
33import android.os.Bundle
4- import android.view.View
4+ import androidx.activity.viewModels
55import androidx.appcompat.app.AppCompatActivity
66import androidx.navigation.fragment.NavHostFragment
77import androidx.navigation.ui.AppBarConfiguration
88import androidx.navigation.ui.setupWithNavController
9+ import com.armanco.integral.utils.extensions.configAds
910import com.armanco.integral.utils.extensions.isPersian
1011import com.armanco.integral.utils.extensions.isPro
1112import com.armanco.integral.utils.extensions.setLocale
12- import com.armanco.integral.utils.facade.EventFacade
1313import com.google.android.gms.ads.AdRequest
14+ import com.google.android.gms.ads.AdSize
15+ import com.google.android.gms.ads.AdView
1416import com.google.android.gms.ads.MobileAds
1517import dagger.hilt.android.AndroidEntryPoint
1618import kotlinx.android.synthetic.main.activity_main.*
1719import java.util.*
18- import javax.inject.Inject
20+
1921
2022@AndroidEntryPoint
2123class MainActivity : AppCompatActivity () {
2224
23- @Inject
24- lateinit var eventFacade: EventFacade
25-
2625 override fun onCreate (savedInstanceState : Bundle ? ) {
2726 super .onCreate(savedInstanceState)
2827 setContentView(R .layout.activity_main)
29- if (! isPro) initAdMob()
30- else removeAdMob()
28+ val model: MainViewModel by viewModels()
29+ model.initEvents(this )
30+ model.configAds.observe(this ) {
31+ if (! isPro) initAdMob(it?.bannerId)
32+ else removeAdMob()
33+ }
34+ model.remoteConfig.fetchAndActivate().addOnCompleteListener(this ) {
35+ model.configAds.postValue(model.remoteConfig.configAds)
36+ }
37+
3138 initToolbar()
32- eventFacade.init (this )
3339 }
3440
3541 override fun onResume () {
@@ -39,14 +45,21 @@ class MainActivity: AppCompatActivity() {
3945 }
4046 }
4147
42- private fun initAdMob () {
48+ private fun initAdMob (bannerId : String? ) {
4349 MobileAds .initialize(this )
44- val adRequest = AdRequest .Builder ().build()
45- adView?.loadAd(adRequest)
50+ removeAdMob()
51+ val adView = AdView (this )
52+ adView.adSize = AdSize .BANNER
53+ adView.adUnitId = bannerId
54+ if (adView.adSize != null && adView.adUnitId != null ) {
55+ val adRequest = AdRequest .Builder ().build()
56+ adView.loadAd(adRequest)
57+ adContainer?.addView(adView)
58+ }
4659 }
4760
4861 private fun removeAdMob () {
49- adView?.visibility = View . GONE
62+ adContainer?.removeAllViews()
5063 }
5164
5265 private fun initToolbar () {
0 commit comments