Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PDF Viewer Scanner White
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 Viewer Scanner White
Commits
14379bbf
Commit
14379bbf
authored
Oct 11, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
8dbbc1f0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
150 additions
and
87 deletions
+150
-87
ConstObject.kt
...n/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
+20
-0
BaseActivity.kt
...ava/com/base/pdfviewerscannerwhite/helper/BaseActivity.kt
+4
-2
MainActivity.kt
...va/com/base/pdfviewerscannerwhite/ui/main/MainActivity.kt
+26
-2
PermissionActivity.kt
...pdfviewerscannerwhite/ui/permission/PermissionActivity.kt
+9
-2
SplashActivity.kt
...om/base/pdfviewerscannerwhite/ui/splash/SplashActivity.kt
+23
-17
activity_main2.xml
app/src/main/res/layout/activity_main2.xml
+68
-64
No files found.
app/src/main/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
View file @
14379bbf
...
@@ -47,6 +47,7 @@ object ConstObject {
...
@@ -47,6 +47,7 @@ object ConstObject {
const
val
SHORTCUT_SPLIT_PDF
=
"shortcut_split_pdf"
const
val
SHORTCUT_SPLIT_PDF
=
"shortcut_split_pdf"
const
val
SHORTCUT_MERGE_PDF
=
"shortcut_merge_pdf"
const
val
SHORTCUT_MERGE_PDF
=
"shortcut_merge_pdf"
var
ifAgreePrivacy
=
false
var
ifAgreePrivacy
=
false
get
()
{
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
...
@@ -106,4 +107,23 @@ object ConstObject {
...
@@ -106,4 +107,23 @@ object ConstObject {
AppPreferences
.
getInstance
().
put
(
"selectFollowLanguage"
,
value
,
true
)
AppPreferences
.
getInstance
().
put
(
"selectFollowLanguage"
,
value
,
true
)
}
}
//是否第一次启动
var
isFirstStart
=
true
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"isFirstStart"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"isFirstStart"
,
value
,
true
)
}
//主页启动次数
var
mainStartTimes
=
0
get
()
{
return
AppPreferences
.
getInstance
().
getInt
(
"mainStartTimes"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"mainStartTimes"
,
value
,
true
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/helper/BaseActivity.kt
View file @
14379bbf
...
@@ -64,7 +64,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
...
@@ -64,7 +64,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
activityLanguage
:
String
,
activityLanguage
:
String
,
activityTag
:
String
?
=
null
,
activityTag
:
String
?
=
null
,
activityChangeCallback
:
((
language
:
String
)
->
Unit
)?
=
null
activityChangeCallback
:
((
language
:
String
)
->
Unit
)?
=
null
)
{
)
:
Boolean
{
LogEx
.
logDebug
(
LogEx
.
logDebug
(
TAG
,
TAG
,
"activityTag=$activityTag "
+
"activityTag=$activityTag "
+
...
@@ -72,6 +72,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
...
@@ -72,6 +72,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
"changeLanguageSp=$changeLanguageSp "
+
"changeLanguageSp=$changeLanguageSp "
+
"activityLanguage=$activityLanguage"
"activityLanguage=$activityLanguage"
)
)
var
isRecreate
=
false
if
(
appLanguageSp
!=
changeLanguageSp
||
activityLanguage
!=
changeLanguageSp
)
{
if
(
appLanguageSp
!=
changeLanguageSp
||
activityLanguage
!=
changeLanguageSp
)
{
...
@@ -80,9 +81,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
...
@@ -80,9 +81,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
appLanguageSp
=
changeLanguageSp
appLanguageSp
=
changeLanguageSp
activityChangeCallback
?.
invoke
(
changeLanguageSp
)
activityChangeCallback
?.
invoke
(
changeLanguageSp
)
LogEx
.
logDebug
(
TAG
,
"activityTag=$activityTag recreate"
)
LogEx
.
logDebug
(
TAG
,
"activityTag=$activityTag recreate"
)
isRecreate
=
true
this
@BaseActivity
.
recreate
()
this
@BaseActivity
.
recreate
()
}
}
return
isRecreate
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/MainActivity.kt
View file @
14379bbf
...
@@ -7,6 +7,7 @@ import android.net.Uri
...
@@ -7,6 +7,7 @@ import android.net.Uri
import
android.os.Bundle
import
android.os.Bundle
import
android.view.View
import
android.view.View
import
androidx.activity.OnBackPressedCallback
import
androidx.activity.OnBackPressedCallback
import
androidx.core.view.isVisible
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.R
...
@@ -18,6 +19,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
...
@@ -18,6 +19,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_MERGE_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_MERGE_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SPLIT_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SPLIT_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.mainStartTimes
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import
com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
...
@@ -86,7 +88,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
...
@@ -86,7 +88,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override
fun
onResume
()
{
override
fun
onResume
()
{
super
.
onResume
()
super
.
onResume
()
updateAppLanguage
(
MyApplication
.
mainLanguage
,
TAG
)
{
val
isRecreate
=
updateAppLanguage
(
MyApplication
.
mainLanguage
,
TAG
)
{
supportFragmentManager
.
beginTransaction
().
apply
{
supportFragmentManager
.
beginTransaction
().
apply
{
remove
(
documentFragment
)
remove
(
documentFragment
)
remove
(
recentFragment
)
remove
(
recentFragment
)
...
@@ -97,6 +99,18 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
...
@@ -97,6 +99,18 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
MyApplication
.
mainLanguage
=
it
MyApplication
.
mainLanguage
=
it
}
}
LogEx
.
logDebug
(
TAG
,
"isRecreate=$isRecreate mainStartTimes=$mainStartTimes"
)
if
(!
isRecreate
)
{
mainStartTimes
++
}
else
{
return
}
if
(
mainStartTimes
==
1
)
{
binding
.
flScanGuide
.
visibility
=
View
.
VISIBLE
return
}
if
(
checkStorePermission
()
&&
needRefresh
)
{
if
(
checkStorePermission
()
&&
needRefresh
)
{
mainPresenter
.
initAllDocumentData
()
mainPresenter
.
initAllDocumentData
()
}
else
{
}
else
{
...
@@ -233,7 +247,17 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
...
@@ -233,7 +247,17 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
binding
.
ivScan
.
setOnClickListener
{
binding
.
ivScan
.
setOnClickListener
{
mainPresenter
.
starGmsScan
(
this
)
mainPresenter
.
starGmsScan
(
this
)
}
}
binding
.
flScanGuide
.
setOnClickListener
{
binding
.
flScanGuide
.
visibility
=
View
.
GONE
}
binding
.
tvTryScan
.
setOnClickListener
{
binding
.
flScanGuide
.
visibility
=
View
.
GONE
mainPresenter
.
starGmsScan
(
this
)
}
binding
.
ivScanGuide
.
setOnClickListener
{
binding
.
flScanGuide
.
visibility
=
View
.
GONE
mainPresenter
.
starGmsScan
(
this
)
}
actionIdOperation
()
actionIdOperation
()
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/permission/PermissionActivity.kt
View file @
14379bbf
...
@@ -5,12 +5,14 @@ import android.graphics.Color
...
@@ -5,12 +5,14 @@ import android.graphics.Color
import
android.text.SpannableString
import
android.text.SpannableString
import
android.text.SpannableStringBuilder
import
android.text.SpannableStringBuilder
import
android.text.style.ForegroundColorSpan
import
android.text.style.ForegroundColorSpan
import
androidx.activity.addCallback
import
androidx.core.content.ContextCompat
import
androidx.core.content.ContextCompat
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.R
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
import
com.base.pdfviewerscannerwhite.utils.PermissionUtils.requestStoragePermission
class
PermissionActivity
:
BaseActivity
<
ActivityPermissionBinding
>()
{
class
PermissionActivity
:
BaseActivity
<
ActivityPermissionBinding
>()
{
...
@@ -43,11 +45,16 @@ class PermissionActivity : BaseActivity<ActivityPermissionBinding>() {
...
@@ -43,11 +45,16 @@ class PermissionActivity : BaseActivity<ActivityPermissionBinding>() {
override
fun
initListener
()
{
override
fun
initListener
()
{
super
.
initListener
()
super
.
initListener
()
onBackPressedDispatcher
.
addCallback
{
finishToMain
()
}
binding
.
tvLater
.
setOnClickListener
{
binding
.
tvLater
.
setOnClickListener
{
onBackPressedDispatcher
.
onBackPressed
()
}
}
binding
.
tvAllow
.
setOnClickListener
{
binding
.
tvAllow
.
setOnClickListener
{
requestStoragePermission
(
launcher
)
{
onBackPressedDispatcher
.
onBackPressed
()
}
}
}
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/splash/SplashActivity.kt
View file @
14379bbf
...
@@ -12,9 +12,9 @@ import com.base.pdfviewerscannerwhite.R
...
@@ -12,9 +12,9 @@ import com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import
com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import
com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import
com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import
com.base.pdfviewerscannerwhite.bean.ConstObject
import
com.base.pdfviewerscannerwhite.bean.ConstObject
import
com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import
com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import
com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import
com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import
com.base.pdfviewerscannerwhite.bean.ConstObject.isFirstStart
import
com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding
import
com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.MyApplication
import
com.base.pdfviewerscannerwhite.helper.MyApplication
...
@@ -25,7 +25,6 @@ import com.base.pdfviewerscannerwhite.ui.permission.PermissionActivity
...
@@ -25,7 +25,6 @@ import com.base.pdfviewerscannerwhite.ui.permission.PermissionActivity
import
com.base.pdfviewerscannerwhite.ui.set.SetLanguageActivity
import
com.base.pdfviewerscannerwhite.ui.set.SetLanguageActivity
import
com.base.pdfviewerscannerwhite.utils.BarUtils
import
com.base.pdfviewerscannerwhite.utils.BarUtils
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import
com.base.pdfviewerscannerwhite.utils.UmpUtils
import
com.base.pdfviewerscannerwhite.utils.UmpUtils
import
com.base.pdfviewerscannerwhite.utils.UmpUtils.requestUMP
import
com.base.pdfviewerscannerwhite.utils.UmpUtils.requestUMP
import
java.util.Calendar
import
java.util.Calendar
...
@@ -176,26 +175,33 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
...
@@ -176,26 +175,33 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
binding
.
root
.
postDelayed
({
binding
.
root
.
postDelayed
({
if
(!
haveSelectLanguage
&&
ConstObject
.
changeLanguageSp
!=
Locale
.
ENGLISH
.
language
)
{
if
(
isFirstStart
)
{
startActivity
(
Intent
(
this
,
SetLanguageActivity
::
class
.
java
))
firstStartJump
()
finish
()
}
else
{
return
@postDelayed
LogEx
.
logDebug
(
TAG
,
"jumpNext actionId=$actionId"
)
}
when
(
actionId
)
{
else
->
{
LogEx
.
logDebug
(
TAG
,
"jumpNext actionId=$actionId"
)
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
when
(
actionId
)
{
putExtra
(
"actionId"
,
actionId
)
})
else
->
{
}
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
putExtra
(
"actionId"
,
actionId
)
})
}
}
this
.
intent
.
extras
?.
clear
()
finish
()
}
}
this
.
intent
.
extras
?.
clear
()
finish
()
},
100
)
},
100
)
}
}
private
fun
firstStartJump
()
{
isFirstStart
=
false
if
(!
haveSelectLanguage
&&
ConstObject
.
changeLanguageSp
!=
Locale
.
ENGLISH
.
language
)
{
startActivity
(
Intent
(
this
,
SetLanguageActivity
::
class
.
java
))
}
else
{
startActivity
(
Intent
(
this
,
PermissionActivity
::
class
.
java
))
}
finish
()
}
}
}
\ No newline at end of file
app/src/main/res/layout/activity_main2.xml
View file @
14379bbf
...
@@ -26,70 +26,6 @@
...
@@ -26,70 +26,6 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
tools:ignore=
"ContentDescription"
/>
tools:ignore=
"ContentDescription"
/>
<FrameLayout
android:id=
"@+id/cl_scan_guide"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintBottom_toTopOf=
"@id/ll_bottom"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"250dp"
android:layout_gravity=
"bottom"
android:background=
"@drawable/bg_00b8de_tl15_tr15"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<TextView
android:id=
"@+id/tv_scan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"24dp"
android:layout_marginTop=
"54dp"
android:text=
"Scan to PDF"
android:textColor=
"@color/white"
android:textSize=
"20sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_scan_tip"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"32dp"
android:text=
"@string/click_this_button_to_use_the_scanning_feature"
android:textColor=
"@color/white"
android:textSize=
"15sp"
app:layout_constraintStart_toStartOf=
"@id/tv_scan"
app:layout_constraintTop_toBottomOf=
"@id/tv_scan"
/>
<TextView
android:layout_width=
"160dp"
android:layout_height=
"48dp"
android:background=
"@drawable/bg_ffffff_10"
android:gravity=
"center"
android:text=
"@string/try_using_it"
android:textColor=
"#00B8DE"
android:textSize=
"18sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"@id/tv_scan"
app:layout_constraintTop_toBottomOf=
"@id/tv_scan_tip"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"18dp"
android:src=
"@mipmap/yindaotu_scan"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/ll_bottom"
android:id=
"@+id/ll_bottom"
...
@@ -309,6 +245,74 @@
...
@@ -309,6 +245,74 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id=
"@+id/fl_scan_guide"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:visibility=
"gone"
app:layout_constraintBottom_toTopOf=
"@id/fl_banner"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"250dp"
android:layout_gravity=
"bottom"
android:background=
"@drawable/bg_00b8de_tl15_tr15"
app:layout_constraintBottom_toBottomOf=
"parent"
>
<TextView
android:id=
"@+id/tv_scan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"24dp"
android:layout_marginTop=
"54dp"
android:text=
"Scan to PDF"
android:textColor=
"@color/white"
android:textSize=
"20sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"HardcodedText"
/>
<TextView
android:id=
"@+id/tv_scan_tip"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"32dp"
android:text=
"@string/click_this_button_to_use_the_scanning_feature"
android:textColor=
"@color/white"
android:textSize=
"15sp"
app:layout_constraintStart_toStartOf=
"@id/tv_scan"
app:layout_constraintTop_toBottomOf=
"@id/tv_scan"
/>
<TextView
android:id=
"@+id/tv_try_scan"
android:layout_width=
"160dp"
android:layout_height=
"48dp"
android:background=
"@drawable/bg_ffffff_10"
android:gravity=
"center"
android:text=
"@string/try_using_it"
android:textColor=
"#00B8DE"
android:textSize=
"18sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"@id/tv_scan"
app:layout_constraintTop_toBottomOf=
"@id/tv_scan_tip"
/>
<ImageView
android:id=
"@+id/iv_scan_guide"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"18dp"
android:src=
"@mipmap/yindaotu_scan"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
<FrameLayout
<FrameLayout
android:id=
"@+id/fl_banner"
android:id=
"@+id/fl_banner"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
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