Commit 684634b7 authored by wanglei's avatar wanglei

...

parent b8318b76
......@@ -110,6 +110,12 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.feedback.FeedbackActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider
android:name="androidx.core.content.FileProvider"
......
package com.base.pdfoneread.ui.feedback
import androidx.activity.addCallback
import androidx.core.widget.addTextChangedListener
import com.base.pdfoneread.databinding.ActivityFeedbackBinding
import com.base.pdfoneread.helper.EventUtils
import com.base.pdfoneread.ui.BaseActivity
import com.base.pdfoneread.utils.ToastUtils.toast
class FeedbackActivity : BaseActivity<ActivityFeedbackBinding>() {
override val binding: ActivityFeedbackBinding by lazy {
ActivityFeedbackBinding.inflate(layoutInflater)
}
override fun initView() {
}
override fun onResume() {
super.onResume()
// updateAppLanguage(MyApplication.feedbackLanguage) {
// MyApplication.feedbackLanguage = it
// }
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finish()
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.edit.addTextChangedListener {
binding.tvBtn.isEnabled = it?.isNotEmpty() == true
}
binding.tvBtn.setOnClickListener {
toast("Feedback success")
EventUtils.event("Feedback", "${binding.edit.text}")
onBackPressedDispatcher.onBackPressed()
}
}
}
\ No newline at end of file
......@@ -12,10 +12,13 @@ import com.base.pdfoneread.ui.document.DocumentAdapter
import com.base.pdfoneread.ui.document.getAllDocument
import com.base.pdfoneread.ui.document.getGlobalAllList
import com.base.pdfoneread.ui.document.getRvAdList
import com.base.pdfoneread.ui.document.isRefreshOver
import com.base.pdfoneread.ui.document.recentFilter
import com.base.pdfoneread.utils.SpStringUtils
import com.base.pdfoneread.utils.SpStringUtils.LAST_VIEW_KEY
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
......@@ -47,6 +50,10 @@ class RecentFragment() : Fragment() {
initData()
}
initPreData()
lifecycleScope.launch {
isRefreshOver.collectLatest { initData() }
cancel()
}
}
private fun initPreData() = lifecycleScope.launch(Dispatchers.IO) {
......
package com.base.pdfoneread.ui.main
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.fragment.app.Fragment
......@@ -9,12 +10,14 @@ import android.view.ViewGroup
import com.base.pdfoneread.bean.DocumentBean
import com.base.pdfoneread.databinding.FragmentSettingBinding
import com.base.pdfoneread.ui.document.getTypeByMimeType
import com.base.pdfoneread.ui.feedback.FeedbackActivity
import com.base.pdfoneread.ui.pdf.PdfActivity
import com.base.pdfoneread.ui.views.RateDialog.showRateDialog
import com.base.pdfoneread.utils.LogEx
import com.base.pdfoneread.utils.PdfBoxUtils.checkPdfEncryption
import com.base.pdfoneread.utils.SafUtils.jumpOpenDocumentThenPersistable
import com.base.pdfoneread.utils.UriUtils.getMimeTypeBySafUri
import com.mbridge.msdk.widget.FeedBackButton
class SettingFragment : Fragment() {
......@@ -58,6 +61,9 @@ class SettingFragment : Fragment() {
binding.llRate.setOnClickListener {
requireContext().showRateDialog(true)
}
binding.llFeedback.setOnClickListener {
startActivity(Intent(requireContext(), FeedbackActivity::class.java))
}
}
companion object {
......
......@@ -4,17 +4,11 @@ import android.app.AlertDialog
import android.content.Context
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import androidx.core.widget.addTextChangedListener
import com.base.pdfoneread.R
import com.base.pdfoneread.databinding.DialogDocumentDetailBinding
import com.base.pdfoneread.databinding.DialogDocumentRenameBinding
import com.base.pdfoneread.ui.views.DocumentDialog.showDocumentDetail
import com.base.pdfoneread.utils.KotlinExt.toFormatTime2
import com.base.pdfoneread.utils.ToastUtils.toast
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
object NameDialog {
......
package com.base.pdfoneread.ui.views
import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import com.base.pdfoneread.R
import com.base.pdfoneread.databinding.DialogDocumentRenameBinding
import com.base.pdfoneread.databinding.DialogRateStarBinding
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.utils.AppPreferences
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
......@@ -21,17 +27,20 @@ object RateDialog {
}
}
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val dialog = AlertDialog.Builder(this).create()
val binding = DialogRateStarBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root)
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val parentView = binding.root.parent as View
val behavior = BottomSheetBehavior.from(parentView)
//展开
behavior.state = BottomSheetBehavior.STATE_EXPANDED
val params = dialog.window?.attributes
params?.gravity = Gravity.CENTER
params?.width = resources.getDimensionPixelSize(R.dimen.dp_345)
params?.height = ViewGroup.LayoutParams.WRAP_CONTENT
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
listOf(
......@@ -42,6 +51,11 @@ object RateDialog {
binding.iv5
).forEachIndexed { index, it ->
it.setOnClickListener {
binding.tvSubmit.isEnabled = true
binding.tvSubmit.background = ContextCompat.getDrawable(this, R.drawable.bg_fd5910_10)
binding.tv0.visibility = View.INVISIBLE
binding.tv1.visibility = View.VISIBLE
binding.tv2.visibility = View.VISIBLE
setStar(binding, index)
}
}
......@@ -98,22 +112,34 @@ object RateDialog {
)
}
when (this.star) {
in 1..2 -> {
// binding.tv1.text = context.getString(R.string.oh_no)
// binding.tv2.text = context.getString(R.string.leave_us_your_feedback)
// binding.ivFace.setImageResource(R.mipmap.pdf_expression2)
1 -> {
binding.tv1.text = context.getString(R.string.oh_no)
binding.tv2.text = context.getString(R.string.leave_us_your_feedback)
binding.ivFace.setImageResource(R.mipmap.pdf_expression1)
}
2 -> {
binding.tv1.text = context.getString(R.string.oh_no)
binding.tv2.text = context.getString(R.string.leave_us_your_feedback)
binding.ivFace.setImageResource(R.mipmap.pdf_expression2)
}
3 -> {
binding.tv1.text = context.getString(R.string.oh_no)
binding.tv2.text = context.getString(R.string.leave_us_your_feedback)
binding.ivFace.setImageResource(R.mipmap.pdf_expression4)
}
in 3..4 -> {
// binding.tv1.text = context.getString(R.string.oh_we_are_sorry)
// binding.tv2.text = context.getString(R.string.leave_us_your_feedback)
// binding.ivFace.setImageResource(R.mipmap.pdf_expression1)
4 -> {
binding.tv1.text = context.getString(R.string.we_like)
binding.tv2.text = context.getString(R.string.thanks_feedback)
binding.ivFace.setImageResource(R.mipmap.pdf_expression5)
}
5 -> {
// binding.tv1.text = context.getString(R.string.much_appreciated)
// binding.tv2.text = context.getString(R.string.your_support_is_our_motivation)
// binding.ivFace.setImageResource(R.mipmap.pdf_expression3)
binding.tv1.text = context.getString(R.string.we_like)
binding.tv2.text = context.getString(R.string.thanks_feedback)
binding.ivFace.setImageResource(R.mipmap.pdf_expression6)
}
}
}
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FAFCFB" />
<corners android:radius="15dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FDAC93" />
<corners android:radius="10dp" />
</shape>
\ 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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/pdf_left"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/feedback"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_fanhui"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="@id/fl_fanhui"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="485dp"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="30dp"
android:background="@drawable/bg_fafcfb_15"
android:gravity="top|start"
android:hint="Please enter your feedback or thoughts"
android:inputType="text"
android:paddingHorizontal="20dp"
android:paddingVertical="25dp"
android:textColor="@color/black"
android:textColorHint="#BFBFBF"
android:textSize="16sp"
app:layout_constraintTop_toBottomOf="@id/fl_fanhui"
tools:ignore="Autofill,HardcodedText,TextFields" />
<TextView
android:id="@+id/tv_btn"
android:layout_width="338dp"
android:layout_height="48dp"
android:layout_marginBottom="25dp"
android:background="@drawable/bg_selector_btn"
android:enabled="false"
android:gravity="center"
android:text="@string/send"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -11,12 +11,23 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:background="@drawable/bg_ffffff_tlr15"
android:background="@drawable/bg_ffffff_15"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:id="@+id/tv_0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginTop="50dp"
android:lineHeight="24dp"
android:text="@string/rate_tip"
android:textColor="#333333"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_1"
......@@ -27,6 +38,7 @@
android:textColor="#333333"
android:textSize="24sp"
android:textStyle="bold"
android:visibility="invisible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"
......@@ -41,18 +53,20 @@
android:textColor="#333333"
android:textSize="22sp"
android:textStyle="bold"
android:visibility="invisible"
app:layout_constraintStart_toStartOf="@id/tv_1"
app:layout_constraintTop_toBottomOf="@id/tv_1"
tools:ignore="HardcodedText" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_best"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginTop="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_2">
app:layout_constraintTop_toBottomOf="@id/tv_0">
<TextView
android:id="@+id/tv_best"
......@@ -95,7 +109,7 @@
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/pdf_start"
android:src="@mipmap/pdf_star_n"
tools:ignore="ContentDescription" />
<ImageView
......@@ -103,7 +117,7 @@
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/pdf_start"
android:src="@mipmap/pdf_star_n"
tools:ignore="ContentDescription" />
<ImageView
......@@ -111,7 +125,7 @@
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/pdf_start"
android:src="@mipmap/pdf_star_n"
tools:ignore="ContentDescription" />
<ImageView
......@@ -119,7 +133,7 @@
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/pdf_start"
android:src="@mipmap/pdf_star_n"
tools:ignore="ContentDescription" />
<ImageView
......@@ -127,18 +141,20 @@
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/pdf_start_s"
android:src="@mipmap/pdf_star_n1"
tools:ignore="ContentDescription" />
</LinearLayout>
<TextView
android:id="@+id/tv_submit"
android:layout_width="338dp"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="24dp"
android:background="@drawable/bg_ff5910_10"
android:background="@drawable/bg_fdac93_10"
android:enabled="false"
android:gravity="center"
android:text="@string/rate"
android:textColor="@color/white"
......@@ -155,6 +171,7 @@
android:id="@+id/iv_face"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:src="@mipmap/pdf_expression"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
......
......@@ -69,5 +69,11 @@
<string name="your_full_document_reader">Your full document reader</string>
<string name="the_best_we_can_get">The best we can get :)</string>
<string name="rate">Rate</string>
<string name="oh_no">oh,no!</string>
<string name="leave_us_your_feedback">Please leave us some feedback.</string>
<string name="we_like">We like you too!</string>
<string name="thanks_feedback">Thanks for your feedback.</string>
<string name="rate_tip">We are working hard for a better\nuser experience.\nWe\'d greatly appreciate if you\ncan rate us.</string>
<string name="send">Send</string>
</resources>
\ 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