From 42ea59771a54d2591df0a6dd3936dda669be99ae Mon Sep 17 00:00:00 2001
From: gs <3129367635@qq.com>
Date: 星期一, 08 七月 2024 12:23:48 +0800
Subject: [PATCH] 会议统计接入增加,删除,修改接口
---
app_base/src/main/java/com/android/app_base/utils/Utils.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 102 insertions(+), 3 deletions(-)
diff --git a/app_base/src/main/java/com/android/app_base/utils/Utils.java b/app_base/src/main/java/com/android/app_base/utils/Utils.java
index 18758a7..df7e5b7 100644
--- a/app_base/src/main/java/com/android/app_base/utils/Utils.java
+++ b/app_base/src/main/java/com/android/app_base/utils/Utils.java
@@ -1,8 +1,17 @@
package com.android.app_base.utils;
import android.animation.ValueAnimator;
+import android.app.ActionBar;
+import android.app.ActivityManager;
+import android.app.Application;
import android.content.Context;
import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
@@ -10,11 +19,20 @@
import android.view.View;
import android.widget.TextView;
+import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
+import com.android.app_base.base.BaseApplication;
import com.blankj.utilcode.util.LogUtils;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.security.DigestInputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -37,7 +55,7 @@
*/
public static void dropExpand(View view,int initialHeight , int targetHeight) {
ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
- animator.setDuration(500);
+ animator.setDuration(400);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
@@ -56,7 +74,7 @@
*/
public static void pullCollapse(View view,int initialHeight, int targetHeight) {
ValueAnimator animator = ValueAnimator.ofInt(initialHeight, targetHeight);
- animator.setDuration(500);
+ animator.setDuration(400);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
@@ -214,7 +232,7 @@
Intent intent = new Intent(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- Uri contentUri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".fileprovider", file);
+ Uri contentUri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".file-provider", file);
intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
} else {
// Uri uri = Uri.parse("file://" + file.toString());
@@ -225,4 +243,85 @@
context.startActivity(intent);
}
+ /**
+ * 鍒ゆ柇鏄惁鏈夌綉缁�
+ */
+ public static boolean checkNetwork() {
+// if (context == null) {
+// return false;
+// }
+// ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+// if (mConnectivityManager == null) {
+// return false;
+// }
+// NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
+// return mNetworkInfo != null && mNetworkInfo.isAvailable();
+
+ Application application = BaseApplication.getInstance();
+ if (application != null) {
+ ConnectivityManager manager = ContextCompat.getSystemService(application, ConnectivityManager.class);
+ if (manager != null) {
+ NetworkInfo info = manager.getActiveNetworkInfo();
+ // 鍒ゆ柇缃戠粶鏄惁杩炴帴
+ if (info == null || !info.isConnected()) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * 鎶� view 杞崲鎴� drawable
+ */
+ public static Drawable convertViewToDrawable(View view) {
+ view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
+ View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
+ int width = view.getMeasuredWidth();
+ int height = view.getMeasuredHeight();
+
+ Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(bitmap);
+
+ view.layout(0, 0, width, height);
+ view.draw(canvas);
+
+ return new BitmapDrawable(view.getResources(), bitmap);
+ }
+
+
+ /**
+ * 璁$畻鏂囦欢鐨凪D5鍝堝笇鍊�
+ *
+ * @param file 鏂囦欢
+ * @return 鏂囦欢鐨凪D5鍝堝笇鍊硷紝濡傛灉璁$畻澶辫触鍒欒繑鍥瀗ull
+ */
+ public static String calculateMD5(File file) {
+ try {
+ // 鑾峰彇MD5娑堟伅鎽樿绠楁硶鐨勫疄渚�
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ // 鍒涘缓鏂囦欢URL
+ // 鎵撳紑鏂囦欢杈撳叆娴侊紝骞朵娇鐢―igestInputStream鏇存柊娑堟伅鎽樿
+ try (FileInputStream is = new FileInputStream(file);
+ DigestInputStream dis = new DigestInputStream(is, md)) {
+ // 璇诲彇杈撳叆娴佸苟鏇存柊娑堟伅鎽樿
+ byte[] buffer = new byte[1024*256];
+ while(true){
+ if (!(dis.read(buffer) > 0)) break;
+ }
+ // 鑾峰彇MD5鍝堝笇鍊肩殑瀛楄妭鏁扮粍
+ md = dis.getMessageDigest();
+ byte[] mdBytes = md.digest();
+ // 灏嗗瓧鑺傛暟缁勮浆鎹负鍗佸叚杩涘埗瀛楃涓�
+ StringBuilder hexString = new StringBuilder();
+ for (byte mdByte : mdBytes) {
+ hexString.append(Integer.toHexString(0xFF & mdByte));
+ }
+ return hexString.toString();
+ }
+ } catch (NoSuchAlgorithmException | IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
--
Gitblit v1.9.1