From 32ff64e91f28b1acb564257236c20584d549eaa2 Mon Sep 17 00:00:00 2001 From: lijia Date: Mon, 18 Mar 2024 08:50:52 +0800 Subject: [PATCH] =?UTF-8?q?sp=E6=B8=85=E9=99=A4=E5=BB=B6=E6=97=B6=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dahe/gldriver/ui/LauncherActivity.kt | 11 +-- .../com/dahe/gldriver/ui/mine/MineFragment.kt | 12 +++ .../ui/mine/activity/CarsManActivity.kt | 10 ++- .../mylibrary/utils/CacheDataManager.java | 84 +++++++++++++++++++ 4 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 mylibrary/src/main/java/com/dahe/mylibrary/utils/CacheDataManager.java diff --git a/app/src/main/java/com/dahe/gldriver/ui/LauncherActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/LauncherActivity.kt index b6f31cf..a16efa9 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/LauncherActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/LauncherActivity.kt @@ -28,10 +28,9 @@ class LauncherActivity : BaseActivity() { binding.llCount.setOnClickListener { mDisposable?.dispose() //已登录,直接跳转首页 - val userInfo = SPUtils.instance.getUserInfo(mContext) // - if (userInfo != null && StringUtils.isNotEmpty(userInfo.token)) { - ActivityUtils.startActivity(mContext, LoginActivity::class.java, intent.extras) + if (!SPUtils.instance.getUserToken(mContext).isNullOrEmpty()) { + ActivityUtils.startActivity(mContext, HomeActivity::class.java, intent.extras) } else { ActivityUtils.startActivity(this@LauncherActivity, LoginActivity::class.java) } @@ -73,12 +72,10 @@ class LauncherActivity : BaseActivity() { mDisposable?.dispose() //已登录,直接跳转首页 //已登录,直接跳转首页 - val userInfo = SPUtils.instance.getUserInfo(mContext) - if (userInfo != null && StringUtils.isNotEmpty(userInfo.token)) { + if (!SPUtils.instance.getUserToken(mContext).isNullOrEmpty()) { ActivityUtils.startActivity( mContext, - SelectRoleActivity::class.java, - intent.extras + HomeActivity::class.java ) } else { ActivityUtils.startActivity( diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt index 6b621ad..bd24bdf 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt @@ -20,6 +20,7 @@ import com.dahe.mylibrary.utils.BaseUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PhoneFormatCheckUtils import com.dahe.mylibrary.utils.ToastUtils +import kotlin.system.exitProcess class MineFragment : BaseFragment(), View.OnClickListener { private val tools = mutableListOf( @@ -170,6 +171,17 @@ class MineFragment : BaseFragment(), View.OnClickListener { ToastUtils.showToast(mContext, tools[pos].title) } + 6 -> { + ToastUtils.showToast(mContext, tools[pos].title) + } + + 7 -> { + SPUtils.instance.removeUserToken(mContext) + ActivityUtils.finishAllActivities() + showToast("清除token") +// exitProcess(0) + } + } } diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt index ba8e8d2..00b9e36 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt @@ -49,6 +49,7 @@ class CarsManActivity : BaseActivity() { adapter = CarsAdapter() adapter as CarsAdapter }.apply { + isStateViewEnable = true addOnItemChildClickListener(R.id.tvUnbind) { adapter, view, position -> CommonPopUtils.getInstance() .showCommCenterPop( @@ -84,7 +85,14 @@ class CarsManActivity : BaseActivity() { BaseObserver(mContext, object : RxHttpCallBack>() { override fun onSuccess(t: CommonResponseBean>) { super.onSuccess(t) - adapter.submitList(t.data) + if (t.data.size == 0) { + adapter.submitList(null) + adapter.setStateViewLayout(mContext, R.layout.empty_view) + } else { + adapter?.submitList(t.data) + } + + } }) ) diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/utils/CacheDataManager.java b/mylibrary/src/main/java/com/dahe/mylibrary/utils/CacheDataManager.java new file mode 100644 index 0000000..2a1004e --- /dev/null +++ b/mylibrary/src/main/java/com/dahe/mylibrary/utils/CacheDataManager.java @@ -0,0 +1,84 @@ +package com.dahe.mylibrary.utils; + +import android.content.Context; +import android.os.Environment; + +import java.io.File; +import java.math.BigDecimal; + +public class CacheDataManager { + + + public static String getTotalCacheSize(Context context) throws Exception { + long cacheSize = getFolderSize(context.getCacheDir()); + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + cacheSize += getFolderSize(context.getExternalCacheDir()); + } + return getFormatSize(cacheSize); + } + + public static void clearAllCache(Context context) { + deleteDir(context.getCacheDir()); + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + deleteDir(context.getExternalCacheDir()); + } + } + + private static boolean deleteDir(File dir) { + if (dir != null && dir.isDirectory()) { + String[] children = dir.list(); + for (int i = 0; i < children.length; i++) { + boolean success = deleteDir(new File(dir, children[i])); + if (!success) { + return false; + } + } + } + return dir.delete(); + } + + // 获取文件// Context.getExternalFilesDir() --> SDCard/Android/data/你的应用的包名/files/// 目录,一般放一些长时间保存的数据// Context.getExternalCacheDir() -->// SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据 + public static long getFolderSize(File file) throws Exception { + long size = 0; + try { + File[] fileList = file.listFiles(); + for (int i = 0; i < fileList.length; i++) { + // 如果下面还有文件 + if (fileList[i].isDirectory()) { + size = size + getFolderSize(fileList[i]); + } else { + size = size + fileList[i].length(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return size; + } + + /*** 格式化单位** @param size*/ + public static String getFormatSize(double size) { + double kiloByte = size / 1024; + if (kiloByte < 1) { + return size + "Byte"; + } + double megaByte = kiloByte / 1024; + if (megaByte < 1) { + BigDecimal result1 = new BigDecimal(Double.toString(kiloByte)); + return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB"; + } + double gigaByte = megaByte / 1024; + if (gigaByte < 1) { + BigDecimal result2 = new BigDecimal(Double.toString(megaByte)); + return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB"; + } + double teraBytes = gigaByte / 1024; + if (teraBytes < 1) { + BigDecimal result3 = new BigDecimal(Double.toString(gigaByte)); + return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB"; + } + BigDecimal result4 = new BigDecimal(teraBytes); + return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "TB"; + } +} +