Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PDF Viewer Scanner White ago
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
kuxulei
PDF Viewer Scanner White ago
Commits
31d634fb
Commit
31d634fb
authored
Oct 09, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
92fede40
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
183 additions
and
144 deletions
+183
-144
build.gradle.kts
app/build.gradle.kts
+1
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-0
ConstObject.kt
...n/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
+12
-64
ConfigHelper.kt
...ava/com/base/pdfviewerscannerwhite/helper/ConfigHelper.kt
+1
-1
EventUtils.kt
.../java/com/base/pdfviewerscannerwhite/helper/EventUtils.kt
+1
-1
InstallHelper.kt
...va/com/base/pdfviewerscannerwhite/helper/InstallHelper.kt
+2
-0
MyApplication.kt
...va/com/base/pdfviewerscannerwhite/helper/MyApplication.kt
+1
-5
NewComUtils.kt
...java/com/base/pdfviewerscannerwhite/helper/NewComUtils.kt
+2
-3
StayNotificationService.kt
.../pdfviewerscannerwhite/service/StayNotificationService.kt
+25
-58
PdfActivity.kt
...base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
+9
-0
MainActivity.kt
...va/com/base/pdfviewerscannerwhite/ui/main/MainActivity.kt
+1
-2
SplashActivity.kt
...om/base/pdfviewerscannerwhite/ui/splash/SplashActivity.kt
+9
-1
SplashPresenter.kt
...m/base/pdfviewerscannerwhite/ui/splash/SplashPresenter.kt
+1
-1
XmlLottieAnimationView.kt
...e/pdfviewerscannerwhite/ui/view/XmlLottieAnimationView.kt
+26
-0
activity_main2.xml
app/src/main/res/layout/activity_main2.xml
+1
-1
activity_pdf.xml
app/src/main/res/layout/activity_pdf.xml
+18
-0
stay_notification_big.xml
app/src/main/res/layout/stay_notification_big.xml
+69
-6
bookmark_notification.png
app/src/main/res/mipmap-xxhdpi/bookmark_notification.png
+0
-0
doc_notification.png
app/src/main/res/mipmap-xxhdpi/doc_notification.png
+0
-0
enlarge.json
app/src/main/res/raw/enlarge.json
+1
-0
permissions_xin.json
app/src/main/res/raw/permissions_xin.json
+1
-0
strings.xml
app/src/main/res/values/strings.xml
+1
-1
No files found.
app/build.gradle.kts
View file @
31d634fb
...
@@ -83,6 +83,7 @@ dependencies {
...
@@ -83,6 +83,7 @@ dependencies {
implementation
(
"io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4"
)
implementation
(
"io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4"
)
implementation
(
"com.github.angcyo.DslTablayout:TabLayout:3.5.5"
)
implementation
(
"com.github.angcyo.DslTablayout:TabLayout:3.5.5"
)
implementation
(
"com.github.angcyo.DslTablayout:ViewPager2Delegate:3.5.5"
)
implementation
(
"com.github.angcyo.DslTablayout:ViewPager2Delegate:3.5.5"
)
implementation
(
"com.airbnb.android:lottie:6.4.0"
)
//mlkit
//mlkit
implementation
(
"com.google.android.gms:play-services-mlkit-document-scanner:16.0.0-beta1"
)
implementation
(
"com.google.android.gms:play-services-mlkit-document-scanner:16.0.0-beta1"
)
...
...
app/src/main/AndroidManifest.xml
View file @
31d634fb
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.MANAGE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.MANAGE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application
<application
android:name=
".helper.MyApplication"
android:name=
".helper.MyApplication"
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
View file @
31d634fb
...
@@ -39,6 +39,10 @@ object ConstObject {
...
@@ -39,6 +39,10 @@ object ConstObject {
const
val
UI_SORT_NAME_A_Z
=
"ui_sort_name_a_z"
const
val
UI_SORT_NAME_A_Z
=
"ui_sort_name_a_z"
const
val
UI_SORT_NAME_Z_A
=
"ui_sort_name_z_a"
const
val
UI_SORT_NAME_Z_A
=
"ui_sort_name_z_a"
const
val
NOTIFICATION_ACTION_LOG
=
"notification_action_log"
const
val
NOTIFICATION_ACTION_DOCUMENT
=
"notification_action_document"
const
val
NOTIFICATION_ACTION_BOOKMARK
=
"notification_action_bookmark"
var
ifAgreePrivacy
=
false
var
ifAgreePrivacy
=
false
get
()
{
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
...
@@ -56,69 +60,13 @@ object ConstObject {
...
@@ -56,69 +60,13 @@ object ConstObject {
AppPreferences
.
getInstance
().
put
(
"haveSaveDemo"
,
value
,
true
)
AppPreferences
.
getInstance
().
put
(
"haveSaveDemo"
,
value
,
true
)
}
}
//
var
haveGuideGesture
=
false
// var searchEngineSp = GOOGLE
get
()
{
// get() {
return
AppPreferences
.
getInstance
().
getBoolean
(
"haveGuideGesture"
,
field
)
// return AppPreferences.getInstance().getString("searchEngine", field)
}
// }
set
(
value
)
{
// set(value) {
field
=
value
// field = value
AppPreferences
.
getInstance
().
put
(
"haveGuideGesture"
,
value
,
true
)
// AppPreferences.getInstance().put("searchEngine", value, true)
}
// }
//
// var isFirstMainShow = true
// get() {
// return AppPreferences.getInstance().getBoolean("isFirstMainShow", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("isFirstMainShow", value, true)
// }
//
// var mainShowCount = 0
// get() {
// return AppPreferences.getInstance().getInt("mainShowCount", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("mainShowCount", value, true)
// }
//
// var webPrivacy = false
// get() {
// return AppPreferences.getInstance().getBoolean("webPrivacy", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("webPrivacy", value, true)
// }
//
//
// var downloadDisclaimer = false
// get() {
// return AppPreferences.getInstance().getBoolean("downloadDisclaimer", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("downloadDisclaimer", value, true)
// }
//
// var optimizationShow = false
// get() {
// return AppPreferences.getInstance().getBoolean("optimizationShow", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("optimizationShow", value, true)
// }
//
// var shortcutShowSp = false
// get() {
// return AppPreferences.getInstance().getBoolean("shortcutShow", field)
// }
// set(value) {
// field = value
// AppPreferences.getInstance().put("shortcutShow", value, true)
// }
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/helper/ConfigHelper.kt
View file @
31d634fb
...
@@ -6,7 +6,7 @@ object ConfigHelper {
...
@@ -6,7 +6,7 @@ object ConfigHelper {
const
val
termService
:
String
=
"https://sites.google.com/view/term-of-service-s/term-of-service"
const
val
termService
:
String
=
"https://sites.google.com/view/term-of-service-s/term-of-service"
// 正式包名
// 正式包名
const
val
packageName
=
"com.
ttesst.gododo.redause
"
const
val
packageName
=
"com.
lol.pdfscanner.libstdc.chovey
"
// 域名
// 域名
const
val
eventUrl
=
"https://rp.gamexzonerk.xyz"
const
val
eventUrl
=
"https://rp.gamexzonerk.xyz"
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/helper/EventUtils.kt
View file @
31d634fb
...
@@ -58,7 +58,7 @@ object EventUtils {
...
@@ -58,7 +58,7 @@ object EventUtils {
}
catch
(
e
:
JSONException
)
{
}
catch
(
e
:
JSONException
)
{
paramJson
=
""
paramJson
=
""
}
}
LogEx
.
logDebug
(
TAG
,
"
report!
"
)
LogEx
.
logDebug
(
TAG
,
"
url=$url
"
)
doPost
(
doPost
(
url
,
url
,
HashMap
(),
HashMap
(),
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/helper/InstallHelper.kt
View file @
31d634fb
...
@@ -15,6 +15,7 @@ object InstallHelps {
...
@@ -15,6 +15,7 @@ object InstallHelps {
fun
init
()
{
fun
init
()
{
val
referrerClient
=
InstallReferrerClient
.
newBuilder
(
MyApplication
.
context
).
build
()
val
referrerClient
=
InstallReferrerClient
.
newBuilder
(
MyApplication
.
context
).
build
()
referrerClient
.
startConnection
(
object
:
InstallReferrerStateListener
{
referrerClient
.
startConnection
(
object
:
InstallReferrerStateListener
{
override
fun
onInstallReferrerSetupFinished
(
responseCode
:
Int
)
{
override
fun
onInstallReferrerSetupFinished
(
responseCode
:
Int
)
{
...
@@ -56,6 +57,7 @@ object InstallHelps {
...
@@ -56,6 +57,7 @@ object InstallHelps {
}
}
}
catch
(
_
:
Exception
)
{
}
catch
(
_
:
Exception
)
{
EventUtils
.
event
(
"install_referrer_error"
)
EventUtils
.
event
(
"install_referrer_error"
)
requestCfg
()
}
}
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/helper/MyApplication.kt
View file @
31d634fb
...
@@ -31,13 +31,9 @@ class MyApplication : Application() {
...
@@ -31,13 +31,9 @@ class MyApplication : Application() {
}
}
private
fun
initUUid
()
{
private
fun
initUUid
()
{
//使用同一个uuid来测试上报
//7a6f8e5f-ca67-4149-975b-dacdc6c51aff1723174621132
// AppPreferences.getInstance().put("uuid", "7a6f8e5f-ca67-4149-975b-dacdc6c51aff1723174621132")
uuid
=
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
uuid
=
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
""
)
if
(
TextUtils
.
isEmpty
(
uuid
))
{
if
(
TextUtils
.
isEmpty
(
uuid
))
{
uuid
=
UUID
.
randomUUID
().
toString
()
uuid
=
UUID
.
randomUUID
().
toString
()
+
System
.
currentTimeMillis
()
// + System.currentTimeMillis()
AppPreferences
.
getInstance
().
put
(
"uuid"
,
uuid
)
AppPreferences
.
getInstance
().
put
(
"uuid"
,
uuid
)
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
LogEx
.
logDebug
(
TAG
,
"uuid=$uuid"
)
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/helper/NewComUtils.kt
View file @
31d634fb
...
@@ -69,14 +69,14 @@ object NewComUtils {
...
@@ -69,14 +69,14 @@ object NewComUtils {
private
fun
doGet
():
String
?
{
private
fun
doGet
():
String
?
{
val
urlPath
=
url
val
urlPath
=
url
Log
.
d
(
"okhttp"
,
urlPath
)
Log
Ex
.
logDebug
(
TAG
,
"url=$url"
)
try
{
try
{
val
conn
:
HttpURLConnection
=
URL
(
urlPath
).
openConnection
()
as
HttpURLConnection
val
conn
:
HttpURLConnection
=
URL
(
urlPath
).
openConnection
()
as
HttpURLConnection
conn
.
setRequestMethod
(
"GET"
)
conn
.
setRequestMethod
(
"GET"
)
conn
.
connectTimeout
=
150000
conn
.
connectTimeout
=
150000
if
(
200
==
conn
.
getResponseCode
())
{
if
(
200
==
conn
.
getResponseCode
())
{
val
json
=
BufferedReader
(
InputStreamReader
(
conn
.
inputStream
)).
readLine
()
val
json
=
BufferedReader
(
InputStreamReader
(
conn
.
inputStream
)).
readLine
()
Log
.
d
(
"okhttp"
,
json
)
Log
Ex
.
logDebug
(
TAG
,
"json=$json"
)
return
json
return
json
}
}
}
catch
(
e
:
Exception
)
{
}
catch
(
e
:
Exception
)
{
...
@@ -93,7 +93,6 @@ object NewComUtils {
...
@@ -93,7 +93,6 @@ object NewComUtils {
}
}
private
fun
parseConfigBean
(
json
:
String
)
{
private
fun
parseConfigBean
(
json
:
String
)
{
Log
.
d
(
"okhttp"
,
json
)
val
gson
=
Gson
()
val
gson
=
Gson
()
val
type
=
object
:
TypeToken
<
Map
<
String
,
String
>>()
{}.
type
val
type
=
object
:
TypeToken
<
Map
<
String
,
String
>>()
{}.
type
val
configMap
=
gson
.
fromJson
<
Map
<
String
,
String
>>(
json
,
type
)
val
configMap
=
gson
.
fromJson
<
Map
<
String
,
String
>>(
json
,
type
)
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/service/StayNotificationService.kt
View file @
31d634fb
...
@@ -3,6 +3,7 @@ package com.base.pdfviewerscannerwhite.service
...
@@ -3,6 +3,7 @@ package com.base.pdfviewerscannerwhite.service
import
android.app.Notification
import
android.app.Notification
import
android.app.NotificationChannel
import
android.app.NotificationChannel
import
android.app.NotificationManager
import
android.app.NotificationManager
import
android.app.PendingIntent
import
android.app.Service
import
android.app.Service
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
...
@@ -13,7 +14,10 @@ import android.os.IBinder
...
@@ -13,7 +14,10 @@ import android.os.IBinder
import
android.widget.RemoteViews
import
android.widget.RemoteViews
import
androidx.core.app.NotificationCompat
import
androidx.core.app.NotificationCompat
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.bean.ConstObject
import
com.base.pdfviewerscannerwhite.helper.EventUtils
import
com.base.pdfviewerscannerwhite.helper.EventUtils
import
com.base.pdfviewerscannerwhite.helper.MyApplication
import
com.base.pdfviewerscannerwhite.ui.main.MainActivity
import
com.base.pdfviewerscannerwhite.ui.splash.SplashActivity
import
com.base.pdfviewerscannerwhite.ui.splash.SplashActivity
import
kotlin.random.Random
import
kotlin.random.Random
...
@@ -30,6 +34,8 @@ class StayNotificationService : Service() {
...
@@ -30,6 +34,8 @@ class StayNotificationService : Service() {
var
isRunning
=
false
var
isRunning
=
false
fun
Context
.
startStayNotification
()
{
fun
Context
.
startStayNotification
()
{
if
(
isRunning
)
return
val
intent
=
Intent
(
this
,
StayNotificationService
::
class
.
java
)
val
intent
=
Intent
(
this
,
StayNotificationService
::
class
.
java
)
if
(
Build
.
VERSION
.
SDK_INT
>
Build
.
VERSION_CODES
.
TIRAMISU
)
{
if
(
Build
.
VERSION
.
SDK_INT
>
Build
.
VERSION_CODES
.
TIRAMISU
)
{
return
return
...
@@ -40,7 +46,6 @@ class StayNotificationService : Service() {
...
@@ -40,7 +46,6 @@ class StayNotificationService : Service() {
}
else
{
}
else
{
startService
(
intent
)
startService
(
intent
)
}
}
// StayServiceTimerManager.getInstance().scheduleTask(60000L, 60000L)
}
}
fun
Context
.
restartStartStayNotification
()
{
fun
Context
.
restartStartStayNotification
()
{
...
@@ -50,6 +55,7 @@ class StayNotificationService : Service() {
...
@@ -50,6 +55,7 @@ class StayNotificationService : Service() {
startStayNotification
()
startStayNotification
()
}
}
fun
createPermanentNotification
(
context
:
Context
):
Notification
{
fun
createPermanentNotification
(
context
:
Context
):
Notification
{
val
isOngoing
=
true
//是否持续(为不消失的常驻通知)
val
isOngoing
=
true
//是否持续(为不消失的常驻通知)
...
@@ -60,62 +66,19 @@ class StayNotificationService : Service() {
...
@@ -60,62 +66,19 @@ class StayNotificationService : Service() {
val
expendView
=
RemoteViews
(
context
.
packageName
,
R
.
layout
.
stay_notification_big
)
val
expendView
=
RemoteViews
(
context
.
packageName
,
R
.
layout
.
stay_notification_big
)
val
requestCode1
=
Random
.
nextInt
(
1800
)
val
requestCode1
=
Random
.
nextInt
(
1800
)
val
intent0
=
Intent
(
context
,
SplashActivity
::
class
.
java
).
apply
{
val
intent1
=
Intent
(
context
,
SplashActivity
::
class
.
java
).
apply
{
putExtra
(
"actionId"
,
ConstObject
.
NOTIFICATION_ACTION_LOG
)
}
}
// val pendingIntent1 =
val
pendingIntent1
=
// PendingIntent.getActivity(
PendingIntent
.
getActivity
(
// context,
context
,
// requestCode1,
requestCode1
,
// intent0,
intent1
,
// PendingIntent.FLAG_IMMUTABLE
PendingIntent
.
FLAG_IMMUTABLE
// )
)
//
contentView
.
setOnClickPendingIntent
(
R
.
id
.
ll_2
,
pendingIntent1
)
// val requestCode2 = Random.nextInt(1800)
expendView
.
setOnClickPendingIntent
(
R
.
id
.
ll_2
,
pendingIntent1
)
// val intent2 = Intent(context, Splash2Activity::class.java).apply {
// putExtra("actionId", ConstObject.ID_NEWS)
// }
// val pendingIntent2 =
// PendingIntent.getActivity(
// context,
// requestCode2,
// intent2,
// PendingIntent.FLAG_IMMUTABLE
// )
// contentView.setOnClickPendingIntent(R.id.ll_2, pendingIntent2)
// expendView.setOnClickPendingIntent(R.id.ll_2, pendingIntent2)
//
// val requestCode3 = Random.nextInt(1800)
// val intent3 = Intent(context, Splash2Activity::class.java).apply {
// putExtra("actionId", ConstObject.ID_SCAN_CODE)
// }
// val pendingIntent3 =
// PendingIntent.getActivity(
// context,
// requestCode3,
// intent3,
// PendingIntent.FLAG_IMMUTABLE
// )
// contentView.setOnClickPendingIntent(R.id.ll_3, pendingIntent3)
// expendView.setOnClickPendingIntent(R.id.ll_3, pendingIntent3)
//
//
// val requestCode4 = Random.nextInt(1800)
// val intent4 = Intent(context, Splash2Activity::class.java).apply {
// putExtra("actionId", ConstObject.ID_APP_PROCESS_1)
// }
// val pendingIntent4 =
// PendingIntent.getActivity(
// context,
// requestCode4,
// intent4,
// PendingIntent.FLAG_IMMUTABLE
// )
// contentView.setOnClickPendingIntent(R.id.ll_4, pendingIntent4)
// expendView.setOnClickPendingIntent(R.id.ll_4, pendingIntent4)
//
// val nfIntent = Intent(context, MainActivity::class.java)
// val pendingIntent =
// PendingIntent.getActivity(context, 0, nfIntent, PendingIntent.FLAG_IMMUTABLE)
//
//
val
builder
=
NotificationCompat
.
Builder
(
context
,
channelId
)
val
builder
=
NotificationCompat
.
Builder
(
context
,
channelId
)
//
//
...
@@ -127,9 +90,13 @@ class StayNotificationService : Service() {
...
@@ -127,9 +90,13 @@ class StayNotificationService : Service() {
// smallIcon?.let {
// smallIcon?.let {
// builder.setSmallIcon(smallIcon) //设置状态栏内的小图标
// builder.setSmallIcon(smallIcon) //设置状态栏内的小图标
// }
// }
val
nfIntent
=
Intent
(
context
,
MainActivity
::
class
.
java
)
val
pendingIntent
=
PendingIntent
.
getActivity
(
context
,
0
,
nfIntent
,
PendingIntent
.
FLAG_IMMUTABLE
)
builder
.
setLargeIcon
(
BitmapFactory
.
decodeResource
(
context
.
resources
,
R
.
mipmap
.
logo
))
builder
.
setLargeIcon
(
BitmapFactory
.
decodeResource
(
context
.
resources
,
R
.
mipmap
.
logo
))
builder
.
setContentTitle
(
context
.
resources
.
getString
(
R
.
string
.
app_name
))
builder
.
setContentTitle
(
context
.
resources
.
getString
(
R
.
string
.
app_name
))
//
builder.setContentIntent(pendingIntent) //设置PendingIntent
builder
.
setContentIntent
(
pendingIntent
)
//设置PendingIntent
builder
.
setVisibility
(
NotificationCompat
.
VISIBILITY_PRIVATE
)
//设置通知公开可见
builder
.
setVisibility
(
NotificationCompat
.
VISIBILITY_PRIVATE
)
//设置通知公开可见
builder
.
setAutoCancel
(
false
)
builder
.
setAutoCancel
(
false
)
builder
.
setPriority
(
NotificationCompat
.
PRIORITY_MAX
)
//优先级为:重要通知
builder
.
setPriority
(
NotificationCompat
.
PRIORITY_MAX
)
//优先级为:重要通知
...
@@ -166,7 +133,7 @@ class StayNotificationService : Service() {
...
@@ -166,7 +133,7 @@ class StayNotificationService : Service() {
}
}
private
fun
startForeground
()
{
private
fun
startForeground
()
{
val
notification
=
createPermanentNotification
(
applicationC
ontext
)
val
notification
=
createPermanentNotification
(
MyApplication
.
c
ontext
)
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
Q
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
Q
)
{
startForeground
(
100
,
notification
,
ServiceInfo
.
FOREGROUND_SERVICE_TYPE_DATA_SYNC
)
startForeground
(
100
,
notification
,
ServiceInfo
.
FOREGROUND_SERVICE_TYPE_DATA_SYNC
)
}
else
{
}
else
{
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
View file @
31d634fb
...
@@ -26,6 +26,7 @@ import com.artifex.mupdfdemo.SearchTask
...
@@ -26,6 +26,7 @@ import com.artifex.mupdfdemo.SearchTask
import
com.artifex.mupdfdemo.SearchTaskResult
import
com.artifex.mupdfdemo.SearchTaskResult
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SAVE_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SAVE_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.haveGuideGesture
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
...
@@ -102,6 +103,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
...
@@ -102,6 +103,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
SpStringUtils
.
addSpString
(
LAST_VIEW_KEY
,
"${path}_/_${System.currentTimeMillis()}"
)
SpStringUtils
.
addSpString
(
LAST_VIEW_KEY
,
"${path}_/_${System.currentTimeMillis()}"
)
}
}
if
(!
haveGuideGesture
)
{
binding
.
flGuideGesture
.
visibility
=
View
.
VISIBLE
}
}
}
private
fun
iniSetVerticalSeekbar
(
max
:
Int
)
{
private
fun
iniSetVerticalSeekbar
(
max
:
Int
)
{
...
@@ -216,6 +221,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
...
@@ -216,6 +221,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
binding
.
mupdfReaderView
.
displayedViewIndex
=
pageIndex
binding
.
mupdfReaderView
.
displayedViewIndex
=
pageIndex
}
}
binding
.
flGuideGesture
.
setOnClickListener
{
haveGuideGesture
=
true
binding
.
flGuideGesture
.
visibility
=
View
.
GONE
}
}
}
/**
/**
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/MainActivity.kt
View file @
31d634fb
...
@@ -9,7 +9,6 @@ import androidx.activity.OnBackPressedCallback
...
@@ -9,7 +9,6 @@ import androidx.activity.OnBackPressedCallback
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
import
com.base.pdfviewerscannerwhite.ads.RemoteConfigHelper
import
com.base.pdfviewerscannerwhite.bean.ConstObject
import
com.base.pdfviewerscannerwhite.bean.ConstObject
import
com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import
com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
...
@@ -59,7 +58,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
...
@@ -59,7 +58,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
mainPresenter
.
initScannerLauncher
(
this
)
mainPresenter
.
initScannerLauncher
(
this
)
RemoteConfigHelper
.
test
()
}
}
override
fun
onResume
()
{
override
fun
onResume
()
{
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/splash/SplashActivity.kt
View file @
31d634fb
...
@@ -12,6 +12,7 @@ import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
...
@@ -12,6 +12,7 @@ import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import
com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import
com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import
com.base.pdfviewerscannerwhite.databinding.ActivitySplashBinding
import
com.base.pdfviewerscannerwhite.databinding.ActivitySplashBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.service.StayNotificationService.Companion.startStayNotification
import
com.base.pdfviewerscannerwhite.ui.main.MainActivity
import
com.base.pdfviewerscannerwhite.ui.main.MainActivity
import
com.base.pdfviewerscannerwhite.utils.BarUtils
import
com.base.pdfviewerscannerwhite.utils.BarUtils
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.LogEx
...
@@ -69,6 +70,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
...
@@ -69,6 +70,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
}
}
override
fun
agreePrivacy
()
{
override
fun
agreePrivacy
()
{
startStayNotification
()
initAdmobAd
()
initAdmobAd
()
showAd
()
showAd
()
startProgressJob
()
startProgressJob
()
...
@@ -123,9 +125,15 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
...
@@ -123,9 +125,15 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
LogEx
.
logDebug
(
TAG
,
"jumpNext"
)
LogEx
.
logDebug
(
TAG
,
"jumpNext"
)
binding
.
progressBar
.
progress
=
100
binding
.
progressBar
.
progress
=
100
binding
.
root
.
postDelayed
({
binding
.
root
.
postDelayed
({
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
))
val
actionId
=
intent
.
extras
?.
getString
(
"actionId"
)
LogEx
.
logDebug
(
TAG
,
""
)
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
).
apply
{
putExtra
(
"actionId"
,
actionId
)
})
finish
()
finish
()
intent
.
extras
?.
clear
()
},
200
)
},
200
)
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/splash/SplashPresenter.kt
View file @
31d634fb
package
com.base.pdfviewerscannerwhite.ui.splash
package
com.base.pdfviewerscannerwhite.ui.splash
import
androidx.lifecycle.LifecycleCoroutineScope
import
androidx.lifecycle.LifecycleCoroutineScope
import
com.base.pdfviewerscannerwhite.ads.
FirebaseDatabase
.open_ad_loading
import
com.base.pdfviewerscannerwhite.ads.
AdmobHelper
.open_ad_loading
import
com.base.pdfviewerscannerwhite.utils.AppPreferences
import
com.base.pdfviewerscannerwhite.utils.AppPreferences
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.Job
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/XmlLottieAnimationView.kt
0 → 100644
View file @
31d634fb
package
com.base.pdfviewerscannerwhite.ui.view
import
android.content.Context
import
android.graphics.Canvas
import
android.util.AttributeSet
import
com.airbnb.lottie.LottieAnimationView
class
XmlLottieAnimationView
:
LottieAnimationView
{
constructor
(
context
:
Context
?)
:
super
(
context
)
constructor
(
context
:
Context
?,
attrs
:
AttributeSet
?)
:
super
(
context
,
attrs
)
constructor
(
context
:
Context
?,
attrs
:
AttributeSet
?,
defStyleAttr
:
Int
)
:
super
(
context
,
attrs
,
defStyleAttr
)
override
fun
draw
(
canvas
:
Canvas
)
{
try
{
super
.
draw
(
canvas
)
}
catch
(
e
:
Exception
)
{
}
}
override
fun
playAnimation
()
{
super
.
playAnimation
()
}
}
\ No newline at end of file
app/src/main/res/layout/activity_main2.xml
View file @
31d634fb
...
@@ -244,12 +244,12 @@
...
@@ -244,12 +244,12 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
<TextView
android:visibility=
"gone"
android:id=
"@+id/tv_test"
android:id=
"@+id/tv_test"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"20dp"
android:layout_marginHorizontal=
"20dp"
android:background=
"@color/white"
android:background=
"@color/white"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
app/src/main/res/layout/activity_pdf.xml
View file @
31d634fb
...
@@ -350,5 +350,23 @@
...
@@ -350,5 +350,23 @@
</ViewAnimator>
</ViewAnimator>
<FrameLayout
android:visibility=
"gone"
android:id=
"@+id/fl_guide_gesture"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#336C677C"
>
<com.base.pdfviewerscannerwhite.ui.view.XmlLottieAnimationView
android:id=
"@+id/lottie"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
app:lottie_autoPlay=
"true"
app:lottie_repeatCount=
"0"
app:lottie_rawRes=
"@raw/enlarge"
app:lottie_loop=
"true"
/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/stay_notification_big.xml
View file @
31d634fb
...
@@ -3,14 +3,77 @@
...
@@ -3,14 +3,77 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
tools:ignore=
"DisableBaselineAlignment"
>
tools:ignore=
"DisableBaselineAlignment"
>
<TextView
<FrameLayout
android:layout_width=
"match_parent"
android:id=
"@+id/fl_1"
android:layout_height=
"60dp"
android:layout_width=
"0dp"
android:background=
"#FA957B"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:layout_gravity=
"center_vertical"
android:text=
"测试"
/>
android:layout_weight=
"1"
>
<ImageView
android:layout_width=
"55dp"
android:layout_height=
"55dp"
android:layout_gravity=
"center"
android:src=
"@mipmap/logo"
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
<LinearLayout
android:id=
"@+id/ll_2"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:orientation=
"vertical"
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/doc_notification"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"2dp"
android:text=
"Document"
android:textColor=
"@color/black"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_3"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:orientation=
"vertical"
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/bookmark_notification"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"2dp"
android:text=
"Bookmark"
android:textColor=
"@color/black"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/bookmark_notification.png
0 → 100644
View file @
31d634fb
2.67 KB
app/src/main/res/mipmap-xxhdpi/doc_notification.png
0 → 100644
View file @
31d634fb
2.77 KB
app/src/main/res/raw/enlarge.json
0 → 100644
View file @
31d634fb
{
"v"
:
"5.9.4"
,
"fr"
:
25
,
"ip"
:
0
,
"op"
:
25
,
"w"
:
186
,
"h"
:
186
,
"nm"
:
"hand_zoom"
,
"ddd"
:
0
,
"assets"
:[],
"layers"
:[{
"ddd"
:
0
,
"ind"
:
1
,
"ty"
:
4
,
"nm"
:
"layer 2"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:
0.667
,
"y"
:
1
},
"o"
:{
"x"
:
0.333
,
"y"
:
0
},
"t"
:
0
,
"s"
:[
21.5
,
104.75
,
0
],
"to"
:[
2.667
,
-3.375
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.667
,
"y"
:
1
},
"o"
:{
"x"
:
0.333
,
"y"
:
0
},
"t"
:
10
,
"s"
:[
37.5
,
84.5
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
2.667
,
-3.375
,
0
]},{
"t"
:
19
,
"s"
:[
21.5
,
104.75
,
0
]}],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
1.562
,
1.341
],[
-0.781
,
1.006
],[
0
,
0
],[
1.004
,
0.782
],[
0
,
0
],[
0.781
,
-1.006
],[
0
,
0
],[
1.004
,
0.783
],[
0
,
-2.124
],[
0
,
0
],[
-1.45
,
0.224
],[
0
,
0
]],
"o"
:[[
-1.004
,
-0.894
],[
0
,
0
],[
0.892
,
-1.006
],[
0
,
0
],[
-1.004
,
-0.894
],[
0
,
0
],[
-0.892
,
1.006
],[
-1.562
,
-1.341
],[
0
,
0
],[
0
,
1.453
],[
0
,
0
],[
2.008
,
-0.559
]],
"v"
:[[
1.282
,
9.6
],[
0.947
,
6.246
],[
13.441
,
-8.733
],[
13.106
,
-12.086
],[
9.091
,
-15.44
],[
5.744
,
-15.104
],[
-6.749
,
-0.125
],[
-10.096
,
0.21
],[
-14
,
2.11
],[
-13.888
,
13.624
],[
-11.1
,
15.971
],[
0.167
,
13.959
]],
"c"
:
true
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Group 1"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Group 2"
,
"np"
:
0
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
2
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
25
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
2
,
"ty"
:
4
,
"nm"
:
"layer 1"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:
0.667
,
"y"
:
1
},
"o"
:{
"x"
:
0.333
,
"y"
:
0
},
"t"
:
0
,
"s"
:[
80.375
,
27.25
,
0
],
"to"
:[
-2.833
,
4.083
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.667
,
"y"
:
1
},
"o"
:{
"x"
:
0.333
,
"y"
:
0
},
"t"
:
10
,
"s"
:[
63.375
,
51.75
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
-2.833
,
4.083
,
0
]},{
"t"
:
19
,
"s"
:[
80.375
,
27.25
,
0
]}],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
-1.122
,
-0.892
],[
0
,
0
],[
-0.786
,
1.003
],[
0
,
0
],[
-1.01
,
-0.892
],[
0
,
2.006
],[
0
,
0
],[
1.459
,
-0.334
],[
0
,
0
],[
-1.571
,
-1.337
],[
0.898
,
-1.003
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
1.01
,
0.78
],[
0
,
0
],[
0.786
,
-1.003
],[
1.571
,
1.226
],[
0
,
0
],[
0
,
-1.449
],[
0
,
0
],[
-2.02
,
0.446
],[
1.01
,
0.78
],[
0
,
0
],[
-0.786
,
0.78
]],
"v"
:[[
-13.045
,
12.256
],[
-8.893
,
15.488
],[
-5.526
,
15.154
],[
6.706
,
-0.115
],[
10.072
,
-0.449
],[
14
,
-2.344
],[
13.663
,
-13.711
],[
10.746
,
-15.94
],[
-0.588
,
-13.711
],[
-1.598
,
-9.476
],[
-1.262
,
-6.133
],[
-13.494
,
9.135
]],
"c"
:
true
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Group 1"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Group 2"
,
"np"
:
0
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
2
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
25
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
3
,
"ty"
:
4
,
"nm"
:
"hand_zoom contornos"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
93
,
106
,
0
],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
180
,
150
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
0
,
0
],[
0
,
-11.984
],[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
-11.984
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
-7.49
,
33.438
],[
-7.49
,
-21.454
],[
7.49
,
-21.454
],[
7.49
,
27.003
],[
7.49
,
7.828
]],
"c"
:
false
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"st"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
3
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
4
},
"w"
:{
"a"
:
0
,
"k"
:
3
,
"ix"
:
5
},
"lc"
:
2
,
"lj"
:
2
,
"bm"
:
0
,
"nm"
:
"Trazo 1"
,
"mn"
:
"ADBE Vector Graphic - Stroke"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
184.917
,
162.762
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
-0.652
,
28.499
],
"ix"
:
1
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
1
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0
,
0.167
]},
"t"
:
0
,
"s"
:[
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
1
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0
,
0.167
]},
"t"
:
10
,
"s"
:[
100
,
90
]},{
"t"
:
19
,
"s"
:[
100
,
100
]}],
"ix"
:
3
},
"r"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
],
"y"
:[
0.833
]},
"o"
:{
"x"
:[
0.167
],
"y"
:[
0.167
]},
"t"
:
0
,
"s"
:[
0
]},{
"i"
:{
"x"
:[
0.833
],
"y"
:[
0.833
]},
"o"
:{
"x"
:[
0.167
],
"y"
:[
0.167
]},
"t"
:
10
,
"s"
:[
-10
]},{
"t"
:
19
,
"s"
:[
0
]}],
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Grupo 1"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
0
,
0
],[
-6.56
,
-6.271
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
6.56
,
-6.269
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
13.938
,
24.07
],[
-15.837
,
-17.801
],[
3.771
,
-15.293
],[
15.836
,
-5.393
]],
"c"
:
false
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"st"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
3
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
4
},
"w"
:{
"a"
:
0
,
"k"
:
3
,
"ix"
:
5
},
"lc"
:
1
,
"lj"
:
2
,
"bm"
:
0
,
"nm"
:
"Trazo 1"
,
"mn"
:
"ADBE Vector Graphic - Stroke"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
178.406
,
180.584
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
16.164
,
7.49
],
"ix"
:
1
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
1
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0
]},
"t"
:
0
,
"s"
:[
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
1
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0
]},
"t"
:
10
,
"s"
:[
73
,
100
]},{
"t"
:
19
,
"s"
:[
100
,
100
]}],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Grupo 2"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
2
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
0
]],
"v"
:[[
226.015
,
154.753
],[
226.015
,
164.781
]],
"c"
:
false
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"st"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
3
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
4
},
"w"
:{
"a"
:
0
,
"k"
:
3
,
"ix"
:
5
},
"lc"
:
2
,
"lj"
:
1
,
"ml"
:
10
,
"bm"
:
0
,
"nm"
:
"Trazo 1"
,
"mn"
:
"ADBE Vector Graphic - Stroke"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Grupo 5"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
3
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
0
]],
"v"
:[[
211.034
,
148.761
],[
211.034
,
163.094
]],
"c"
:
false
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"st"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
3
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
4
},
"w"
:{
"a"
:
0
,
"k"
:
3
,
"ix"
:
5
},
"lc"
:
2
,
"lj"
:
1
,
"ml"
:
10
,
"bm"
:
0
,
"nm"
:
"Trazo 1"
,
"mn"
:
"ADBE Vector Graphic - Stroke"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Grupo 6"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
4
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
},{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
-18.89
,
0
],[
0
,
0
],[
0
,
0
],[
4.638
,
0
],[
0
,
-4.433
],[
0
,
0
],[
4.639
,
0
],[
0
,
-4.434
],[
0
,
0
],[
4.638
,
0
],[
0
,
-4.433
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
24.06
,
0
],[
0
,
0
],[
0
,
-4.433
],[
-4.638
,
0
],[
0
,
0
],[
0
,
-4.434
],[
-4.638
,
0
],[
0
,
0
],[
0
,
-4.433
],[
-4.639
,
0
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
-32.786
,
23.569
],[
-3.077
,
39.531
],[
27.54
,
10.283
],[
32.786
,
-17.71
],[
24.917
,
-25.738
],[
17.048
,
-17.71
],[
17.048
,
-25.236
],[
8.548
,
-33.264
],[
2.068
,
-25.236
],[
2.068
,
-31.503
],[
-6.92
,
-39.531
],[
-15.908
,
-31.503
],[
-15.908
,
-12.327
]],
"c"
:
false
},
"ix"
:
2
},
"nm"
:
"path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"st"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
1
,
1
,
1
],
"ix"
:
3
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
4
},
"w"
:{
"a"
:
0
,
"k"
:
3
,
"ix"
:
5
},
"lc"
:
1
,
"lj"
:
2
,
"bm"
:
0
,
"nm"
:
"Trazo 1"
,
"mn"
:
"ADBE Vector Graphic - Stroke"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
208.966
,
173.595
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"transform"
}],
"nm"
:
"Grupo 7"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
5
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
750
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
}],
"markers"
:[]}
\ No newline at end of file
app/src/main/res/raw/permissions_xin.json
0 → 100644
View file @
31d634fb
This source diff could not be displayed because it is too large. You can
view the blob
instead.
app/src/main/res/values/strings.xml
View file @
31d634fb
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<string
name=
"next"
tools:ignore=
"MissingTranslation"
>
Next
</string>
<string
name=
"next"
tools:ignore=
"MissingTranslation"
>
Next
</string>
<string
name=
"previous"
tools:ignore=
"MissingTranslation"
>
Previous
</string>
<string
name=
"previous"
tools:ignore=
"MissingTranslation"
>
Previous
</string>
<string
name=
"facebook_app_id"
tools:ignore=
"MissingTranslation"
>
421266364258459
</string>
<string
name=
"facebook_app_id"
tools:ignore=
"MissingTranslation"
>
939938294571154
</string>
<string
name=
"merge_pdf"
>
Merge PDF
</string>
<string
name=
"merge_pdf"
>
Merge PDF
</string>
<string
name=
"document"
>
document
</string>
<string
name=
"document"
>
document
</string>
<string
name=
"add"
>
Add
</string>
<string
name=
"add"
>
Add
</string>
...
...
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