Commit 24da9f80 authored by wanglei's avatar wanglei

...

parent c281ff79
......@@ -6,7 +6,6 @@ import androidx.activity.addCallback
import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.base.pdfviewerscannerwhite.ads.admob.AdmobInterstitialUtils
import com.base.pdfviewerscannerwhite.databinding.ActivityGuideBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.ui.permission.PermissionActivity
......@@ -40,9 +39,10 @@ class GuideActivity : BaseActivity<ActivityGuideBinding>() {
//
// })
onBackPressedDispatcher.addCallback {
AdmobInterstitialUtils.showInterstitialAd(this@GuideActivity) {
// AdmobInterstitialUtils.showInterstitialAd(this@GuideActivity) {
startActivity(Intent(this@GuideActivity, PermissionActivity::class.java))
}
finish()
// }
}
}
......
......@@ -68,9 +68,10 @@ class GuidePageFragment(
}
3 -> {
AdmobInterstitialUtils.showInterstitialAd(activity) {
// AdmobInterstitialUtils.showInterstitialAd(activity) {
startActivity(Intent(activity, PermissionActivity::class.java))
}
requireActivity().finish()
// }
}
}
}
......
......@@ -80,9 +80,9 @@ class DocumentAdapter(val activity: Activity) : BaseQuickAdapter<DocumentBean, D
itemClick?.invoke(item)
}
if (item.path.contains("DEMO.pdf")) {
guideDemo(holder.itemView, item)
}
// if (item.path.contains("DEMO.pdf")) {
// guideDemo(holder.itemView, item)
// }
}
1 -> {//合并选择
......@@ -175,7 +175,7 @@ class DocumentAdapter(val activity: Activity) : BaseQuickAdapter<DocumentBean, D
val isGuideDemo = AppPreferences.getInstance().getBoolean("isGuideDemo", false)
if (!isGuideDemo && activity.checkStorePermission()) {
if (!isGuideDemo) {
view.post {
val builder = GuideBuilder()
......
......@@ -50,8 +50,6 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.showNotificationDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showStoragePermission
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
import com.base.pdfviewerscannerwhite.ui.view.RateDialog.showRateDialog
import com.base.pdfviewerscannerwhite.ui.view.guideview.GuideBuilder
import com.base.pdfviewerscannerwhite.ui.view.guideview.LottieComponent
import com.base.pdfviewerscannerwhite.ui.weather.WeatherInterface
import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.BarUtils
......@@ -174,6 +172,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
}
private fun closeScanGuide() {
binding.flScanGuide.visibility = View.GONE
dialogRequestStep()
}
override fun handleActivityGmsScanResult(imageUri: Uri?, pdfUri: Uri?) {
// LogEx.logDebug(TAG, "imageUri=$imageUri")
......@@ -189,14 +191,16 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
},
dismissAction = {
avoidScanThenDialog = false
dialogRequestStep()
})
} else {
avoidScanThenDialog = false
dialogRequestStep()
}
}
private var isPause = false
var isPause = false
override fun onPause() {
super.onPause()
isPause = true
......@@ -231,82 +235,58 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
mainPresenter.initAllDocumentData()
showMainBanner()
//权限
val permissionGrand = checkStorePermission()
if (permissionGrand) {
showPermissionThenGuide()
} else {
showPermissionDialog()
//scan guide
if (mainStartTimes == 1) {
binding.flScanGuide.visibility = View.VISIBLE
return
}
//避免scan回调的任意弹窗
if (!avoidScanThenDialog) {
dialogRequestStep()
}
/**
*权限过后的弹窗顺序
*/
@SuppressLint("NotifyDataSetChanged")
private fun showPermissionThenGuide() {
//demo guide
val isGuideDemo = AppPreferences.getInstance().getBoolean("isGuideDemo", false)
//scan guide
val isGuideScan = AppPreferences.getInstance().getBoolean("isGuideScan", false)
if (isGuideDemo) {
if (!isGuideScan) {
showGuideScan()
} else {
if (!avoidScanThenDialog) {
val canShowRateN = AppPreferences.getInstance().getString("canShowRateN", "4").toInt()
if (isPause && mainStartTimes >= canShowRateN) {
showRateDialog()
}
}
}
}
}
private fun showGuideScan() {
binding.root.post {
val builder = GuideBuilder()
builder.setTargetView(binding.ivScan)
.setAlpha(150)
.setHighTargetCorner(20)
.setHighTargetPadding(10)
// .setOverlayTarget(false)
// .setOutsideTouchable(false)
// .setAutoDismiss(true)
builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
override fun onShown() {
AppPreferences.getInstance().put("isGuideScan", true)
}
override fun onDismiss() {
useGmsScanFunction()
//弹窗请求顺序
private fun dialogRequestStep() {
LogEx.logDebug(TAG, "dialogRequestStep 1")
if (!checkStorePermission()) {
LogEx.logDebug(TAG, "dialogRequestStep 2")
showPermissionDialog()
} else {
if (!bannerShowed) {
LogEx.logDebug(TAG, "dialogRequestStep 3")
showMainBanner()
return
}
})
val component = LottieComponent()
builder.addComponent(component)
val guide = builder.createGuide()
guide.setShouldCheckLocInWindow(false)
guide.show(this)
//通知弹窗
// if (!todayShowNotificationDialog && !checkNotificationPermission()) {
// todayShowNotificationDialog = true
// showNotificationDialog(launcher)
// } else {
// if (!ConstObject.setDefault) {
// showDefaultBottomDialog()
// } else {
// showRateDialog()
// }
// }
}
}
private var permissionDialog: Dialog? = null
private fun showPermissionDialog() {
if (permissionDialog == null) {
permissionDialog = showStoragePermission(launcher,
noLauncherAction = {
showPermissionThenGuide()
showMainBanner()
},
dismissAction = {
permissionDialog = null
})
}
}
......@@ -314,15 +294,18 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
private fun showMainBanner() {
if (!bannerShowed) {
bannerShowed = true
val isGuideDemo = AppPreferences.getInstance().getBoolean("isGuideDemo", false)
val isGuideScan = AppPreferences.getInstance().getBoolean("isGuideScan", false)
val flag = checkStorePermission()
//权限 引导都完了 弹折叠
AdmobBannerUtils.showCollapsibleBannerAd(
this,
isGuideDemo && isGuideScan && flag,
binding.flBanner
) {
AdmobBannerUtils.showCollapsibleBannerAd(this, true, binding.flBanner) {
//通知弹窗
// if (!todayShowNotificationDialog && !checkNotificationPermission()) {
// todayShowNotificationDialog = true
// showNotificationDialog(launcher)
// } else {
// if (!ConstObject.setDefault) {
// showDefaultBottomDialog()
// } else {
// showRateDialog()
// }
// }
}
}
}
......@@ -455,6 +438,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
binding.ivScan.setOnClickListener {
useGmsScanFunction()
}
binding.flScanGuide.setOnClickListener {
closeScanGuide()
}
binding.tvTryScan.setOnClickListener {
useGmsScanFunction()
}
......@@ -466,6 +452,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
fun useGmsScanFunction() {
avoidScanThenDialog = true
binding.flScanGuide.visibility = View.GONE
mainPresenter.starAdGmsScan(this)
}
......@@ -477,6 +464,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
if (items.isNotEmpty()) {
shareMutDocuments(documentPageFragment.type, items.map { it.uri } as ArrayList<Uri>)
}
}
}
......@@ -485,6 +473,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
binding.llRecent.isSelected = selectView == binding.llRecent
binding.llBookmark.isSelected = selectView == binding.llBookmark
binding.llTool.isSelected = selectView == binding.llTool
}
fun changeSelectUI(show: Boolean) {
......
......@@ -11,8 +11,10 @@ import android.text.style.ForegroundColorSpan
import androidx.activity.addCallback
import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat
import androidx.core.view.postDelayed
import androidx.core.view.updatePadding
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.admob.AdmobInterstitialUtils
import com.base.pdfviewerscannerwhite.databinding.ActivityPermissionBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.utils.BarUtils
......@@ -54,7 +56,9 @@ class PermissionActivity : BaseActivity<ActivityPermissionBinding>() {
super.initListener()
onBackPressedDispatcher.addCallback {
finishToMain()
AdmobInterstitialUtils.showInterstitialAd(this@PermissionActivity) {
binding.root.postDelayed({ finishToMain() }, 300)
}
// val isGuide = AppPreferences.getInstance().getBoolean("isGuide", false)
// if (!isGuide) {
......
......@@ -279,8 +279,8 @@
</LinearLayout>
<!-- android:id="@+id/fl_scan_guide"-->
<FrameLayout
android:id="@+id/fl_scan_guide"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.guide.GuidePageFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
......@@ -13,8 +17,9 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_marginStart="16dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:orientation="horizontal">
<TextView
......@@ -42,7 +47,9 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="vertical">
......@@ -70,23 +77,26 @@
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:src="@mipmap/ydyetu2"
tools:ignore="ContentDescription" />
</LinearLayout>
<TextView
android:id="@+id/tvBtn"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:layout_marginVertical="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/bg_00b8de_90"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="32dp"
android:text="@string/go_to_start"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
\ No newline at end of file
</RelativeLayout>
\ 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