Commit 610ad075 authored by wanglei's avatar wanglei

...

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