From cf2204a85fa951dd9ce2698378101d822e6edbc8 Mon Sep 17 00:00:00 2001 From: guoshen <3129367635@qq.com> Date: 星期六, 06 七月 2024 10:31:02 +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