浏览代码

增加作品下载提示弹窗

Pq 9 月之前
父节点
当前提交
a0faa6e02d

+ 6 - 0
BaseLibrary/src/main/java/com/cooleshow/base/ui/activity/BaseActivity.java

@@ -103,6 +103,12 @@ public abstract class BaseActivity<V extends ViewBinding> extends RxAppCompatAct
         }
     }
 
+    public void setLoadingCancelClick(View.OnClickListener onClickListener) {
+        if (mLoading != null) {
+            mLoading.setClickListener(onClickListener);
+        }
+    }
+
     public void setLoadingStyle(Drawable drawable, int contentTestSize){
         if (mLoading != null) {
             mLoading.setLoadingStyle(drawable,contentTestSize);

+ 11 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/FileUtils.java

@@ -49,6 +49,8 @@ import javax.net.ssl.HttpsURLConnection;
 
 import okhttp3.ResponseBody;
 
+import static android.os.Environment.DIRECTORY_MUSIC;
+
 /**
  * <pre>
  *     author: Blankj
@@ -2072,4 +2074,13 @@ public final class FileUtils {
         }
         return false;
     }
+
+    public static String getPublicDirectoryMusic() {
+        try {
+            File file = Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC);
+            return file.getAbsolutePath();
+        } catch (Exception e) {
+            return "";
+        }
+    }
 }

+ 39 - 1
BaseLibrary/src/main/java/com/cooleshow/base/utils/UiUtils.java

@@ -20,14 +20,17 @@ import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.cooleshow.base.R;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.constanst.StyleConfig;
+import com.cooleshow.base.widgets.BaseDialog;
 import com.cooleshow.base.widgets.DialogUtil;
+import com.cooleshow.base.widgets.ViewHolder;
+import com.cooleshow.base.widgets.span.CenterImageSpan;
 import com.cooleshow.base.widgets.span.QMUIAlignMiddleImageSpan;
-import com.rui.common_base.widget.span.CenterImageSpan;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -451,4 +454,39 @@ public class UiUtils {
             textView.setMarqueeRepeatLimit(-1);
         }
     }
+
+    public static void showSaveCopyDialog(FragmentManager fragmentmanager, Context context, String title, String content,String filePath) {
+        DialogUtil.showInCenter(fragmentmanager, R.layout.common_download_popu2, new DialogUtil.ShowListener() {
+            @Override
+            public void onShow(ViewHolder holder, BaseDialog dialog) {
+                TextView tvTitle = holder.getView(com.cooleshow.base.R.id.tv_title);
+                TextView tvContent = holder.getView(com.cooleshow.base.R.id.tv_content);
+                TextView btncancel = holder.getView(com.cooleshow.base.R.id.tv_cancel);
+                TextView btnCommit = holder.getView(com.cooleshow.base.R.id.tv_confirm);
+                TextView tv_copy = holder.getView(com.cooleshow.base.R.id.tv_copy);
+                ImageView iv_close = holder.getView(com.cooleshow.base.R.id.iv_close);
+                View view_title_bg = holder.getView(com.cooleshow.base.R.id.view_title_bg);
+                tvTitle.setText(title);
+                tvContent.setText(content);
+                btnCommit.setText("复制路径");
+                btncancel.setText("我知道了");
+                tv_copy.setVisibility(View.GONE);
+                view_title_bg.setVisibility(View.GONE);
+                iv_close.setVisibility(View.GONE);
+                iv_close.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        dialog.dismiss();
+                    }
+                });
+                btncancel.setOnClickListener(view -> {
+                    dialog.dismiss();
+                });
+                btnCommit.setOnClickListener(view -> {
+                    ToastUtil.getInstance().showShort("复制成功");
+                    ClipboardUtils.copyText(filePath);
+                });
+            }
+        });
+    }
 }

+ 8 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/ProgressLoading2.java

@@ -28,6 +28,7 @@ public class ProgressLoading2 extends BaseFullDialog {
     private LottieAnimationView mViewLoadingAnim;
     private TextView mTvCancel;
     private LinearLayout mLlContent;
+    private View.OnClickListener mClickListener;
 
     public ProgressLoading2(@NonNull Context context) {
         super(context, R.style.LightProgressDialog);
@@ -51,6 +52,9 @@ public class ProgressLoading2 extends BaseFullDialog {
         mViewLoadingAnim.setImageAssetsFolder("lottie/refresh/images/");
         mViewLoadingAnim.setAnimation("lottie/refresh_anim.json");
         mViewLoadingAnim.loop(true);
+        if (mClickListener != null) {
+            mTvCancel.setOnClickListener(mClickListener);
+        }
     }
 
     public void showLoading() {
@@ -82,6 +86,10 @@ public class ProgressLoading2 extends BaseFullDialog {
         }
     }
 
+    public void setClickListener(View.OnClickListener clickListener) {
+        mClickListener = clickListener;
+    }
+
     public void updateLoadingText(String text) {
         if (mTvLoadingText != null) {
             mTvLoadingText.setText(text);

+ 1 - 1
BaseLibrary/src/main/java/com/cooleshow/base/widgets/span/CenterImageSpan.java

@@ -1,4 +1,4 @@
-package com.rui.common_base.widget.span;
+package com.cooleshow.base.widgets.span;
 
 import android.content.Context;
 import android.graphics.Bitmap;

+ 115 - 0
BaseLibrary/src/main/res/layout/common_download_popu2.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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"
+    android:orientation="vertical">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_marginStart="@dimen/dp_32"
+        android:layout_marginEnd="@dimen/dp_32"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/bg_white_20dp"
+        android:paddingBottom="20dp">
+
+        <View
+            android:id="@+id/view_title_bg"
+            android:layout_width="match_parent"
+            android:layout_height="49dp"
+            android:background="@drawable/shape_defaff_to_white_20dp"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/tv_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:paddingTop="20dp"
+            android:textColor="@color/color_1a1a1a"
+            android:textSize="@dimen/sp_18"
+            android:textStyle="bold"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:text="我是标题" />
+
+        <TextView
+            android:id="@+id/tv_content"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="20dp"
+            android:gravity="left"
+            android:paddingTop="20dp"
+            android:textColor="@color/color_666666"
+            android:textSize="@dimen/sp_16"
+            android:lineSpacingMultiplier="1.2"
+            app:layout_constraintRight_toLeftOf="@+id/tv_copy"
+            app:layout_constraintLeft_toLeftOf="parent"
+            android:maxLines="2"
+            app:layout_goneMarginEnd="20dp"
+            android:ellipsize="end"
+            android:includeFontPadding="false"
+            app:layout_constraintTop_toBottomOf="@+id/tv_title"
+            tools:text="文件已保存到以下地址 C:/文件/dei/dei/dei/dei/dei/dei/dei/dei" />
+
+        <TextView
+            android:visibility="gone"
+            android:id="@+id/tv_copy"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:textColor="@color/color_01c1b5"
+            android:textSize="@dimen/sp_16"
+            android:text="复制"
+            android:paddingStart="5dp"
+            android:paddingEnd="25dp"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_content"
+            app:layout_constraintRight_toRightOf="parent" />
+
+
+
+        <TextView
+            android:layout_marginTop="25dp"
+            android:id="@+id/tv_cancel"
+            android:layout_width="0dp"
+            android:layout_height="40dp"
+            android:layout_marginStart="20dp"
+            android:layout_marginEnd="8dp"
+            android:background="@drawable/shape_border_dbdbdb_1dp_22dp"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/color_666666"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toLeftOf="@+id/tv_confirm"
+            app:layout_constraintTop_toBottomOf="@+id/tv_content" />
+
+        <TextView
+            android:id="@+id/tv_confirm"
+            android:layout_width="0dp"
+            android:layout_height="40dp"
+            android:layout_marginStart="8dp"
+            android:layout_marginEnd="20dp"
+            android:background="@drawable/shape_2dc7aa_22dp"
+            android:gravity="center"
+            android:text="打开文件"
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toRightOf="@+id/tv_cancel"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_cancel" />
+
+        <ImageView
+            android:id="@+id/iv_close"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            android:layout_marginEnd="20dp"
+            android:layout_marginTop="24dp"
+            android:src="@drawable/icon_close_black"
+            android:layout_width="18dp"
+            android:layout_height="18dp"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</LinearLayout>

+ 1 - 0
musicMerge/src/main/java/com/cooleshow/musicmerge/ui/MusicHandleActivity_.java

@@ -457,6 +457,7 @@ public class MusicHandleActivity_ extends BaseMVPActivity<AcMusicHandleLayoutBin
     }
 
     private void initListener() {
+        setLoadingCancelClick(this);
         viewBinding.ivBack.setOnClickListener(this);
         viewBinding.ivPlay.setOnClickListener(this);
         viewBinding.ivUnfoldSentting.setOnClickListener(this);

+ 4 - 1
student/src/main/java/com/cooleshow/student/ui/web/HtmlActivity.java

@@ -1110,7 +1110,10 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
                                 } else {
                                     FileUtils.saveAudioToMusic(HtmlActivity.this, filePath);
                                     String fileName = FileUtils.getFileName(filePath);
-                                    ToastUtil.getInstance().showShort("保存成功,文件存储路径: 手机存储/Music/yyszkt/" + fileName);
+                                    String publicDirectoryMusic = FileUtils.getPublicDirectoryMusic();
+                                    String fileLastPath = publicDirectoryMusic + "/yyszkt/" + fileName;
+                                    String tip = "音频已保存到以下地址: 手机存储/Music/yyszkt/" + fileName;
+                                    UiUtils.showSaveCopyDialog(getSupportFragmentManager(),HtmlActivity.this,"保存成功", tip,fileLastPath);
                                 }
                             }
                         });

+ 4 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/web/HtmlActivity.java

@@ -581,7 +581,10 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
                                 } else {
                                     FileUtils.saveAudioToMusic(HtmlActivity.this, filePath);
                                     String fileName = FileUtils.getFileName(filePath);
-                                    ToastUtil.getInstance().showShort("保存成功,文件存储路径: 手机存储/Music/yyszkt/" + fileName);
+                                    String publicDirectoryMusic = FileUtils.getPublicDirectoryMusic();
+                                    String fileLastPath = publicDirectoryMusic + "/yyszkt/" + fileName;
+                                    String tip = "音频已保存到以下地址: 手机存储/Music/yyszkt/" + fileName;
+                                    UiUtils.showSaveCopyDialog(getSupportFragmentManager(),HtmlActivity.this,"保存成功", tip,fileLastPath);
                                 }
                             }
                         });