Commit cc2dbc40 authored by wanglei's avatar wanglei

...

parent 49a23028
package com.base.filerecoveryrecyclebin.activity package com.base.filerecoveryrecyclebin.activity
import android.graphics.Color import android.graphics.Color
import android.graphics.Typeface
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope 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.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.BaseActivity
import com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission import com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import com.base.filerecoveryrecyclebin.utils.BarUtils import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.base.filerecoveryrecyclebin.view.PermissionDialog.showPermissionBottomSheet import com.base.filerecoveryrecyclebin.view.PermissionDialog.showPermissionBottomSheet
import com.base.filerecoveryrecyclebin.view.RateStarPop.showRateStarPopDialog import com.base.filerecoveryrecyclebin.view.RateStarPop.showRateStarPopDialog
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
...@@ -13,11 +21,21 @@ import kotlinx.coroutines.delay ...@@ -13,11 +21,21 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
class MainActivity : BaseActivity<ActivityMainBinding>() { class MainActivity : BaseActivity<ActivityMainBinding>() {
private val TAG = "MainActivity"
override val binding: ActivityMainBinding by lazy { override val binding: ActivityMainBinding by lazy {
ActivityMainBinding.inflate(layoutInflater) 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() { override fun initView() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
...@@ -25,6 +43,57 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -25,6 +43,57 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) // binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
// showRateStarPopDialog() // showRateStarPopDialog()
// showExitFunctionDialog() // 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() { override fun onResume() {
......
...@@ -40,7 +40,7 @@ class FileRecoveredActivity : BaseActivity<ActivityFileRecoveredBinding>() { ...@@ -40,7 +40,7 @@ class FileRecoveredActivity : BaseActivity<ActivityFileRecoveredBinding>() {
} }
binding.tvType.text = type 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) val appDir = File(Environment.getExternalStorageDirectory(), appName)
binding.tvDir.text = "Recovered in $appDir" binding.tvDir.text = "Recovered in $appDir"
} }
......
...@@ -89,6 +89,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() { ...@@ -89,6 +89,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_DOCUMENTS -> { SCAN_DOCUMENTS -> {
binding.clThumbnails.visibility = View.GONE binding.clThumbnails.visibility = View.GONE
binding.llLayout.visibility = View.GONE
} }
SCAN_VIDEOS -> { SCAN_VIDEOS -> {
...@@ -97,6 +98,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() { ...@@ -97,6 +98,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_AUDIOS -> { SCAN_AUDIOS -> {
binding.clThumbnails.visibility = View.GONE binding.clThumbnails.visibility = View.GONE
binding.llLayout.visibility = View.GONE
} }
} }
...@@ -151,7 +153,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() { ...@@ -151,7 +153,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
SCAN_VIDEOS -> dirType = "Video" SCAN_VIDEOS -> dirType = "Video"
SCAN_AUDIOS -> dirType = "Audio" 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 appDir = File(Environment.getExternalStorageDirectory(), appName)
val dir = File(appDir, dirType) val dir = File(appDir, dirType)
if (!dir.exists()) { if (!dir.exists()) {
......
...@@ -106,7 +106,7 @@ class FileTimeColumnsAdapter( ...@@ -106,7 +106,7 @@ class FileTimeColumnsAdapter(
4 -> R.layout.item_media_columns4 4 -> R.layout.item_media_columns4
else -> R.layout.item_media_columns2 else -> R.layout.item_media_columns2
} }
if (scanType == SCAN_DOCUMENTS) { if ((scanType == SCAN_DOCUMENTS) || (scanType == SCAN_AUDIOS)) {
layout = R.layout.item_document layout = R.layout.item_document
} }
return CS(layout.inflate(parent)) return CS(layout.inflate(parent))
...@@ -124,7 +124,7 @@ class FileTimeColumnsAdapter( ...@@ -124,7 +124,7 @@ class FileTimeColumnsAdapter(
val context = holder.itemView.context val context = holder.itemView.context
val data = list[position] val data = list[position]
if (scanType == SCAN_DOCUMENTS) { if ((scanType == SCAN_DOCUMENTS) or (scanType == SCAN_AUDIOS)) {
if (payloads.isEmpty()) { if (payloads.isEmpty()) {
val binding = ItemDocumentBinding.bind(holder.itemView) val binding = ItemDocumentBinding.bind(holder.itemView)
binding.ivSelector.isSelected = data.isSelect binding.ivSelector.isSelected = data.isSelect
...@@ -133,9 +133,9 @@ class FileTimeColumnsAdapter( ...@@ -133,9 +133,9 @@ class FileTimeColumnsAdapter(
"DOC" -> R.mipmap.doc "DOC" -> R.mipmap.doc
"XLS" -> R.mipmap.xls "XLS" -> R.mipmap.xls
"PPT" -> R.mipmap.ppt "PPT" -> R.mipmap.ppt
"MP3" -> R.mipmap.pdf "MP3" -> R.mipmap.mp3
"WAV" -> R.mipmap.pdf "WAV" -> R.mipmap.wav
"FLAC" -> R.mipmap.pdf "FLAC" -> R.mipmap.flac
else -> 0 else -> 0
} }
binding.ivType.setImageResource(icon) 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 @@ ...@@ -7,10 +7,82 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".activity.MainActivity"> tools:context=".activity.MainActivity">
<fragment <androidx.viewpager2.widget.ViewPager2
android:id="@+id/fragment" android:id="@+id/viewpager2"
android:name="com.base.filerecoveryrecyclebin.fragment.HomeFragment"
android:layout_width="match_parent" 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> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -57,8 +57,7 @@ ...@@ -57,8 +57,7 @@
android:id="@+id/fl_scan" android:id="@+id/fl_scan"
android:layout_width="220dp" android:layout_width="220dp"
android:layout_height="220dp" android:layout_height="220dp"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal">
android:layout_marginTop="20dp">
<com.base.filerecoveryrecyclebin.view.XmlLottieAnimationView <com.base.filerecoveryrecyclebin.view.XmlLottieAnimationView
android:id="@+id/lottie" android:id="@+id/lottie"
...@@ -102,7 +101,7 @@ ...@@ -102,7 +101,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="25dp" android:layout_marginBottom="25dp"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
...@@ -113,7 +112,6 @@ ...@@ -113,7 +112,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:layout_marginTop="16dp"
android:text="File" android:text="File"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="19sp" 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