Commit 0f0e2911 authored by wanglei's avatar wanglei

完善代码

parent c6a412c7
......@@ -35,6 +35,33 @@ android {
}
buildFeatures {
viewBinding = true
buildConfig = true
}
lint {
//https://blog.csdn.net/destiny1507/article/details/104329583
checkReleaseBuilds = false
abortOnError = false
}
signingConfigs {
create("keyStore") {
storeFile = file("../kokoAndroidConfigure.jks")
storePassword = "wenlu1796"
keyAlias = "Smilekoko"
keyPassword = "wanglei1796"
}
}
buildTypes {
val signConfig = signingConfigs.getByName("keyStore")
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signConfig
}
}
}
......
......@@ -177,8 +177,9 @@ class KoInternalkoActivity : AppCompatActivity() {
binding.llOperation.visibility = View.GONE
binding.clOperationConfirm.visibility = View.VISIBLE
adapter.showSelectMode(false)
adapter.setCannotDir(data.filter { it.isDirectory })
adapter.showSelectMode(false, false)
adapter.setCannotDir(data)
adapter.pageRoot()
binding.tvConfirmItems.text = "${data.size} items"
when (operation) {
......@@ -213,6 +214,7 @@ class KoInternalkoActivity : AppCompatActivity() {
}
}
binding.tvCancel.setOnClickListener {
adapter.clearCannotDir()
browserMode()
}
}
......@@ -294,12 +296,14 @@ class KoInternalkoActivity : AppCompatActivity() {
binding.llCopy.isEnabled = true
binding.llMove.isEnabled = true
binding.llRename.isEnabled = true
binding.llRename.visibility = View.VISIBLE
} else {
binding.llShare.isEnabled = true
binding.llDelete.isEnabled = true
binding.llCopy.isEnabled = true
binding.llMove.isEnabled = true
binding.llRename.isEnabled = false
binding.llRename.visibility = View.GONE
}
}
......
package com.zxhy.fastfilemanagerpro.kokoInternalstorage
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.graphics.ColorMatrix
import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.os.Environment
import android.view.View
import android.view.ViewGroup
......@@ -17,6 +21,7 @@ import com.zxhy.fastfilemanagerpro.kokodata.KoFileDatako.Companion.toFile
import com.zxhy.fastfilemanagerpro.kokotools.XmlEx.inflate
import java.io.File
class KoInternalkoAdapter(
private val context: Context,
private val allSelect: (flag: Boolean) -> Unit,
......@@ -37,9 +42,11 @@ class KoInternalkoAdapter(
}
@SuppressLint("NotifyDataSetChanged")
fun showSelectMode(show: Boolean) {
fun showSelectMode(show: Boolean, refresh: Boolean = true) {
selectMode = show
notifyDataSetChanged()
if (refresh) {
notifyDataSetChanged()
}
}
class KoInternalkoViewHolder(view: View) : ViewHolder(view) {
......@@ -68,10 +75,10 @@ class KoInternalkoAdapter(
data.loadImageIcon(context, ivIcon)
if (cannotFiles.contains(data.toFile().absolutePath)) {
root.setBackgroundColor(ContextCompat.getColor(context, R.color.color_606060))
vOverly.visibility = View.VISIBLE
root.setOnClickListener { }
} else {
root.setBackgroundColor(ContextCompat.getColor(context, R.color.color_ffffff))
vOverly.visibility = View.GONE
root.setOnClickListener {
if (canPage) {
pageNext(context, data)
......@@ -102,6 +109,12 @@ class KoInternalkoAdapter(
}
}
fun pageRoot() {
currentDir = Environment.getExternalStorageDirectory()
val list = currentDir.listFiles()?.map { it.koFileDatako(context) } ?: listOf()
setData(list)
}
private fun pageNext(context: Context, data: KoFileDatako) {
val list = data.toFile().listFiles()?.map { it.koFileDatako(context) } ?: listOf()
setData(list)
......@@ -138,10 +151,17 @@ class KoInternalkoAdapter(
@SuppressLint("NotifyDataSetChanged")
fun setCannotDir(dirs: List<File>) {
cannotFiles.addAll(dirs.map { it.absolutePath })
notifyDataSetChanged()
}
fun clearCannotDir() {
cannotFiles.clear()
}
fun aa(view: View, context: Context) {
val paint = Paint()
val cm = ColorMatrix()
cm.setSaturation(0f)
paint.setColorFilter(ColorMatrixColorFilter(cm))
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint)
}
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ class KoDupFilekoViewModel : CommonViewModel() {
}
fun isDupFileFilter(file: File): Boolean {
return file.length() > 0
return file.length() > 0 && !isImageFilter(file)
}
......
......@@ -45,9 +45,9 @@ object PermissionEx {
fun Context.alert(
title: String = "",
message: String,
positiveButtonText: String = "",
positiveButtonText: String = "Jump",
positiveButton: (() -> Unit)? = null,
negativeButtonText: String = "",
negativeButtonText: String = "Cancel",
negativeButton: (() -> Unit)? = null,
) {
val builder = MaterialAlertDialogBuilder(this)
......@@ -61,7 +61,8 @@ object PermissionEx {
}
val dialog = builder.create()
dialog.setCanceledOnTouchOutside(false)
dialog.setTitle(title)
// dialog.setTitle(title)
dialog.setMessage(message)
dialog.show()
}
}
package com.zxhy.fastfilemanagerpro.widget
import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.ColorFilter
import android.graphics.ColorMatrix
import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import android.util.AttributeSet
import android.widget.LinearLayout
class GrayLinearLayout : LinearLayout {
private val mPaint = Paint()
private var flag = false
var filter: ColorFilter =
PorterDuffColorFilter(Color.rgb(34, 136, 201), PorterDuff.Mode.OVERLAY)
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) {
val cm = ColorMatrix()
cm.setSaturation(0f)
mPaint.setColorFilter(ColorMatrixColorFilter(cm))
// mPaint.setColorFilter(filter)
}
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
)
override fun onDraw(canvas: Canvas) {
if (flag) {
canvas.saveLayer(null, mPaint, Canvas.ALL_SAVE_FLAG)
}
super.onDraw(canvas)
}
override fun dispatchDraw(canvas: Canvas) {
if (flag) {
canvas.saveLayer(null, mPaint, Canvas.ALL_SAVE_FLAG)
super.dispatchDraw(canvas)
canvas.restore()
}
super.dispatchDraw(canvas)
}
fun setGray(flag: Boolean) {
this.flag = flag
invalidate()
}
}
\ No newline at end of file
......@@ -2,21 +2,21 @@
<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_marginHorizontal="20dp"
android:layout_marginVertical="12dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginVertical="12dp">
<ImageView
android:src="@mipmap/qwe_889989111"
android:id="@+id/iv_icon"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@mipmap/qwe_889989111"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<LinearLayout
<com.zxhy.fastfilemanagerpro.widget.GrayLinearLayout
android:id="@+id/ll"
android:layout_width="0dp"
android:layout_height="wrap_content"
......@@ -46,17 +46,29 @@
android:textColor="#666666"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</com.zxhy.fastfilemanagerpro.widget.GrayLinearLayout>
<ImageView
android:src="@drawable/bg_file_selector"
android:id="@+id/iv_selector"
android:layout_width="24dp"
android:layout_marginEnd="6dp"
android:layout_height="24dp"
android:layout_marginEnd="6dp"
android:src="@drawable/bg_file_selector"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ll"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<View
android:visibility="gone"
android:id="@+id/v_overly"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/color_80000000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -11,4 +11,6 @@
<color name="color_fffdf6">#FFFDF6</color>
<color name="color_494949">#494949</color>
<color name="color_faf6e9">#FAF6E9</color>
<color name="color_798fad">#798FAD</color>
<color name="color_80000000">#80000000</color>
</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