Commit 24e4a103 authored by wanglei's avatar wanglei Committed by wanglei

Initial commit

parent 5d2df302
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
......
......@@ -33,6 +33,9 @@ android {
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
}
}
dependencies {
......@@ -41,6 +44,8 @@ dependencies {
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.fragment.ktx)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
......
......@@ -6,21 +6,35 @@
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/zzzz_8596325"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.FastFileManagerPro"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
android:name=".kokodup.KoDupFilekoActivity"
android:exported="false" />
<activity
android:name=".kokolistfile.KoListFilekoActivity"
android:exported="false" />
<activity
android:name=".gridfile.KoGridFilekoActivity"
android:exported="false" />
<activity
android:name=".KokoLaunchActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true"
android:screenOrientation="portrait" />
</application>
</manifest>
\ No newline at end of file
package com.zxhy.fastfilemanagerpro
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import com.zxhy.fastfilemanagerpro.databinding.ActivityKokoLaunchBinding
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@SuppressLint("CustomSplashScreen")
class KokoLaunchActivity : AppCompatActivity() {
private lateinit var binding: ActivityKokoLaunchBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = ActivityKokoLaunchBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
lifecycleScope.launch(Dispatchers.Main) {
while (binding.ProgressBar.progress!=100){
binding.ProgressBar.progress += 2
delay(50)
}
startActivity(Intent(this@KokoLaunchActivity, MainActivity::class.java))
}
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro
import android.os.Bundle
import android.view.MenuItem
import android.view.View
import android.widget.AdapterView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.google.android.material.navigation.NavigationBarView
import com.zxhy.fastfilemanagerpro.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
binding.bnv.setOnItemSelectedListener(object : AdapterView.OnItemSelectedListener,
NavigationBarView.OnItemSelectedListener {
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
}
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onNavigationItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.nav_manager -> {
}
R.id.nav_home -> {
}
}
return true
}
})
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.gridfile
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.zxhy.fastfilemanagerpro.R
import com.zxhy.fastfilemanagerpro.databinding.ActivityKoGridFilekoBinding
class KoGridFilekoActivity : AppCompatActivity() {
private lateinit var binding: ActivityKoGridFilekoBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = ActivityKoGridFilekoBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokoadapter
import com.zxhy.fastfilemanagerpro.kokodata.KoFileDatako
interface AdapterCommonDataFunction {
abstract fun setData(data: List<KoFileDatako>)
abstract fun addData(data: List<KoFileDatako>)
abstract fun clearData()
abstract fun removeData(data: List<KoFileDatako>)
abstract fun getSelectData(): List<KoFileDatako>
abstract fun toggleSelect(select: Boolean)
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokoadapter
import android.annotation.SuppressLint
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.zxhy.fastfilemanagerpro.kokodata.KoFileDatako
abstract class CommonAdapter<T : ViewHolder?>() : RecyclerView.Adapter<T>(),
AdapterCommonDataFunction {
protected val fileList = arrayListOf<KoFileDatako>()
private var firstRefresh = true
@SuppressLint("NotifyDataSetChanged")
override fun setData(data: List<KoFileDatako>) {
fileList.clear()
fileList.addAll(data)
notifyDataSetChanged()
}
@SuppressLint("NotifyDataSetChanged")
override fun addData(data: List<KoFileDatako>) {
fileList.addAll(data)
notifyDataSetChanged()
}
@SuppressLint("NotifyDataSetChanged")
override fun clearData() {
if (fileList.size == 0) return
fileList.clear()
notifyDataSetChanged()
}
@SuppressLint("NotifyDataSetChanged")
override fun removeData(data: List<KoFileDatako>) {
data.forEach {
val index = fileList.indexOf(it)
if (index != -1) {
fileList.removeAt(index)
notifyItemRemoved(index)
}
}
}
override fun getSelectData(): List<KoFileDatako> {
return fileList.filter { it.isSelect }
}
override fun getItemCount(): Int {
return fileList.size
}
@SuppressLint("NotifyDataSetChanged")
override fun toggleSelect(select: Boolean) {
fileList.forEach {
fileBean ->
fileBean.isSelect=select
}
notifyDataSetChanged()
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokodata
data class KoFileDatako(
val name: String,
var isSelect: Boolean
)
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokodup
import com.zxhy.fastfilemanagerpro.kokodata.KoFileDatako
class KoDupFileDatako(
val md5: String,
val dups: List<KoFileDatako>
) {
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokodup
import android.content.Context
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.zxhy.fastfilemanagerpro.R
import com.zxhy.fastfilemanagerpro.databinding.ActivityKoDupFilekoBinding
class KoDupFilekoActivity : AppCompatActivity() {
private lateinit var binding: ActivityKoDupFilekoBinding
private val viewModel: KoDupFilekoViewModel by viewModels()
private lateinit var context: Context
private lateinit var adapter: KoDupFilekoAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
context = this
binding = ActivityKoDupFilekoBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
fun enableDelete(enable: Boolean) {
binding.tvDelete.isEnabled = enable
if (enable) {
binding.tvDelete.background =
ContextCompat.getDrawable(context, R.drawable.bg_ffff6767_corners)
binding.tvDelete.setTextColor(ContextCompat.getColor(context, R.color.white))
binding.tvDelete.setOnClickListener {
}
} else {
binding.tvDelete.background =
ContextCompat.getDrawable(context, R.drawable.bg_fff4f4f4_corners)
binding.tvDelete.setTextColor(ContextCompat.getColor(context, R.color.color_999999))
}
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokodup
import android.content.ClipData.Item
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.zxhy.fastfilemanagerpro.R
import com.zxhy.fastfilemanagerpro.databinding.ItemKokoDupFileBinding
import com.zxhy.fastfilemanagerpro.databinding.ItemKokoDupImageBinding
import com.zxhy.fastfilemanagerpro.kokoadapter.CommonAdapter
import com.zxhy.fastfilemanagerpro.kokotools.inflate
class KoDupFilekoAdapter : RecyclerView.Adapter<KoDupFilekoAdapter.KoDupFilekoViewHolder>() {
private var dupFileList = arrayListOf<KoDupFileDatako>()
inner class KoDupFilekoViewHolder(view: View) : ViewHolder(view) {
val binding = ItemKokoDupFileBinding.bind(view)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): KoDupFilekoViewHolder {
return KoDupFilekoViewHolder(R.layout.item_koko_dup_file.inflate(parent))
}
override fun getItemCount(): Int {
return dupFileList.size
}
override fun onBindViewHolder(holder: KoDupFilekoViewHolder, position: Int) {
}
override fun onBindViewHolder(
holder: KoDupFilekoViewHolder,
position: Int,
payloads: MutableList<Any>
) {
val context = holder.binding.root.context
if (payloads.isEmpty()) {
} else {
super.onBindViewHolder(holder, position, payloads)
}
}
inner class DupImageAdapter : CommonAdapter<DupImageAdapter.DupImageViewHolder>() {
inner class DupImageViewHolder(view: View) : ViewHolder(view) {
val binding = ItemKokoDupImageBinding.bind(view)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DupImageViewHolder {
return DupImageViewHolder(R.layout.item_koko_dup_image.inflate(parent))
}
override fun onBindViewHolder(holder: DupImageViewHolder, position: Int) {
}
override fun onBindViewHolder(
holder: DupImageViewHolder,
position: Int,
payloads: MutableList<Any>
) {
val content = holder.binding.root.context
if (payloads.isEmpty()) {
} else {
super.onBindViewHolder(holder, position, payloads)
}
}
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokodup
import androidx.lifecycle.ViewModel
class KoDupFilekoViewModel : ViewModel() {
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokohome
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.zxhy.fastfilemanagerpro.R
import com.zxhy.fastfilemanagerpro.databinding.FragmentKoHomekoBinding
class KoHomekoFragment : Fragment() {
private lateinit var binding: FragmentKoHomekoBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val root = inflater.inflate(R.layout.fragment_ko_homeko, container, false)
binding = FragmentKoHomekoBinding.bind(root)
return root
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokolistfile
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.zxhy.fastfilemanagerpro.R
class KoListFilekoActivity : AppCompatActivity() {
private val viewModel: KoListFilekoViewHolder by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_ko_list_fileko)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokolistfile
import androidx.lifecycle.ViewModel
import androidx.recyclerview.widget.RecyclerView.ViewHolder
class KoListFilekoViewHolder : ViewModel() {
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokomanager
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.zxhy.fastfilemanagerpro.R
class KoManagerkoFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_ko_managerko, container, false)
}
}
\ No newline at end of file
package com.zxhy.fastfilemanagerpro.kokotools
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
/**
* 解析xml布局
*
* @param parent 父布局
* @param attachToRoot 是否依附到父布局
*/
fun Int.inflate(parent: ViewGroup, attachToRoot: Boolean = false): View {
return LayoutInflater.from(parent.context).inflate(this, parent, attachToRoot)
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#000000" />
<corners android:radius="20dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FF494949" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFFAF6E9" />
</shape>
\ 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="@drawable/bg_fff4f4f4_corners" android:state_selected="false" />
<item android:drawable="@drawable/bg_ffff6767_corners" android:state_selected="true" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFF4F4F4" />
<corners android:radius="20dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFF6767" />
<corners android:radius="20dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFFFF" />
<corners android:radius="20dp" />
</shape>
\ 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/dzd_050656" android:state_selected="false" />
<item android:drawable="@mipmap/d_9989891" android:state_selected="true" />
</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/d_55633" android:state_selected="false" />
<item android:drawable="@mipmap/d_5563322" android:state_selected="true" />
</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/fgf_87979812" android:state_selected="false" />
<item android:drawable="@mipmap/fgf_879798" android:state_selected="true" />
</selector>
\ 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"
tools:context=".kokodup.KoDupFilekoActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_action_bar"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingHorizontal="10dp"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:src="@mipmap/dasds_898852036"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:text="Scan for duplicate pictures"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_action_bar">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_empty"
android:layout_width="250dp"
android:layout_height="234dp"
android:layout_marginTop="130dp"
android:src="@mipmap/dad_9856552"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="This folder is empty"
app:layout_constraintEnd_toEndOf="@id/iv_empty"
app:layout_constraintStart_toStartOf="@id/iv_empty"
app:layout_constraintTop_toBottomOf="@id/iv_empty"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_show_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_items"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:text="total: 0 items"
android:textColor="#FF666666"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/ll_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
app:layout_constraintBottom_toBottomOf="@id/tv_items"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_items"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="All"
android:textColor="#FF666666"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="5dp"
android:src="@drawable/bg_file_selector"
tools:ignore="ContentDescription" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginVertical="8dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toTopOf="@id/tv_delete"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_items" />
<TextView
android:id="@+id/tv_delete"
android:layout_width="278dp"
android:layout_height="40dp"
android:layout_marginBottom="40dp"
android:background="@drawable/bg_delete_selector"
android:gravity="center"
android:text="Delete"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
tools:ignore="HardcodedText" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_000000_corners"
android:orientation="horizontal"
android:paddingVertical="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/dd_899900"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_operation_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:singleLine="true"
android:text="Delete successful!"
android:textColor="#FFFFFF"
android:textSize="14sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_permission_set"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B3000000"
android:visibility="gone">
<ImageView
android:id="@+id/iv_lock"
android:layout_width="172dp"
android:layout_height="200dp"
android:layout_marginTop="170dp"
android:src="@mipmap/sdsd_47798"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_permission_lock"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="66dp"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/permission_tips"
android:textColor="#FFFFFFFF"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_lock" />
<TextView
android:layout_width="270dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@drawable/bg_ffffffff_corners"
android:gravity="center"
android:text="Set"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_lock"
app:layout_constraintStart_toStartOf="@id/iv_lock"
app:layout_constraintTop_toBottomOf="@id/tv_permission_lock"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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"
tools:context=".gridfile.KoGridFilekoActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_action_bar"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingHorizontal="10dp"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:src="@mipmap/dasds_898852036"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_action_bar">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_empty"
android:layout_width="250dp"
android:layout_height="234dp"
android:layout_marginTop="130dp"
android:src="@mipmap/dad_9856552"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="This folder is empty"
app:layout_constraintEnd_toEndOf="@id/iv_empty"
app:layout_constraintStart_toStartOf="@id/iv_empty"
app:layout_constraintTop_toBottomOf="@id/iv_empty"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_show_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<TextView
android:id="@+id/tv_items"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:text="total: 0 items"
android:textColor="#FF666666"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/ll_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
app:layout_constraintBottom_toBottomOf="@id/tv_items"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_items"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="All"
android:textColor="#FF666666"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="5dp"
android:src="@drawable/bg_file_selector"
tools:ignore="ContentDescription" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginVertical="8dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_items" />
<TextView
android:id="@+id/tv_delete"
android:layout_width="278dp"
android:layout_height="40dp"
android:layout_marginBottom="40dp"
android:background="@drawable/bg_delete_selector"
android:gravity="center"
android:text="Delete"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_permission_set"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B3000000"
android:visibility="gone">
<ImageView
android:id="@+id/iv_lock"
android:layout_width="172dp"
android:layout_height="200dp"
android:layout_marginTop="170dp"
android:src="@mipmap/sdsd_47798"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_permission_lock"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="66dp"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/permission_tips"
android:textColor="#FFFFFFFF"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_lock" />
<TextView
android:layout_width="270dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@drawable/bg_ffffffff_corners"
android:gravity="center"
android:text="Set"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_lock"
app:layout_constraintStart_toStartOf="@id/iv_lock"
app:layout_constraintTop_toBottomOf="@id/tv_permission_lock"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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"
tools:context=".kokolistfile.KoListFilekoActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_action_bar"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingHorizontal="10dp"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:src="@mipmap/dasds_898852036"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:text="Internal storage"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_action_bar">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ImageView
android:id="@+id/iv_empty"
android:layout_width="250dp"
android:layout_height="234dp"
android:layout_marginTop="130dp"
android:src="@mipmap/dad_9856552"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="This folder is empty"
app:layout_constraintEnd_toEndOf="@id/iv_empty"
app:layout_constraintStart_toStartOf="@id/iv_empty"
app:layout_constraintTop_toBottomOf="@id/iv_empty"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_show_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_items"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:text="total: 0 items"
android:textColor="#FF666666"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/ll_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
app:layout_constraintBottom_toBottomOf="@id/tv_items"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_items"
tools:ignore="UseCompoundDrawables">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="All"
android:textColor="#FF666666"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:layout_marginEnd="5dp"
android:src="@drawable/bg_file_selector"
tools:ignore="ContentDescription" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginVertical="8dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_items" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_000000_corners"
android:orientation="horizontal"
android:paddingVertical="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="8dp"
android:src="@mipmap/dd_899900"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_operation_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:singleLine="true"
android:text="Delete successful!"
android:textColor="#FFFFFF"
android:textSize="14sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_operation"
android:layout_width="match_parent"
android:layout_height="83dp"
app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_share"
android:layout_width="28dp"
android:layout_height="28dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Shre"
android:textColor="#FF333333"
tools:ignore="HardcodedText" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_permission_set"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B3000000"
android:visibility="gone">
<ImageView
android:id="@+id/iv_lock"
android:layout_width="172dp"
android:layout_height="200dp"
android:layout_marginTop="170dp"
android:src="@mipmap/sdsd_47798"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_permission_lock"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="66dp"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/permission_tips"
android:textColor="#FFFFFFFF"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_lock" />
<TextView
android:layout_width="270dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@drawable/bg_ffffffff_corners"
android:gravity="center"
android:text="Set"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_lock"
app:layout_constraintStart_toStartOf="@id/iv_lock"
app:layout_constraintTop_toBottomOf="@id/tv_permission_lock"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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"
tools:context=".KokoLaunchActivity">
<ImageView
android:layout_width="203dp"
android:layout_height="183dp"
android:layout_marginTop="120dp"
android:src="@mipmap/oo_008800"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<ProgressBar
android:id="@+id/ProgressBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_margin="50dp"
android:layout_marginHorizontal="50dp"
android:max="100"
android:orientation="horizontal"
android:progress="0"
android:progressTint="#FF494949"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:text="Loading..."
android:textColor="#FF333333"
android:textSize="15sp"
app:layout_constraintBottom_toTopOf="@id/ProgressBar"
app:layout_constraintLeft_toLeftOf="@id/ProgressBar"
app:layout_constraintRight_toRightOf="@id/ProgressBar"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -7,13 +7,12 @@
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bnv"
app:menu="@menu/nav_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintBottom_toBottomOf="parent" />
</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="match_parent"
tools:context=".kokohome.KoHomekoFragment">
<TextView
android:id="@+id/tv_tittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Fast File Manager Pro"
android:textColor="#FF333333"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_Storage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="16dp"
android:text="Storage"
android:textColor="#FF333333"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_tittle"
tools:ignore="HardcodedText" />
<FrameLayout
android:id="@+id/fl_storage"
android:layout_width="168dp"
android:layout_height="168dp"
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="@id/tv_Storage"
app:layout_constraintTop_toBottomOf="@id/tv_Storage"
tools:ignore="ContentDescription,UselessLeaf" />
<FrameLayout
android:id="@+id/fl_storage_free"
android:layout_width="138dp"
android:layout_height="45dp"
android:background="@mipmap/eqw_8708978"
app:layout_constraintBottom_toTopOf="@id/fl_storage_used"
app:layout_constraintLeft_toRightOf="@id/fl_storage"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/fl_storage">
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:src="@drawable/bg_circle_fffaf6e9"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="28dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Free:"
android:textColor="#FFFAF6E9"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_free"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15.11GB"
android:textColor="#FFFAF6E9"
android:textSize="15sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
<FrameLayout
android:id="@+id/fl_storage_used"
android:layout_width="138dp"
android:layout_height="45dp"
android:background="@mipmap/qq_87780"
app:layout_constraintBottom_toBottomOf="@id/fl_storage"
app:layout_constraintLeft_toRightOf="@id/fl_storage"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_storage_free">
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:src="@drawable/bg_circle_ff494949"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="28dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Used:"
android:textColor="#FF494949"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_used"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15.11GB"
android:textColor="#FF494949"
android:textSize="15sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
<LinearLayout
android:id="@+id/ll_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_storage">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="132dp"
android:layout_marginVertical="5dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:layout_weight="1"
app:cardCornerRadius="12dp">
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="132dp"
android:layout_marginVertical="5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="20dp"
android:layout_weight="1"
app:cardCornerRadius="12dp">
</androidx.cardview.widget.CardView>
</LinearLayout>
<TextView
android:id="@+id/tv_dup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:text="Repeat the scan"
android:textColor="#FF333333"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_1"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/ll_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dup">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="132dp"
android:layout_marginVertical="5dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:layout_weight="1"
app:cardCornerRadius="12dp">
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="132dp"
android:layout_marginVertical="5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="20dp"
android:layout_weight="1"
app:cardCornerRadius="12dp">
</androidx.cardview.widget.CardView>
</LinearLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_2"
tools:ignore="UselessLeaf">
<ImageView
android:layout_width="match_parent"
android:layout_height="140dp"
android:src="@mipmap/a_87890001" />
</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="match_parent"
tools:context=".kokomanager.KoManagerkoFragment">
<TextView
android:id="@+id/tv_app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="12dp"
android:text="Manager Files"
android:textColor="#FF333333"
android:textSize="17sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_recent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Recent"
android:textColor="#FF333333"
app:layout_constraintStart_toStartOf="@id/tv_app_name"
app:layout_constraintTop_toBottomOf="@id/tv_app_name"
tools:ignore="HardcodedText" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_recent"
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_marginTop="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_recent" />
<TextView
android:id="@+id/tv_Folder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Folder"
android:textColor="#FF333333"
app:layout_constraintStart_toStartOf="@id/tv_app_name"
app:layout_constraintTop_toBottomOf="@id/rv_recent"
tools:ignore="HardcodedText" />
<FrameLayout
android:id="@+id/fl_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="45dp"
android:layout_marginTop="12dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_Folder">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
<FrameLayout
android:id="@+id/fl_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="45dp"
android:layout_marginTop="20dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout>
<LinearLayout
android:id="@+id/ll_documents"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_marginTop="20dp"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="@id/fl_2"
app:layout_constraintTop_toBottomOf="@id/fl_2"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Image"
android:textColor="#FF333333"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<FrameLayout
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/ll_documents"
android:layout_width="350dp"
android:layout_height="140dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" >
<ImageView
android:src="@mipmap/a_87890001"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ContentDescription" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_items"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:text="2 items"
android:textColor="#666666"
android:textSize="15sp"
app:layout_constraintBottom_toTopOf="@id/rv"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<ImageView
android:src="@drawable/bg_file_selector"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginEnd="12dp"
app:layout_constraintBottom_toBottomOf="@id/tv_items"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_items"
tools:ignore="ContentDescription" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_items" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
\ 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">
<ImageView
android:id="@+id/iv"
android:layout_width="45dp"
android:layout_height="45dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/ll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="8dp"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@id/iv_selector"
app:layout_constraintStart_toEndOf="@id/iv"
app:layout_constraintTop_toTopOf="@id/iv">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:singleLine="true"
android:text="Aaa"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="January 5, 2024 2.0MB"
android:textColor="#666666"
android:textSize="12sp"
tools:ignore="HardcodedText" />
</LinearLayout>
<ImageView
android:id="@+id/iv_selector"
android:layout_width="16dp"
android:layout_height="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<menu 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">
<item
android:id="@+id/nav_home"
android:enabled="true"
android:icon="@drawable/bg_home_selector"
android:title="Home"
android:visible="true"
app:showAsAction="ifRoom"
tools:ignore="HardcodedText" />
<item
android:id="@+id/nav_manager"
android:enabled="true"
android:icon="@drawable/bg_manager_selector"
android:title="Home"
android:visible="true"
app:showAsAction="ifRoom"
tools:ignore="HardcodedText" />
</menu>
\ No newline at end of file
......@@ -2,4 +2,5 @@
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="color_999999">#999999</color>
</resources>
\ No newline at end of file
<resources>
<string name="app_name">fastFileManagerPro</string>
<string name="permission_tips">There are no permissions We need to get permission to read all files.</string>
</resources>
\ No newline at end of file
[versions]
agp = "8.3.0"
agp = "8.0.0"
kotlin = "1.9.0"
coreKtx = "1.10.1"
junit = "4.13.2"
......@@ -9,6 +9,8 @@ appcompat = "1.6.1"
material = "1.10.0"
activity = "1.8.0"
constraintlayout = "2.1.4"
activityKtx = "1.6.2"
fragmentKtx = "1.6.2"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
......@@ -18,6 +20,8 @@ androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-co
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityKtx" }
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragmentKtx" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
[plugins]
......
#Fri Mar 22 14:17:00 CST 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
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