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
0dd1906a
Commit
0dd1906a
authored
Nov 14, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...启动页
parent
78a05aab
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
390 additions
and
36 deletions
+390
-36
ConstObject.kt
app/src/main/java/com/base/pdfoneread/bean/ConstObject.kt
+8
-0
DocumentActivity.kt
.../java/com/base/pdfoneread/ui/document/DocumentActivity.kt
+31
-3
MainActivity.kt
...src/main/java/com/base/pdfoneread/ui/main/MainActivity.kt
+46
-3
PermissionFragment.kt
...in/java/com/base/pdfoneread/ui/main/PermissionFragment.kt
+50
-0
MyStartActivity.kt
...ain/java/com/base/pdfoneread/ui/splash/MyStartActivity.kt
+4
-1
SplashViewModel.kt
...ain/java/com/base/pdfoneread/ui/splash/SplashViewModel.kt
+3
-2
NameDialog.kt
app/src/main/java/com/base/pdfoneread/ui/views/NameDialog.kt
+11
-9
SafUtils.kt
app/src/main/java/com/base/pdfoneread/utils/SafUtils.kt
+39
-0
bg_ff5910_15.xml
app/src/main/res/drawable/bg_ff5910_15.xml
+5
-0
bg_ff5910_2_5.xml
app/src/main/res/drawable/bg_ff5910_2_5.xml
+5
-0
activity_my_start.xml
app/src/main/res/layout/activity_my_start.xml
+15
-2
dialog_document_rename.xml
app/src/main/res/layout/dialog_document_rename.xml
+32
-16
fragment_permission.xml
app/src/main/res/layout/fragment_permission.xml
+130
-0
icon_file.png
app/src/main/res/mipmap-xxhdpi/icon_file.png
+0
-0
icon_no.png
app/src/main/res/mipmap-xxhdpi/icon_no.png
+0
-0
nav_main.xml
app/src/main/res/navigation/nav_main.xml
+5
-0
splash_loading.json
app/src/main/res/raw/splash_loading.json
+1
-0
strings.xml
app/src/main/res/values/strings.xml
+5
-0
No files found.
app/src/main/java/com/base/pdfoneread/bean/ConstObject.kt
View file @
0dd1906a
...
...
@@ -38,6 +38,14 @@ object ConstObject {
field
=
value
AppPreferences
.
getInstance
().
put
(
"ifAgreePrivacy"
,
value
,
true
)
}
var
showPermissionPageGuide
=
false
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"showPermissionPageGuide"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"showPermissionPageGuide"
,
value
,
true
)
}
var
haveSaveDemo
=
false
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"haveSaveDemo"
,
field
)
...
...
app/src/main/java/com/base/pdfoneread/ui/document/DocumentActivity.kt
View file @
0dd1906a
...
...
@@ -2,6 +2,7 @@ package com.base.pdfoneread.ui.document
import
android.annotation.SuppressLint
import
android.graphics.Color
import
android.net.Uri
import
android.view.View
import
androidx.activity.addCallback
import
androidx.core.view.isVisible
...
...
@@ -18,9 +19,11 @@ import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
import
com.base.pdfoneread.databinding.ActivityDocumentBinding
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.ui.views.DialogCallBack
import
com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import
com.base.pdfoneread.ui.views.DocumentDialog.showDocumentHomeMoreDialog
import
com.base.pdfoneread.ui.views.PdfDialog.showPdfHomeMoreDialog
import
com.base.pdfoneread.utils.BarUtils
import
com.base.pdfoneread.utils.IntentShareUtils.shareMutDocuments
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.PdfBoxUtils.checkPdfEncryption
import
kotlinx.coroutines.Dispatchers
...
...
@@ -129,10 +132,10 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
changeRvItemSelect
(
binding
.
ivAllSelector
.
isSelected
)
}
binding
.
llDelete
.
setOnClickListener
{
deleteSelectDocument
()
}
binding
.
llShare
.
setOnClickListener
{
shareSelectDocument
()
}
binding
.
flPaixu
.
setOnClickListener
{
...
...
@@ -154,6 +157,30 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
}
}
private
fun
shareSelectDocument
()
{
val
uris
=
adapter
?.
items
?.
filter
{
it
.
isSelect
}
?.
map
{
it
.
uri
?:
Uri
.
EMPTY
}
uris
?:
return
val
arrayList
=
arrayListOf
<
Uri
>()
arrayList
.
addAll
(
uris
)
shareMutDocuments
(
type
,
arrayList
)
}
private
fun
deleteSelectDocument
()
{
showDeleteDialog
{
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
try
{
val
items
=
adapter
?.
items
?.
filter
{
it
.
isSelect
}
val
unDeleteItems
=
adapter
?.
items
?.
filter
{
!
it
.
isSelect
}
items
?.
forEach
{
File
(
it
.
path
).
delete
()
}
launch
(
Dispatchers
.
Main
)
{
adapter
?.
submitList
(
unDeleteItems
)
}
}
catch
(
e
:
Exception
)
{
initData
()
}
}
}
}
@SuppressLint
(
"NotifyDataSetChanged"
)
private
fun
changeSelectUI
(
isSelect
:
Boolean
)
{
if
(
isSelect
)
{
...
...
@@ -207,7 +234,6 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
runOnUI
(
list
)
}
private
fun
initData
()
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
context
=
this
@DocumentActivity
val
list
=
when
(
type
)
{
...
...
@@ -235,6 +261,7 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
}
//region DialogCallBack
@SuppressLint
(
"NotifyDataSetChanged"
)
override
fun
renameDocumentBean
(
file
:
File
,
newName
:
String
)
{
kotlin
.
runCatching
{
val
newFile
=
File
(
file
.
parentFile
,
newName
)
...
...
@@ -258,6 +285,7 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
}
}
@SuppressLint
(
"NotifyDataSetChanged"
)
override
fun
changePdfLock
(
item
:
DocumentBean
)
{
val
pdf
=
adapter
?.
items
?.
find
{
it
.
path
==
item
.
path
}
pdf
?.
state
=
checkPdfEncryption
(
item
.
path
)
...
...
app/src/main/java/com/base/pdfoneread/ui/main/MainActivity.kt
View file @
0dd1906a
...
...
@@ -3,6 +3,7 @@ package com.base.pdfoneread.ui.main
import
android.annotation.SuppressLint
import
android.content.Intent
import
android.graphics.Color
import
android.view.View
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.fragment.app.Fragment
...
...
@@ -10,6 +11,7 @@ import androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
com.base.pdfoneread.R
import
com.base.pdfoneread.bean.ConstObject.showPermissionPageGuide
import
com.base.pdfoneread.databinding.ActivityMainBinding
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_GRID
...
...
@@ -31,6 +33,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
var
homeUiType
=
UI_TYPE_GRID
var
navWhere
:
String
=
NAV_HOME
private
lateinit
var
navController
:
NavController
...
...
@@ -46,9 +49,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
changeHomeRvIcon
()
if
(!
checkStorePermission
())
{
if
(!
checkStorePermission
()
&&
showPermissionPageGuide
)
{
showStoragePermission
(
launcher
)
{}
}
}
override
fun
onResume
()
{
...
...
@@ -63,8 +67,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding
.
llHome
.
setOnClickListener
{
changeHomeUI
()
}
binding
.
llHome
.
callOnClick
()
binding
.
llRecent
.
setOnClickListener
{
changeRecentUI
()
}
...
...
@@ -86,6 +88,25 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding
.
flSearch
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
SearchActivity
::
class
.
java
))
}
handleNav
()
intent
.
extras
?.
clear
()
}
private
fun
handleNav
()
{
navWhere
=
intent
.
extras
?.
getString
(
"navWhere"
)
?:
NAV_HOME
when
(
navWhere
)
{
NAV_HOME
->
changeHomeUI
()
NAV_RECENT
->
changeRecentUI
()
NAV_SETTING
->
changeSettingUI
()
NAV_PERMISSION
->
{
if
(
checkStorePermission
())
{
changeHomeUI
()
}
else
{
changePermissionUI
()
}
}
}
}
private
fun
changeHomeRvIcon
()
{
...
...
@@ -154,4 +175,26 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
}
private
fun
changePermissionUI
()
{
binding
.
flRvMode
.
visibility
=
View
.
INVISIBLE
binding
.
flSearch
.
visibility
=
View
.
INVISIBLE
binding
.
ivHome
.
isSelected
=
true
binding
.
tvHome
.
isSelected
=
true
val
appName
=
resources
.
getString
(
R
.
string
.
app_name
)
binding
.
tvTittle
.
text
=
colorSpanner
(
appName
,
Color
.
parseColor
(
"#FD1010"
),
0
,
3
)
if
(
getNavCurrentFragment
()
!
is
PermissionFragment
)
{
navController
.
popBackStack
()
navController
.
navigate
(
R
.
id
.
permissionFragment
)
showPermissionPageGuide
=
true
}
}
companion
object
{
const
val
NAV_HOME
=
"nav_home"
const
val
NAV_RECENT
=
"nav_recent"
const
val
NAV_SETTING
=
"nav_setting"
const
val
NAV_PERMISSION
=
"nav_permission"
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfoneread/ui/main/PermissionFragment.kt
0 → 100644
View file @
0dd1906a
package
com.base.pdfoneread.ui.main
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.base.pdfoneread.databinding.FragmentPermissionBinding
import
com.base.pdfoneread.utils.PermissionUtils.requestStoragePermission
import
com.base.pdfoneread.utils.SafUtils.jumpOpenDocumentThenPersistable
import
com.base.pdfoneread.utils.ToastUtils.toast
class
PermissionFragment
:
Fragment
()
{
private
lateinit
var
binding
:
FragmentPermissionBinding
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
}
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
{
binding
=
FragmentPermissionBinding
.
inflate
(
layoutInflater
)
return
binding
.
root
}
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
binding
.
tvSet
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?:
return
@setOnClickListener
requireContext
().
requestStoragePermission
(
activity
.
launcher
)
{}
}
binding
.
tvFileGo
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?:
return
@setOnClickListener
requireContext
().
jumpOpenDocumentThenPersistable
(
activity
.
launcher
)
{
uri
->
requireContext
().
toast
(
"uri=$uri"
)
}
}
}
companion
object
{
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfoneread/ui/splash/MyStartActivity.kt
View file @
0dd1906a
...
...
@@ -18,6 +18,7 @@ import com.base.pdfoneread.helper.UmpUtils.umpCalled
import
com.base.pdfoneread.helper.UmpUtils.umpCanAd
import
com.base.pdfoneread.ui.BaseActivity
import
com.base.pdfoneread.ui.main.MainActivity
import
com.base.pdfoneread.ui.main.MainActivity.Companion.NAV_PERMISSION
import
com.base.pdfoneread.utils.BarUtils
import
com.base.pdfoneread.utils.LogEx
import
com.base.pdfoneread.utils.SpannableUtils
...
...
@@ -126,7 +127,9 @@ class MyStartActivity : BaseActivity<ActivityMyStartBinding>() {
private
fun
firstStartJump
()
{
isFirstStart
=
false
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
))
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
putExtra
(
"navWhere"
,
NAV_PERMISSION
)
})
}
override
fun
onPause
()
{
...
...
app/src/main/java/com/base/pdfoneread/ui/splash/SplashViewModel.kt
View file @
0dd1906a
...
...
@@ -10,6 +10,7 @@ import kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
com.base.pdfoneread.utils.LogEx
import
kotlinx.coroutines.Dispatchers
class
SplashViewModel
:
ViewModel
()
{
...
...
@@ -25,12 +26,12 @@ class SplashViewModel : ViewModel() {
if
(
ConstObject
.
ifAgreePrivacy
&&
startJumpJob
)
{
if
(
jumpJob
==
null
)
{
val
startTime
=
System
.
currentTimeMillis
()
jumpJob
=
viewModelScope
.
launch
{
jumpJob
=
viewModelScope
.
launch
(
Dispatchers
.
IO
)
{
LogEx
.
logDebug
(
TAG
,
"open_ad_loading=$loadingTime"
)
delay
(
loadingTime
*
1000L
)
val
endTime
=
System
.
currentTimeMillis
()
LogEx
.
logDebug
(
TAG
,
"超时跳转 time=${endTime - startTime}"
)
splashActivity
.
jumpNext
()
launch
(
Dispatchers
.
Main
)
{
splashActivity
.
jumpNext
()
}
}
}
}
...
...
app/src/main/java/com/base/pdfoneread/ui/views/NameDialog.kt
View file @
0dd1906a
package
com.base.pdfoneread.ui.views
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
...
...
@@ -22,20 +26,18 @@ object NameDialog {
okAction
:
((
newName
:
String
)
->
Unit
)?
=
null
,
dismissAction
:
(()
->
Unit
)?
=
null
)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
(
)
val
binding
=
DialogDocumentRenameBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
set
Content
View
(
binding
.
root
)
dialog
.
setView
(
binding
.
root
)
dialog
.
setCanceledOnTouchOutside
(
true
)
val
window
=
dialog
.
window
window
?.
setSoftInputMode
(
WindowManager
.
LayoutParams
.
SOFT_INPUT_ADJUST_RESIZE
)
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
)
dialog
.
window
?.
attributes
=
params
dialog
.
window
?.
setBackgroundDrawableResource
(
android
.
R
.
color
.
transparent
)
binding
.
edit
.
addTextChangedListener
{
binding
.
tvOk
.
isEnabled
=
!
it
.
isNullOrEmpty
()
...
...
app/src/main/java/com/base/pdfoneread/utils/SafUtils.kt
0 → 100644
View file @
0dd1906a
package
com.base.pdfoneread.utils
import
android.app.Activity
import
android.content.Context
import
android.content.Intent
import
android.net.Uri
import
android.os.Build
import
android.provider.DocumentsContract
object
SafUtils
{
fun
Context
.
persistableUri
(
treeUri
:
Uri
)
{
contentResolver
.
takePersistableUriPermission
(
treeUri
,
Intent
.
FLAG_GRANT_READ_URI_PERMISSION
or
Intent
.
FLAG_GRANT_WRITE_URI_PERMISSION
)
}
fun
Context
.
jumpOpenDocumentThenPersistable
(
launcher
:
ActivityLauncher
,
callBack
:
(
uri
:
Uri
?)
->
Unit
)
{
val
intent
=
Intent
(
Intent
.
ACTION_OPEN_DOCUMENT
)
val
downloadsUri
=
Uri
.
parse
(
"content://com.android.providers.downloads.documents/tree/downloads"
)
// 可以设置一个初始URI,当文件选择器加载时会显示这个URI指向的文件夹
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
intent
.
putExtra
(
DocumentsContract
.
EXTRA_INITIAL_URI
,
downloadsUri
)
}
launcher
.
launch
(
intent
)
{
result
->
if
(
result
.
resultCode
==
Activity
.
RESULT_OK
)
{
val
treeUri
=
result
.
data
?.
data
treeUri
?.
let
{
persistableUri
(
it
)
}
callBack
.
invoke
(
treeUri
)
}
}
}
}
\ No newline at end of file
app/src/main/res/drawable/bg_ff5910_15.xml
0 → 100644
View file @
0dd1906a
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#FF5910"
/>
<corners
android:radius=
"10dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_ff5910_2_5.xml
0 → 100644
View file @
0dd1906a
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#FF5910"
/>
<corners
android:radius=
"2.5dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_my_start.xml
View file @
0dd1906a
...
...
@@ -43,13 +43,26 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"24dp"
android:text=
"@string/your_full_document_reader"
android:textColor=
"#8E95A0"
android:textSize=
"15sp"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tv_app_name"
android:text=
"Your full document reader"
/>
app:layout_constraintTop_toBottomOf=
"@id/tv_app_name"
/>
<com.base.pdfoneread.ui.views.XmlLottieAnimationView
android:id=
"@+id/lottie"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginBottom=
"40dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:lottie_autoPlay=
"true"
app:lottie_loop=
"true"
app:lottie_rawRes=
"@raw/splash_loading"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/dialog_document_rename.xml
View file @
0dd1906a
...
...
@@ -2,15 +2,16 @@
<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:layout_width=
"
match_parent
"
android:layout_width=
"
360dp
"
android:layout_height=
"wrap_content"
android:background=
"@drawable/bg_f
3f3f3_tlr2
5"
android:background=
"@drawable/bg_f
fffff_tlr1
5"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/fl"
android:layout_width=
"match_parent"
android:layout_height=
"65dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"40dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
...
...
@@ -35,21 +36,36 @@
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/fl"
>
<EditText
android:id=
"@+id/edit"
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"55dp"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"32dp"
android:background=
"@drawable/bg_stoke_bababa_10"
android:ellipsize=
"end"
android:gravity=
"center_vertical"
android:paddingHorizontal=
"20dp"
android:singleLine=
"true"
android:text=
"DEMO.pdf"
android:textColor=
"#333333"
android:textSize=
"18sp"
tools:ignore=
"Autofill,HardcodedText,LabelFor,TextFields"
/>
android:layout_marginTop=
"32dp"
>
<EditText
android:id=
"@+id/edit"
android:layout_width=
"match_parent"
android:layout_height=
"55dp"
android:background=
"@drawable/bg_stoke_bababa_10"
android:ellipsize=
"end"
android:gravity=
"center_vertical"
android:paddingStart=
"20dp"
android:paddingEnd=
"40dp"
android:singleLine=
"true"
android:text=
"DEMO.pdf"
android:textColor=
"#333333"
android:textSize=
"18sp"
tools:ignore=
"Autofill,HardcodedText,LabelFor,TextFields"
/>
<ImageView
android:id=
"@+id/iv_x"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical|end"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<LinearLayout
android:layout_width=
"wrap_content"
...
...
app/src/main/res/layout/fragment_permission.xml
0 → 100644
View file @
0dd1906a
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".ui.main.PermissionFragment"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
android:orientation=
"vertical"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"120dp"
android:src=
"@mipmap/no_empty"
tools:ignore=
"ContentDescription"
/>
<TextView
android:id=
"@+id/tv_1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"24dp"
android:text=
"No permissions"
android:textColor=
"#010101"
android:textSize=
"20sp"
android:textStyle=
"bold"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"2dp"
android:text=
"@string/authorization_required_to_read_all_files"
android:textColor=
"#9E9FA2"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_set"
android:layout_width=
"160dp"
android:layout_height=
"50dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"80dp"
android:layout_marginBottom=
"50dp"
android:background=
"@drawable/bg_ff5910_15"
android:gravity=
"center"
android:text=
"@string/go_to_set"
android:textColor=
"@color/white"
android:textSize=
"18sp"
android:textStyle=
"bold"
/>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"80dp"
android:background=
"#F3F4F6"
>
<ImageView
android:id=
"@+id/iv_file"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"20dp"
android:src=
"@mipmap/icon_file"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"16dp"
android:text=
"@string/you_can_open_files_through_nfile_manager"
android:textColor=
"@color/black"
android:textSize=
"15sp"
app:layout_constraintBottom_toBottomOf=
"@id/iv_file"
app:layout_constraintEnd_toStartOf=
"@id/tv_file_go"
app:layout_constraintStart_toEndOf=
"@id/iv_file"
app:layout_constraintTop_toTopOf=
"@id/iv_file"
/>
<TextView
android:id=
"@+id/tv_file_go"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"8dp"
android:background=
"@drawable/bg_ff5910_2_5"
android:gravity=
"center"
android:paddingHorizontal=
"24dp"
android:paddingVertical=
"8dp"
android:text=
"@string/go"
android:textColor=
"@color/white"
android:textSize=
"15sp"
android:textStyle=
"bold"
app:layout_constraintBottom_toBottomOf=
"@id/iv_file"
app:layout_constraintEnd_toStartOf=
"@id/fl_close"
app:layout_constraintTop_toTopOf=
"@id/iv_file"
/>
<FrameLayout
android:id=
"@+id/fl_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"16dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@mipmap/icon_no"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/icon_file.png
0 → 100644
View file @
0dd1906a
1.03 KB
app/src/main/res/mipmap-xxhdpi/icon_no.png
0 → 100644
View file @
0dd1906a
1.92 KB
app/src/main/res/navigation/nav_main.xml
View file @
0dd1906a
...
...
@@ -20,4 +20,9 @@
android:name=
"com.base.pdfoneread.ui.main.SettingFragment"
android:label=
"fragment_setting"
tools:layout=
"@layout/fragment_setting"
/>
<fragment
android:id=
"@+id/permissionFragment"
android:name=
"com.base.pdfoneread.ui.main.PermissionFragment"
android:label=
"fragment_permission"
tools:layout=
"@layout/fragment_permission"
/>
</navigation>
\ No newline at end of file
app/src/main/res/raw/splash_loading.json
0 → 100644
View file @
0dd1906a
This diff is collapsed.
Click to expand it.
app/src/main/res/values/strings.xml
View file @
0dd1906a
...
...
@@ -62,5 +62,10 @@
<string
name=
"password_error"
>
Password Error
</string>
<string
name=
"confirm"
>
Confirm
</string>
<string
name=
"merge"
>
Merge
</string>
<string
name=
"authorization_required_to_read_all_files"
>
Authorization required to read all files.
</string>
<string
name=
"go_to_set"
>
Go to set
</string>
<string
name=
"go"
>
Go
</string>
<string
name=
"you_can_open_files_through_nfile_manager"
>
You can open files through\n\"File Manager\".
</string>
<string
name=
"your_full_document_reader"
>
Your full document reader
</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