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()
}
/** val canShowRateN = AppPreferences.getInstance().getString("canShowRateN", "4").toInt()
*权限过后的弹窗顺序 if (isPause && mainStartTimes >= canShowRateN) {
*/ showRateDialog()
@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() { private fun dialogRequestStep() {
binding.root.post { LogEx.logDebug(TAG, "dialogRequestStep 1")
val builder = GuideBuilder() if (!checkStorePermission()) {
builder.setTargetView(binding.ivScan) LogEx.logDebug(TAG, "dialogRequestStep 2")
.setAlpha(150) showPermissionDialog()
.setHighTargetCorner(20) } else {
.setHighTargetPadding(10) if (!bannerShowed) {
// .setOverlayTarget(false) LogEx.logDebug(TAG, "dialogRequestStep 3")
// .setOutsideTouchable(false) showMainBanner()
// .setAutoDismiss(true) return
builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener { }
override fun onShown() { //通知弹窗
AppPreferences.getInstance().put("isGuideScan", true) // if (!todayShowNotificationDialog && !checkNotificationPermission()) {
} // todayShowNotificationDialog = true
// showNotificationDialog(launcher)
override fun onDismiss() { // } else {
useGmsScanFunction() // if (!ConstObject.setDefault) {
} // showDefaultBottomDialog()
}) // } else {
// showRateDialog()
val component = LottieComponent() // }
builder.addComponent(component) // }
val guide = builder.createGuide()
guide.setShouldCheckLocInWindow(false)
guide.show(this)
} }
} }
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">
<FrameLayout <LinearLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="110dp" /> android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout <FrameLayout
android:layout_width="wrap_content" android:id="@+id/fl_ad"
android:layout_height="60dp" android:layout_width="match_parent"
android:layout_marginStart="16dp" android:layout_height="110dp" />
android:orientation="horizontal">
<TextView <LinearLayout
android:id="@+id/tvNo"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_marginLeft="16dp"
android:text="1 / " android:layout_marginTop="8dp"
android:textSize="25sp" android:orientation="horizontal">
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView <TextView
android:layout_width="wrap_content" android:id="@+id/tvNo"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_gravity="center_vertical" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_gravity="center_vertical"
android:text="3" android:text="1 / "
android:textColor="#00B7DC" android:textSize="25sp"
android:textSize="20sp" android:textStyle="bold"
android:textStyle="bold" tools:ignore="HardcodedText" />
tools:ignore="HardcodedText" />
</LinearLayout> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="2dp"
android:text="3"
android:textColor="#00B7DC"
android:textSize="20sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<LinearLayout </LinearLayout>
android:layout_width="match_parent"
android:layout_height="150dp"
android:gravity="center"
android:orientation="vertical">
<TextView <LinearLayout
android:id="@+id/tv1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="center" android:gravity="center"
android:paddingHorizontal="20dp" android:orientation="vertical">
android:text="@string/easy_and_immersive_to_read"
android:textSize="25sp" <TextView
android:textStyle="bold" /> android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingHorizontal="20dp"
android:text="@string/easy_and_immersive_to_read"
android:textSize="25sp"
android:textStyle="bold" />
<TextView <TextView
android:id="@+id/tv2" android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:gravity="center"
android:text="Supports PDF,DOC,EXCEL,PPT"
android:textSize="20sp"
android:visibility="gone" />
</LinearLayout>
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_gravity="center_horizontal"
android:gravity="center" android:src="@mipmap/ydyetu2"
android:text="Supports PDF,DOC,EXCEL,PPT" tools:ignore="ContentDescription" />
android:textSize="20sp"
android:visibility="gone" />
</LinearLayout>
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:src="@mipmap/ydyetu2"
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