From a6cce36d7d4b794d6cdcd09a69c36faca7ed9508 Mon Sep 17 00:00:00 2001 From: amirisback Date: Sun, 2 Nov 2025 16:36:49 +0700 Subject: [PATCH 1/2] update: update base code --- .../{appadmob/base => }/BaseActivity.kt | 78 ++++++------------- .../{appadmob/base => }/BaseFragment.kt | 37 ++------- .../{appuikit/core => }/BasePagerAdapter.kt | 3 +- .../{appadmob/base => }/BaseViewModel.kt | 24 +++--- app/src/main/java/com/frogobox/FrogoApp.kt | 8 +- .../appadmob/di/RepositoryAdsModule.kt | 43 ---------- .../appadmob/di/ViewModelAdsModule.kt | 28 ------- .../mvvm/appopenad/AppOpenAdActivity.kt | 4 +- .../appadmob/mvvm/banner/BannerActivity.kt | 2 +- .../mvvm/interstitial/InterstitialActivity.kt | 4 +- .../appadmob/mvvm/main/AboutUsActivity.kt | 4 +- .../appadmob/mvvm/main/MainAdmobActivity.kt | 2 +- .../appadmob/mvvm/main/MainAdmobViewModel.kt | 2 +- .../appadmob/mvvm/main/MainFragment.kt | 2 +- .../mvvm/main/MainJavaAdmobActivity.java | 2 +- .../mvvm/rewarded/RewardedActivity.kt | 2 +- .../apprecycler/MainFrogoRvActivity.kt | 2 +- .../frogobox/apprecycler/core/BaseActivity.kt | 59 -------------- .../apprecycler/core/BaseJavaActivity.java | 5 +- .../sample/issue/AnswerIssueActivity.kt | 2 +- .../KotlinNoAdapterMultiVewActivity.kt | 3 +- .../progress/KotlinProgressActivity.kt | 2 +- .../shimmer/KotlinShimmerActivity.kt | 2 +- .../simple/KotlinNoAdapterActivity.kt | 3 +- .../nested/KotlinNestedActivity.kt | 2 +- .../nested/KotlinSimpleNestedActivity.kt | 3 +- .../simple/KotlinSampleActivity.kt | 2 +- .../com/frogobox/appsdk/core/BaseActivity.kt | 26 ------- .../com/frogobox/appsdk/log/LogActivity.kt | 2 +- .../frogobox/appsdk/main/CoreMainActivity.kt | 2 +- .../appsdk/main/MainJavaActivity.java | 2 +- .../com/frogobox/appsdk/news/NewsActivity.kt | 2 +- .../appsdk/news/NewsDetailActivity.kt | 2 +- .../appsdk/news/result/NewsResultActivity.kt | 2 +- .../custom/CustomNotifActivity.kt | 2 +- .../notification/custom/ReplyActivity.kt | 2 +- .../notification/simple/MainNotifActivity.kt | 2 +- .../notification/simple/ManualActivity.kt | 2 +- .../notification/stack/StackNotifActivity.kt | 2 +- .../frogobox/appsdk/piracy/KotlinActivity.kt | 5 +- .../appsdk/piracy/PiracyMainActivity.java | 2 +- .../appsdk/viewpager/VPagerActivity.kt | 2 +- .../com/frogobox/appuikit/MainUIActivity.kt | 3 +- .../animation/SampleFrogoAnimationActivity.kt | 3 +- .../SampleFrogoAnimationTransitionActivity.kt | 3 +- .../frogobox/appuikit/core/BaseActivity.kt | 72 ----------------- .../frogobox/appuikit/core/BaseFragment.kt | 51 ------------ .../DetailLoadingIndicatorActivity.kt | 3 +- ...SampleFrogoLoadingIndicatorViewActivity.kt | 3 +- .../appuikit/recycler/RecyclerGridFragment.kt | 4 +- .../appuikit/recycler/RecyclerListFragment.kt | 4 +- .../appuikit/recycler/RecyclerViewActivity.kt | 5 +- .../recycler/RecyclerViewDetailActivity.kt | 3 +- .../{appsdk => }/di/RepositoryModule.kt | 17 +++- .../{appsdk => }/di/ViewModelModule.kt | 8 +- app/src/main/res/values-night/themes.xml | 4 +- app/src/main/res/values-v27/themes.xml | 2 +- app/src/main/res/values/themes.xml | 4 +- .../java/com/frogobox/ads/ui/AdmobActivity.kt | 3 +- .../com/frogobox/ads/ui/FrogoAdActivity.kt | 3 +- .../com/frogobox/ads/ui/FrogoAdmobActivity.kt | 3 +- .../frogobox/ads/ui/FrogoAdmobBindActivity.kt | 3 +- .../com/frogobox/sdk/view/FrogoActivity.kt | 18 ++++- .../frogobox/sdk/view/FrogoBindActivity.kt | 10 +++ gradle/libs.versions.toml | 14 ++-- 65 files changed, 169 insertions(+), 461 deletions(-) rename app/src/main/java/com/frogobox/{appadmob/base => }/BaseActivity.kt (53%) rename app/src/main/java/com/frogobox/{appadmob/base => }/BaseFragment.kt (72%) rename app/src/main/java/com/frogobox/{appuikit/core => }/BasePagerAdapter.kt (96%) rename app/src/main/java/com/frogobox/{appadmob/base => }/BaseViewModel.kt (65%) delete mode 100644 app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt delete mode 100644 app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt delete mode 100644 app/src/main/java/com/frogobox/apprecycler/core/BaseActivity.kt delete mode 100644 app/src/main/java/com/frogobox/appsdk/core/BaseActivity.kt delete mode 100644 app/src/main/java/com/frogobox/appuikit/core/BaseActivity.kt delete mode 100644 app/src/main/java/com/frogobox/appuikit/core/BaseFragment.kt rename app/src/main/java/com/frogobox/{appsdk => }/di/RepositoryModule.kt (77%) rename app/src/main/java/com/frogobox/{appsdk => }/di/ViewModelModule.kt (76%) diff --git a/app/src/main/java/com/frogobox/appadmob/base/BaseActivity.kt b/app/src/main/java/com/frogobox/BaseActivity.kt similarity index 53% rename from app/src/main/java/com/frogobox/appadmob/base/BaseActivity.kt rename to app/src/main/java/com/frogobox/BaseActivity.kt index b737c45..712044f 100644 --- a/app/src/main/java/com/frogobox/appadmob/base/BaseActivity.kt +++ b/app/src/main/java/com/frogobox/BaseActivity.kt @@ -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 : FrogoAdActivity() { - protected val binding: VB by lazy { setupViewBinding() } - protected val frogoSharedPreferences: SharedPreferences by inject() +abstract class BaseActivity : FrogoAdBindActivity() { + + protected val singlePref: PreferenceDelegates by inject() - abstract fun setupViewBinding(): VB + protected val frogoSharedPreferences: SharedPreferences by inject() override fun setupDebugMode(): Boolean { return BuildConfig.DEBUG @@ -54,8 +45,7 @@ abstract class BaseActivity : 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( @@ -78,42 +68,20 @@ abstract class BaseActivity : FrogoAdActivity() { } } - override fun onFinish() { - } - - override fun onShowProgress() { - } - - override fun onHideProgress() { - } + override fun onFinish() {} + override fun onShowProgress() {} + override fun onHideProgress() {} }) } - protected inline fun baseGetExtraData(extraKey: String): Model { - val extraIntent = intent.getStringExtra(extraKey) - return Gson().fromJson(extraIntent, Model::class.java) - } - - protected fun baseFragmentNewInstance( - fragment: BaseFragment, - argumentKey: String, - extraDataResult: Model + protected fun setupTabTitles( + tabLayout: TabLayout, + viewPager2: ViewPager2, + titles: MutableList, ) { - 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() } } \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appadmob/base/BaseFragment.kt b/app/src/main/java/com/frogobox/BaseFragment.kt similarity index 72% rename from app/src/main/java/com/frogobox/appadmob/base/BaseFragment.kt rename to app/src/main/java/com/frogobox/BaseFragment.kt index dfcc4c3..cc40210 100644 --- a/app/src/main/java/com/frogobox/appadmob/base/BaseFragment.kt +++ b/app/src/main/java/com/frogobox/BaseFragment.kt @@ -1,4 +1,4 @@ -package com.frogobox.appadmob.base +package com.frogobox import android.content.Intent import android.os.Bundle @@ -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 /** @@ -27,37 +28,17 @@ import com.google.gson.Gson * com.frogobox.admobhelper.activity * */ -abstract class BaseFragment : Fragment() { +abstract class BaseFragment : FrogoBindFragment() { - 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) { @@ -77,10 +58,6 @@ abstract class BaseFragment : 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 @@ -97,10 +74,6 @@ abstract class BaseFragment : Fragment() { } } - protected fun showToast(message: String) { - Toast.makeText(context, message, Toast.LENGTH_SHORT).show() - } - protected inline fun frogoStartActivity() { context?.startActivity(Intent(context, ClassActivity::class.java)) } diff --git a/app/src/main/java/com/frogobox/appuikit/core/BasePagerAdapter.kt b/app/src/main/java/com/frogobox/BasePagerAdapter.kt similarity index 96% rename from app/src/main/java/com/frogobox/appuikit/core/BasePagerAdapter.kt rename to app/src/main/java/com/frogobox/BasePagerAdapter.kt index 447f046..77fe925 100644 --- a/app/src/main/java/com/frogobox/appuikit/core/BasePagerAdapter.kt +++ b/app/src/main/java/com/frogobox/BasePagerAdapter.kt @@ -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 diff --git a/app/src/main/java/com/frogobox/appadmob/base/BaseViewModel.kt b/app/src/main/java/com/frogobox/BaseViewModel.kt similarity index 65% rename from app/src/main/java/com/frogobox/appadmob/base/BaseViewModel.kt rename to app/src/main/java/com/frogobox/BaseViewModel.kt index 4d121fb..e15f198 100644 --- a/app/src/main/java/com/frogobox/appadmob/base/BaseViewModel.kt +++ b/app/src/main/java/com/frogobox/BaseViewModel.kt @@ -1,4 +1,4 @@ -package com.frogobox.appadmob.base +package com.frogobox import android.content.Context import androidx.appcompat.app.AppCompatActivity @@ -6,6 +6,8 @@ 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 @@ -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" @@ -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" diff --git a/app/src/main/java/com/frogobox/FrogoApp.kt b/app/src/main/java/com/frogobox/FrogoApp.kt index 4669f3b..283e0d8 100644 --- a/app/src/main/java/com/frogobox/FrogoApp.kt +++ b/app/src/main/java/com/frogobox/FrogoApp.kt @@ -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 @@ -51,8 +49,6 @@ class FrogoApp : FrogoAdmobKoinApplication() { listOf( repositoryModule, viewModelModule, - viewModelAdsModule, - repositoryAdsModule ) ) } diff --git a/app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt b/app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt deleted file mode 100644 index 58bf651..0000000 --- a/app/src/main/java/com/frogobox/appadmob/di/RepositoryAdsModule.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.frogobox.appadmob.di - -import com.frogobox.appadmob.source.AdmobLocalDataSource -import com.frogobox.appadmob.source.AdmobRemoteDataSource -import com.frogobox.appadmob.source.AdmobRepository -import com.frogobox.sdk.delegate.preference.PreferenceDelegatesImpl -import com.frogobox.sdk.util.AppExecutors -import org.koin.android.ext.koin.androidContext -import org.koin.dsl.module - - -/** - * Created by faisalamir on 19/04/22 - * FrogoAdmob - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * Copyright (C) 2022 Frogobox Media Inc. - * All rights reserved - * - */ - -val repositoryAdsModule = module { - - single { - PreferenceDelegatesImpl(androidContext(), "com_frogobox_appadmob") - } - - single { - AdmobLocalDataSource(AppExecutors(), get()) - } - - single { - AdmobRemoteDataSource() - } - - single { - AdmobRepository(get(), get()) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt b/app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt deleted file mode 100644 index 9f2fffe..0000000 --- a/app/src/main/java/com/frogobox/appadmob/di/ViewModelAdsModule.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.frogobox.appadmob.di - -import com.frogobox.appadmob.mvvm.main.MainAdmobViewModel -import org.koin.android.ext.koin.androidContext -import org.koin.androidx.viewmodel.dsl.viewModel -import org.koin.dsl.module - - -/** - * Created by faisalamir on 19/04/22 - * FrogoAdmob - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * Copyright (C) 2022 Frogobox Media Inc. - * All rights reserved - * - */ - -val viewModelAdsModule = module { - - viewModel { - MainAdmobViewModel(androidContext(), get()) - } - -} diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/appopenad/AppOpenAdActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/appopenad/AppOpenAdActivity.kt index 375c11d..ac085a0 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/appopenad/AppOpenAdActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/appopenad/AppOpenAdActivity.kt @@ -2,9 +2,9 @@ package com.frogobox.appadmob.mvvm.appopenad import android.os.Bundle import android.util.Log +import com.frogobox.BaseActivity import com.frogobox.FrogoApp import com.frogobox.ads.callback.FrogoAdmobAppOpenAdCallback -import com.frogobox.ads.ui.FrogoAdBindActivity import com.frogobox.appadmob.util.AdHelper import com.frogobox.databinding.ActivityAppOpenAdBinding import com.frogobox.sdk.ext.gone @@ -22,7 +22,7 @@ import com.frogobox.sdk.ext.visible */ -class AppOpenAdActivity : FrogoAdBindActivity(), +class AppOpenAdActivity : BaseActivity(), FrogoAdmobAppOpenAdCallback { companion object { diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/banner/BannerActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/banner/BannerActivity.kt index 2e55409..533725a 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/banner/BannerActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/banner/BannerActivity.kt @@ -1,6 +1,6 @@ package com.frogobox.appadmob.mvvm.banner -import com.frogobox.appadmob.base.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityBannerBinding class BannerActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/interstitial/InterstitialActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/interstitial/InterstitialActivity.kt index 88a5d49..cc41a23 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/interstitial/InterstitialActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/interstitial/InterstitialActivity.kt @@ -1,18 +1,18 @@ package com.frogobox.appadmob.mvvm.interstitial import android.os.Bundle +import com.frogobox.BaseActivity import com.frogobox.R import com.frogobox.ads.callback.FrogoAdInterstitialCallback import com.frogobox.ads.callback.FrogoAdmobInterstitialCallback import com.frogobox.ads.callback.FrogoUnityAdInterstitialCallback -import com.frogobox.ads.ui.FrogoAdBindActivity import com.frogobox.databinding.ActivityInterstitialBinding import com.frogobox.sdk.ext.gone import com.frogobox.sdk.ext.showLogDebug import com.frogobox.sdk.ext.showToast import com.frogobox.sdk.ext.visible -class InterstitialActivity : FrogoAdBindActivity(), +class InterstitialActivity : BaseActivity(), FrogoAdmobInterstitialCallback, FrogoUnityAdInterstitialCallback, FrogoAdInterstitialCallback { companion object { diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/main/AboutUsActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/main/AboutUsActivity.kt index 9a217ec..71204a5 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/main/AboutUsActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/main/AboutUsActivity.kt @@ -1,10 +1,10 @@ package com.frogobox.appadmob.mvvm.main import android.os.Bundle -import com.frogobox.ads.ui.FrogoAdBindActivity +import com.frogobox.BaseActivity import com.frogobox.sdk.databinding.ActivityFrogoAboutUsBinding -class AboutUsActivity : FrogoAdBindActivity() { +class AboutUsActivity : BaseActivity() { override fun setupViewBinding(): ActivityFrogoAboutUsBinding { return ActivityFrogoAboutUsBinding.inflate(layoutInflater) diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobActivity.kt index 336e86c..acd2c07 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobActivity.kt @@ -4,10 +4,10 @@ import android.app.Activity import android.os.Bundle import android.view.Menu import android.view.MenuItem +import com.frogobox.BaseActivity import com.frogobox.BuildConfig import com.frogobox.R import com.frogobox.ads.core.IFrogoAdConsent -import com.frogobox.appadmob.base.BaseActivity import com.frogobox.appadmob.mvvm.appopenad.AppOpenAdActivity import com.frogobox.appadmob.mvvm.interstitial.InterstitialActivity import com.frogobox.appadmob.mvvm.rewarded.RewardedActivity diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobViewModel.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobViewModel.kt index d08ae78..25a4a21 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobViewModel.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainAdmobViewModel.kt @@ -1,7 +1,7 @@ package com.frogobox.appadmob.mvvm.main import android.content.Context -import com.frogobox.appadmob.base.BaseViewModel +import com.frogobox.BaseViewModel import com.frogobox.appadmob.source.AdmobRepository diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainFragment.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainFragment.kt index ee43fda..cdd3724 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainFragment.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainFragment.kt @@ -3,7 +3,7 @@ package com.frogobox.appadmob.mvvm.main import android.view.LayoutInflater import android.view.ViewGroup import androidx.fragment.app.Fragment -import com.frogobox.appadmob.base.BaseFragment +import com.frogobox.BaseFragment import com.frogobox.databinding.FragmentMainAdmobBinding /** diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainJavaAdmobActivity.java b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainJavaAdmobActivity.java index 5716cd9..b9cf4c9 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainJavaAdmobActivity.java +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/main/MainJavaAdmobActivity.java @@ -5,10 +5,10 @@ import androidx.annotation.NonNull; +import com.frogobox.BaseActivity; import com.frogobox.R; import com.frogobox.ads.callback.FrogoAdmobInterstitialCallback; import com.frogobox.ads.callback.FrogoAdmobRewardedCallback; -import com.frogobox.appadmob.base.BaseActivity; import com.frogobox.databinding.ActivityMainAdmobBinding; import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.rewarded.RewardItem; diff --git a/app/src/main/java/com/frogobox/appadmob/mvvm/rewarded/RewardedActivity.kt b/app/src/main/java/com/frogobox/appadmob/mvvm/rewarded/RewardedActivity.kt index 7d3b8e5..4170bc4 100644 --- a/app/src/main/java/com/frogobox/appadmob/mvvm/rewarded/RewardedActivity.kt +++ b/app/src/main/java/com/frogobox/appadmob/mvvm/rewarded/RewardedActivity.kt @@ -1,9 +1,9 @@ package com.frogobox.appadmob.mvvm.rewarded import android.os.Bundle +import com.frogobox.BaseActivity import com.frogobox.R import com.frogobox.ads.callback.FrogoAdmobRewardedCallback -import com.frogobox.appadmob.base.BaseActivity import com.frogobox.databinding.ActivityRewardedBinding import com.frogobox.sdk.ext.gone import com.frogobox.sdk.ext.showToast diff --git a/app/src/main/java/com/frogobox/apprecycler/MainFrogoRvActivity.kt b/app/src/main/java/com/frogobox/apprecycler/MainFrogoRvActivity.kt index aa715fc..ffca5b1 100644 --- a/app/src/main/java/com/frogobox/apprecycler/MainFrogoRvActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/MainFrogoRvActivity.kt @@ -2,7 +2,7 @@ package com.frogobox.apprecycler import android.content.Intent import android.os.Bundle -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.apprecycler.sample.issue.AnswerIssueActivity import com.frogobox.apprecycler.sample.java.noadapter.multiview.JavaNoAdapterMultiViewActivity import com.frogobox.apprecycler.sample.java.noadapter.simple.JavaNoAdapterActivity diff --git a/app/src/main/java/com/frogobox/apprecycler/core/BaseActivity.kt b/app/src/main/java/com/frogobox/apprecycler/core/BaseActivity.kt deleted file mode 100644 index 4cc6afa..0000000 --- a/app/src/main/java/com/frogobox/apprecycler/core/BaseActivity.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.frogobox.apprecycler.core - -import android.os.Bundle -import android.view.Menu -import android.view.MenuItem -import android.widget.Toast -import androidx.appcompat.app.AppCompatActivity -import androidx.viewbinding.ViewBinding - -/* - * Created by Faisal Amir - * ========================================= - * FrogoRecyclerViewAdapter - * Copyright (C) 19/04/2020. - * All rights reserved - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * FrogoBox Inc - * com.frogobox.recycler.base - * - */ -abstract class BaseActivity : AppCompatActivity() { - - protected val binding: VB by lazy { setupViewBinding() } - - abstract fun setupViewBinding() : VB - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(binding.root) - } - - protected fun setupDetailActivity(title: String) { - supportActionBar?.title = title - supportActionBar?.setDisplayHomeAsUpEnabled(true) - } - - 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) - } - } - - protected fun showToast(message: String) { - Toast.makeText(this, message, Toast.LENGTH_SHORT).show() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/apprecycler/core/BaseJavaActivity.java b/app/src/main/java/com/frogobox/apprecycler/core/BaseJavaActivity.java index 95e1aa6..0696f98 100644 --- a/app/src/main/java/com/frogobox/apprecycler/core/BaseJavaActivity.java +++ b/app/src/main/java/com/frogobox/apprecycler/core/BaseJavaActivity.java @@ -21,6 +21,8 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import java.util.Objects; + public abstract class BaseJavaActivity extends AppCompatActivity { protected VB binding; @@ -33,9 +35,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { binding = setupViewBinding(); } - protected void setupDetailActivity(String title) { - getSupportActionBar().setTitle(title); + Objects.requireNonNull(getSupportActionBar()).setTitle(title); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/issue/AnswerIssueActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/issue/AnswerIssueActivity.kt index 5dc2174..fd355e0 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/issue/AnswerIssueActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/issue/AnswerIssueActivity.kt @@ -5,7 +5,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.apprecycler.model.ExampleModel import com.frogobox.apprecycler.util.Constant import com.frogobox.databinding.ActivityAnswerIssueBinding diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/multiview/KotlinNoAdapterMultiVewActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/multiview/KotlinNoAdapterMultiVewActivity.kt index b4b69fe..40179f7 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/multiview/KotlinNoAdapterMultiVewActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/multiview/KotlinNoAdapterMultiVewActivity.kt @@ -5,7 +5,7 @@ import android.view.View import android.widget.ImageView import android.widget.TextView import com.bumptech.glide.Glide -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.apprecycler.model.ExampleModel import com.frogobox.databinding.ActivityFrogoRvGridBinding import com.frogobox.recycler.core.FrogoHolder @@ -13,6 +13,7 @@ import com.frogobox.recycler.core.FrogoRecyclerNotifyListener import com.frogobox.recycler.core.FrogoRecyclerViewListener import com.frogobox.recycler.core.FrogoRvConstant import com.frogobox.recycler.core.IFrogoViewHolder +import com.frogobox.sdk.ext.showToast import com.frogobox.ui.R class KotlinNoAdapterMultiVewActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/progress/KotlinProgressActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/progress/KotlinProgressActivity.kt index 989dae3..a3fa15c 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/progress/KotlinProgressActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/progress/KotlinProgressActivity.kt @@ -1,6 +1,6 @@ package com.frogobox.apprecycler.sample.kotlin.noadapter.progress -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityKotlinProgressBinding class KotlinProgressActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/shimmer/KotlinShimmerActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/shimmer/KotlinShimmerActivity.kt index 3a82452..729cf16 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/shimmer/KotlinShimmerActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/shimmer/KotlinShimmerActivity.kt @@ -1,6 +1,6 @@ package com.frogobox.apprecycler.sample.kotlin.noadapter.shimmer -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityKotlinShimmerBinding class KotlinShimmerActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/simple/KotlinNoAdapterActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/simple/KotlinNoAdapterActivity.kt index 4d50ceb..338e476 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/simple/KotlinNoAdapterActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/noadapter/simple/KotlinNoAdapterActivity.kt @@ -7,7 +7,7 @@ import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.apprecycler.model.ExampleModel import com.frogobox.apprecycler.util.Constant import com.frogobox.apprecycler.util.FLog @@ -18,6 +18,7 @@ import com.frogobox.recycler.core.IFrogoBindingAdapter import com.frogobox.recycler.core.IFrogoBuilderRv import com.frogobox.recycler.core.IFrogoBuilderRvBinding import com.frogobox.recycler.core.IFrogoViewAdapter +import com.frogobox.sdk.ext.showToast import com.frogobox.ui.R import com.frogobox.ui.databinding.FrogoRvListType1Binding diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinNestedActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinNestedActivity.kt index 6713796..c3279e7 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinNestedActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinNestedActivity.kt @@ -1,6 +1,6 @@ package com.frogobox.apprecycler.sample.kotlin.usingadapter.nested -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityFrogoRvGridBinding class KotlinNestedActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinSimpleNestedActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinSimpleNestedActivity.kt index 804587b..7d2ee99 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinSimpleNestedActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/nested/KotlinSimpleNestedActivity.kt @@ -4,7 +4,7 @@ import android.os.Bundle import android.view.View import androidx.recyclerview.widget.LinearLayoutManager import com.bumptech.glide.Glide -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityFrogoRvGridBinding import com.frogobox.recycler.R import com.frogobox.recycler.core.FrogoNestedAdapter @@ -13,6 +13,7 @@ import com.frogobox.recycler.core.FrogoRecyclerViewListener import com.frogobox.recycler.core.FrogoRvConstant import com.frogobox.recycler.core.IFrogoNestedHolder import com.frogobox.recycler.core.IFrogoViewHolder +import com.frogobox.sdk.ext.showToast class KotlinSimpleNestedActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/simple/KotlinSampleActivity.kt b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/simple/KotlinSampleActivity.kt index a059953..82fa354 100644 --- a/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/simple/KotlinSampleActivity.kt +++ b/app/src/main/java/com/frogobox/apprecycler/sample/kotlin/usingadapter/simple/KotlinSampleActivity.kt @@ -3,7 +3,7 @@ package com.frogobox.apprecycler.sample.kotlin.usingadapter.simple import android.os.Bundle import android.view.View import android.widget.Toast -import com.frogobox.apprecycler.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.apprecycler.model.ExampleModel import com.frogobox.apprecycler.util.Constant import com.frogobox.databinding.ActivityFrogoRvListBinding diff --git a/app/src/main/java/com/frogobox/appsdk/core/BaseActivity.kt b/app/src/main/java/com/frogobox/appsdk/core/BaseActivity.kt deleted file mode 100644 index 0e6a8ed..0000000 --- a/app/src/main/java/com/frogobox/appsdk/core/BaseActivity.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.frogobox.appsdk.core - -import androidx.viewbinding.ViewBinding -import com.frogobox.sdk.delegate.preference.PreferenceDelegates -import com.frogobox.sdk.delegate.preference.PreferenceDelegatesImpl -import com.frogobox.sdk.view.FrogoBindActivity -import org.koin.android.ext.android.inject - -/** - * Created by faisalamir on 02/08/21 - * FrogoSDK - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * Copyright (C) 2021 FrogoBox Inc. - * All rights reserved - * - */ - -abstract class BaseActivity : FrogoBindActivity() { - - protected val singlePref: PreferenceDelegates by inject() - -} \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appsdk/log/LogActivity.kt b/app/src/main/java/com/frogobox/appsdk/log/LogActivity.kt index bb7ee1d..5c8023c 100644 --- a/app/src/main/java/com/frogobox/appsdk/log/LogActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/log/LogActivity.kt @@ -1,7 +1,7 @@ package com.frogobox.appsdk.log import android.os.Bundle -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityLogBinding import com.frogobox.sdk.log.FLog import com.frogobox.sdk.log.FrogoLog diff --git a/app/src/main/java/com/frogobox/appsdk/main/CoreMainActivity.kt b/app/src/main/java/com/frogobox/appsdk/main/CoreMainActivity.kt index 1ae6176..a5cbcbb 100644 --- a/app/src/main/java/com/frogobox/appsdk/main/CoreMainActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/main/CoreMainActivity.kt @@ -1,7 +1,7 @@ package com.frogobox.appsdk.main import androidx.viewbinding.ViewBinding -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.sdk.delegate.piracy.PiracyCallback import com.frogobox.sdk.delegate.piracy.PiracyDelegates import com.frogobox.sdk.delegate.piracy.PiracyDelegatesImpl diff --git a/app/src/main/java/com/frogobox/appsdk/main/MainJavaActivity.java b/app/src/main/java/com/frogobox/appsdk/main/MainJavaActivity.java index 4ac6e6c..81621eb 100644 --- a/app/src/main/java/com/frogobox/appsdk/main/MainJavaActivity.java +++ b/app/src/main/java/com/frogobox/appsdk/main/MainJavaActivity.java @@ -5,7 +5,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.frogobox.appsdk.core.BaseActivity; +import com.frogobox.BaseActivity; import com.frogobox.databinding.ActivityMainJavaBinding; public class MainJavaActivity extends BaseActivity { diff --git a/app/src/main/java/com/frogobox/appsdk/news/NewsActivity.kt b/app/src/main/java/com/frogobox/appsdk/news/NewsActivity.kt index 0abf673..c56d89e 100644 --- a/app/src/main/java/com/frogobox/appsdk/news/NewsActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/news/NewsActivity.kt @@ -2,7 +2,7 @@ package com.frogobox.appsdk.news import android.os.Bundle import androidx.recyclerview.widget.LinearLayoutManager -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.appsdk.model.Article import com.frogobox.databinding.ActivityNewsBinding import com.frogobox.sdk.ext.progressViewHandle diff --git a/app/src/main/java/com/frogobox/appsdk/news/NewsDetailActivity.kt b/app/src/main/java/com/frogobox/appsdk/news/NewsDetailActivity.kt index a0e3535..a4877ec 100644 --- a/app/src/main/java/com/frogobox/appsdk/news/NewsDetailActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/news/NewsDetailActivity.kt @@ -1,8 +1,8 @@ package com.frogobox.appsdk.news import android.os.Bundle +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.appsdk.model.Article import com.frogobox.databinding.ActivityNewsDetailBinding import com.frogobox.sdk.ext.getExtraExt diff --git a/app/src/main/java/com/frogobox/appsdk/news/result/NewsResultActivity.kt b/app/src/main/java/com/frogobox/appsdk/news/result/NewsResultActivity.kt index de0194c..8051925 100644 --- a/app/src/main/java/com/frogobox/appsdk/news/result/NewsResultActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/news/result/NewsResultActivity.kt @@ -2,7 +2,7 @@ package com.frogobox.appsdk.news.result import android.os.Bundle import androidx.recyclerview.widget.LinearLayoutManager -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.appsdk.model.Article import com.frogobox.appsdk.news.NewsViewAdapter import com.frogobox.coresdk.source.Resource diff --git a/app/src/main/java/com/frogobox/appsdk/notification/custom/CustomNotifActivity.kt b/app/src/main/java/com/frogobox/appsdk/notification/custom/CustomNotifActivity.kt index e5b912d..e737987 100644 --- a/app/src/main/java/com/frogobox/appsdk/notification/custom/CustomNotifActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/notification/custom/CustomNotifActivity.kt @@ -2,7 +2,7 @@ package com.frogobox.appsdk.notification.custom import android.content.Intent import android.os.Bundle -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.databinding.ActivityCustomNotifBinding class CustomNotifActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/appsdk/notification/custom/ReplyActivity.kt b/app/src/main/java/com/frogobox/appsdk/notification/custom/ReplyActivity.kt index 20ff3dd..a234ae5 100644 --- a/app/src/main/java/com/frogobox/appsdk/notification/custom/ReplyActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/notification/custom/ReplyActivity.kt @@ -4,8 +4,8 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.widget.Toast +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.appsdk.notification.custom.NotificationService.Companion.CHANNEL_ID import com.frogobox.appsdk.notification.custom.NotificationService.Companion.CHANNEL_NAME import com.frogobox.appsdk.notification.custom.NotificationService.Companion.REPLY_ACTION diff --git a/app/src/main/java/com/frogobox/appsdk/notification/simple/MainNotifActivity.kt b/app/src/main/java/com/frogobox/appsdk/notification/simple/MainNotifActivity.kt index 60afbe5..4d45587 100644 --- a/app/src/main/java/com/frogobox/appsdk/notification/simple/MainNotifActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/notification/simple/MainNotifActivity.kt @@ -13,8 +13,8 @@ import android.os.Bundle import android.widget.RemoteViews import androidx.annotation.RequiresApi import androidx.core.app.NotificationCompat +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.appsdk.notification.custom.CustomNotifActivity import com.frogobox.appsdk.notification.stack.StackNotifActivity import com.frogobox.databinding.ActivityMainNotifBinding diff --git a/app/src/main/java/com/frogobox/appsdk/notification/simple/ManualActivity.kt b/app/src/main/java/com/frogobox/appsdk/notification/simple/ManualActivity.kt index 69086d4..9419b07 100644 --- a/app/src/main/java/com/frogobox/appsdk/notification/simple/ManualActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/notification/simple/ManualActivity.kt @@ -10,8 +10,8 @@ import android.widget.RemoteViews import androidx.core.app.ActivityCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.appsdk.util.AppConstant.CHANNEL_ID import com.frogobox.appsdk.util.AppConstant.NOTIFICATION_ID import com.frogobox.databinding.ActivityManualBinding diff --git a/app/src/main/java/com/frogobox/appsdk/notification/stack/StackNotifActivity.kt b/app/src/main/java/com/frogobox/appsdk/notification/stack/StackNotifActivity.kt index 0b5793f..339e72d 100644 --- a/app/src/main/java/com/frogobox/appsdk/notification/stack/StackNotifActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/notification/stack/StackNotifActivity.kt @@ -6,8 +6,8 @@ import android.content.Intent import android.os.Bundle import android.view.inputmethod.InputMethodManager import android.widget.Toast +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.databinding.ActivityStackNotifBinding import com.frogobox.sdk.notification.FrogoNotifInboxStyleListener import com.frogobox.sdk.notification.FrogoNotification diff --git a/app/src/main/java/com/frogobox/appsdk/piracy/KotlinActivity.kt b/app/src/main/java/com/frogobox/appsdk/piracy/KotlinActivity.kt index 345f648..44ecf93 100644 --- a/app/src/main/java/com/frogobox/appsdk/piracy/KotlinActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/piracy/KotlinActivity.kt @@ -1,12 +1,12 @@ package com.frogobox.appsdk.piracy import android.content.Intent -import android.net.Uri import android.os.Bundle import android.util.Log import androidx.appcompat.app.AlertDialog +import androidx.core.net.toUri +import com.frogobox.BaseActivity import com.frogobox.R -import com.frogobox.appsdk.core.BaseActivity import com.frogobox.databinding.ActivityPiracyBinding import com.frogobox.sdk.piracychecker.allow import com.frogobox.sdk.piracychecker.callback @@ -16,7 +16,6 @@ import com.frogobox.sdk.piracychecker.enums.InstallerID import com.frogobox.sdk.piracychecker.onError import com.frogobox.sdk.piracychecker.piracyChecker import com.frogobox.sdk.piracychecker.utils.apkSignatures -import androidx.core.net.toUri class KotlinActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/appsdk/piracy/PiracyMainActivity.java b/app/src/main/java/com/frogobox/appsdk/piracy/PiracyMainActivity.java index 369e66d..ca8caae 100644 --- a/app/src/main/java/com/frogobox/appsdk/piracy/PiracyMainActivity.java +++ b/app/src/main/java/com/frogobox/appsdk/piracy/PiracyMainActivity.java @@ -8,8 +8,8 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; +import com.frogobox.BaseActivity; import com.frogobox.R; -import com.frogobox.appsdk.core.BaseActivity; import com.frogobox.databinding.ActivityPiracyBinding; import com.frogobox.sdk.piracychecker.PiracyChecker; import com.frogobox.sdk.piracychecker.enums.Display; diff --git a/app/src/main/java/com/frogobox/appsdk/viewpager/VPagerActivity.kt b/app/src/main/java/com/frogobox/appsdk/viewpager/VPagerActivity.kt index 250459d..9fdf226 100644 --- a/app/src/main/java/com/frogobox/appsdk/viewpager/VPagerActivity.kt +++ b/app/src/main/java/com/frogobox/appsdk/viewpager/VPagerActivity.kt @@ -1,7 +1,7 @@ package com.frogobox.appsdk.viewpager import android.os.Bundle -import com.frogobox.appsdk.core.BaseActivity +import com.frogobox.BaseActivity import com.frogobox.appsdk.news.NewsMainFragment import com.frogobox.databinding.ActivityVpagerBinding import com.frogobox.sdk.ext.getViewPager2Adapter diff --git a/app/src/main/java/com/frogobox/appuikit/MainUIActivity.kt b/app/src/main/java/com/frogobox/appuikit/MainUIActivity.kt index d42cdc2..609858f 100644 --- a/app/src/main/java/com/frogobox/appuikit/MainUIActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/MainUIActivity.kt @@ -4,9 +4,10 @@ import android.content.Intent import android.os.Bundle import android.view.View import android.widget.TextView +import com.frogobox.BaseActivity import com.frogobox.R import com.frogobox.appuikit.animation.SampleFrogoAnimationActivity -import com.frogobox.appuikit.core.BaseActivity + import com.frogobox.appuikit.loadingindicator.SampleFrogoLoadingIndicatorViewActivity import com.frogobox.appuikit.model.Main import com.frogobox.appuikit.recycler.RecyclerViewActivity diff --git a/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationActivity.kt b/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationActivity.kt index 961fb54..274006b 100644 --- a/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationActivity.kt @@ -2,7 +2,8 @@ package com.frogobox.appuikit.animation import android.content.Intent import android.os.Bundle -import com.frogobox.appuikit.core.BaseActivity +import com.frogobox.BaseActivity + import com.frogobox.databinding.ActivitySampleFrogoAnimationBinding import com.frogobox.ui.animation.FrogoAnimation import com.frogobox.ui.animation.core.Attention diff --git a/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationTransitionActivity.kt b/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationTransitionActivity.kt index 85fb59c..1f4d7ce 100644 --- a/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationTransitionActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/animation/SampleFrogoAnimationTransitionActivity.kt @@ -1,7 +1,8 @@ package com.frogobox.appuikit.animation import android.os.Bundle -import com.frogobox.appuikit.core.BaseActivity +import com.frogobox.BaseActivity + import com.frogobox.databinding.ActivitySampleFrogoAnimationTransitionBinding class SampleFrogoAnimationTransitionActivity : diff --git a/app/src/main/java/com/frogobox/appuikit/core/BaseActivity.kt b/app/src/main/java/com/frogobox/appuikit/core/BaseActivity.kt deleted file mode 100644 index 4a2ef12..0000000 --- a/app/src/main/java/com/frogobox/appuikit/core/BaseActivity.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.frogobox.appuikit.core - -import android.os.Bundle -import android.view.Menu -import android.view.MenuItem -import androidx.appcompat.app.AppCompatActivity -import androidx.viewbinding.ViewBinding -import androidx.viewpager2.widget.ViewPager2 -import com.google.android.material.tabs.TabLayout -import com.google.android.material.tabs.TabLayoutMediator - -/* - * Created by faisalamir on 20/05/21 - * FrogoUIKit - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * Copyright (C) 2021 FrogoBox Inc. - * All rights reserved - * - */ -abstract class BaseActivity : AppCompatActivity() { - - abstract fun setupViewBinding(): VB - - protected val binding: VB by lazy { - setupViewBinding() - } - - protected val mActivity: AppCompatActivity by lazy { - this - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(binding.root) - } - - protected fun setupDetailActivity(title: String) { - supportActionBar?.title = title - supportActionBar?.elevation = 0f - supportActionBar?.setDisplayHomeAsUpEnabled(true) - } - - 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) - } - } - - protected fun setupTabTitles( - tabLayout: TabLayout, - viewPager2: ViewPager2, - titles: MutableList, - ) { - TabLayoutMediator(tabLayout, viewPager2) { tab: TabLayout.Tab, position: Int -> - tab.text = titles[position] - }.attach() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appuikit/core/BaseFragment.kt b/app/src/main/java/com/frogobox/appuikit/core/BaseFragment.kt deleted file mode 100644 index 63f214d..0000000 --- a/app/src/main/java/com/frogobox/appuikit/core/BaseFragment.kt +++ /dev/null @@ -1,51 +0,0 @@ -package com.frogobox.appuikit.core - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import androidx.viewbinding.ViewBinding - -/** - * Created by faisalamir on 21/05/21 - * FrogoUIKit - * ----------------------------------------- - * Name : Muhammad Faisal Amir - * E-mail : faisalamircs@gmail.com - * Github : github.com/amirisback - * ----------------------------------------- - * Copyright (C) 2021 FrogoBox Inc. - * All rights reserved - * - */ - -abstract class BaseFragment : Fragment() { - - private var _binding: VB? = null - protected val binding: VB get() = _binding!! - - protected lateinit var mActivity: BaseActivity<*> - - abstract fun setupViewBinding(inflater: LayoutInflater, container: ViewGroup?): VB - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle?, - ): View? { - _binding = setupViewBinding(inflater, container) - return binding.root - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - mActivity = (activity as BaseActivity<*>) - } - - override fun onDestroy() { - super.onDestroy() - _binding = null - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appuikit/loadingindicator/DetailLoadingIndicatorActivity.kt b/app/src/main/java/com/frogobox/appuikit/loadingindicator/DetailLoadingIndicatorActivity.kt index 258f9fd..ab3504b 100644 --- a/app/src/main/java/com/frogobox/appuikit/loadingindicator/DetailLoadingIndicatorActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/loadingindicator/DetailLoadingIndicatorActivity.kt @@ -2,7 +2,8 @@ package com.frogobox.appuikit.loadingindicator import android.os.Bundle import android.view.View -import com.frogobox.appuikit.core.BaseActivity +import com.frogobox.BaseActivity + import com.frogobox.databinding.ActivityDetailLoadingIndicatorViewBinding /** diff --git a/app/src/main/java/com/frogobox/appuikit/loadingindicator/SampleFrogoLoadingIndicatorViewActivity.kt b/app/src/main/java/com/frogobox/appuikit/loadingindicator/SampleFrogoLoadingIndicatorViewActivity.kt index f6ec4f0..24d3753 100644 --- a/app/src/main/java/com/frogobox/appuikit/loadingindicator/SampleFrogoLoadingIndicatorViewActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/loadingindicator/SampleFrogoLoadingIndicatorViewActivity.kt @@ -7,7 +7,8 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.frogobox.appuikit.core.BaseActivity +import com.frogobox.BaseActivity + import com.frogobox.databinding.ActivitySampleLoadingIndicatorViewBinding import com.frogobox.databinding.ItemIndicatorBinding diff --git a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerGridFragment.kt b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerGridFragment.kt index a8509b0..9be500b 100644 --- a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerGridFragment.kt +++ b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerGridFragment.kt @@ -7,8 +7,8 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import com.frogobox.BaseFragment import com.frogobox.R -import com.frogobox.appuikit.core.BaseFragment import com.frogobox.appuikit.model.Layout import com.frogobox.databinding.FragmentRecyclerGridBinding import com.frogobox.recycler.core.FrogoRecyclerNotifyListener @@ -31,7 +31,7 @@ class RecyclerGridFragment : BaseFragment() { private fun intentToLayoutSample(data: Layout) { val dataString = Gson().toJson(data) - val intent = Intent(mActivity, RecyclerViewDetailActivity::class.java) + val intent = Intent(requireContext(), RecyclerViewDetailActivity::class.java) intent.putExtra("EXTRA_DATA", dataString) startActivity(intent) } diff --git a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerListFragment.kt b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerListFragment.kt index 6e88ece..262b062 100644 --- a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerListFragment.kt +++ b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerListFragment.kt @@ -6,8 +6,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import com.frogobox.BaseFragment import com.frogobox.R -import com.frogobox.appuikit.core.BaseFragment import com.frogobox.appuikit.model.Layout import com.frogobox.databinding.FragmentRecyclerListBinding import com.frogobox.recycler.core.FrogoRecyclerNotifyListener @@ -31,7 +31,7 @@ class RecyclerListFragment : BaseFragment() { private fun intentToLayoutSample(data: Layout) { val dataString = Gson().toJson(data) - val intent = Intent(mActivity, RecyclerViewDetailActivity::class.java) + val intent = Intent(requireContext(), RecyclerViewDetailActivity::class.java) intent.putExtra("EXTRA_DATA", dataString) startActivity(intent) } diff --git a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewActivity.kt b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewActivity.kt index 1657160..e3f7dcd 100644 --- a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewActivity.kt @@ -1,8 +1,9 @@ package com.frogobox.appuikit.recycler import android.os.Bundle -import com.frogobox.appuikit.core.BaseActivity -import com.frogobox.appuikit.core.BasePagerAdapter +import com.frogobox.BaseActivity +import com.frogobox.BasePagerAdapter + import com.frogobox.databinding.ActivityRecyclerViewBinding class RecyclerViewActivity : BaseActivity() { diff --git a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewDetailActivity.kt b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewDetailActivity.kt index 872ef2a..d056feb 100644 --- a/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewDetailActivity.kt +++ b/app/src/main/java/com/frogobox/appuikit/recycler/RecyclerViewDetailActivity.kt @@ -2,7 +2,8 @@ package com.frogobox.appuikit.recycler import android.os.Bundle import androidx.core.view.updatePadding -import com.frogobox.appuikit.core.BaseActivity +import com.frogobox.BaseActivity + import com.frogobox.appuikit.model.Layout import com.frogobox.appuikit.recycler.FrogoRvAdapter.frogoRvAdaper import com.frogobox.appuikit.recycler.FrogoRvConstant.TYPE_GRID diff --git a/app/src/main/java/com/frogobox/appsdk/di/RepositoryModule.kt b/app/src/main/java/com/frogobox/di/RepositoryModule.kt similarity index 77% rename from app/src/main/java/com/frogobox/appsdk/di/RepositoryModule.kt rename to app/src/main/java/com/frogobox/di/RepositoryModule.kt index bc31f6a..95dc959 100644 --- a/app/src/main/java/com/frogobox/appsdk/di/RepositoryModule.kt +++ b/app/src/main/java/com/frogobox/di/RepositoryModule.kt @@ -1,5 +1,8 @@ -package com.frogobox.appsdk.di +package com.frogobox.di +import com.frogobox.appadmob.source.AdmobLocalDataSource +import com.frogobox.appadmob.source.AdmobRemoteDataSource +import com.frogobox.appadmob.source.AdmobRepository import com.frogobox.appsdk.source.AppDatabase import com.frogobox.appsdk.source.AppLocalDataSource import com.frogobox.appsdk.source.AppRemoteDataSource @@ -48,4 +51,16 @@ val repositoryModule = module { // Please Add Your Code Under This Line -------------------------------------------------------- + single { + AdmobLocalDataSource(AppExecutors(), get()) + } + + single { + AdmobRemoteDataSource() + } + + single { + AdmobRepository(get(), get()) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/frogobox/appsdk/di/ViewModelModule.kt b/app/src/main/java/com/frogobox/di/ViewModelModule.kt similarity index 76% rename from app/src/main/java/com/frogobox/appsdk/di/ViewModelModule.kt rename to app/src/main/java/com/frogobox/di/ViewModelModule.kt index 8d31cbf..6095be3 100644 --- a/app/src/main/java/com/frogobox/appsdk/di/ViewModelModule.kt +++ b/app/src/main/java/com/frogobox/di/ViewModelModule.kt @@ -1,7 +1,9 @@ -package com.frogobox.appsdk.di +package com.frogobox.di +import com.frogobox.appadmob.mvvm.main.MainAdmobViewModel import com.frogobox.appsdk.news.NewsViewModel import com.frogobox.appsdk.news.result.NewsResultViewModel +import org.koin.android.ext.koin.androidContext import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.dsl.module @@ -29,4 +31,8 @@ val viewModelModule = module { NewsResultViewModel(get()) } + viewModel { + MainAdmobViewModel(androidContext(), get()) + } + } diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 6fadcd8..52372c7 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ - - -