diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index 6d69b72..c1b1265 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -1,6 +1,7 @@ package com.casic.br.ktd.fragment import android.os.Bundle +import android.os.Environment import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.R import com.casic.br.ktd.base.KotlinBaseFragment @@ -13,18 +14,26 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertMessageDialog import com.casic.br.ktd.widgets.ChangePasswordDialog +import com.pengxh.kt.lite.extensions.calculateSize +import com.pengxh.kt.lite.extensions.deleteFile +import com.pengxh.kt.lite.extensions.formatFileSize import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.utils.PageNavigationManager import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_mine.view.* +import java.io.File import java.nio.charset.StandardCharsets class MinePageFragment : KotlinBaseFragment() { private lateinit var userViewModel: UserViewModel + private lateinit var rootDir: File override fun initView(savedInstanceState: Bundle?) { + //缓存根目录 + rootDir = File(requireContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") + userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.outResult.observe(this) { if (it.code == 200) { @@ -103,6 +112,24 @@ } }).build().show() } + + bv.clearCacheView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(requireContext()) + .setTitle("清除缓存") + .setMessage("确定清除本地缓存吗?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + rootDir.deleteFile() + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() + } + + override fun onCancelClick() {} + }).build().show() + } } override fun initLayoutRes(): Int = R.layout.fragment_mine @@ -123,5 +150,8 @@ override fun onResume() { super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) + + //计算本地缓存 + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index 6d69b72..c1b1265 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -1,6 +1,7 @@ package com.casic.br.ktd.fragment import android.os.Bundle +import android.os.Environment import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.R import com.casic.br.ktd.base.KotlinBaseFragment @@ -13,18 +14,26 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertMessageDialog import com.casic.br.ktd.widgets.ChangePasswordDialog +import com.pengxh.kt.lite.extensions.calculateSize +import com.pengxh.kt.lite.extensions.deleteFile +import com.pengxh.kt.lite.extensions.formatFileSize import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.utils.PageNavigationManager import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_mine.view.* +import java.io.File import java.nio.charset.StandardCharsets class MinePageFragment : KotlinBaseFragment() { private lateinit var userViewModel: UserViewModel + private lateinit var rootDir: File override fun initView(savedInstanceState: Bundle?) { + //缓存根目录 + rootDir = File(requireContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") + userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.outResult.observe(this) { if (it.code == 200) { @@ -103,6 +112,24 @@ } }).build().show() } + + bv.clearCacheView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(requireContext()) + .setTitle("清除缓存") + .setMessage("确定清除本地缓存吗?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + rootDir.deleteFile() + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() + } + + override fun onCancelClick() {} + }).build().show() + } } override fun initLayoutRes(): Int = R.layout.fragment_mine @@ -123,5 +150,8 @@ override fun onResume() { super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) + + //计算本地缓存 + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 0888ab3..15742fe 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -672,6 +672,7 @@ BroadcastManager.obtainInstance(this).destroy(LocaleConstant.ACTION_UPDATE_DATA) mapView.onDestroy() udpClient.release() + SocketManager.instance.close() LocationHelper.get.stopLocation() } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt index 6d69b72..c1b1265 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/MinePageFragment.kt @@ -1,6 +1,7 @@ package com.casic.br.ktd.fragment import android.os.Bundle +import android.os.Environment import androidx.lifecycle.ViewModelProvider import com.casic.br.ktd.R import com.casic.br.ktd.base.KotlinBaseFragment @@ -13,18 +14,26 @@ import com.casic.br.ktd.widgets.AlertControlDialog import com.casic.br.ktd.widgets.AlertMessageDialog import com.casic.br.ktd.widgets.ChangePasswordDialog +import com.pengxh.kt.lite.extensions.calculateSize +import com.pengxh.kt.lite.extensions.deleteFile +import com.pengxh.kt.lite.extensions.formatFileSize import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.utils.PageNavigationManager import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.LoadState import kotlinx.android.synthetic.main.fragment_mine.view.* +import java.io.File import java.nio.charset.StandardCharsets class MinePageFragment : KotlinBaseFragment() { private lateinit var userViewModel: UserViewModel + private lateinit var rootDir: File override fun initView(savedInstanceState: Bundle?) { + //缓存根目录 + rootDir = File(requireContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") + userViewModel = ViewModelProvider(this)[UserViewModel::class.java] userViewModel.outResult.observe(this) { if (it.code == 200) { @@ -103,6 +112,24 @@ } }).build().show() } + + bv.clearCacheView.setOnClickListener { + AlertControlDialog.Builder() + .setContext(requireContext()) + .setTitle("清除缓存") + .setMessage("确定清除本地缓存吗?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + rootDir.deleteFile() + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() + } + + override fun onCancelClick() {} + }).build().show() + } } override fun initLayoutRes(): Int = R.layout.fragment_mine @@ -123,5 +150,8 @@ override fun onResume() { super.onResume() userViewModel.getUserInfo(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String) + + //计算本地缓存 + bv.clearCacheView.text = rootDir.calculateSize().formatFileSize() } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 0888ab3..15742fe 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -672,6 +672,7 @@ BroadcastManager.obtainInstance(this).destroy(LocaleConstant.ACTION_UPDATE_DATA) mapView.onDestroy() udpClient.release() + SocketManager.instance.close() LocationHelper.get.stopLocation() } diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index 9c7e2e4..6b1ac15 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -298,15 +298,21 @@ android:textSize="@dimen/sp_16" /> + +