Commit cc2dbc40 authored by wanglei's avatar wanglei

...

parent 49a23028
package com.base.filerecoveryrecyclebin.activity
import android.graphics.Color
import android.graphics.Typeface
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.base.filerecoveryrecyclebin.R
import com.base.filerecoveryrecyclebin.databinding.ActivityMainBinding
import com.base.filerecoveryrecyclebin.fragment.HomeFragment
import com.base.filerecoveryrecyclebin.fragment.RecycleBinFragment
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.base.filerecoveryrecyclebin.view.PermissionDialog.showPermissionBottomSheet
import com.base.filerecoveryrecyclebin.view.RateStarPop.showRateStarPopDialog
import kotlinx.coroutines.Dispatchers
......@@ -13,11 +21,21 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
class MainActivity : BaseActivity<ActivityMainBinding>() {
private val TAG = "MainActivity"
override val binding: ActivityMainBinding by lazy {
ActivityMainBinding.inflate(layoutInflater)
}
private val homeFragment by lazy {
HomeFragment()
}
private val recycleBinFragment by lazy {
RecycleBinFragment()
}
private val fragments by lazy {
mutableListOf(homeFragment, recycleBinFragment)
}
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
......@@ -25,6 +43,57 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
// showRateStarPopDialog()
// showExitFunctionDialog()
binding.viewpager2.run {
adapter = object : FragmentStateAdapter(this@MainActivity) {
override fun getItemCount(): Int {
return fragments.size
}
override fun createFragment(position: Int): Fragment {
return fragments[position]
}
}
}
binding.viewpager2.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
setPage(position)
}
})
binding.ll1.setOnClickListener {
binding.viewpager2.currentItem = 0
}
binding.ll2.setOnClickListener {
binding.viewpager2.currentItem = 1
}
}
private fun setPage(p: Int) {
binding.ll1.isSelected = false
binding.ll2.isSelected = false
binding.tv1.typeface = Typeface.DEFAULT
binding.tv2.typeface = Typeface.DEFAULT
when (p) {
0 -> {
binding.ll1.isSelected = true
binding.tv1.typeface = Typeface.DEFAULT_BOLD
}
1 -> {
binding.ll2.isSelected = true
binding.tv2.typeface = Typeface.DEFAULT_BOLD
}
}
}
override fun initListener() {
super.initListener()
}
override fun onResume() {
......
......@@ -40,7 +40,7 @@ class FileRecoveredActivity : BaseActivity<ActivityFileRecoveredBinding>() {
}
binding.tvType.text = type
val appName = this.resources.getString(R.string.app_name)
val appName = this.resources.getString(R.string.app_name).replace("/", " ")
val appDir = File(Environment.getExternalStorageDirectory(), appName)
binding.tvDir.text = "Recovered in $appDir"
}
......
......@@ -89,6 +89,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_DOCUMENTS -> {
binding.clThumbnails.visibility = View.GONE
binding.llLayout.visibility = View.GONE
}
SCAN_VIDEOS -> {
......@@ -97,6 +98,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_AUDIOS -> {
binding.clThumbnails.visibility = View.GONE
binding.llLayout.visibility = View.GONE
}
}
......@@ -151,7 +153,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_VIDEOS -> dirType = "Video"
SCAN_AUDIOS -> dirType = "Audio"
}
val appName = this.resources.getString(R.string.app_name)
val appName = this.resources.getString(R.string.app_name).replace("/", " ")
val appDir = File(Environment.getExternalStorageDirectory(), appName)
val dir = File(appDir, dirType)
if (!dir.exists()) {
......
......@@ -106,7 +106,7 @@ class FileTimeColumnsAdapter(
4 -> R.layout.item_media_columns4
else -> R.layout.item_media_columns2
}
if (scanType == SCAN_DOCUMENTS) {
if ((scanType == SCAN_DOCUMENTS) || (scanType == SCAN_AUDIOS)) {
layout = R.layout.item_document
}
return CS(layout.inflate(parent))
......@@ -124,7 +124,7 @@ class FileTimeColumnsAdapter(
val context = holder.itemView.context
val data = list[position]
if (scanType == SCAN_DOCUMENTS) {
if ((scanType == SCAN_DOCUMENTS) or (scanType == SCAN_AUDIOS)) {
if (payloads.isEmpty()) {
val binding = ItemDocumentBinding.bind(holder.itemView)
binding.ivSelector.isSelected = data.isSelect
......@@ -133,9 +133,9 @@ class FileTimeColumnsAdapter(
"DOC" -> R.mipmap.doc
"XLS" -> R.mipmap.xls
"PPT" -> R.mipmap.ppt
"MP3" -> R.mipmap.pdf
"WAV" -> R.mipmap.pdf
"FLAC" -> R.mipmap.pdf
"MP3" -> R.mipmap.mp3
"WAV" -> R.mipmap.wav
"FLAC" -> R.mipmap.flac
else -> 0
}
binding.ivType.setImageResource(icon)
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#4773FF" android:state_selected="true" />
<item android:color="#C3C3C3" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/tab_recovery_s" android:state_selected="true" />
<item android:drawable="@mipmap/tab_recovery_n" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/tab_recyclebin_s" android:state_selected="true" />
<item android:drawable="@mipmap/tab_recyclebin_n" android:state_selected="false" />
</selector>
\ No newline at end of file
......@@ -7,10 +7,82 @@
android:layout_height="match_parent"
tools:context=".activity.MainActivity">
<fragment
android:id="@+id/fragment"
android:name="com.base.filerecoveryrecyclebin.fragment.HomeFragment"
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/ll"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="DisableBaselineAlignment">
<LinearLayout
android:id="@+id/ll_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingBottom="15dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_recovery_tab"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Recovery"
android:textColor="@color/color_tab_select"
android:textSize="11sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingBottom="15dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_recyclebin_tab"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Recovery"
android:textColor="@color/color_tab_select"
android:textSize="11sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -57,8 +57,7 @@
android:id="@+id/fl_scan"
android:layout_width="220dp"
android:layout_height="220dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp">
android:layout_gravity="center_horizontal">
<com.base.filerecoveryrecyclebin.view.XmlLottieAnimationView
android:id="@+id/lottie"
......@@ -102,7 +101,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="25dp"
android:layout_marginBottom="25dp"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold"
......@@ -113,7 +112,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="16dp"
android:text="File"
android:textColor="@color/black"
android:textSize="19sp"
......
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