Commit 24da9f80 authored by wanglei's avatar wanglei

...

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