Commit 671eb07a authored by wanglei's avatar wanglei

...

parent bcbee770
...@@ -120,4 +120,10 @@ class MediaAdapter( ...@@ -120,4 +120,10 @@ class MediaAdapter(
beanList.addAll(mediaList) beanList.addAll(mediaList)
notifyDataSetChanged() notifyDataSetChanged()
} }
fun removeData(bean: MediaBean) {
val index = beanList.indexOf(bean)
beanList.remove(bean)
notifyItemRemoved(index)
}
} }
\ No newline at end of file
...@@ -15,6 +15,7 @@ import com.base.browserwhite.databinding.FragmentFileBinding ...@@ -15,6 +15,7 @@ import com.base.browserwhite.databinding.FragmentFileBinding
import com.base.browserwhite.ui.activity.MainActivity import com.base.browserwhite.ui.activity.MainActivity
import com.base.browserwhite.ui.activity.mediabrowser.MediaBrowserActivity import com.base.browserwhite.ui.activity.mediabrowser.MediaBrowserActivity
import com.base.browserwhite.ui.adapter.MediaAdapter import com.base.browserwhite.ui.adapter.MediaAdapter
import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import com.base.browserwhite.ui.views.DialogViews.showMediaMoreDialog import com.base.browserwhite.ui.views.DialogViews.showMediaMoreDialog
import com.base.browserwhite.utils.KotlinExt.toFormatSize import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx import com.base.browserwhite.utils.LogEx
...@@ -51,24 +52,30 @@ class FileFragment : BaseFragment<FragmentFileBinding>() { ...@@ -51,24 +52,30 @@ class FileFragment : BaseFragment<FragmentFileBinding>() {
}, },
moreAction = { view, bean -> moreAction = { view, bean ->
requireContext().showMediaMoreDialog(view, deleteAction = {}, shareAction = { requireContext().showMediaMoreDialog(view,
deleteAction = {
LogEx.logDebug(TAG, "uri=${bean.uri}") requireContext().showDeleteTipDialog{
val shareIntent = Intent().apply { runCatching { File(bean.path).delete() }
action = Intent.ACTION_SEND adapter.removeData(bean)
type = bean.mimeType }
putExtra(Intent.EXTRA_STREAM, bean.uri) },
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION shareAction = {
// 可以添加更多额外信息,如主题、文本等 LogEx.logDebug(TAG, "uri=${bean.uri}")
} val shareIntent = Intent().apply {
action = Intent.ACTION_SEND
val chooserIntent = Intent.createChooser(shareIntent, "Share File") type = bean.mimeType
if (shareIntent.resolveActivity(requireContext().packageManager) != null) { putExtra(Intent.EXTRA_STREAM, bean.uri)
startActivity(chooserIntent) flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
} else { // 可以添加更多额外信息,如主题、文本等
Toast.makeText(requireContext(), "no app can share the file", Toast.LENGTH_SHORT).show() }
}
}) val chooserIntent = Intent.createChooser(shareIntent, "Share File")
if (shareIntent.resolveActivity(requireContext().packageManager) != null) {
startActivity(chooserIntent)
} else {
Toast.makeText(requireContext(), "no app can share the file", Toast.LENGTH_SHORT).show()
}
})
}) })
binding.rvRecent.adapter = adapter binding.rvRecent.adapter = adapter
......
...@@ -188,6 +188,7 @@ object DialogViews { ...@@ -188,6 +188,7 @@ object DialogViews {
binding.llDelete.setOnClickListener { binding.llDelete.setOnClickListener {
dialog.dismiss() dialog.dismiss()
deleteAction.invoke()
} }
binding.llShare.setOnClickListener { binding.llShare.setOnClickListener {
dialog.dismiss() dialog.dismiss()
...@@ -196,14 +197,23 @@ object DialogViews { ...@@ -196,14 +197,23 @@ object DialogViews {
} }
fun Context.showDeleteTipDialog() { fun Context.showDeleteTipDialog(action: () -> Unit) {
val binding = DialogDeleteTipBinding.inflate(LayoutInflater.from(this)) val binding = DialogDeleteTipBinding.inflate(LayoutInflater.from(this))
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
dialog.setView(binding.root) dialog.setView(binding.root)
dialog.show() dialog.show()
val params = dialog.window?.attributes
params?.width=resources.getDimensionPixelOffset(R.dimen.dp_335)
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent) dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
binding.tvCancel.setOnClickListener {
dialog.dismiss()
}
binding.tvDelete.setOnClickListener {
dialog.dismiss()
action.invoke()
}
} }
} }
\ No newline at end of file
...@@ -42,9 +42,8 @@ ...@@ -42,9 +42,8 @@
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:padding="8dp"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="8dp" android:paddingVertical="4dp"
android:text="Home" android:text="Home"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
...@@ -72,9 +71,8 @@ ...@@ -72,9 +71,8 @@
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:padding="8dp"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="8dp" android:paddingVertical="4dp"
android:text="File" android:text="File"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
...@@ -107,9 +105,8 @@ ...@@ -107,9 +105,8 @@
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:padding="8dp"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="8dp" android:paddingVertical="4dp"
android:text="Label" android:text="Label"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
...@@ -137,9 +134,8 @@ ...@@ -137,9 +134,8 @@
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:padding="8dp"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
android:paddingVertical="8dp" android:paddingVertical="4dp"
android:text="My" android:text="My"
android:textColor="@color/color_tab_text" android:textColor="@color/color_tab_text"
android:textSize="12sp" android:textSize="12sp"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content" android:layout_width="335dp"
android:layout_height="wrap_content"> android:layout_height="165dp"
android:layout_margin="15dp"
app:cardBackgroundColor="#EEF1F6"
app:cardCornerRadius="20dp"
app:cardElevation="0dp">
<androidx.cardview.widget.CardView <LinearLayout
android:layout_width="300dp" android:layout_width="match_parent"
android:layout_height="150dp" android:layout_height="match_parent"
android:layout_margin="15dp" android:layout_margin="15dp"
app:cardBackgroundColor="@color/white" android:orientation="vertical">
app:cardCornerRadius="25dp"
app:cardElevation="0dp"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="Prom"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:text="Delete the selected file?"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="match_parent"> android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:id="@+id/tv_cancel"
android:layout_height="wrap_content" android:layout_width="145dp"
android:text="Tip" android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:background="@drawable/bg_e1e4e9_25"
android:gravity="center"
android:text="Cancel"
android:textColor="@color/black"
android:textSize="18sp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_delete"
android:layout_width="145dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:background="@drawable/bg_0571ed_25"
android:gravity="center"
android:text="Delete"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </LinearLayout>
</FrameLayout> </androidx.cardview.widget.CardView>
\ No newline at end of file \ No newline at end of file
...@@ -9,4 +9,5 @@ ...@@ -9,4 +9,5 @@
<dimen name="dp_150">150dp</dimen> <dimen name="dp_150">150dp</dimen>
<dimen name="dp_30">30dp</dimen> <dimen name="dp_30">30dp</dimen>
<dimen name="fab_margin">16dp</dimen> <dimen name="fab_margin">16dp</dimen>
<dimen name="dp_335">335dp</dimen>
</resources> </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