Skip to content

Commit

Permalink
#update util
Browse files Browse the repository at this point in the history
  • Loading branch information
wumeng1 authored and wumeng1 committed Aug 17, 2021
1 parent ae186e5 commit 282a0cc
Show file tree
Hide file tree
Showing 13 changed files with 269 additions and 260 deletions.
5 changes: 5 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/Constant.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.mirkowu.mvm;

public class Constant {
public static final String FILE_SAVE_DIR = "Mirko";
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import com.mirkowu.lib_util.PermissionsUtil
import com.mirkowu.lib_util.ktxutil.click
import com.mirkowu.lib_util.utilcode.util.ConvertUtils
import com.mirkowu.lib_util.utilcode.util.ToastUtils
import com.mirkowu.mvm.Constant
import com.mirkowu.mvm.base.BaseActivity
import com.mirkowu.mvm.databinding.ActivityDownloadBinding
import com.mirkowu.mvm.network.FileClient
Expand Down Expand Up @@ -102,7 +103,7 @@ class DownloadActivity : BaseActivity<EmptyMediator>() {
binding.btnDown2.click {
//外部存储
filePath =
FileUtil.getDiskExternalPath() + "/" + System.currentTimeMillis() + ".jpg"
FileUtil.getDiskExternalPath(Constant.FILE_SAVE_DIR) + "/" + System.currentTimeMillis() + ".jpg"
id2 = Downloader.create(url2)
.setUrl(url2)
.setFilePath(filePath)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ import com.mirkowu.lib_photo.view.ImagePickerRecyclerView
import com.mirkowu.lib_util.FileUtil
import com.mirkowu.lib_util.LogUtil
import com.mirkowu.lib_util.PermissionsUtil
import com.mirkowu.lib_util.SystemShareUtil
import com.mirkowu.lib_util.ktxutil.click
import com.mirkowu.lib_util.utilcode.util.BarUtils
import com.mirkowu.mvm.Constant
import com.mirkowu.mvm.R
import com.mirkowu.mvm.base.BaseActivity
import com.mirkowu.mvm.databinding.ActivityImagePickerBinding
import java.io.File

class ImagePickerActivity : BaseActivity<EmptyMediator>() {

Expand All @@ -33,31 +36,54 @@ class ImagePickerActivity : BaseActivity<EmptyMediator>() {
toolbar.setBackgroundColor(Color.WHITE)
BarUtils.setStatusBarLightMode(this, true)
toolbar.setTitle("选取图片")
toolbar.setRightIcon(R.drawable.svg_setting) {}
toolbar.setRightIcon(R.drawable.svg_setting) {
val list = binding.rvPick.data
val files = mutableListOf<File>()
if (list.isNotEmpty()) {
for (path in list) {
val file = File(path)
if (file.exists()) {
files.add(file)
}
}
SystemShareUtil.shareToWxCircle(this, "测试", files.last())
}
}

val list = mutableListOf(
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2Fmonth_1011%2F1011250123f7480cd63703c992.jpg&refer=http%3A%2F%2Fattach.bbs.miui.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625652923&t=f88648f6594af41d02c7a30ff67d3284",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwx1.sinaimg.cn%2Flarge%2F008fHVgdly4gqfhftvhl5j30u00iv40g.jpg&refer=http%3A%2F%2Fwx1.sinaimg.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625652886&t=a116fe8bd5ca59a461966d2b09b814e4"
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2Fmonth_1011%2F1011250123f7480cd63703c992.jpg&refer=http%3A%2F%2Fattach.bbs.miui.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625652923&t=f88648f6594af41d02c7a30ff67d3284",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwx1.sinaimg.cn%2Flarge%2F008fHVgdly4gqfhftvhl5j30u00iv40g.jpg&refer=http%3A%2F%2Fwx1.sinaimg.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625652886&t=a116fe8bd5ca59a461966d2b09b814e4"
)

binding.rvPick.setOnImagePickEventListener(object : ImagePickerRecyclerView.OnImagePickEventListener {
override fun onItemClick(position: Int, isAddImage: Boolean) {
if (isAddImage) {
ImagePicker.getInstance()
.setPickerConfig(PickerConfig().setShowCamera(true).setShowGif(true).setShowVideo(true)
.setOriginSelectList(ResultModel.pathsToBeans(binding.rvPick.data)))
binding.rvPick.setOnImagePickEventListener(
object :
ImagePickerRecyclerView.OnImagePickEventListener {
override fun onItemClick(position: Int, isAddImage: Boolean) {
if (isAddImage) {
ImagePicker.getInstance()
.setPickerConfig(
PickerConfig().setShowCamera(true).setShowGif(true)
.setShowVideo(true)
.setOriginSelectList(ResultModel.pathsToBeans(binding.rvPick.data))
)
.setOnPickResultListener {
LogUtil.d("ImagePicker: $it")
binding.rvPick.setData(ResultModel.getPaths(it))
}.start(context)
} else {
ImagePicker.previewImageWithSave(context, FileUtil.getDiskExternalPath(), binding.rvPick.data, position)
} else {
ImagePicker.previewImageWithSave(
context,
FileUtil.getDiskExternalPath(Constant.FILE_SAVE_DIR),
binding.rvPick.data,
position
)
}
}
}

override fun onItemDeleteClick(position: Int) {
binding.rvPick.remove(position)
}
})
override fun onItemDeleteClick(position: Int) {
binding.rvPick.remove(position)
}
})

binding.rvPick.setData(list)

Expand All @@ -68,7 +94,8 @@ class ImagePickerActivity : BaseActivity<EmptyMediator>() {
// LogUtil.d("ImagePicker: $it")
// binding.rvPick.setData(ResultModel.getPaths(it))
// }.start(this)
PermissionsUtil.getInstance().requestPermissions(this, PermissionsUtil.GROUP_CAMERA, 0, onPermissionsListener)
PermissionsUtil.getInstance()
.requestPermissions(this, PermissionsUtil.GROUP_CAMERA, 0, onPermissionsListener)
}

}
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/mvp/MVPActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import android.content.Intent;
import android.view.View;

import com.mirkowu.lib_util.LogUtil;
import com.mirkowu.lib_widget.dialog.PromptDialog;
import com.mirkowu.mvm.R;
import com.mirkowu.mvm.base.BaseActivity;
import com.mirkowu.mvm.databinding.ActivityMVPBinding;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ class WidgetDemoActivity : BaseActivity<EmptyMediator>(), CustomAdapt {
PromptDialog().setTitle("温馨提示")
.setContent("确认关闭吗?")
.setIcon(R.mipmap.ic_launcher)
.setNegativeButton("取消")
.show(supportFragmentManager)
// showLoadingDialog("Toast测试")
}
Expand Down
54 changes: 45 additions & 9 deletions lib_util/src/main/java/com/mirkowu/lib_util/FileUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

import androidx.core.content.FileProvider;

import com.mirkowu.lib_util.utilcode.util.UriUtils;
import com.mirkowu.lib_util.utilcode.util.Utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
Expand All @@ -25,7 +28,7 @@
*/
public class FileUtil {
public static final String TAG = FileUtil.class.getName();
public static final String FILE_NAME = "Mirko";
// public static final String FILE_NAME = "Mirko";

public static Uri createUri(Context context, File file) {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
Expand All @@ -38,12 +41,12 @@ public static Uri createUri(Context context, File file) {
/**
* 得到图片uri的实际地址
*/
public static String getRealFilePath(Context context, final Uri uri) {
public static String getRealFilePath(final Uri uri) {
if (null == uri) {
return null;
}

return UriUtil.uri2Path(context, uri);
return UriUtils.uri2Path(uri);
}

/**
Expand Down Expand Up @@ -75,20 +78,53 @@ public static String getDiskExternalPath(final String path) {
}
return rootDir.getAbsolutePath(); // /mnt/sdcard/path...
}
} else {
if (TextUtils.isEmpty(path)) {
return Utils.getApp().getExternalCacheDir().getAbsolutePath();
}

File file = new File(Utils.getApp().getExternalCacheDir().getAbsolutePath(), path);
if (!file.exists()) {
file.mkdirs();
}
return file.getAbsolutePath(); // /mnt/sdcard/path...
}
} catch (Throwable e) {
e.printStackTrace();
}
if (TextUtils.isEmpty(path)) {
return "";
}
return path;
return "";
}

public static String getDiskExternalPath() {
return getDiskExternalPath(FILE_NAME);
public static File getDiskExternalFile(final String path) {
try {
//判断是否有SD卡
if (hasSDCard()) {
if (TextUtils.isEmpty(path)) {
return Environment.getExternalStorageDirectory();
} else {
File rootDir = new File(Environment.getExternalStorageDirectory(), path);
if (!rootDir.exists()) {
rootDir.mkdirs();
}
return rootDir; // /mnt/sdcard/path...
}
} else {
if (TextUtils.isEmpty(path)) {
return Utils.getApp().getExternalCacheDir();
}
File file = new File(Utils.getApp().getExternalCacheDir().getAbsolutePath(), path);
if (!file.exists()) {
file.mkdirs();
}
return file;
}
} catch (Throwable e) {
e.printStackTrace();
}
return null;
}


/**
* 获取缓存路径 会跟随app卸载一起删除
*
Expand Down
8 changes: 4 additions & 4 deletions lib_util/src/main/java/com/mirkowu/lib_util/SimCardUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ public static String getNetSimCardProvidersName(Context context) {
break;
}

} catch (Exception e) {
} catch (Throwable e) {
e.printStackTrace();
}
return str;
Expand Down Expand Up @@ -263,7 +263,7 @@ public static String getCallSimCardProvidersName(Context context) {
break;
}

} catch (Exception e) {
} catch (Throwable e) {
e.printStackTrace();
}
return str;
Expand Down Expand Up @@ -302,7 +302,7 @@ public static String getIMEI(Context context, int slotId) {
Method method = manager.getClass().getMethod("getImei", int.class);
String imei = (String) method.invoke(manager, slotId);
return imei;
} catch (Exception e) {
} catch (Throwable e) {
return "";
}
}
Expand All @@ -321,7 +321,7 @@ public static String getMEID(Context context, int slotId) {
Method method = manager.getClass().getMethod("getMeid", int.class);
String imei = (String) method.invoke(manager, slotId);
return imei;
} catch (Exception e) {
} catch (Throwable e) {
return "";
}
}
Expand Down
98 changes: 98 additions & 0 deletions lib_util/src/main/java/com/mirkowu/lib_util/SystemShareUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package com.mirkowu.lib_util;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;

import androidx.annotation.NonNull;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
* 使用的系统 分享 和自己的账号没关系
*/
public class SystemShareUtil {


/**
* 分享到微信朋友圈 带文字和图片
*
* @param context
* @param content
* @param file
*/

public static boolean shareToWxCircle(@NonNull Context context, String content, @NonNull File file) {
try {
Uri uri = FileUtil.createUri(context, file);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.putExtra("Kdescription", content);
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
context.startActivity(Intent.createChooser(intent, "选择要分享的应用"));
return true;
} catch (Throwable e) {
LogUtil.e("分享失败", e);
}
return false;
}

public static boolean shareText(@NonNull Context context, @NonNull String text) {
try {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.setType("text/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
context.startActivity(Intent.createChooser(intent, "选择要分享的应用"));
return true;
} catch (Throwable e) {
LogUtil.e("分享失败", e);
}
return false;
}

public static boolean shareImage(@NonNull Context context, @NonNull File file) {
try {
Uri uri = FileUtil.createUri(context, file);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
context.startActivity(Intent.createChooser(intent, "选择要分享的应用"));
return true;
} catch (Throwable e) {
LogUtil.e("分享失败", e);
}
return false;
}

public static boolean shareImage(@NonNull Context context, @NonNull List<File> files) {
try {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
ArrayList<Uri> imageUris = new ArrayList<Uri>();
for (File file : files) {
Uri uri = FileUtil.createUri(context, file);
imageUris.add(uri);
}
intent.setType("image/*");
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
context.startActivity(Intent.createChooser(intent, "选择要分享的应用"));
return true;
} catch (Throwable e) {
LogUtil.e("分享失败", e);
}
return false;
}
}
Loading

0 comments on commit 282a0cc

Please sign in to comment.