Skip to content

Commit 77ebca6

Browse files
authored
Merge pull request #79 from frogobox/release/2.3.6
Release/2.3.6
2 parents 44333f6 + 831d7e3 commit 77ebca6

File tree

67 files changed

+174
-466
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+174
-466
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
This Is Latest Release
1515

16-
$version_release = 2.3.5
16+
$version_release = 2.3.6
1717

1818
What's New??
1919

@@ -55,7 +55,7 @@ allprojects {
5555
```groovy
5656
dependencies {
5757
// library frogo-sdk
58-
implementation 'com.github.frogobox:frogo-sdk:2.3.5'
58+
implementation 'com.github.frogobox:frogo-sdk:2.3.6'
5959
}
6060
```
6161

@@ -64,14 +64,14 @@ dependencies {
6464
```groovy
6565
dependencies {
6666
// library frogo-sdk
67-
implementation("com.github.frogobox:frogo-sdk:2.3.5")
67+
implementation("com.github.frogobox:frogo-sdk:2.3.6")
6868
}
6969
```
7070

7171
#### <Option 3> libs.versions.toml
7272
```yml
7373
[versions]
74-
frogoAndroid = "2.3.5"
74+
frogoAndroid = "2.3.6"
7575

7676
[libraries]
7777
frogo-android = { group = "com.github.frogobox", name = "frogo-sdk", version.ref = "frogoAndroid" }
Lines changed: 23 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,34 @@
1-
package com.frogobox.appadmob.base
1+
package com.frogobox
22

33
import android.content.SharedPreferences
4-
import android.view.Menu
5-
import android.view.MenuItem
64
import androidx.viewbinding.ViewBinding
7-
import com.frogobox.BuildConfig
8-
import com.frogobox.R
5+
import androidx.viewpager2.widget.ViewPager2
96
import com.frogobox.ads.model.FrogoAdmobId
107
import com.frogobox.ads.source.FrogoAdmobApiResponse
118
import com.frogobox.ads.source.FrogoAdmobRepository
12-
import com.frogobox.ads.ui.FrogoAdActivity
9+
import com.frogobox.ads.ui.FrogoAdBindActivity
10+
import com.frogobox.sdk.delegate.preference.PreferenceDelegates
11+
import com.frogobox.sdk.delegate.preference.PreferenceDelegatesImpl
1312
import com.frogobox.sdk.ext.showLogDebug
14-
import com.google.gson.Gson
13+
import com.google.android.material.tabs.TabLayout
14+
import com.google.android.material.tabs.TabLayoutMediator
1515
import org.koin.android.ext.android.inject
1616

1717
/**
18-
* Created by Faisal Amir
19-
* FrogoBox Inc License
20-
* =========================================
21-
* ImplementationAdmob
22-
* Copyright (C) 27/11/2019.
23-
* All rights reserved
18+
* Created by faisalamircs on 02/11/2025
2419
* -----------------------------------------
2520
* Name : Muhammad Faisal Amir
2621
* E-mail : faisalamircs@gmail.com
2722
* Github : github.com/amirisback
28-
* LinkedIn : linkedin.com/in/faisalamircs
2923
* -----------------------------------------
30-
* FrogoBox Software Industries
31-
* com.frogobox.admobhelper.base
32-
*
3324
*/
34-
abstract class BaseActivity<VB : ViewBinding> : FrogoAdActivity() {
3525

36-
protected val binding: VB by lazy { setupViewBinding() }
3726

38-
protected val frogoSharedPreferences: SharedPreferences by inject()
27+
abstract class BaseActivity<VB : ViewBinding> : FrogoAdBindActivity<VB>() {
28+
29+
protected val singlePref: PreferenceDelegates by inject<PreferenceDelegatesImpl>()
3930

40-
abstract fun setupViewBinding(): VB
31+
protected val frogoSharedPreferences: SharedPreferences by inject()
4132

4233
override fun setupDebugMode(): Boolean {
4334
return BuildConfig.DEBUG
@@ -54,8 +45,7 @@ abstract class BaseActivity<VB : ViewBinding> : FrogoAdActivity() {
5445
}
5546

5647
protected fun requestAdmobApi() {
57-
val baseUrl =
58-
"https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
48+
val baseUrl = "https://raw.githubusercontent.com/amirisback/frogo-admob/master/app/src/main/assets/"
5949
val frogoAdmobRepository = FrogoAdmobRepository(BuildConfig.DEBUG, baseUrl)
6050
frogoAdmobRepository.usingClient(this)
6151
frogoAdmobRepository.getFrogoAdmobId(
@@ -78,42 +68,20 @@ abstract class BaseActivity<VB : ViewBinding> : FrogoAdActivity() {
7868
}
7969
}
8070

81-
override fun onFinish() {
82-
}
83-
84-
override fun onShowProgress() {
85-
}
86-
87-
override fun onHideProgress() {
88-
}
71+
override fun onFinish() {}
72+
override fun onShowProgress() {}
73+
override fun onHideProgress() {}
8974
})
9075
}
9176

92-
protected inline fun <reified Model> baseGetExtraData(extraKey: String): Model {
93-
val extraIntent = intent.getStringExtra(extraKey)
94-
return Gson().fromJson(extraIntent, Model::class.java)
95-
}
96-
97-
protected fun <Model, VB : ViewBinding> baseFragmentNewInstance(
98-
fragment: BaseFragment<VB>,
99-
argumentKey: String,
100-
extraDataResult: Model
77+
protected fun setupTabTitles(
78+
tabLayout: TabLayout,
79+
viewPager2: ViewPager2,
80+
titles: MutableList<String>,
10181
) {
102-
fragment.baseNewInstance(argumentKey, extraDataResult)
103-
}
104-
105-
override fun onCreateOptionsMenu(menu: Menu): Boolean {
106-
return true
107-
}
108-
109-
override fun onOptionsItemSelected(item: MenuItem): Boolean {
110-
return when (item.itemId) {
111-
android.R.id.home -> {
112-
finish()
113-
true
114-
}
115-
else -> super.onOptionsItemSelected(item)
116-
}
82+
TabLayoutMediator(tabLayout, viewPager2) { tab: TabLayout.Tab, position: Int ->
83+
tab.text = titles[position]
84+
}.attach()
11785
}
11886

11987
}

app/src/main/java/com/frogobox/appadmob/base/BaseFragment.kt renamed to app/src/main/java/com/frogobox/BaseFragment.kt

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.frogobox.appadmob.base
1+
package com.frogobox
22

33
import android.content.Intent
44
import android.os.Bundle
@@ -8,6 +8,7 @@ import android.view.ViewGroup
88
import android.widget.Toast
99
import androidx.fragment.app.Fragment
1010
import androidx.viewbinding.ViewBinding
11+
import com.frogobox.sdk.view.FrogoBindFragment
1112
import com.google.gson.Gson
1213

1314
/**
@@ -27,37 +28,17 @@ import com.google.gson.Gson
2728
* com.frogobox.admobhelper.activity
2829
*
2930
*/
30-
abstract class BaseFragment<VB : ViewBinding> : Fragment() {
31+
abstract class BaseFragment<VB : ViewBinding> : FrogoBindFragment<VB>() {
3132

32-
protected var binding: VB? = null
3333
protected lateinit var mBaseActivity: BaseActivity<*>
3434

35-
abstract fun setupViewBinding(inflater: LayoutInflater, container: ViewGroup?): VB
36-
37-
override fun onDestroy() {
38-
super.onDestroy()
39-
binding = null
40-
}
41-
42-
override fun onCreate(savedInstanceState: Bundle?) {
43-
super.onCreate(savedInstanceState)
44-
mBaseActivity = (activity as BaseActivity<*>)
45-
}
46-
4735
override fun onCreateView(
4836
inflater: LayoutInflater,
4937
container: ViewGroup?,
5038
savedInstanceState: Bundle?
5139
): View? {
52-
binding = setupViewBinding(inflater, container)
53-
return binding?.root
54-
}
55-
56-
protected fun setupChildFragment(frameId: Int, fragment: Fragment) {
57-
childFragmentManager.beginTransaction().apply {
58-
replace(frameId, fragment)
59-
commit()
60-
}
40+
mBaseActivity = (activity as BaseActivity<*>)
41+
return super.onCreateView(inflater, container, savedInstanceState)
6142
}
6243

6344
protected fun setupShowAdsInterstitial(interstitialAdUnitId: String) {
@@ -77,10 +58,6 @@ abstract class BaseFragment<VB : ViewBinding> : Fragment() {
7758
return Gson().fromJson(argsData, Model::class.java)
7859
}
7960

80-
protected fun checkArgument(argsKey: String): Boolean {
81-
return requireArguments().containsKey(argsKey)
82-
}
83-
8461
protected fun setupEventEmptyView(view: View, isEmpty: Boolean) {
8562
if (isEmpty) {
8663
view.visibility = View.VISIBLE
@@ -97,10 +74,6 @@ abstract class BaseFragment<VB : ViewBinding> : Fragment() {
9774
}
9875
}
9976

100-
protected fun showToast(message: String) {
101-
Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
102-
}
103-
10477
protected inline fun <reified ClassActivity> frogoStartActivity() {
10578
context?.startActivity(Intent(context, ClassActivity::class.java))
10679
}

app/src/main/java/com/frogobox/appuikit/core/BasePagerAdapter.kt renamed to app/src/main/java/com/frogobox/BasePagerAdapter.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
package com.frogobox.appuikit.core
1+
package com.frogobox
22

33
import androidx.fragment.app.Fragment
44
import androidx.fragment.app.FragmentActivity
55
import androidx.viewpager2.adapter.FragmentStateAdapter
66

7-
87
/**
98
* Created by Faisal Amir
109
* FrogoBox Inc License

app/src/main/java/com/frogobox/appadmob/base/BaseViewModel.kt renamed to app/src/main/java/com/frogobox/BaseViewModel.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
package com.frogobox.appadmob.base
1+
package com.frogobox
22

33
import android.content.Context
44
import androidx.appcompat.app.AppCompatActivity
55
import com.frogobox.ads.callback.FrogoAdmobInterstitialCallback
66
import com.frogobox.ads.core.FrogoAdmob
77
import com.frogobox.appadmob.source.AdmobRepository
88
import com.frogobox.coresdk.response.FrogoDataResponse
9+
import com.frogobox.sdk.ext.showLogDebug
10+
import com.frogobox.sdk.ext.showLogError
911
import com.frogobox.sdk.view.FrogoViewModel
1012
import com.google.android.gms.ads.AdError
1113
import com.google.android.gms.ads.FullScreenContentCallback
@@ -51,18 +53,18 @@ open class BaseViewModel(
5153
data.fullScreenContentCallback =
5254
object : FullScreenContentCallback() {
5355
override fun onAdDismissedFullScreenContent() {
54-
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdDismissed()")
55-
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdDismissedFullScreenContent [message] : Ad was dismissed")
56+
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdDismissed()")
57+
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdDismissedFullScreenContent [message] : Ad was dismissed")
5658
callback?.onAdDismissed(FrogoAdmob.TAG, "Interstitial Ad was dismissed")
5759
}
5860

5961
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
60-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdFailedToShow()")
61-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [unit id] : $")
62-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [code] : ${adError.code}")
63-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [domain] : ${adError.domain}")
64-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [message] : ${adError.message}")
65-
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error : Ad failed to show")
62+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdFailedToShow()")
63+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [unit id] : $")
64+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [code] : ${adError.code}")
65+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [domain] : ${adError.domain}")
66+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [message] : ${adError.message}")
67+
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error : Ad failed to show")
6668
callback?.onHideAdRequestProgress(
6769
FrogoAdmob.TAG,
6870
"${FrogoAdmob.TAG} [Interstitial] >> Error - onHideAdRequestProgress [message] : onAdFailedToShowFullScreenContent"
@@ -71,8 +73,8 @@ open class BaseViewModel(
7173
}
7274

7375
override fun onAdShowedFullScreenContent() {
74-
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdShowed()")
75-
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdShowedFullScreenContent [message] : Ad showed fullscreen content")
76+
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdShowed()")
77+
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdShowedFullScreenContent [message] : Ad showed fullscreen content")
7678
callback?.onHideAdRequestProgress(
7779
FrogoAdmob.TAG,
7880
"${FrogoAdmob.TAG} [Interstitial] >> Succes - onHideAdRequestProgress [message] : Ad showed fullscreen content"

app/src/main/java/com/frogobox/FrogoApp.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ import android.app.NotificationManager
55
import android.content.Context
66
import android.os.Build
77
import com.frogobox.appadmob.FrogoAdmobKoinApplication
8-
import com.frogobox.appadmob.di.repositoryAdsModule
9-
import com.frogobox.appadmob.di.viewModelAdsModule
108
import com.frogobox.appadmob.util.AdHelper
11-
import com.frogobox.appsdk.di.repositoryModule
12-
import com.frogobox.appsdk.di.viewModelModule
139
import com.frogobox.appsdk.util.AppConstant.CHANNEL_ID
1410
import com.frogobox.appsdk.util.AppConstant.CHANNEL_NAME
11+
import com.frogobox.di.repositoryModule
12+
import com.frogobox.di.viewModelModule
1513
import com.frogobox.sdk.FrogoApplication
1614
import java.util.Locale
1715

@@ -51,8 +49,6 @@ class FrogoApp : FrogoAdmobKoinApplication() {
5149
listOf(
5250
repositoryModule,
5351
viewModelModule,
54-
viewModelAdsModule,
55-
repositoryAdsModule
5652
)
5753
)
5854
}

app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt

Lines changed: 0 additions & 43 deletions
This file was deleted.

app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)