Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

This Is Latest Release

$version_release = 2.3.5
$version_release = 2.3.6

What's New??

Expand Down Expand Up @@ -55,7 +55,7 @@ allprojects {
```groovy
dependencies {
// library frogo-sdk
implementation 'com.github.frogobox:frogo-sdk:2.3.5'
implementation 'com.github.frogobox:frogo-sdk:2.3.6'
}
```

Expand All @@ -64,14 +64,14 @@ dependencies {
```groovy
dependencies {
// library frogo-sdk
implementation("com.github.frogobox:frogo-sdk:2.3.5")
implementation("com.github.frogobox:frogo-sdk:2.3.6")
}
```

#### <Option 3> libs.versions.toml
```yml
[versions]
frogoAndroid = "2.3.5"
frogoAndroid = "2.3.6"

[libraries]
frogo-android = { group = "com.github.frogobox", name = "frogo-sdk", version.ref = "frogoAndroid" }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,34 @@
package com.frogobox.appadmob.base
package com.frogobox

import android.content.SharedPreferences
import android.view.Menu
import android.view.MenuItem
import androidx.viewbinding.ViewBinding
import com.frogobox.BuildConfig
import com.frogobox.R
import androidx.viewpager2.widget.ViewPager2
import com.frogobox.ads.model.FrogoAdmobId
import com.frogobox.ads.source.FrogoAdmobApiResponse
import com.frogobox.ads.source.FrogoAdmobRepository
import com.frogobox.ads.ui.FrogoAdActivity
import com.frogobox.ads.ui.FrogoAdBindActivity
import com.frogobox.sdk.delegate.preference.PreferenceDelegates
import com.frogobox.sdk.delegate.preference.PreferenceDelegatesImpl
import com.frogobox.sdk.ext.showLogDebug
import com.google.gson.Gson
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import org.koin.android.ext.android.inject

/**
* Created by Faisal Amir
* FrogoBox Inc License
* =========================================
* ImplementationAdmob
* Copyright (C) 27/11/2019.
* All rights reserved
* Created by faisalamircs on 02/11/2025
* -----------------------------------------
* Name : Muhammad Faisal Amir
* E-mail : faisalamircs@gmail.com
* Github : github.com/amirisback
* LinkedIn : linkedin.com/in/faisalamircs
* -----------------------------------------
* FrogoBox Software Industries
* com.frogobox.admobhelper.base
*
*/
abstract class BaseActivity<VB : ViewBinding> : FrogoAdActivity() {

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

protected val frogoSharedPreferences: SharedPreferences by inject()
abstract class BaseActivity<VB : ViewBinding> : FrogoAdBindActivity<VB>() {

protected val singlePref: PreferenceDelegates by inject<PreferenceDelegatesImpl>()

abstract fun setupViewBinding(): VB
protected val frogoSharedPreferences: SharedPreferences by inject()

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

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

override fun onFinish() {
}

override fun onShowProgress() {
}

override fun onHideProgress() {
}
override fun onFinish() {}
override fun onShowProgress() {}
override fun onHideProgress() {}
})
}

protected inline fun <reified Model> baseGetExtraData(extraKey: String): Model {
val extraIntent = intent.getStringExtra(extraKey)
return Gson().fromJson(extraIntent, Model::class.java)
}

protected fun <Model, VB : ViewBinding> baseFragmentNewInstance(
fragment: BaseFragment<VB>,
argumentKey: String,
extraDataResult: Model
protected fun setupTabTitles(
tabLayout: TabLayout,
viewPager2: ViewPager2,
titles: MutableList<String>,
) {
fragment.baseNewInstance(argumentKey, extraDataResult)
}

override fun onCreateOptionsMenu(menu: Menu): Boolean {
return true
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
android.R.id.home -> {
finish()
true
}
else -> super.onOptionsItemSelected(item)
}
TabLayoutMediator(tabLayout, viewPager2) { tab: TabLayout.Tab, position: Int ->
tab.text = titles[position]
}.attach()
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.frogobox.appadmob.base
package com.frogobox

import android.content.Intent
import android.os.Bundle
Expand All @@ -8,6 +8,7 @@ import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.viewbinding.ViewBinding
import com.frogobox.sdk.view.FrogoBindFragment
import com.google.gson.Gson

/**
Expand All @@ -27,37 +28,17 @@ import com.google.gson.Gson
* com.frogobox.admobhelper.activity
*
*/
abstract class BaseFragment<VB : ViewBinding> : Fragment() {
abstract class BaseFragment<VB : ViewBinding> : FrogoBindFragment<VB>() {

protected var binding: VB? = null
protected lateinit var mBaseActivity: BaseActivity<*>

abstract fun setupViewBinding(inflater: LayoutInflater, container: ViewGroup?): VB

override fun onDestroy() {
super.onDestroy()
binding = null
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mBaseActivity = (activity as BaseActivity<*>)
}

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = setupViewBinding(inflater, container)
return binding?.root
}

protected fun setupChildFragment(frameId: Int, fragment: Fragment) {
childFragmentManager.beginTransaction().apply {
replace(frameId, fragment)
commit()
}
mBaseActivity = (activity as BaseActivity<*>)
return super.onCreateView(inflater, container, savedInstanceState)
}

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

protected fun checkArgument(argsKey: String): Boolean {
return requireArguments().containsKey(argsKey)
}

protected fun setupEventEmptyView(view: View, isEmpty: Boolean) {
if (isEmpty) {
view.visibility = View.VISIBLE
Expand All @@ -97,10 +74,6 @@ abstract class BaseFragment<VB : ViewBinding> : Fragment() {
}
}

protected fun showToast(message: String) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
}

protected inline fun <reified ClassActivity> frogoStartActivity() {
context?.startActivity(Intent(context, ClassActivity::class.java))
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package com.frogobox.appuikit.core
package com.frogobox

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter


/**
* Created by Faisal Amir
* FrogoBox Inc License
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package com.frogobox.appadmob.base
package com.frogobox

import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import com.frogobox.ads.callback.FrogoAdmobInterstitialCallback
import com.frogobox.ads.core.FrogoAdmob
import com.frogobox.appadmob.source.AdmobRepository
import com.frogobox.coresdk.response.FrogoDataResponse
import com.frogobox.sdk.ext.showLogDebug
import com.frogobox.sdk.ext.showLogError
import com.frogobox.sdk.view.FrogoViewModel
import com.google.android.gms.ads.AdError
import com.google.android.gms.ads.FullScreenContentCallback
Expand Down Expand Up @@ -51,18 +53,18 @@ open class BaseViewModel(
data.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdDismissed()")
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdDismissedFullScreenContent [message] : Ad was dismissed")
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdDismissed()")
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdDismissedFullScreenContent [message] : Ad was dismissed")
callback?.onAdDismissed(FrogoAdmob.TAG, "Interstitial Ad was dismissed")
}

override fun onAdFailedToShowFullScreenContent(adError: AdError) {
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdFailedToShow()")
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [unit id] : $")
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [code] : ${adError.code}")
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [domain] : ${adError.domain}")
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [message] : ${adError.message}")
com.frogobox.sdk.ext.showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error : Ad failed to show")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdFailedToShow()")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [unit id] : $")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [code] : ${adError.code}")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [domain] : ${adError.domain}")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error - onAdFailedToShowFullScreenContent [message] : ${adError.message}")
showLogError("${FrogoAdmob.TAG} [Interstitial] >> Error : Ad failed to show")
callback?.onHideAdRequestProgress(
FrogoAdmob.TAG,
"${FrogoAdmob.TAG} [Interstitial] >> Error - onHideAdRequestProgress [message] : onAdFailedToShowFullScreenContent"
Expand All @@ -71,8 +73,8 @@ open class BaseViewModel(
}

override fun onAdShowedFullScreenContent() {
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdShowed()")
com.frogobox.sdk.ext.showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdShowedFullScreenContent [message] : Ad showed fullscreen content")
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Run - IFrogoAdInterstitial [callback] : onAdShowed()")
showLogDebug("${FrogoAdmob.TAG} [Interstitial] >> Succes - onAdShowedFullScreenContent [message] : Ad showed fullscreen content")
callback?.onHideAdRequestProgress(
FrogoAdmob.TAG,
"${FrogoAdmob.TAG} [Interstitial] >> Succes - onHideAdRequestProgress [message] : Ad showed fullscreen content"
Expand Down
8 changes: 2 additions & 6 deletions app/src/main/java/com/frogobox/FrogoApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ import android.app.NotificationManager
import android.content.Context
import android.os.Build
import com.frogobox.appadmob.FrogoAdmobKoinApplication
import com.frogobox.appadmob.di.repositoryAdsModule
import com.frogobox.appadmob.di.viewModelAdsModule
import com.frogobox.appadmob.util.AdHelper
import com.frogobox.appsdk.di.repositoryModule
import com.frogobox.appsdk.di.viewModelModule
import com.frogobox.appsdk.util.AppConstant.CHANNEL_ID
import com.frogobox.appsdk.util.AppConstant.CHANNEL_NAME
import com.frogobox.di.repositoryModule
import com.frogobox.di.viewModelModule
import com.frogobox.sdk.FrogoApplication
import java.util.Locale

Expand Down Expand Up @@ -51,8 +49,6 @@ class FrogoApp : FrogoAdmobKoinApplication() {
listOf(
repositoryModule,
viewModelModule,
viewModelAdsModule,
repositoryAdsModule
)
)
}
Expand Down
43 changes: 0 additions & 43 deletions app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt

This file was deleted.

28 changes: 0 additions & 28 deletions app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt

This file was deleted.

Loading