This commit is contained in:
ocean 2025-11-07 11:55:10 +08:00
parent a277d6743b
commit d249f4703d
33 changed files with 633 additions and 58 deletions

View File

@ -8,5 +8,6 @@ enum class PdfPickerSource {
UNLOCK, // PDF解密 UNLOCK, // PDF解密
IMAGES_TO_PDF,// 图片转PDF IMAGES_TO_PDF,// 图片转PDF
PDF_TO_IMAGES,// PDF转图片 PDF_TO_IMAGES,// PDF转图片
TO_LONG_IMAGE // PDF转长图 TO_LONG_IMAGE, // PDF转长图
PRINT
} }

View File

@ -2,26 +2,32 @@ package com.all.pdfreader.pro.app.ui.act
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
import android.view.View import android.view.View
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.all.pdfreader.pro.app.R import com.all.pdfreader.pro.app.R
import com.all.pdfreader.pro.app.databinding.ActivityPdfPickerBinding import com.all.pdfreader.pro.app.databinding.ActivityPdfPickerBinding
import com.all.pdfreader.pro.app.model.PdfPickerSource import com.all.pdfreader.pro.app.model.PdfPickerSource
import com.all.pdfreader.pro.app.model.PrintResult
import com.all.pdfreader.pro.app.model.SortConfig import com.all.pdfreader.pro.app.model.SortConfig
import com.all.pdfreader.pro.app.room.entity.PdfDocumentEntity import com.all.pdfreader.pro.app.room.entity.PdfDocumentEntity
import com.all.pdfreader.pro.app.room.repository.PdfRepository import com.all.pdfreader.pro.app.room.repository.PdfRepository
import com.all.pdfreader.pro.app.ui.adapter.PdfAdapter import com.all.pdfreader.pro.app.ui.adapter.PdfAdapter
import com.all.pdfreader.pro.app.ui.dialog.PdfRemovePasswordDialog import com.all.pdfreader.pro.app.ui.dialog.PdfRemovePasswordDialog
import com.all.pdfreader.pro.app.ui.dialog.PdfSetPasswordDialog import com.all.pdfreader.pro.app.ui.dialog.PdfSetPasswordDialog
import com.all.pdfreader.pro.app.util.AppUtils.printPdfFile
import com.all.pdfreader.pro.app.util.AppUtils.setClickWithAnimation import com.all.pdfreader.pro.app.util.AppUtils.setClickWithAnimation
import com.all.pdfreader.pro.app.util.AppUtils.setOnSingleClickListener import com.all.pdfreader.pro.app.util.AppUtils.setOnSingleClickListener
import com.all.pdfreader.pro.app.util.ToastUtils
import com.gyf.immersionbar.ImmersionBar import com.gyf.immersionbar.ImmersionBar
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File
import java.io.Serializable import java.io.Serializable
class PdfPickerActivity : BaseActivity() { class PdfPickerActivity : BaseActivity() {
@ -119,6 +125,31 @@ class PdfPickerActivity : BaseActivity() {
startActivity(intent) startActivity(intent)
finish() finish()
} }
PdfPickerSource.PRINT ->{
val result = printPdfFile(this, Uri.fromFile(File(pdf.filePath)))
when (result) {
PrintResult.DeviceNotSupported -> {
ToastUtils.show(this,getString(R.string.device_does_not_support_printing))
}
is PrintResult.Error -> {
ToastUtils.show(this,getString(R.string.pdf_cannot_print_error))
}
PrintResult.MalformedPdf -> {
ToastUtils.show(this,getString(R.string.cannot_print_malformed_pdf))
}
PrintResult.PasswordRequired -> {
ToastUtils.show(this,getString(R.string.pdf_cant_print_password_protected))
}
PrintResult.Success -> {
}
}
}
} }
}, },
onSelectModelItemClick = { onSelectModelItemClick = {

View File

@ -118,7 +118,7 @@ class PdfToImageActivity : BaseActivity() {
} }
private fun initSplitData(file: File) { private fun initSplitData(file: File) {
lifecycleScope.launch { lifecycleScope.launch(Dispatchers.IO) {
// 是否存在密码 // 是否存在密码
val isEncrypted = withContext(Dispatchers.IO) { val isEncrypted = withContext(Dispatchers.IO) {
isPdfEncrypted(file) isPdfEncrypted(file)

View File

@ -3,6 +3,7 @@ package com.all.pdfreader.pro.app.ui.act
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.text.Editable import android.text.Editable
@ -16,18 +17,22 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.all.pdfreader.pro.app.R import com.all.pdfreader.pro.app.R
import com.all.pdfreader.pro.app.databinding.ActivitySearchPdfBinding import com.all.pdfreader.pro.app.databinding.ActivitySearchPdfBinding
import com.all.pdfreader.pro.app.model.PdfPickerSource import com.all.pdfreader.pro.app.model.PdfPickerSource
import com.all.pdfreader.pro.app.model.PrintResult
import com.all.pdfreader.pro.app.ui.adapter.SearchPdfAdapter import com.all.pdfreader.pro.app.ui.adapter.SearchPdfAdapter
import com.all.pdfreader.pro.app.ui.dialog.ListMoreDialogFragment import com.all.pdfreader.pro.app.ui.dialog.ListMoreDialogFragment
import com.all.pdfreader.pro.app.ui.dialog.PdfRemovePasswordDialog import com.all.pdfreader.pro.app.ui.dialog.PdfRemovePasswordDialog
import com.all.pdfreader.pro.app.ui.dialog.PdfSetPasswordDialog import com.all.pdfreader.pro.app.ui.dialog.PdfSetPasswordDialog
import com.all.pdfreader.pro.app.ui.dialog.PromptDialogFragment import com.all.pdfreader.pro.app.ui.dialog.PromptDialogFragment
import com.all.pdfreader.pro.app.util.AppUtils.printPdfFile
import com.all.pdfreader.pro.app.util.AppUtils.showKeyboard import com.all.pdfreader.pro.app.util.AppUtils.showKeyboard
import com.all.pdfreader.pro.app.util.ToastUtils
import com.gyf.immersionbar.ImmersionBar import com.gyf.immersionbar.ImmersionBar
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.json.JSONArray import org.json.JSONArray
import java.io.File
import java.io.Serializable import java.io.Serializable
class SearchActivity : BaseActivity() { class SearchActivity : BaseActivity() {
@ -184,8 +189,42 @@ class SearchActivity : BaseActivity() {
} }
PdfPickerSource.IMAGES_TO_PDF -> {} PdfPickerSource.IMAGES_TO_PDF -> {}
PdfPickerSource.TO_LONG_IMAGE -> {} PdfPickerSource.TO_LONG_IMAGE -> {
PdfPickerSource.PDF_TO_IMAGES -> {} val intent = PdfToImageActivity.createIntent(this, pdf.filePath,
PdfPickerSource.TO_LONG_IMAGE)
startActivity(intent)
finish()
}
PdfPickerSource.PDF_TO_IMAGES -> {
val intent = PdfToImageActivity.createIntent(this, pdf.filePath,
PdfPickerSource.PDF_TO_IMAGES)
startActivity(intent)
finish()
}
PdfPickerSource.PRINT -> {
val result = printPdfFile(this, Uri.fromFile(File(pdf.filePath)))
when (result) {
PrintResult.DeviceNotSupported -> {
ToastUtils.show(this,getString(R.string.device_does_not_support_printing))
}
is PrintResult.Error -> {
ToastUtils.show(this,getString(R.string.pdf_cannot_print_error))
}
PrintResult.MalformedPdf -> {
ToastUtils.show(this,getString(R.string.cannot_print_malformed_pdf))
}
PrintResult.PasswordRequired -> {
ToastUtils.show(this,getString(R.string.pdf_cant_print_password_protected))
}
PrintResult.Success -> {
}
}
}
} }
}, onMoreClick = { pdf -> }, onMoreClick = { pdf ->
ListMoreDialogFragment(pdf.filePath).show(supportFragmentManager, FRAG_TAG) ListMoreDialogFragment(pdf.filePath).show(supportFragmentManager, FRAG_TAG)

View File

@ -32,7 +32,7 @@ class PdfResultAdapter(
val item = list[position] val item = list[position]
if (item.thumbnailPath != null) { if (item.thumbnailPath != null) {
Glide.with(holder.binding.root).load(File(item.thumbnailPath)) Glide.with(holder.binding.root).load(File(item.thumbnailPath))
.transform(CenterCrop(), RoundedCorners(8.dpToPx(holder.binding.root.context))) .transform(CenterCrop(), RoundedCorners(4.dpToPx(holder.binding.root.context)))
.into(holder.binding.image) .into(holder.binding.image)
} }
if (item.isPassword) { if (item.isPassword) {

View File

@ -22,7 +22,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
class SearchPdfAdapter( class SearchPdfAdapter(
private val onItemClick: (PdfDocumentEntity) -> Unit, private val onItemClick: (PdfDocumentEntity) -> Unit,
private val onMoreClick: (PdfDocumentEntity) -> Unit, private val onMoreClick: (PdfDocumentEntity) -> Unit,
private var showMoreButton: Boolean = true, // 是否显示更多按钮 private var showMoreButton: Boolean = false, // 是否显示更多按钮
private var showCheckButton: Boolean = false // 是否显示选择框按钮 private var showCheckButton: Boolean = false // 是否显示选择框按钮
) : ListAdapter<PdfDocumentEntity, SearchPdfAdapter.PdfViewHolder>(PdfDiffCallback()) { ) : ListAdapter<PdfDocumentEntity, SearchPdfAdapter.PdfViewHolder>(PdfDiffCallback()) {
private var searchKeyword: String? = null // 保存当前搜索关键字 private var searchKeyword: String? = null // 保存当前搜索关键字

View File

@ -165,25 +165,19 @@ class ListMoreDialogFragment(val filePath: String) : BottomSheetDialogFragment()
val result = printPdfFile(requireActivity(), Uri.fromFile(File(pdfDocument.filePath))) val result = printPdfFile(requireActivity(), Uri.fromFile(File(pdfDocument.filePath)))
when (result) { when (result) {
PrintResult.DeviceNotSupported -> { PrintResult.DeviceNotSupported -> {
Toast.makeText( ToastUtils.show(requireActivity(),getString(R.string.device_does_not_support_printing))
context, R.string.device_does_not_support_printing, Toast.LENGTH_LONG
).show()
} }
is PrintResult.Error -> { is PrintResult.Error -> {
Toast.makeText(context, R.string.pdf_cannot_print_error, Toast.LENGTH_LONG) ToastUtils.show(requireActivity(),getString(R.string.pdf_cannot_print_error))
.show()
} }
PrintResult.MalformedPdf -> { PrintResult.MalformedPdf -> {
Toast.makeText(context, R.string.cannot_print_malformed_pdf, Toast.LENGTH_LONG) ToastUtils.show(requireActivity(),getString(R.string.cannot_print_malformed_pdf))
.show()
} }
PrintResult.PasswordRequired -> { PrintResult.PasswordRequired -> {
Toast.makeText( ToastUtils.show(requireActivity(),getString(R.string.pdf_cant_print_password_protected))
context, R.string.pdf_cant_print_password_protected, Toast.LENGTH_LONG
).show()
} }
PrintResult.Success -> { PrintResult.Success -> {

View File

@ -76,6 +76,10 @@ class ToolsFrag : BaseFrag() {
val intent = PdfPickerActivity.createIntent(requireActivity(), PdfPickerSource.TO_LONG_IMAGE) val intent = PdfPickerActivity.createIntent(requireActivity(), PdfPickerSource.TO_LONG_IMAGE)
startActivity(intent) startActivity(intent)
} }
binding.printBtn.setOnClickListener {
val intent = PdfPickerActivity.createIntent(requireActivity(), PdfPickerSource.PRINT)
startActivity(intent)
}
} }
private fun openImagePicker() { private fun openImagePicker() {

View File

@ -117,11 +117,7 @@ object AppUtils {
fun shareFile(context: Context, file: File) { fun shareFile(context: Context, file: File) {
try { try {
if (!file.exists()) { if (!file.exists()) {
Toast.makeText( ToastUtils.show(context,context.getString(R.string.error_file_not_exist))
context,
context.getString(R.string.error_file_not_exist),
Toast.LENGTH_SHORT
).show()
return return
} }

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#FFF7F3"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#F1F7FF"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#F0FCF7"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#F1F7FF"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#F0FCF7"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#FEFFF3"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#FFF3F5"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#F7F3FF"/>
</shape>

View File

@ -0,0 +1,19 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 背景 -->
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<corners android:radius="12dp"/>
<solid android:color="@color/icon_on_50"/>
</shape>
</item>
<!-- 进度条 -->
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="12dp"/>
<solid android:color="@color/icon_on"/>
</shape>
</clip>
</item>
</layer-list>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M26.988,0H15.368C14.569,0 13.803,0.317 13.238,0.882C12.674,1.447 12.356,2.213 12.356,3.012V14.636C12.356,15.435 12.674,16.201 13.238,16.766C13.803,17.331 14.569,17.648 15.368,17.648H27.001C27.8,17.648 28.566,17.331 29.131,16.766C29.696,16.201 30.013,15.435 30.013,14.636V3.012C30.013,2.615 29.935,2.223 29.783,1.856C29.631,1.49 29.407,1.157 29.126,0.877C28.845,0.598 28.512,0.376 28.145,0.225C27.778,0.075 27.385,-0.002 26.988,0Z"
android:fillColor="#FF662B"/>
<path
android:pathData="M17.745,7.607C18.712,7.607 19.496,6.839 19.496,5.891C19.496,4.944 18.712,4.176 17.745,4.176C16.778,4.176 15.994,4.944 15.994,5.891C15.994,6.839 16.778,7.607 17.745,7.607Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M26.499,7.14L20.682,11.955C20.347,12.233 19.921,12.377 19.487,12.36C19.052,12.343 18.639,12.166 18.327,11.863L17.088,10.667L13.644,13.587V14.469C13.635,14.542 13.635,14.616 13.644,14.689C13.699,14.948 13.841,15.18 14.046,15.346C14.252,15.512 14.509,15.603 14.773,15.602H27.65C27.956,15.597 28.25,15.475 28.47,15.261C28.691,15.047 28.821,14.758 28.836,14.451V9.574C28.377,9.155 27.61,8.352 26.499,7.14Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M10.385,14.825V12.343H3.021C2.625,12.343 2.234,12.421 1.868,12.572C1.503,12.723 1.171,12.945 0.891,13.225C0.611,13.505 0.389,13.837 0.238,14.202C0.087,14.568 0.009,14.959 0.009,15.355V26.983C0.009,27.782 0.326,28.548 0.891,29.113C1.456,29.678 2.222,29.995 3.021,29.995H14.654C15.453,29.995 16.219,29.678 16.784,29.113C17.348,28.548 17.666,27.782 17.666,26.983V19.615H15.187C14.558,19.616 13.934,19.493 13.351,19.253C12.769,19.013 12.24,18.66 11.794,18.215C11.348,17.771 10.994,17.242 10.752,16.661C10.51,16.079 10.386,15.455 10.385,14.825Z"
android:fillColor="#FF662B"/>
<path
android:pathData="M10.434,21.41C10.514,21.33 10.577,21.236 10.62,21.132C10.663,21.028 10.686,20.916 10.686,20.804C10.686,20.691 10.663,20.579 10.62,20.475C10.577,20.371 10.514,20.277 10.434,20.197L10.143,19.906C10.063,19.826 9.969,19.763 9.865,19.72C9.76,19.677 9.649,19.654 9.536,19.654C9.424,19.654 9.312,19.677 9.208,19.72C9.104,19.763 9.009,19.826 8.93,19.906L5.517,23.319C5.489,23.35 5.464,23.382 5.442,23.417L4.56,22.535C4.473,22.448 4.363,22.389 4.243,22.365C4.122,22.342 3.998,22.354 3.885,22.402C3.772,22.449 3.675,22.529 3.608,22.631C3.54,22.733 3.505,22.853 3.506,22.976V26.195C3.505,26.276 3.521,26.357 3.552,26.432C3.582,26.507 3.628,26.575 3.685,26.633C3.743,26.69 3.811,26.736 3.886,26.766C3.961,26.797 4.042,26.813 4.123,26.812H7.342C7.465,26.813 7.585,26.777 7.687,26.71C7.789,26.642 7.869,26.546 7.916,26.433C7.964,26.32 7.976,26.195 7.953,26.075C7.929,25.955 7.87,25.845 7.783,25.758L6.901,24.876C6.936,24.854 6.968,24.829 6.998,24.801L10.434,21.41Z"
android:strokeAlpha="0.81"
android:fillColor="#ffffff"
android:fillAlpha="0.81"/>
</group>
</vector>

View File

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<path
android:pathData="M23.725,10.434H6.275C5.247,10.435 4.262,10.844 3.536,11.57C2.809,12.297 2.4,13.282 2.399,14.31V25.943C2.399,26.971 2.807,27.957 3.534,28.684C4.261,29.411 5.247,29.819 6.275,29.819H23.725C24.234,29.82 24.739,29.72 25.209,29.525C25.68,29.331 26.108,29.045 26.469,28.685C26.829,28.325 27.115,27.898 27.31,27.427C27.505,26.957 27.605,26.452 27.605,25.943V14.31C27.604,13.281 27.195,12.295 26.467,11.569C25.74,10.842 24.753,10.434 23.725,10.434ZM15.972,19.928V23.015C15.972,23.272 15.87,23.519 15.688,23.701C15.506,23.883 15.259,23.985 15.002,23.985C14.745,23.985 14.498,23.883 14.316,23.701C14.134,23.519 14.032,23.272 14.032,23.015V19.928C13.416,19.72 12.889,19.309 12.538,18.762C12.187,18.214 12.034,17.564 12.103,16.917C12.172,16.271 12.459,15.667 12.917,15.206C13.375,14.745 13.977,14.453 14.623,14.38C14.743,14.33 14.872,14.305 15.002,14.305C15.686,14.302 16.349,14.542 16.873,14.982C17.398,15.421 17.749,16.032 17.865,16.706C17.982,17.381 17.855,18.074 17.509,18.664C17.162,19.254 16.618,19.701 15.972,19.928Z"
android:fillColor="#348EF8"/>
<path
android:pathData="M15.527,0.084C15.351,0.084 15.174,0.084 15.002,0.084C14.83,0.084 14.654,0.084 14.477,0.084C9.829,0.393 6.337,4.494 6.337,9.133V10.429H9.596V8.992C9.575,7.657 10.032,6.359 10.885,5.331C11.737,4.303 12.928,3.614 14.244,3.387C14.745,3.316 15.255,3.316 15.756,3.387C17.072,3.614 18.263,4.303 19.115,5.331C19.968,6.359 20.425,7.657 20.404,8.992V10.434H23.667V9.137C23.667,4.494 20.17,0.397 15.527,0.084Z"
android:fillColor="#348EF8"
android:fillAlpha="0.6"/>
</vector>

View File

@ -0,0 +1,26 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M26.988,0H15.346C14.95,-0.001 14.558,0.077 14.192,0.228C13.826,0.379 13.494,0.601 13.214,0.881C12.933,1.16 12.711,1.493 12.559,1.858C12.408,2.224 12.33,2.616 12.33,3.012V14.636C12.33,15.032 12.408,15.424 12.559,15.79C12.711,16.156 12.933,16.488 13.214,16.767C13.494,17.047 13.826,17.269 14.192,17.42C14.558,17.571 14.95,17.649 15.346,17.648H26.988C27.787,17.648 28.553,17.331 29.118,16.766C29.683,16.201 30,15.435 30,14.636V3.012C30,2.213 29.683,1.447 29.118,0.882C28.553,0.317 27.787,0 26.988,0Z"
android:fillColor="#0BBB07"/>
<path
android:pathData="M10.566,14.636V12.153H3.193C2.797,12.153 2.405,12.231 2.039,12.383C1.673,12.535 1.341,12.757 1.061,13.037C0.782,13.317 0.56,13.65 0.409,14.016C0.258,14.382 0.18,14.774 0.181,15.17V26.807C0.181,27.606 0.498,28.372 1.063,28.937C1.628,29.502 2.394,29.819 3.193,29.819H14.826C15.625,29.819 16.391,29.502 16.956,28.937C17.52,28.372 17.838,27.606 17.838,26.807V19.434H15.346C14.076,19.43 12.86,18.923 11.964,18.024C11.068,17.124 10.565,15.906 10.566,14.636Z"
android:strokeAlpha="0.6"
android:fillColor="#0BBB07"
android:fillAlpha="0.6"/>
<path
android:pathData="M25.211,6.725C25.382,6.548 25.478,6.31 25.478,6.064C25.478,5.817 25.382,5.58 25.211,5.402L24.646,4.838C24.468,4.667 24.231,4.572 23.985,4.572C23.739,4.572 23.502,4.667 23.323,4.838L18.773,9.345L17.679,8.255C17.568,8.151 17.43,8.081 17.281,8.054C17.131,8.027 16.977,8.044 16.837,8.103C16.697,8.162 16.577,8.26 16.492,8.386C16.406,8.511 16.359,8.659 16.356,8.811V12.899C16.356,13.107 16.439,13.307 16.586,13.454C16.733,13.601 16.933,13.684 17.141,13.684H21.233C21.385,13.68 21.532,13.632 21.657,13.547C21.782,13.461 21.879,13.341 21.938,13.201C21.996,13.061 22.013,12.907 21.985,12.758C21.958,12.609 21.888,12.471 21.785,12.361L20.695,11.267L25.211,6.725Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M9.755,19.654H6.527C6.404,19.655 6.284,19.691 6.183,19.759C6.081,19.827 6.001,19.924 5.954,20.037C5.907,20.15 5.895,20.274 5.918,20.395C5.941,20.515 6,20.625 6.086,20.713L6.968,21.595C6.935,21.617 6.904,21.642 6.875,21.67L3.44,25.069C3.36,25.149 3.296,25.243 3.253,25.348C3.21,25.452 3.188,25.563 3.188,25.676C3.188,25.789 3.21,25.9 3.253,26.004C3.296,26.108 3.36,26.203 3.44,26.282L3.726,26.569C3.806,26.649 3.9,26.712 4.004,26.755C4.108,26.799 4.22,26.821 4.333,26.821C4.445,26.821 4.557,26.799 4.661,26.755C4.765,26.712 4.86,26.649 4.939,26.569L8.352,23.16C8.38,23.13 8.405,23.097 8.427,23.063L9.309,23.945C9.396,24.031 9.507,24.089 9.627,24.113C9.747,24.136 9.872,24.123 9.985,24.076C10.098,24.029 10.194,23.95 10.263,23.848C10.331,23.746 10.367,23.626 10.368,23.504V20.285C10.369,20.203 10.354,20.122 10.323,20.046C10.293,19.97 10.248,19.901 10.192,19.843C10.135,19.784 10.067,19.737 9.992,19.705C9.917,19.673 9.836,19.655 9.755,19.654Z"
android:strokeAlpha="0.81"
android:fillColor="#ffffff"
android:fillAlpha="0.81"/>
</group>
</vector>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M3.012,30H14.641C15.036,30 15.429,29.923 15.795,29.772C16.16,29.621 16.493,29.399 16.773,29.119C17.053,28.839 17.276,28.507 17.427,28.141C17.579,27.776 17.657,27.384 17.657,26.988V15.355C17.657,14.959 17.579,14.567 17.427,14.201C17.276,13.835 17.053,13.503 16.773,13.223C16.493,12.944 16.16,12.722 15.795,12.571C15.429,12.42 15.036,12.342 14.641,12.343H3.012C2.616,12.343 2.225,12.421 1.859,12.572C1.494,12.723 1.162,12.945 0.882,13.225C0.602,13.505 0.381,13.837 0.229,14.202C0.078,14.568 -0,14.959 -0,15.355V26.983C-0.001,27.379 0.077,27.771 0.228,28.137C0.379,28.503 0.601,28.836 0.881,29.116C1.16,29.396 1.493,29.618 1.858,29.77C2.224,29.922 2.616,30 3.012,30Z"
android:fillColor="#1B7CFF"/>
<path
android:pathData="M5.252,19.535C6.219,19.535 7.003,18.767 7.003,17.82C7.003,16.872 6.219,16.104 5.252,16.104C4.285,16.104 3.501,16.872 3.501,17.82C3.501,18.767 4.285,19.535 5.252,19.535Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M14.001,19.077L8.185,23.897C7.85,24.174 7.425,24.317 6.992,24.3C6.558,24.283 6.146,24.106 5.834,23.805L4.595,22.618L1.147,25.538V26.42C1.138,26.491 1.138,26.564 1.147,26.636C1.203,26.894 1.346,27.126 1.552,27.292C1.758,27.458 2.015,27.549 2.28,27.548H15.152C15.46,27.545 15.754,27.424 15.975,27.21C16.196,26.996 16.326,26.705 16.338,26.397V21.503C15.88,21.084 15.117,20.281 14.001,19.077Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M19.615,15.179V17.657H26.984C27.38,17.657 27.772,17.58 28.138,17.429C28.504,17.278 28.836,17.056 29.116,16.776C29.396,16.497 29.619,16.164 29.77,15.799C29.922,15.433 30,15.041 30,14.645V3.012C30,2.616 29.922,2.224 29.77,1.858C29.619,1.493 29.396,1.16 29.116,0.881C28.836,0.601 28.504,0.379 28.138,0.228C27.772,0.077 27.38,-0.001 26.984,0H15.355C14.556,0 13.79,0.317 13.225,0.882C12.66,1.447 12.343,2.213 12.343,3.012V10.385H14.821C16.092,10.387 17.31,10.893 18.208,11.792C19.107,12.69 19.613,13.908 19.615,15.179Z"
android:fillColor="#1B7CFF"/>
<path
android:pathData="M26.23,4.935C26.309,4.855 26.373,4.761 26.416,4.657C26.459,4.553 26.482,4.441 26.482,4.329C26.482,4.216 26.459,4.104 26.416,4C26.373,3.896 26.309,3.802 26.23,3.722L25.943,3.436C25.864,3.356 25.769,3.292 25.665,3.249C25.561,3.206 25.449,3.184 25.337,3.184C25.224,3.184 25.112,3.206 25.008,3.249C24.904,3.292 24.81,3.356 24.73,3.436L21.317,6.849C21.288,6.878 21.262,6.909 21.238,6.941L20.356,6.059C20.269,5.973 20.159,5.914 20.038,5.89C19.918,5.867 19.794,5.879 19.681,5.926C19.568,5.974 19.471,6.054 19.404,6.156C19.336,6.258 19.301,6.378 19.302,6.5V9.724C19.302,9.888 19.367,10.045 19.483,10.161C19.598,10.276 19.755,10.341 19.919,10.341H23.143C23.265,10.341 23.385,10.304 23.487,10.236C23.588,10.168 23.668,10.072 23.715,9.959C23.762,9.846 23.775,9.721 23.751,9.601C23.728,9.481 23.67,9.37 23.584,9.283L22.702,8.401C22.735,8.377 22.765,8.35 22.794,8.322L26.23,4.935Z"
android:strokeAlpha="0.81"
android:fillColor="#ffffff"
android:fillAlpha="0.81"/>
</group>
</vector>

View File

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<path
android:pathData="M8.38,25.533C8.358,26.216 8.09,26.869 7.623,27.375C7.157,27.882 6.522,28.208 5.833,28.297V28.334H24.746C26.728,28.334 28.333,26.865 28.333,25.044V21.667H10.433C9.888,21.667 9.366,21.88 8.981,22.258C8.596,22.637 8.38,23.151 8.38,23.686V25.533Z"
android:fillColor="#03C179"/>
<path
android:pathData="M23.476,0.891H4.019C3.395,0.891 2.797,1.139 2.356,1.581C1.914,2.022 1.666,2.622 1.664,3.247V24.221C1.663,25.071 1.985,25.889 2.565,26.509C3.144,27.129 3.938,27.504 4.785,27.557C5.487,27.488 6.138,27.159 6.612,26.635C7.085,26.111 7.348,25.429 7.347,24.721V22.528C7.347,22.067 7.53,21.626 7.854,21.301C8.179,20.975 8.619,20.793 9.078,20.793H25.831V3.247C25.831,2.937 25.77,2.63 25.652,2.344C25.533,2.058 25.36,1.798 25.141,1.579C24.923,1.36 24.663,1.187 24.377,1.069C24.092,0.951 23.785,0.89 23.476,0.891Z"
android:fillColor="#03C179"/>
<path
android:pathData="M15.572,8.395C16.31,8.357 17.035,8.583 17.595,9.027C18.069,9.521 18.331,10.158 18.331,10.816C18.331,11.476 18.069,12.112 17.595,12.606C17.035,13.05 16.31,13.276 15.572,13.238H13.588V15.891H11.665V8.395H15.572ZM15.395,11.839C15.559,11.849 15.722,11.828 15.877,11.778C16.032,11.729 16.174,11.65 16.294,11.548C16.398,11.455 16.48,11.343 16.534,11.219C16.588,11.095 16.614,10.962 16.61,10.828C16.615,10.694 16.589,10.559 16.535,10.434C16.48,10.309 16.399,10.196 16.294,10.101C16.174,9.999 16.032,9.92 15.877,9.87C15.722,9.821 15.559,9.8 15.395,9.81H13.588V11.839H15.395Z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,25 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M27.896,5.194H2.103C0.942,5.194 0,6.136 0,7.298V21.326C0,22.487 0.942,23.429 2.103,23.429H27.896C29.058,23.429 30,22.487 30,21.326V7.298C30,6.136 29.058,5.194 27.896,5.194Z"
android:fillColor="#FFD503"/>
<path
android:pathData="M22.428,15.898H7.567C6.391,15.898 5.437,16.851 5.437,18.027V26.23C5.437,27.406 6.391,28.36 7.567,28.36H22.428C23.605,28.36 24.558,27.406 24.558,26.23V18.027C24.558,16.851 23.605,15.898 22.428,15.898Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M22.428,17C22.701,17.001 22.961,17.11 23.154,17.302C23.346,17.494 23.455,17.755 23.456,18.027V26.23C23.456,26.365 23.429,26.498 23.378,26.623C23.326,26.747 23.25,26.861 23.155,26.956C23.059,27.052 22.946,27.127 22.822,27.179C22.697,27.23 22.563,27.257 22.428,27.257H7.567C7.432,27.257 7.299,27.23 7.174,27.179C7.049,27.127 6.936,27.052 6.841,26.956C6.745,26.861 6.67,26.747 6.618,26.623C6.566,26.498 6.54,26.365 6.54,26.23V18.027C6.541,17.755 6.65,17.494 6.842,17.302C7.034,17.11 7.295,17.001 7.567,17H22.428ZM22.428,14.795H7.567C6.71,14.795 5.888,15.135 5.282,15.742C4.675,16.348 4.335,17.17 4.335,18.027V26.23C4.335,27.087 4.675,27.909 5.282,28.515C5.888,29.121 6.71,29.462 7.567,29.462H22.428C23.286,29.462 24.108,29.121 24.714,28.515C25.32,27.909 25.661,27.087 25.661,26.23V18.027C25.661,17.17 25.32,16.348 24.714,15.742C24.108,15.135 23.286,14.795 22.428,14.795Z"
android:fillColor="#FFD503"/>
<path
android:pathData="M22.433,10.667C22.432,11.03 22.539,11.385 22.74,11.688C22.941,11.99 23.228,12.226 23.563,12.365C23.899,12.505 24.268,12.542 24.624,12.471C24.98,12.4 25.308,12.225 25.564,11.969C25.821,11.712 25.996,11.384 26.067,11.028C26.137,10.672 26.101,10.303 25.961,9.967C25.822,9.632 25.586,9.346 25.284,9.144C24.981,8.943 24.626,8.836 24.263,8.837C23.778,8.837 23.312,9.03 22.969,9.373C22.626,9.716 22.433,10.182 22.433,10.667Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M6.835,0H23.152C23.816,0 24.453,0.264 24.923,0.734C25.392,1.203 25.656,1.84 25.656,2.505V3.722H4.335V2.496C4.335,2.168 4.4,1.843 4.525,1.54C4.651,1.237 4.835,0.961 5.067,0.729C5.3,0.498 5.575,0.314 5.879,0.189C6.182,0.064 6.507,-0.001 6.835,0Z"
android:fillColor="#FFD503"/>
</group>
</vector>

View File

@ -0,0 +1,26 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<group>
<clip-path
android:pathData="M0,0h30v30h-30z"/>
<path
android:pathData="M26.988,0H15.355C14.556,0 13.79,0.317 13.225,0.882C12.66,1.447 12.343,2.213 12.343,3.012V14.636C12.343,15.435 12.66,16.201 13.225,16.766C13.79,17.331 14.556,17.648 15.355,17.648H26.988C27.787,17.648 28.553,17.331 29.118,16.766C29.683,16.201 30,15.435 30,14.636V3.012C30,2.213 29.683,1.447 29.118,0.882C28.553,0.317 27.787,0 26.988,0Z"
android:fillColor="#FF3D48"/>
<path
android:pathData="M10.566,14.636V12.153H3.193C2.797,12.153 2.405,12.231 2.039,12.383C1.673,12.535 1.341,12.757 1.061,13.037C0.782,13.317 0.56,13.65 0.409,14.016C0.258,14.382 0.18,14.774 0.181,15.17V26.807C0.181,27.606 0.498,28.372 1.063,28.937C1.628,29.502 2.394,29.819 3.193,29.819H14.83C15.226,29.82 15.618,29.742 15.984,29.591C16.35,29.44 16.683,29.218 16.963,28.938C17.243,28.659 17.465,28.326 17.617,27.961C17.768,27.595 17.847,27.203 17.847,26.807V19.434H15.364C14.734,19.434 14.109,19.311 13.527,19.07C12.945,18.829 12.415,18.476 11.97,18.03C11.524,17.584 11.171,17.055 10.93,16.473C10.689,15.89 10.565,15.266 10.566,14.636Z"
android:strokeAlpha="0.6"
android:fillColor="#FF3D48"
android:fillAlpha="0.6"/>
<path
android:pathData="M24.699,4.538H20.611C20.46,4.542 20.313,4.59 20.188,4.675C20.063,4.761 19.965,4.881 19.907,5.021C19.849,5.161 19.832,5.315 19.859,5.464C19.887,5.613 19.956,5.751 20.06,5.861L21.149,6.955L16.594,11.514C16.422,11.691 16.325,11.929 16.325,12.176C16.325,12.423 16.422,12.66 16.594,12.837L17.159,13.402C17.336,13.574 17.573,13.671 17.82,13.671C18.067,13.671 18.305,13.574 18.482,13.402L23.046,8.904L24.139,9.993C24.249,10.099 24.387,10.17 24.537,10.199C24.687,10.227 24.841,10.211 24.982,10.152C25.123,10.094 25.243,9.995 25.329,9.869C25.414,9.743 25.46,9.594 25.462,9.442V5.35C25.466,5.246 25.449,5.143 25.412,5.046C25.376,4.949 25.321,4.86 25.25,4.785C25.179,4.71 25.094,4.649 24.999,4.607C24.905,4.564 24.803,4.541 24.699,4.538Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M10.12,21.41C10.2,21.33 10.264,21.236 10.307,21.132C10.35,21.028 10.373,20.916 10.373,20.804C10.373,20.691 10.35,20.579 10.307,20.475C10.264,20.371 10.2,20.277 10.12,20.197L9.83,19.906C9.75,19.826 9.656,19.763 9.551,19.72C9.447,19.677 9.336,19.654 9.223,19.654C9.11,19.654 8.999,19.677 8.895,19.72C8.791,19.763 8.696,19.826 8.617,19.906L5.204,23.319C5.176,23.35 5.151,23.382 5.129,23.417L4.247,22.535C4.16,22.448 4.05,22.389 3.929,22.365C3.809,22.342 3.685,22.354 3.572,22.402C3.459,22.449 3.362,22.529 3.295,22.631C3.227,22.733 3.192,22.853 3.193,22.976V26.195C3.192,26.276 3.208,26.357 3.239,26.432C3.269,26.507 3.315,26.575 3.372,26.633C3.43,26.69 3.498,26.736 3.573,26.766C3.648,26.797 3.729,26.813 3.81,26.812H7.029C7.152,26.813 7.272,26.777 7.374,26.71C7.476,26.642 7.556,26.546 7.603,26.433C7.651,26.32 7.663,26.195 7.639,26.075C7.616,25.955 7.557,25.845 7.47,25.758L6.588,24.876C6.622,24.854 6.655,24.829 6.685,24.801L10.12,21.41Z"
android:strokeAlpha="0.81"
android:fillColor="#ffffff"
android:fillAlpha="0.81"/>
</group>
</vector>

View File

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="30dp"
android:height="30dp"
android:viewportWidth="30"
android:viewportHeight="30">
<path
android:pathData="M23.773,10.46H6.222C5.71,10.46 5.203,10.561 4.729,10.757C4.256,10.953 3.826,11.241 3.464,11.603C3.102,11.966 2.815,12.396 2.619,12.87C2.424,13.343 2.323,13.85 2.324,14.363V26.062C2.324,27.096 2.735,28.087 3.466,28.818C4.197,29.549 5.188,29.96 6.222,29.96H23.773C24.807,29.96 25.799,29.549 26.53,28.818C27.261,28.087 27.672,27.096 27.672,26.062V14.363C27.672,13.85 27.572,13.343 27.376,12.87C27.181,12.396 26.893,11.966 26.531,11.603C26.169,11.241 25.739,10.953 25.266,10.757C24.793,10.561 24.286,10.46 23.773,10.46ZM15.972,20.012V23.134C15.972,23.392 15.87,23.64 15.687,23.823C15.504,24.006 15.256,24.108 14.998,24.108C14.739,24.108 14.491,24.006 14.309,23.823C14.126,23.64 14.023,23.392 14.023,23.134V20.012C13.404,19.803 12.874,19.39 12.521,18.84C12.169,18.289 12.014,17.635 12.084,16.986C12.153,16.336 12.442,15.729 12.903,15.266C13.364,14.803 13.969,14.51 14.619,14.438C14.739,14.387 14.868,14.362 14.998,14.363C15.773,14.363 16.517,14.671 17.065,15.219C17.614,15.767 17.921,16.511 17.921,17.286C17.92,17.887 17.732,18.472 17.382,18.961C17.033,19.449 16.54,19.816 15.972,20.012Z"
android:fillColor="#7946FC"/>
<path
android:pathData="M9.56,9.014C9.54,7.671 10,6.365 10.858,5.331C11.716,4.298 12.915,3.605 14.239,3.378C15.605,3.175 16.997,3.495 18.137,4.274C19.277,5.053 20.08,6.234 20.387,7.581C20.412,7.705 20.479,7.816 20.577,7.897C20.675,7.977 20.798,8.021 20.925,8.022H23.129C23.209,8.022 23.288,8.006 23.361,7.973C23.434,7.941 23.5,7.893 23.553,7.834C23.606,7.774 23.645,7.703 23.669,7.627C23.693,7.551 23.7,7.47 23.69,7.391C23.329,5.244 22.185,3.307 20.478,1.955C18.771,0.604 16.624,-0.066 14.451,0.075C9.781,0.384 6.266,4.485 6.266,9.177V10.478H9.543L9.56,9.014Z"
android:fillColor="#7946FC"
android:fillAlpha="0.6"/>
</vector>

View File

@ -176,7 +176,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/share_file" android:text="@string/share_file"
android:textColor="@color/black_60" android:textColor="@color/icon_on"
android:textSize="16sp" /> android:textSize="16sp" />
</LinearLayout> </LinearLayout>

View File

@ -61,8 +61,8 @@
<ImageView <ImageView
android:id="@+id/collectState" android:id="@+id/collectState"
android:layout_width="24dp" android:layout_width="18dp"
android:layout_height="24dp" android:layout_height="18dp"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:background="@drawable/dr_collect_state_bg" android:background="@drawable/dr_collect_state_bg"

View File

@ -91,7 +91,7 @@
style="@style/TextViewFont_PopSemiBold" style="@style/TextViewFont_PopSemiBold"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/go_to_page" android:text="@string/remove"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" /> android:textSize="16sp" />
</LinearLayout> </LinearLayout>

View File

@ -67,7 +67,6 @@
android:id="@+id/allow_layout" android:id="@+id/allow_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="48dp"
android:background="@drawable/dr_rounded_corner_bg_grey" android:background="@drawable/dr_rounded_corner_bg_grey"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingStart="16dp" android:paddingStart="16dp"
@ -80,7 +79,7 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/permission_required_desc_2" android:text="@string/permission_required_desc_2"
android:textColor="@color/black_80" android:textColor="@color/text_color_lv1"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageView <ImageView

View File

@ -14,7 +14,7 @@
style="@style/TextViewFont_PopMedium" style="@style/TextViewFont_PopMedium"
android:gravity="center" android:gravity="center"
android:text="@string/processing" android:text="@string/processing"
android:textColor="@color/black" android:textColor="@color/text_color_lv1"
android:textSize="18sp" /> android:textSize="18sp" />
<ProgressBar <ProgressBar
@ -23,6 +23,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:indeterminateTint="@color/icon_on"
android:indeterminate="true"/> android:indeterminate="true"/>
</LinearLayout> </LinearLayout>

View File

@ -9,48 +9,302 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" /> android:layout_height="0dp" />
<LinearLayout
<Button
android:id="@+id/mergeBtn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/merge_pdf" /> android:layout_marginTop="32dp"
android:layout_marginBottom="16dp"
android:orientation="horizontal">
<Button <LinearLayout
android:id="@+id/splitBtn" android:id="@+id/imgToPdfBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_img2pdf_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_img2pdf" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/img_to_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/pdfToImgBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_pdf2img_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_pdf2img" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/pdf_to_img"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/pdfToLongImgBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_pdf2long_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_pdf2long" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:ellipsize="end"
android:maxLines="2"
android:text="@string/pdf_to_long_img"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/split_pdf" /> android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:orientation="horizontal">
<Button <LinearLayout
android:id="@+id/lockBtn" android:id="@+id/mergeBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_merge_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_merge" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/merge_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/splitBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_split_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_split" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/split_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/printBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_print_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_print" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/print_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/lock_pdf" /> android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:orientation="horizontal">
<Button <LinearLayout
android:id="@+id/unLockBtn" android:id="@+id/lockBtn"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/unlock_pdf" /> android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_lock_bg"
android:gravity="center">
<Button <ImageView
android:id="@+id/imgToPdfBtn" android:layout_width="wrap_content"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/tools_lock" />
android:text="@string/img_to_pdf" /> </LinearLayout>
<Button <TextView
android:id="@+id/pdfToImgBtn" style="@style/TextViewFont_PopMedium"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pdf_to_img" /> android:layout_marginTop="4dp"
android:text="@string/lock_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<Button <LinearLayout
android:id="@+id/pdfToLongImgBtn" android:id="@+id/unLockBtn"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pdf_to_long_img" /> android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_unlock_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_unlock" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/unlock_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:visibility="invisible">
<LinearLayout
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/drw_tools_print_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tools_print" />
</LinearLayout>
<TextView
style="@style/TextViewFont_PopMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/print_pdf"
android:textColor="@color/text_color_lv1"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>

View File

@ -29,6 +29,7 @@
<color name="night_mode_bg_color">#A6000000</color> <color name="night_mode_bg_color">#A6000000</color>
<color name="icon_off">#A9A4A4</color> <color name="icon_off">#A9A4A4</color>
<color name="icon_on">#E43521</color> <color name="icon_on">#E43521</color>
<color name="icon_on_50">#7FE43521</color>
<color name="cancel_btn_bg_color">#F8F8F8</color> <color name="cancel_btn_bg_color">#F8F8F8</color>
<color name="ok_btn_bg_lv1_color">#E43521</color> <color name="ok_btn_bg_lv1_color">#E43521</color>
<color name="ok_btn_bg_lv2_color">#FD4E1D</color> <color name="ok_btn_bg_lv2_color">#FD4E1D</color>