11package juniojsv.mtk.easy.su
22
3- import android.content.*
3+ import android.content.ClipData
4+ import android.content.ClipboardManager
5+ import android.content.Context
6+ import android.content.Intent
7+ import android.content.SharedPreferences
48import android.net.Uri
59import android.os.Build
610import android.os.Bundle
711import android.util.Log
812import androidx.appcompat.app.AlertDialog
913import androidx.appcompat.app.AppCompatActivity
1014import androidx.core.content.edit
15+ import com.applovin.sdk.AppLovinPrivacySettings
16+ import com.applovin.sdk.AppLovinSdk
17+ import com.applovin.sdk.AppLovinSdkSettings
18+ import com.google.android.gms.ads.AdRequest
1119import com.google.android.gms.ads.FullScreenContentCallback
1220import com.google.android.gms.ads.LoadAdError
1321import com.google.android.gms.ads.MobileAds
@@ -23,19 +31,22 @@ import kotlinx.coroutines.withContext
2331import retrofit2.Retrofit
2432import retrofit2.await
2533import retrofit2.converter.gson.GsonConverterFactory
34+ import java.util.Timer
35+ import java.util.TimerTask
2636import kotlin.coroutines.CoroutineContext
2737
2838class MainActivity : AppCompatActivity (), CoroutineScope {
2939 private lateinit var preferences: SharedPreferences
3040 private lateinit var github: GithubRepository
41+ private lateinit var binding: ActivityMainBinding
3142 private var advertising: InterstitialAd ? = null
3243 override val coroutineContext: CoroutineContext
3344 get() = Dispatchers .IO
3445
3546 override fun onCreate (savedInstanceState : Bundle ? ) {
3647 super .onCreate(savedInstanceState)
3748
38- val binding = ActivityMainBinding .inflate(layoutInflater)
49+ binding = ActivityMainBinding .inflate(layoutInflater)
3950 setContentView(binding.root)
4051
4152 preferences = getSharedPreferences(BuildConfig .APPLICATION_ID , Context .MODE_PRIVATE )
@@ -65,8 +76,21 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
6576 }
6677
6778 try {
79+ if (BuildConfig .APPLOVIN_SDK_KEY .isNotBlank()) {
80+ AppLovinPrivacySettings .setHasUserConsent(true , this )
81+ AppLovinSdk .getInstance(
82+ BuildConfig .APPLOVIN_SDK_KEY ,
83+ AppLovinSdkSettings (this ).also { settings ->
84+ if (BuildConfig .DEBUG ) {
85+ settings.setVerboseLogging(true )
86+ }
87+ },
88+ this
89+ ).initializeSdk()
90+ }
6891 MobileAds .initialize(this ) {
69- if (BuildConfig .DEBUG ) {
92+ onSetupBannerAd()
93+ if (BuildConfig .DEBUG && BuildConfig .ADMOB_TEST_DEVICE .isNotBlank()) {
7094 MobileAds .setRequestConfiguration(
7195 RequestConfiguration .Builder ().setTestDeviceIds(
7296 mutableListOf (BuildConfig .ADMOB_TEST_DEVICE )
@@ -143,7 +167,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
143167 binding.mButtonTryRoot.setOnClickListener { button ->
144168 getString(R .string.please_wait).toast(this , true )
145169 button.isEnabled = false
146- loadNewAdvertising {
170+ onLoadFullScreenAd {
147171 ExploitHandler (this ) { result ->
148172 advertising?.show(this )
149173 binding.mLog.text = result.log
@@ -176,9 +200,24 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
176200 }
177201 }
178202
179- private fun loadNewAdvertising (onComplete : (error: LoadAdError ? ) -> Unit ) =
203+ private fun onSetupBannerAd () {
204+ fun onLoadNewAd () = launch(Dispatchers .Main ) {
205+ binding.mBannerAd.loadAd(AdRequest .Builder ().build())
206+ }
207+
208+ Timer ().scheduleAtFixedRate(
209+ object : TimerTask () {
210+ override fun run () {
211+ onLoadNewAd()
212+ }
213+ },
214+ 0 , 3000 ,
215+ )
216+ }
217+
218+ private fun onLoadFullScreenAd (onComplete : (error: LoadAdError ? ) -> Unit ) =
180219 InterstitialAd .load(
181- this , getString(R .string.advertising_id ),
220+ this , getString(R .string.intersticial_advertising_id ),
182221 AdManagerAdRequest .Builder ().build(),
183222 object : InterstitialAdLoadCallback () {
184223 override fun onAdLoaded (interstitial : InterstitialAd ) {
0 commit comments