Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
Pdf one Reader
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Pdf one Reader
Commits
684634b7
Commit
684634b7
authored
Nov 14, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
b8318b76
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
228 additions
and
35 deletions
+228
-35
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-0
FeedbackActivity.kt
.../java/com/base/pdfoneread/ui/feedback/FeedbackActivity.kt
+45
-0
RecentFragment.kt
...c/main/java/com/base/pdfoneread/ui/main/RecentFragment.kt
+7
-0
SettingFragment.kt
.../main/java/com/base/pdfoneread/ui/main/SettingFragment.kt
+6
-0
NameDialog.kt
app/src/main/java/com/base/pdfoneread/ui/views/NameDialog.kt
+0
-6
RateDialog.kt
app/src/main/java/com/base/pdfoneread/ui/views/RateDialog.kt
+43
-17
bg_fafcfb_15.xml
app/src/main/res/drawable/bg_fafcfb_15.xml
+5
-0
bg_fdac93_10.xml
app/src/main/res/drawable/bg_fdac93_10.xml
+5
-0
activity_feedback.xml
app/src/main/res/layout/activity_feedback.xml
+76
-0
dialog_rate_star.xml
app/src/main/res/layout/dialog_rate_star.xml
+29
-12
strings.xml
app/src/main/res/values/strings.xml
+6
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
684634b7
...
...
@@ -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"
...
...
app/src/main/java/com/base/pdfoneread/ui/feedback/FeedbackActivity.kt
0 → 100644
View file @
684634b7
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
app/src/main/java/com/base/pdfoneread/ui/main/RecentFragment.kt
View file @
684634b7
...
...
@@ -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
)
{
...
...
app/src/main/java/com/base/pdfoneread/ui/main/SettingFragment.kt
View file @
684634b7
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
{
...
...
app/src/main/java/com/base/pdfoneread/ui/views/NameDialog.kt
View file @
684634b7
...
...
@@ -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
{
...
...
app/src/main/java/com/base/pdfoneread/ui/views/RateDialog.kt
View file @
684634b7
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
.
set
Content
View
(
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
)
}
}
}
...
...
app/src/main/res/drawable/bg_fafcfb_15.xml
0 → 100644
View file @
684634b7
<?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
app/src/main/res/drawable/bg_fdac93_10.xml
0 → 100644
View file @
684634b7
<?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
app/src/main/res/layout/activity_feedback.xml
0 → 100644
View file @
684634b7
<?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
app/src/main/res/layout/dialog_rate_star.xml
View file @
684634b7
...
...
@@ -11,12 +11,23 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"50dp"
android:background=
"@drawable/bg_ffffff_
tlr
15"
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=
"
16
dp"
android:layout_marginTop=
"
24
dp"
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_star
t
"
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_star
t
"
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_star
t
"
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_star
t
"
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_star
t_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"
...
...
app/src/main/res/values/strings.xml
View file @
684634b7
...
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment