Commit b6a1bb34 authored by wanglei's avatar wanglei

设备信息数据补齐

parent 1496c13e
...@@ -8,6 +8,7 @@ import android.net.wifi.WifiManager ...@@ -8,6 +8,7 @@ import android.net.wifi.WifiManager
import android.os.Build import android.os.Build
import android.os.Environment import android.os.Environment
import android.os.StatFs import android.os.StatFs
import android.util.Log
import androidx.activity.addCallback import androidx.activity.addCallback
import com.blankj.utilcode.util.DeviceUtils import com.blankj.utilcode.util.DeviceUtils
import com.test.basd.fastcleanerjunk.databinding.ActivityDeviceScanBinding import com.test.basd.fastcleanerjunk.databinding.ActivityDeviceScanBinding
...@@ -17,6 +18,9 @@ import com.test.basd.fastcleanerjunk.helps.LogEx ...@@ -17,6 +18,9 @@ import com.test.basd.fastcleanerjunk.helps.LogEx
import com.test.basd.fastcleanerjunk.helps.StatFsHelper import com.test.basd.fastcleanerjunk.helps.StatFsHelper
import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils import com.test.basd.fastcleanerjunk.helps.ads.AdmobUtils
import com.test.basd.fastcleanerjunk.view.AFunOb import com.test.basd.fastcleanerjunk.view.AFunOb
import java.io.BufferedReader
import java.io.File
import java.io.FileReader
import java.io.IOException import java.io.IOException
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Paths import java.nio.file.Paths
...@@ -36,7 +40,7 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() { ...@@ -36,7 +40,7 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() {
binding.tvDeviceName.text = getDeviceName() binding.tvDeviceName.text = getDeviceName()
binding.tvAndroidVersion.text = "System Version: Android ${Build.VERSION.RELEASE}" binding.tvAndroidVersion.text = "System Version: Android ${Build.VERSION.RELEASE}"
initStorage() initStorage()
binding.tvAbis.text = DeviceUtils.getABIs().toStringex() binding.tvAbis.text = DeviceUtils.getABIs().toStringEx()
val cupInfo = cpuInfo() val cupInfo = cpuInfo()
cupInfo.forEach { cupInfo.forEach {
LogEx.logDebug(TAG, "cupInfo $it") LogEx.logDebug(TAG, "cupInfo $it")
...@@ -45,6 +49,8 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() { ...@@ -45,6 +49,8 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() {
binding.tvIpAddress.text = if (isWifiConnected(this)) getWifiIpAddress(this) else "" binding.tvIpAddress.text = if (isWifiConnected(this)) getWifiIpAddress(this) else ""
binding.tvSsid.text = getWifiSSID(this) binding.tvSsid.text = getWifiSSID(this)
binding.tvLinkSpeed.text = "${getWifiLinkSpeed(this)} Mbps" binding.tvLinkSpeed.text = "${getWifiLinkSpeed(this)} Mbps"
binding.tvCpuFrequency.text = "${getCpuFreq("cpuinfo_min_freq") / 1000}MHZ - ${getCpuFreq("cpuinfo_max_freq") / 1000}MHZ"
binding.tvCpuHardware.text = getCpuHardware()
} }
override fun initListener() { override fun initListener() {
...@@ -151,9 +157,48 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() { ...@@ -151,9 +157,48 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() {
// 获取Wi-Fi链路速度,单位为Mbps // 获取Wi-Fi链路速度,单位为Mbps
return wifiInfo?.linkSpeed ?: -1 return wifiInfo?.linkSpeed ?: -1
} }
/**
* @param filePath
* cpuinfo_cur_freq
* cpuinfo_min_freq
* cpuinfo_max_freq
* scaling_available_frequencies
*
* @return 返回数据 546000KHZ=546MHZ
*/
fun getCpuFreq(filePath: String): Int {
val scalingPath = "/sys/devices/system/cpu/cpu0/cpufreq/"
val path = File(scalingPath + filePath)
var frequency = 0
try {
if (path.exists()) {
val reader = BufferedReader(FileReader(path))
val line = reader.readLine()
reader.close()
if (line != null) {
// 处理读取到的频率值
LogEx.logDebug("CPU Frequency", "$filePath: $line kHz")
frequency = line.toInt()
}
}
} catch (e: IOException) {
e.printStackTrace()
}
return frequency
}
@SuppressLint("PrivateApi")
fun getCpuHardware(): String {
val classType = Class.forName("android.os.SystemProperties")
val method = classType.getDeclaredMethod("get", String::class.java)
val result = method.invoke(classType, "ro.board.platform") as String
return result
}
} }
private fun <T> Array<T>.toStringex(): String { private fun <T> Array<T>.toStringEx(): String {
val sb = StringBuffer() val sb = StringBuffer()
sb.append("[") sb.append("[")
......
package com.test.basd.fastcleanerjunk.activity package com.test.basd.fastcleanerjunk.activity
import android.annotation.SuppressLint
import android.os.Environment import android.os.Environment
import com.ironsource.mediationsdk.f
import com.test.basd.fastcleanerjunk.adapter.ScreenShotAdapter import com.test.basd.fastcleanerjunk.adapter.ScreenShotAdapter
import com.test.basd.fastcleanerjunk.bean.ScreenPhotoBean import com.test.basd.fastcleanerjunk.bean.ScreenPhotoBean
import com.test.basd.fastcleanerjunk.bean.ScreenshotBean import com.test.basd.fastcleanerjunk.bean.ScreenshotBean
...@@ -12,7 +14,7 @@ import java.text.SimpleDateFormat ...@@ -12,7 +14,7 @@ import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import kotlin.collections.HashSet import kotlin.collections.HashSet
class ScreenShotActivity(val select: (count: Int) -> Unit) : BaseActivity<ActivityScreenShotBinding>() { class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
private lateinit var screenShotAdapter: ScreenShotAdapter private lateinit var screenShotAdapter: ScreenShotAdapter
...@@ -21,12 +23,26 @@ class ScreenShotActivity(val select: (count: Int) -> Unit) : BaseActivity<Activi ...@@ -21,12 +23,26 @@ class ScreenShotActivity(val select: (count: Int) -> Unit) : BaseActivity<Activi
} }
override fun initView() { override fun initView() {
screenShotAdapter = ScreenShotAdapter() screenShotAdapter = ScreenShotAdapter { size ->
setCleanUpUi(size)
}
binding.rv.adapter = screenShotAdapter binding.rv.adapter = screenShotAdapter
initData() initData()
} }
@SuppressLint("SetTextI18n")
private fun setCleanUpUi(size: Int) {
if (size > 0) {
binding.tvClean.isEnabled = true
binding.tvClean.text = "CLEAN(${size})"
} else {
binding.tvClean.isEnabled = false
binding.tvClean.text = "CLEAN"
}
}
private fun initData() { private fun initData() {
val list = getScreenshotBean() val list = getScreenshotBean()
screenShotAdapter.setData(list) screenShotAdapter.setData(list)
...@@ -43,6 +59,8 @@ class ScreenShotActivity(val select: (count: Int) -> Unit) : BaseActivity<Activi ...@@ -43,6 +59,8 @@ class ScreenShotActivity(val select: (count: Int) -> Unit) : BaseActivity<Activi
binding.llSelectAll.setOnClickListener { binding.llSelectAll.setOnClickListener {
binding.llSelectAll.isSelected = !binding.llSelectAll.isSelected binding.llSelectAll.isSelected = !binding.llSelectAll.isSelected
screenShotAdapter.toggleSelect(binding.llSelectAll.isSelected) screenShotAdapter.toggleSelect(binding.llSelectAll.isSelected)
val size = screenShotAdapter.getSelectDataSize()
setCleanUpUi(size)
} }
} }
......
...@@ -16,7 +16,9 @@ import java.text.SimpleDateFormat ...@@ -16,7 +16,9 @@ import java.text.SimpleDateFormat
import java.util.ArrayList import java.util.ArrayList
import java.util.Locale import java.util.Locale
class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() { class ScreenShotAdapter(
val select: (size: Int) -> Unit
) : RecyclerView.Adapter<ScreenShotAdapter.SSS>() {
private val beans = arrayListOf<ScreenshotBean>() private val beans = arrayListOf<ScreenshotBean>()
...@@ -40,6 +42,7 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() { ...@@ -40,6 +42,7 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() {
bean.isSelect = !bean.isSelect bean.isSelect = !bean.isSelect
bean.screenPhotoBean.forEach { subBean -> subBean.isSelect = bean.isSelect } bean.screenPhotoBean.forEach { subBean -> subBean.isSelect = bean.isSelect }
notifyItemChanged(position) notifyItemChanged(position)
select.invoke(getSelectDataSize())
} }
binding.tvTime.text = bean.time binding.tvTime.text = bean.time
...@@ -53,6 +56,7 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() { ...@@ -53,6 +56,7 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() {
photoBinding.ivSelector.isSelected = screenPhotoBean.isSelect photoBinding.ivSelector.isSelected = screenPhotoBean.isSelect
bean.isSelect = bean.screenPhotoBean.all { it.isSelect } bean.isSelect = bean.screenPhotoBean.all { it.isSelect }
notifyDataSetChanged() notifyDataSetChanged()
select.invoke(getSelectDataSize())
} }
binding.group.addView(photoBinding.root) binding.group.addView(photoBinding.root)
} }
...@@ -76,4 +80,8 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() { ...@@ -76,4 +80,8 @@ class ScreenShotAdapter() : RecyclerView.Adapter<ScreenShotAdapter.SSS>() {
} }
notifyDataSetChanged() notifyDataSetChanged()
} }
fun getSelectDataSize(): Int {
return beans.sumOf { bean -> bean.screenPhotoBean.filter { it.isSelect }.size }
}
} }
\ No newline at end of file
...@@ -136,14 +136,17 @@ ...@@ -136,14 +136,17 @@
</LinearLayout> </LinearLayout>
<com.noober.background.view.BLTextView <com.noober.background.view.BLTextView
android:id="@+id/tv_clean"
android:layout_width="266dp" android:layout_width="266dp"
android:layout_height="50dp" android:layout_height="50dp"
android:enabled="false"
android:gravity="center" android:gravity="center"
android:text="CLEAN" android:text="CLEAN"
android:textColor="@color/white"
android:textSize="19sp" android:textSize="19sp"
app:bl_corners_radius="10dp" app:bl_corners_radius="10dp"
app:bl_enabled_solid_color="@color/theme_color" app:bl_enabled_solid_color="@color/theme_color"
app:bl_enabled_textColor="@color/white" app:bl_unEnabled_solid_color="#BEBEBE"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ll_select_all" app:layout_constraintStart_toEndOf="@id/ll_select_all"
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
tools:ignore="UseCompoundDrawables"> tools:ignore="UseCompoundDrawables">
<ImageView <ImageView
android:layout_marginTop="16dp"
android:id="@+id/iv" android:id="@+id/iv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment