Commit 29208313 authored by wanglei's avatar wanglei

...

parent 8794ffd4
package com.base.appzxhy.ui.dialog
import android.app.Activity
import android.app.AlertDialog
import android.view.Gravity
import android.view.LayoutInflater
import androidx.appcompat.app.AlertDialog
import androidx.constraintlayout.widget.ConstraintLayout
import com.base.appzxhy.R
import com.base.appzxhy.databinding.DialogNotificationBinding
import com.google.android.material.bottomsheet.BottomSheetDialog
class NotificationTurnOnDialog(
......@@ -15,12 +15,15 @@ class NotificationTurnOnDialog(
) {
val dialog = AlertDialog.Builder(activity).create()
// val dialog = BottomSheetDialog(activity, R.style.BottomSheetDialog)
val binding = DialogNotificationBinding.inflate(LayoutInflater.from(activity))
var action: (() -> Unit)? = null
fun showDialog() {
dialog.setView(binding.root)
// dialog.setContentView(binding.root)
dialog.setCancelable(true)
dialog.setCanceledOnTouchOutside(true)
......@@ -28,10 +31,10 @@ class NotificationTurnOnDialog(
val params = dialog.window?.attributes
// params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
params?.width = ConstraintLayout.LayoutParams.MATCH_PARENT
// params?.width = activity.resources.getDimensionPixelSize(R.dimen.dp_295)
params?.height = ConstraintLayout.LayoutParams.WRAP_CONTENT
// params?.gravity = Gravity.BOTTOM
params?.gravity = Gravity.BOTTOM
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
......
......@@ -21,7 +21,7 @@ class RateDialog(
fun showDialog(isMust: Boolean) {
if (!isMust) {
if (isScoreRated && scoreRate == 5)
if (isScoreRated || scoreRate == 5)
return
}
dialog.setView(binding.root)
......@@ -37,9 +37,9 @@ class RateDialog(
dialog.show()
val appName = activity.getString(R.string.app_name)
val thankTip = activity.getString(R.string.thank_you_for_using_app, appName)
binding.tvThank.text = thankTip
// val appName = activity.getString(R.string.app_name)
// val thankTip = activity.getString(R.string.thank_you_for_using_app, appName)
// binding.tvThank.text = thankTip
binding.ivClose.setOnClickListener {
dialog.dismiss()
}
......@@ -62,9 +62,7 @@ class RateDialog(
}
}
binding.tvSubmit.setOnClickListener {
if (score == 5) {
scoreRate = score
}
scoreRate = score
try {
val url = "https://play.google.com/store/apps/details?id=${activity.packageName}"
activity.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()))
......
package com.base.appzxhy.ui.main
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import com.base.appzxhy.R
import com.base.appzxhy.SpConstObject.mainPageCount
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.bean.config.AdConfigBean
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.ActivityMainBinding
import com.base.appzxhy.ui.dialog.NotificationTurnOnDialog
import com.base.appzxhy.ui.dialog.RateDialog
import com.base.appzxhy.ui.dialog.StoragePermissionDialog
import com.base.appzxhy.utils.PermissionUtils.requestNotificationPermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::inflate) {
val viewModel by lazy { ViewModelProvider(this)[MainViewModel::class.java] }
override fun useDefaultImmersive() {
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
......@@ -18,13 +33,64 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
}
private fun initDialogFlow() {
lifecycleScope.launch {
viewModel.dialogFlow.collectLatest { dialogType ->
when (dialogType) {
"StoreDialog" -> {
val dialog = StoragePermissionDialog(this@MainActivity)
dialog.action = {
requestStoragePermission(launcher) {
viewModel.nextShowDialog = false
}
}
dialog.showDialog()
}
"NotificationDialog" -> {
val dialog = NotificationTurnOnDialog(this@MainActivity)
dialog.action = {
requestNotificationPermission(launcher) {
viewModel.nextShowDialog = false
}
}
dialog.showDialog()
}
"RateDialog" -> {
val dialog = RateDialog(this@MainActivity)
dialog.showDialog(false)
}
}
}
}
}
override fun initView() {
super.initView()
initDialogFlow()
AdsMgr.showBanner(binding.flBanner, false)
val lp = binding.fragment.layoutParams as ConstraintLayout.LayoutParams
if (!AdConfigBean.adsConfigBean.isAdShow) {
lp.setMargins(0, 0, 0, 0)
} else {
lp.setMargins(0, 0, 0, resources.getDimensionPixelSize(R.dimen.dp_60))
}
binding.fragment.layoutParams = lp
}
override fun initListener() {
super.initListener()
}
override fun onResumeOneShoot() {
super.onResumeOneShoot()
mainPageCount = mainPageCount + 1
viewModel.checkDialog(this)
}
}
\ No newline at end of file
......@@ -5,16 +5,19 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
<FrameLayout
android:id="@+id/fragment"
android:name="com.base.appzxhy.ui.main.HomeFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/dp_60"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
</fragment>
<fragment
android:name="com.base.appzxhy.ui.main.HomeFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<FrameLayout
android:id="@+id/flBanner"
......
......@@ -3,62 +3,63 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/tancuang">
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="136dp"
android:layout_marginEnd="24dp"
android:src="@drawable/icon_close_pop_blue"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="246dp"
android:text="@string/notification_title"
android:textAlignment="center"
android:textColor="@color/color_1a1a1a"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
android:layout_marginTop="@dimen/dp_26"
android:background="@drawable/bg_ffffff_tlr24"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:text="@string/notification_content"
android:textAlignment="center"
android:textColor="@color/color_666666"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvTurnOn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="60dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="44dp"
android:background="@drawable/bg_splash_button"
android:gravity="center"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="@string/turn_on"
android:textColor="@color/white"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_content"
app:layout_constraintVertical_bias="0.0"
tools:layout_editor_absoluteX="60dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_40"
android:text="@string/don_t_miss_important_tips"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_24"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_6"
android:gravity="center"
android:text="@string/notification_tips"
android:textColor="#A0A0A0" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvTurnOn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="60dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="@dimen/dp_30"
android:background="@drawable/bg_splash_button"
android:gravity="center"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="@string/turn_on"
android:textColor="@color/white"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:layout_editor_absoluteX="60dp" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_wenhao"
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
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_width="@dimen/dp_320"
android:layout_height="wrap_content"
android:background="@color/transparent">
<FrameLayout
<androidx.cardview.widget.CardView
android:layout_width="@dimen/dp_320"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_45"
android:background="@drawable/bg_ffffff_8"
android:layout_marginTop="@dimen/dp_24"
app:cardBackgroundColor="@color/transparent"
app:cardCornerRadius="@dimen/dp_24"
app:cardElevation="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivClose"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_gravity="end|top"
android:layout_margin="@dimen/dp_10"
app:srcCompat="@drawable/icon_close" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_60"
android:background="@color/white"
android:gravity="center_horizontal"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:background="#2DD29E">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivClose"
android:layout_width="@dimen/dp_24"
android:layout_height="@dimen/dp_24"
android:layout_gravity="end|center_vertical"
android:layout_margin="@dimen/dp_12"
app:srcCompat="@drawable/icon_close" />
</FrameLayout>
<TextView
android:id="@+id/tvThank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_40"
android:text="@string/thank_you_for_using_app"
android:layout_marginTop="@dimen/dp_16"
android:text="@string/let_us_know_how_we_re_doing"
android:textColor="#1A1A1A"
android:textSize="@dimen/sp_18" />
android:textSize="@dimen/sp_16" />
<TextView
android:layout_width="match_parent"
......@@ -46,54 +56,55 @@
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10"
android:gravity="center"
android:text="@string/thank_you_very_much_for_taking_the_time_to_rate_us" />
android:text="@string/w_e_are_ahways_irying_to_improve_what_wedo_and_your_feedbackk_is_invaluable" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center_vertical"
android:gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/star1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:srcCompat="@drawable/icon_star_s" />
android:layout_marginHorizontal="@dimen/dp_5"
app:srcCompat="@drawable/img_star_pressed" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/star2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:srcCompat="@drawable/icon_star_s" />
android:layout_marginHorizontal="@dimen/dp_5"
app:srcCompat="@drawable/img_star_pressed" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/star3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:srcCompat="@drawable/icon_star_s" />
android:layout_marginHorizontal="@dimen/dp_5"
app:srcCompat="@drawable/img_star_pressed" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/star4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:srcCompat="@drawable/icon_star_s" />
android:layout_marginHorizontal="@dimen/dp_5"
app:srcCompat="@drawable/img_star_pressed" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/star5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:srcCompat="@drawable/icon_star_s" />
android:layout_marginHorizontal="@dimen/dp_5"
app:srcCompat="@drawable/img_star_normal" />
</LinearLayout>
......@@ -113,7 +124,7 @@
</LinearLayout>
</FrameLayout>
</androidx.cardview.widget.CardView>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
......@@ -121,7 +132,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_pingjia" />
app:srcCompat="@drawable/img_emoji" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -52,4 +52,5 @@
<dimen name="dp_88">88dp</dimen>
<dimen name="dp_550">550dp</dimen>
<dimen name="dp_500">500dp</dimen>
<dimen name="sp_24">24sp</dimen>
</resources>
\ No newline at end of file
......@@ -179,5 +179,9 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="powered_by_trustlook">Powered by Trustlook</string>
<string name="malware_recommended">It is recommended to turn on the network connection for more accurate results</string>
<string name="notification_tips">Enable notifications to receive suggestions that matter.</string>
<string name="don_t_miss_important_tips">Don\'t miss important tips</string>
<string name="let_us_know_how_we_re_doing">Let us know how we\'re doing!</string>
<string name="w_e_are_ahways_irying_to_improve_what_wedo_and_your_feedbackk_is_invaluable">W\'e are ahways irying to improve what wedo and your feedbackk is invaluable!</string>
</resources>
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