Commit 8d6f9119 authored by wanglei's avatar wanglei

...其他文档

parent 3b181bc5
......@@ -91,6 +91,19 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.ppt.PptActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name="com.base.pdfreaderallpdfreader.ui.word.WordActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider
android:name="androidx.core.content.FileProvider"
......
package com.base.pdfoneread.bean
import android.net.Uri
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_DOC
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_DOCX
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PDF
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PPT
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_PPTX
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_XLS
import com.base.pdfoneread.bean.ConstObject.MIME_TYPE_XLSX
data class DocumentBean(
var path: String = "",
......
......@@ -5,6 +5,7 @@ import android.graphics.Color
import android.net.Uri
import android.view.View
import androidx.activity.addCallback
import androidx.core.content.ContentProviderCompat.requireContext
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import androidx.lifecycle.ViewModelProvider
......@@ -22,11 +23,13 @@ import com.base.pdfoneread.ui.pdf.PdfActivity
import com.base.pdfoneread.ui.views.DialogCallBack
import com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import com.base.pdfoneread.ui.views.DocumentDialog.showDocumentHomeMoreDialog
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.ui.views.PdfDialog.showPdfHomeMoreDialog
import com.base.pdfoneread.utils.BarUtils
import com.base.pdfoneread.utils.IntentShareUtils.shareMutDocuments
import com.base.pdfoneread.utils.LogEx
import com.base.pdfoneread.utils.PdfBoxUtils.checkPdfEncryption
import com.base.pdfoneread.utils.updateMediaStore
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.collectLatest
......@@ -52,7 +55,24 @@ class DocumentActivity : BaseActivity<ActivityDocumentBinding>(), DialogCallBack
viewModel = ViewModelProvider(this)[DocumentViewModel::class.java]
viewModel.handleActivityGmsScanResult = { imageUri, pdfUri ->
LogEx.logDebug(TAG, "pdfUri=$pdfUri imageUri=$imageUri")
val file = File(pdfUri.toString().replace("file://", ""))
if (file.exists()) {
showDocumentRenameDialog(file.name,
okAction = {
val child = if (it.endsWith(".pdf")) it else "$it.pdf"
val newFile = File(getDocumentAppDir(), child)
viewModel.copyFile(file, newFile)
updateMediaStore()
},
dismissAction = {
})
} else {
}
}
type = intent.extras?.getString("type") ?: ""
......
......@@ -107,8 +107,12 @@ class DocumentAdapter(
}
2 -> {//拆分选择
binding.flBookmark.visibility = View.GONE
binding.flMore.visibility = View.INVISIBLE
binding.flBookmark.visibility = View.INVISIBLE
binding.flSelect.visibility = View.INVISIBLE
binding.flMore.visibility = View.VISIBLE
binding.flMore.setOnClickListener {
moreAction?.invoke(item)
}
binding.root.setOnClickListener {
itemClick?.invoke(item)
}
......
......@@ -11,6 +11,7 @@ import androidx.lifecycle.ViewModel
import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions
import com.google.mlkit.vision.documentscanner.GmsDocumentScanning
import com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult
import java.io.File
class DocumentViewModel : ViewModel() {
......@@ -68,4 +69,10 @@ class DocumentViewModel : ViewModel() {
}
}
}
fun copyFile(file: File, newFile: File) {
runCatching {
file.copyTo(newFile, true)
}
}
}
\ No newline at end of file
......@@ -6,9 +6,14 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import com.base.pdfoneread.R
import com.base.pdfoneread.bean.ConstObject.DO_LOCK_PDF
import com.base.pdfoneread.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfoneread.bean.ConstObject.DO_SPLIT_PDF
import com.base.pdfoneread.bean.ConstObject.DO_UNLOCK_PDF
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_ALL
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_EXCEL
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_PDF
......@@ -32,16 +37,23 @@ import com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_GRID
import com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_LIST
import com.base.pdfoneread.bean.HomeUIBean.Companion.UI_TYPE_TITTLE
import com.base.pdfoneread.ui.document.DocumentActivity
import com.base.pdfoneread.ui.document.DocumentViewModel
import com.base.pdfoneread.ui.document.GlobalExcelList
import com.base.pdfoneread.ui.document.GlobalPdfList
import com.base.pdfoneread.ui.document.GlobalPptList
import com.base.pdfoneread.ui.document.GlobalWordList
import com.base.pdfoneread.ui.document.getAllDocument
import com.base.pdfoneread.ui.document.getDocumentAppDir
import com.base.pdfoneread.ui.document.getGlobalAllList
import com.base.pdfoneread.ui.pdf.PdfActivity
import com.base.pdfoneread.ui.pdf.PdfSelectActivity
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.utils.LogEx
import com.base.pdfoneread.utils.PermissionUtils.checkStorePermission
import com.base.pdfoneread.utils.updateMediaStore
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.io.File
import java.util.concurrent.atomic.AtomicBoolean
......@@ -50,10 +62,32 @@ class HomeFragment() : Fragment() {
private val TAG = "HomeFragment"
private lateinit var binding: FragmentHomeBinding
private val adapter: HomeAdapter = HomeAdapter()
private lateinit var viewModel: DocumentViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
LogEx.logDebug(TAG, "onCreate")
viewModel = ViewModelProvider(this)[DocumentViewModel::class.java]
viewModel.handleActivityGmsScanResult = { imageUri, pdfUri ->
LogEx.logDebug(TAG, "pdfUri=$pdfUri imageUri=$imageUri")
val file = File(pdfUri.toString().replace("file://", ""))
if (file.exists()) {
requireContext().showDocumentRenameDialog(file.name,
okAction = {
val child = if (it.endsWith(".pdf")) it else "$it.pdf"
val newFile = File(getDocumentAppDir(), child)
viewModel.copyFile(file, newFile)
requireContext().updateMediaStore()
},
dismissAction = {
})
} else {
}
}
}
override fun onCreateView(
......@@ -81,7 +115,7 @@ class HomeFragment() : Fragment() {
adapter.submitList(groupList)
adapter.itemClick = { item: HomeUIBean ->
val activity = requireActivity() as MainActivity?
when (item.key) {
KEY_ALL -> {
startActivity(Intent(requireContext(), DocumentActivity::class.java).apply {
......@@ -113,6 +147,25 @@ class HomeFragment() : Fragment() {
})
}
KEY_IMAGE_TO_PDF, KEY_SCAN_PDF, KEY_IMAGE_PDF -> {
activity?.let { viewModel.starGmsScan(it) }
}
KEY_MERGE_PDF -> {
activity?.let { PdfSelectActivity.jumpSelect(it, DO_MERGE_PDF) }
}
KEY_SPLIT_PDF -> {
activity?.let { PdfSelectActivity.jumpSelect(it, DO_SPLIT_PDF) }
}
KEY_LOCK_PDF -> {
activity?.let { PdfSelectActivity.jumpSelect(it, DO_LOCK_PDF) }
}
KEY_UNLOCK_PDF -> {
activity?.let { PdfSelectActivity.jumpSelect(it, DO_UNLOCK_PDF) }
}
}
}
......@@ -131,7 +184,6 @@ class HomeFragment() : Fragment() {
LogEx.logDebug(TAG, "onDestroy")
}
private var isRefreshing: AtomicBoolean = AtomicBoolean(false)
private fun refreshData(where: String = "") {
if (isRefreshing.get()) return
......@@ -174,7 +226,6 @@ class HomeFragment() : Fragment() {
}
}
fun changeUIByMain() {
val activity = requireActivity() as MainActivity?
activity ?: return
......
......@@ -42,7 +42,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
BarUtils.setStatusBarColor(this, Color.WHITE)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_container) as NavHostFragment
navController = navHostFragment.navController
......@@ -88,11 +87,11 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding.flSearch.setOnClickListener {
startActivity(Intent(this, SearchActivity::class.java))
}
handleNav()
intent.extras?.clear()
}
private fun handleNav() {
navWhere = intent.extras?.getString("navWhere") ?: NAV_HOME
when (navWhere) {
......@@ -137,6 +136,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
disSelectTab()
binding.ivHome.isSelected = true
binding.tvHome.isSelected = true
binding.flRvMode.visibility = View.VISIBLE
binding.flSearch.visibility = View.VISIBLE
val appName = resources.getString(R.string.app_name)
binding.tvTittle.text = colorSpanner(appName, Color.parseColor("#FD1010"), 0, 3)
......
......@@ -32,12 +32,16 @@ import com.base.pdfoneread.ads.AdmobHelper
import com.base.pdfoneread.ads.AdmobHelper.isShowCloseDocument
import com.base.pdfoneread.ads.admob.AdmobInterstitialUtils
import com.base.pdfoneread.ads.admob.AdmobNativeUtils
import com.base.pdfoneread.bean.ConstObject
import com.base.pdfoneread.bean.ConstObject.DO_SAVE_PDF
import com.base.pdfoneread.bean.ConstObject.haveGuideGesture
import com.base.pdfoneread.bean.DocumentBean
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_EXCEL
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_PPT
import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
import com.base.pdfoneread.databinding.ActivityPdfBinding
import com.base.pdfoneread.ui.BaseActivity
import com.base.pdfoneread.ui.excel.ExcelActivity
import com.base.pdfoneread.ui.ppt.PptActivity
import com.base.pdfoneread.ui.views.PdfDialog.showPdfMoreDialog
import com.base.pdfoneread.ui.views.PwdDialog.showPdfPwdDialog
import com.base.pdfoneread.utils.KeyBoardUtils.hideKeyboard
......@@ -46,6 +50,7 @@ import com.base.pdfoneread.utils.LogEx
import com.base.pdfoneread.utils.SpStringUtils
import com.base.pdfoneread.utils.SpStringUtils.LAST_VIEW_KEY
import com.base.pdfoneread.utils.ToastUtils.toast
import com.base.pdfreaderallpdfreader.ui.word.WordActivity
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
......@@ -654,6 +659,23 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
}
}
fun Activity.jumpOtherDocument(item: DocumentBean) {
if (item.type == TYPE_WORD) {
WordActivity.wordDocumentBean = item
WordActivity.launchDocViewer(this, 3, item.path, -1, 100)
}
if (item.type == TYPE_EXCEL) {
ExcelActivity.excelDocumentBean = item
ExcelActivity.launchDocViewer(this, 3, item.path, -1, 100)
}
if (item.type == TYPE_PPT) {
PptActivity.pptDocumentBean = item
PptActivity.launchDocViewer(this, 3, item.path, -1, 100)
}
}
fun jumpSplit(activity: Activity, path: String, uri: String? = null, pwd: String? = null) {
activity.startActivity(Intent(activity, PdfSplitActivity::class.java).apply {
putExtra("path", path)
......@@ -663,13 +685,6 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>() {
}
fun jumpMerge(activity: Activity) {
activity.startActivity(Intent(activity, PdfSelectActivity::class.java).apply {
putExtra("doWhat", ConstObject.DO_MERGE_PDF)
})
}
}
......
package com.base.pdfoneread.ui.pdf
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.graphics.Color
import android.view.View
......@@ -94,6 +95,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
}
private fun getPdfData(uiType: Int) {
LogEx.logDebug(TAG, "uiType=$uiType")
lifecycleScope.launch(Dispatchers.IO) {
val list = getPdfDocument(this@PdfSelectActivity)
list.forEach { it.uiType = uiType }
......@@ -183,6 +185,7 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
})
}
}
adapter.itemClick
adapter.selectAction = {
LogEx.logDebug(TAG, "selectAction $it")
if (it == 0) {
......@@ -197,5 +200,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>() {
binding.rv.adapter = adapter
}
companion object {
fun jumpSelect(activity: Activity, doWhat: String) {
activity.startActivity(Intent(activity, PdfSelectActivity::class.java).apply {
putExtra("doWhat", doWhat)
})
}
}
}
\ No newline at end of file
package com.base.pdfoneread.ui.ppt
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.content.pm.ActivityInfo
import android.view.View
import android.view.animation.Animation
import android.view.animation.TranslateAnimation
import androidx.activity.addCallback
import androidx.core.view.isVisible
import com.base.pdfoneread.R
import com.base.pdfoneread.ads.AdmobHelper
import com.base.pdfoneread.ads.admob.AdmobInterstitialUtils
import com.base.pdfoneread.ads.admob.AdmobNativeUtils
import com.base.pdfoneread.bean.DocumentBean
import com.base.pdfoneread.databinding.ActivityPptBinding
import com.base.pdfoneread.ui.BaseActivity
import com.base.pdfoneread.ui.views.DocumentDialog.showDocumentMore
import com.base.pdfoneread.utils.LogEx
import com.base.pdfoneread.utils.SpStringUtils
import com.cherry.lib.doc.bean.DocEngine
import com.cherry.lib.doc.office.pg.control.PGControl
import com.cherry.lib.doc.util.Constant
class PptActivity : BaseActivity<ActivityPptBinding>() {
override val binding: ActivityPptBinding by lazy {
ActivityPptBinding.inflate(layoutInflater)
}
companion object {
var pptDocumentBean: DocumentBean = DocumentBean()
fun launchDocViewer(
activity: Activity,
docSourceType: Int,
path: String?,
fileType: Int? = null,
engine: Int? = null
) {
val intent = Intent(activity, PptActivity::class.java)
intent.putExtra(Constant.INTENT_SOURCE_KEY, docSourceType)
intent.putExtra(Constant.INTENT_DATA_KEY, path)
intent.putExtra(Constant.INTENT_TYPE_KEY, fileType)
intent.putExtra(Constant.INTENT_ENGINE_KEY, engine)
activity.startActivity(intent)
}
}
override fun onResume() {
super.onResume()
// updateAppLanguage(MyApplication.pptLanguage) {
// MyApplication.pptLanguage = it
// }
}
private var totalPageNumber = 0
@SuppressLint("SetTextI18n")
override fun initView() {
initSpData(intent)
binding.mDocView.getPageNumberAction = { current, total ->
if (!binding.tvPageCount.isVisible) {
binding.tvPageCount.isVisible = true
}
totalPageNumber = total
binding.tvPageCount.text = "$current/$total"
}
binding.mDocView.singleTapAction = {
LogEx.logDebug(TAG, "actionDownCallBack")
if (isShowTopLayout) {
LogEx.logDebug(TAG, "hide")
hideTopLayout()
} else {
showTopLayout()
LogEx.logDebug(TAG, "show")
}
}
AdmobNativeUtils.showNativeAd(this, binding.flAd, R.layout.layout_admob_document_in)
}
override fun onDestroy() {
super.onDestroy()
binding.mDocView.onDestroy()
AdmobNativeUtils.onDestroy()
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
if (AdmobHelper.isShowCloseDocumentInter()) {
AdmobInterstitialUtils.showInterstitialAd(this@PptActivity) {
if (it) {
AdmobHelper.lastCloseDocumentShowAd = System.currentTimeMillis()
}
binding.root.postDelayed({ finishToMain() }, 500)
}
} else {
binding.root.postDelayed({ finishToMain() }, 500)
}
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.ivXuanzhuan.setOnClickListener {
switchOrientation()
}
binding.ivMore.setOnClickListener {
showDocumentMore(pptDocumentBean, totalPageNumber - 1) { pageIndex ->
((binding.mDocView.iOffice?.control?.appControl as PGControl)
.pgView.pgPrintMode.listView.showPDFPageForIndex(pageIndex))
}
}
}
private fun switchOrientation() {
requestedOrientation = if (requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
} else {
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
}
private var docSourceType = 0
private var fileType = -1
private var engine: Int = DocEngine.INTERNAL.value
private var pathOrUri: String? = null// 文件地址
private fun initSpData(intent: Intent?) {
pathOrUri = intent?.getStringExtra(Constant.INTENT_DATA_KEY)
docSourceType = intent?.getIntExtra(Constant.INTENT_SOURCE_KEY, 0) ?: 0
fileType = intent?.getIntExtra(Constant.INTENT_TYPE_KEY, -1) ?: -1
engine = intent?.getIntExtra(Constant.INTENT_ENGINE_KEY, DocEngine.INTERNAL.value) ?: DocEngine.INTERNAL.value
binding.mDocView.openDoc(this, pathOrUri, docSourceType, fileType, false)
LogEx.logDebug(TAG, "initData-docUrl = $pathOrUri")
LogEx.logDebug(TAG, "initData-docSourceType = $docSourceType")
LogEx.logDebug(TAG, "initData-fileType = $fileType")
SpStringUtils.addSpString(SpStringUtils.LAST_VIEW_KEY, (pathOrUri ?: "") + "_/_" + System.currentTimeMillis())
}
private fun showTopLayout() {
if (!isShowTopLayout) {
isShowTopLayout = true
val topAnim: Animation = TranslateAnimation(0f, 0f, -binding.vAnimatorTop.height.toFloat(), 0f)
topAnim.setDuration(200)
topAnim.setAnimationListener(object : Animation.AnimationListener {
override fun onAnimationStart(animation: Animation) {
binding.vAnimatorTop.visibility = View.VISIBLE
}
override fun onAnimationRepeat(animation: Animation) {}
override fun onAnimationEnd(animation: Animation) {
}
})
binding.vAnimatorTop.startAnimation(topAnim)
}
}
private var isShowTopLayout = true
private fun hideTopLayout() {
if (isShowTopLayout) {
isShowTopLayout = false
val topAnim: Animation = TranslateAnimation(0f, 0f, 0f, -binding.vAnimatorTop.height.toFloat())
topAnim.setDuration(200)
topAnim.setAnimationListener(object : Animation.AnimationListener {
override fun onAnimationStart(animation: Animation) {}
override fun onAnimationRepeat(animation: Animation) {}
override fun onAnimationEnd(animation: Animation) {
binding.vAnimatorTop.visibility = View.GONE
}
})
binding.vAnimatorTop.startAnimation(topAnim)
}
}
}
\ No newline at end of file
package com.base.pdfoneread.ui.views
import android.annotation.SuppressLint
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
import android.view.Gravity
......@@ -14,7 +15,9 @@ import com.base.pdfoneread.bean.DocumentBean.Companion.TYPE_WORD
import com.base.pdfoneread.databinding.DialogDeleteBinding
import com.base.pdfoneread.databinding.DialogDocumentDetailBinding
import com.base.pdfoneread.databinding.DialogDocumentHomeMoreBinding
import com.base.pdfoneread.databinding.DialogDocumentMoreBinding
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
import com.base.pdfoneread.ui.views.PdfDialog.showJumpPageNumberDialog
import com.base.pdfoneread.utils.IntentShareUtils.documentShare
import com.base.pdfoneread.utils.KotlinExt.toFormatSize
import com.base.pdfoneread.utils.KotlinExt.toFormatTime4
......@@ -86,6 +89,59 @@ object DocumentDialog {
return dialog
}
fun Activity.showDocumentMore(
documentBean: DocumentBean,
pageNumber: Int = 0,
jumpAction: ((pageIndex: Int) -> Unit)? = null
) {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val binding = DialogDocumentMoreBinding.inflate(LayoutInflater.from(this))
dialog.setContentView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val parentView = binding.root.parent as View
val behavior = BottomSheetBehavior.from(parentView)
//展开
behavior.state = BottomSheetBehavior.STATE_EXPANDED
if (documentBean.type == TYPE_EXCEL) {
binding.llJump.visibility = View.GONE
}
if (documentBean.isBookmarked) {
binding.ivBookmark.setImageResource(R.mipmap.r_star_s)
} else {
binding.ivBookmark.setImageResource(R.mipmap.star)
}
binding.ivBookmark.setOnClickListener {
binding.ivBookmark.isSelected = !binding.ivBookmark.isSelected
if (binding.ivBookmark.isSelected) {
binding.ivBookmark.setImageResource(R.mipmap.r_star_s)
SpStringUtils.addSpString(SpStringUtils.BOOKMARK_KEY, documentBean.path)
} else {
binding.ivBookmark.setImageResource(R.mipmap.star)
SpStringUtils.deleteSpString(SpStringUtils.BOOKMARK_KEY, documentBean.path)
}
}
binding.llDetail.setOnClickListener {
showDocumentDetail(documentBean.path)
}
binding.llShare.setOnClickListener {
documentShare(documentBean)
}
binding.llJump.setOnClickListener {
showJumpPageNumberDialog(pageNumber) { pageIndex ->
dialog.dismiss()
jumpAction?.invoke(pageIndex)
}
}
}
fun Context.showDocumentDetail(path: String) {
val dialog = AlertDialog.Builder(this).create()
......
......@@ -10,15 +10,16 @@ import android.view.WindowManager
import androidx.core.content.FileProvider
import androidx.core.widget.addTextChangedListener
import com.base.pdfoneread.R
import com.base.pdfoneread.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfoneread.bean.DocumentBean
import com.base.pdfoneread.databinding.DialogPageNumberBinding
import com.base.pdfoneread.databinding.DialogPdfHomeMoreBinding
import com.base.pdfoneread.databinding.DialogPdfMoreBinding
import com.base.pdfoneread.ui.document.saveBookmarkChange
import com.base.pdfoneread.ui.pdf.PdfActivity
import com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpMerge
import com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpPdfActivity
import com.base.pdfoneread.ui.pdf.PdfActivity.Companion.jumpSplit
import com.base.pdfoneread.ui.pdf.PdfSelectActivity
import com.base.pdfoneread.ui.views.DocumentDialog.showDeleteDialog
import com.base.pdfoneread.ui.views.DocumentDialog.showDocumentDetail
import com.base.pdfoneread.ui.views.NameDialog.showDocumentRenameDialog
......@@ -85,7 +86,7 @@ object PdfDialog {
}
binding.llMerge.setOnClickListener {
dialog.dismiss()
PdfActivity.jumpMerge(this)
PdfSelectActivity.jumpSelect(this, DO_MERGE_PDF)
}
binding.llDelete.setOnClickListener {
dialog.dismiss()
......@@ -154,8 +155,7 @@ object PdfDialog {
}
binding.llMerge.setOnClickListener {
dialog.dismiss()
jumpMerge(pdfActivity)
PdfSelectActivity.jumpSelect(pdfActivity, DO_MERGE_PDF)
}
binding.llSplit.setOnClickListener {
dialog.dismiss()
......
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/transparent" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ViewAnimator
android:id="@+id/v_animator_top"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="15dp"
android:src="@mipmap/pdf_left"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"
tools:text="DEMO.xlsx" />
<ImageView
android:id="@+id/iv_xuanzhuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/hengping"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_search"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/sousuo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_more"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<EditText
android:id="@+id/edit_search"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="20dp"
android:background="@drawable/bg_f8f9fe_10"
android:hint="input..."
android:paddingHorizontal="18dp"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="#B8B9BD"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_search"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="Autofill,HardcodedText,TextFields" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<com.cherry.lib.doc.widget.DocView
android:id="@+id/mDocView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:dv_moving_orientation="vertical"
app:dv_show_page_num="false"
app:layout_constraintBottom_toTopOf="@id/fl_ad"
app:layout_constraintTop_toBottomOf="@id/v_animator_top" />
<ViewAnimator
android:id="@+id/v_animator_bottom"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/fl_ad">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="UselessParent">
<FrameLayout
android:id="@+id/fl_pre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="20dp"
android:padding="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/left"
tools:ignore="ContentDescription" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="20dp"
android:padding="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/right"
tools:ignore="ContentDescription" />
</FrameLayout>
</FrameLayout>
</ViewAnimator>
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/zhanweitu2"
tools:ignore="ContentDescription" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ViewAnimator
android:id="@+id/v_animator_top"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="15dp"
android:src="@mipmap/pdf_left"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"
tools:text="DEMO.ppt" />
<ImageView
android:id="@+id/iv_xuanzhuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/hengping"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_more"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<com.cherry.lib.doc.widget.DocView
android:id="@+id/mDocView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:dv_engine="internal"
app:dv_moving_orientation="vertical"
app:dv_page_pb_color="@color/yellow"
app:dv_page_pb_height="2dp"
app:dv_show_page_num="true"
app:layout_constraintBottom_toTopOf="@id/fl_ad"
app:layout_constraintTop_toBottomOf="@id/v_animator_top" />
<TextView
android:id="@+id/tv_pageCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="28dp"
android:background="@drawable/bg_54585b_5"
android:includeFontPadding="false"
android:paddingHorizontal="2dp"
android:paddingVertical="2dp"
android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/v_animator_top"
tools:text="1/3" />
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/zhanweitu2"
tools:ignore="ContentDescription" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ViewAnimator
android:id="@+id/v_animator_top"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_fanhui"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="15dp"
android:src="@mipmap/pdf_left"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/iv_xuanzhuan"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText"
tools:text="DEMO.xlsx" />
<ImageView
android:id="@+id/iv_xuanzhuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/hengping"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_search"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/sousuo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_more"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@mipmap/x_genduo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<EditText
android:id="@+id/edit_search"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="20dp"
android:background="@drawable/bg_f8f9fe_10"
android:hint="input..."
android:paddingHorizontal="18dp"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="#B8B9BD"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_search"
app:layout_constraintStart_toEndOf="@id/fl_fanhui"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="Autofill,HardcodedText,TextFields" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ViewAnimator>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/fl_ad"
app:layout_constraintTop_toBottomOf="@id/v_animator_top">
<com.cherry.lib.doc.widget.DocView
android:id="@+id/mDocView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:dv_engine="internal"
app:dv_moving_orientation="vertical"
app:dv_page_pb_color="@color/yellow"
app:dv_page_pb_height="2dp"
app:dv_show_page_num="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/v_animator_top" />
<com.base.pdfoneread.ui.views.VerticalSeekBar
android:id="@+id/vertical_seekbar"
android:layout_width="30dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:layout_marginEnd="10dp"
android:background="@color/transparent"
app:vsb_bar_background="@color/transparent"
app:vsb_bar_background_gradient_end="@color/transparent"
app:vsb_bar_background_gradient_start="@color/transparent"
app:vsb_bar_progress="@drawable/bg_transparent"
app:vsb_show_thumb="true" />
</FrameLayout>
<TextView
android:id="@+id/tv_pageCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="28dp"
android:background="@drawable/bg_54585b_5"
android:includeFontPadding="false"
android:paddingHorizontal="2dp"
android:paddingVertical="2dp"
android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/v_animator_top"
tools:text="1/3" />
<ViewAnimator
android:id="@+id/v_animator_bottom"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/fl_ad">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="UselessParent">
<FrameLayout
android:id="@+id/fl_pre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="20dp"
android:padding="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/left"
tools:ignore="ContentDescription" />
</FrameLayout>
<FrameLayout
android:id="@+id/fl_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="20dp"
android:padding="10dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/right"
tools:ignore="ContentDescription" />
</FrameLayout>
</FrameLayout>
</ViewAnimator>
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/zhanweitu2"
tools:ignore="ContentDescription" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_ffffff_tlr15"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl"
android:layout_width="match_parent"
android:layout_height="65dp"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="@string/more"
android:textColor="#333333"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<ImageView
android:id="@+id/iv_bookmark"
android:layout_width="24dp"
android:layout_height="32dp"
android:layout_marginEnd="27dp"
android:src="@mipmap/r_star_s"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl">
<LinearLayout
android:id="@+id/ll_jump"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="13dp"
android:src="@mipmap/pdf_Page"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="13dp"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:singleLine="true"
android:text="@string/page_by_page"
android:textColor="#333333"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp"
android:visibility="gone"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_detail"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="13dp"
android:src="@mipmap/pdf_info"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="13dp"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:singleLine="true"
android:text="@string/info"
android:textColor="#333333"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp"
android:visibility="gone"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_share"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginBottom="20dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="13dp"
android:src="@mipmap/pdf_share"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="13dp"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:singleLine="true"
android:text="@string/share"
android:textColor="#333333"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="20dp"
android:visibility="gone"
tools:ignore="ContentDescription" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
......@@ -3,4 +3,5 @@
<dimen name="dp_200">200dp</dimen>
<dimen name="dp_146">146dp</dimen>
<dimen name="dp_345">345dp</dimen>
<dimen name="dp_50">50dp</dimen>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment