Commit 610ad075 authored by wanglei's avatar wanglei

...

parent 3ded0f78
......@@ -23,7 +23,7 @@ object AdmobBannerUtils {
private var adView: AdView? = null
private var listener: ViewTreeObserver.OnGlobalLayoutListener? = null
fun showCollapsibleBannerAd(context: Context, parent: ViewGroup) {
fun showCollapsibleBannerAd(context: Context, parent: ViewGroup, adClose: (() -> Unit)? = null) {
val isShowBanner = AppPreferences.getInstance().getString("isShowBanner", "0").toInt()
if (isShowBanner == 0 && !BuildConfig.DEBUG) {
return
......@@ -46,13 +46,13 @@ object AdmobBannerUtils {
val adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adWidth)
adView?.adUnitId = if (BuildConfig.DEBUG) ConfigHelper.bannerAdmobIdTest else ConfigHelper.bannerAdmobId
adView?.setAdSize(adSize)
loadCollapsibleBanner(parent)
loadCollapsibleBanner(adClose)
parent.viewTreeObserver.removeOnGlobalLayoutListener(listener)
}
parent.viewTreeObserver.addOnGlobalLayoutListener(listener)
}
private fun loadCollapsibleBanner(parent: ViewGroup) {
private fun loadCollapsibleBanner(adClose: (() -> Unit)?) {
val extras = Bundle()
extras.putString("collapsible", "bottom")
......@@ -72,6 +72,7 @@ object AdmobBannerUtils {
override fun onAdClosed() {
super.onAdClosed()
LogEx.logDebug(TAG, "onAdClosed")
adClose?.invoke()
}
}
adView?.loadAd(adRequest)
......
......@@ -90,14 +90,7 @@ object ConstObject {
AppPreferences.getInstance().put("changeLanguageSp", value, true)
}
var haveSelectLanguage = false
get() {
return AppPreferences.getInstance().getBoolean("haveSelectLanguage", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("haveSelectLanguage", value, true)
}
var selectFollowLanguage = false
get() {
return AppPreferences.getInstance().getBoolean("selectFollowLanguage", field)
......
......@@ -61,6 +61,8 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
}
private var actionId: String = ""
private var currentFragment: Fragment = documentFragment
var bannerShowed: Boolean = false
override fun initView() {
actionId = intent.extras?.getString("actionId") ?: ""
......@@ -69,10 +71,6 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter.initScannerLauncher(this)
if (checkStorePermission()) {
binding.flBanner.visibility = View.VISIBLE
AdmobBannerUtils.showCollapsibleBannerAd(this, binding.flBanner)
}
addDeskShortCut()
}
......@@ -105,11 +103,17 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
return
}
//scan guide
if (mainStartTimes == 1) {
binding.flScanGuide.visibility = View.VISIBLE
return
}
//banner
showMainBanner()
//permission
if (checkStorePermission() && needRefresh) {
mainPresenter.initAllDocumentData()
} else {
......@@ -117,6 +121,17 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
}
}
private fun showMainBanner() {
if (!bannerShowed) {
AdmobBannerUtils.showCollapsibleBannerAd(this, binding.flBanner) {
if (!checkStorePermission()) {
showStoragePermission(launcher)
}
bannerShowed = true
}
}
}
override fun onDestroy() {
super.onDestroy()
LogEx.logDebug(TAG, "onDestroy")
......@@ -247,7 +262,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter.starAdGmsScan(this)
}
binding.flScanGuide.setOnClickListener {
binding.flScanGuide.visibility = View.GONE
closeScanGuide()
}
binding.tvTryScan.setOnClickListener {
binding.flScanGuide.visibility = View.GONE
......@@ -260,6 +275,11 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
actionIdOperation()
}
private fun closeScanGuide() {
binding.flScanGuide.visibility = View.GONE
showMainBanner()
}
private fun actionIdOperation() {
if (actionId == SHORTCUT_SCAN_PDF) {
mainPresenter.starAdGmsScan(this)
......
......@@ -75,14 +75,13 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
LanguageBean(LanguageBean.繁體中文, Locale("zh", "TW").language),
LanguageBean(LanguageBean.Türk, Locale("tr", "TR").language),
)
if (!ConstObject.haveSelectLanguage || ConstObject.selectFollowLanguage) {
if (ConstObject.selectFollowLanguage) {
list.first().isSelect = true
} else {
list.findLast { it.language == appLanguageSp }?.isSelect = true
}
adapter.submitList(list)
ConstObject.haveSelectLanguage = true
}
}
\ No newline at end of file
......@@ -11,8 +11,6 @@ import com.base.pdfviewerscannerwhite.BuildConfig
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import com.base.pdfviewerscannerwhite.bean.ConstObject.isFirstStart
import com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding
......@@ -157,11 +155,13 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
override fun onResume() {
super.onResume()
updateAppLanguage(MyApplication.splashLanguage, TAG) {
val recreate = updateAppLanguage(MyApplication.splashLanguage, TAG) {
MyApplication.splashLanguage = it
}
if (!recreate) {
splashPresenter.startJumpJob(lifecycleScope)
}
}
private var jump: AtomicBoolean = AtomicBoolean(false)
......@@ -195,7 +195,7 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
private fun firstStartJump() {
isFirstStart = false
if (!haveSelectLanguage && ConstObject.changeLanguageSp != Locale.ENGLISH.language) {
if (Locale.getDefault().language != Locale.ENGLISH.language) {
startActivity(Intent(this, SetLanguageActivity::class.java))
} else {
startActivity(Intent(this, PermissionActivity::class.java))
......
......@@ -245,17 +245,34 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/fl_scan_guide"
android:id="@+id/fl_banner"
android:layout_width="match_parent"
android:layout_height="0dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_bottom">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/zhanweitu2"
android:tag="zhanweitu"
tools:ignore="ContentDescription" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_scan_guide"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@id/fl_banner"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_height="300dp"
android:layout_gravity="bottom"
android:background="@drawable/bg_00b8de_tl15_tr15"
app:layout_constraintBottom_toBottomOf="parent">
......@@ -313,32 +330,5 @@
</FrameLayout>
<FrameLayout
android:id="@+id/fl_banner"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_bottom">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/zhanweitu2"
android:tag="zhanweitu"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:id="@+id/tv_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:background="@color/white"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment