Merge branch 'main' of http://git.zhenbs.com:9999/2-group-android/DevCheck-lib
This commit is contained in:
commit
264a45f4db
@ -913,6 +913,30 @@ class CpuInfo {
|
||||
return sb.toString()
|
||||
}
|
||||
|
||||
fun getCpuText():String{//自定义衍生方法
|
||||
val sb = StringBuilder()
|
||||
val clusterInfo = getClusterInfo()
|
||||
if (clusterInfo.bigCoreCount > 0) {
|
||||
sb.append("大核: ${clusterInfo.bigCoreCount} 个, 最高频率: ${formatFrequency(clusterInfo.bigCoreFreq)}\n")
|
||||
}
|
||||
if (clusterInfo.midCoreCount > 0) {
|
||||
sb.append("中核: ${clusterInfo.midCoreCount} 个, 最高频率: ${formatFrequency(clusterInfo.midCoreFreq)}\n")
|
||||
}
|
||||
if (clusterInfo.littleCoreCount > 0) {
|
||||
sb.append("小核: ${clusterInfo.littleCoreCount} 个, 最高频率: ${formatFrequency(clusterInfo.littleCoreFreq)}\n")
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
//去重频率
|
||||
fun getFrequencyText():String {//自定义衍生方法
|
||||
return getCoreFrequencies()
|
||||
.map { freq ->
|
||||
"${formatFrequency(freq.minFreq.toULong() * 1000UL)}-${formatFrequency(freq.maxFreq.toULong() * 1000UL)}"
|
||||
}
|
||||
.distinct() // 自动去重
|
||||
.joinToString("\n") // 每行一个
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化频率显示
|
||||
* @param freqHz 频率(Hz)
|
||||
|
||||
@ -0,0 +1,91 @@
|
||||
package com.xyzshell.myphoneinfo.custom
|
||||
|
||||
import kotlin.math.abs
|
||||
|
||||
object SetNumberOrWordUtils {
|
||||
fun setDecimal1(double: Double): String{
|
||||
return "%.1f".format(double)
|
||||
}
|
||||
fun setDecimal0(double: Double): String{
|
||||
return double.toInt().toString()
|
||||
}
|
||||
|
||||
fun toTitleCase(sentence: String): String {
|
||||
if (sentence.isEmpty()) return ""
|
||||
|
||||
val words = sentence.trim().split("\\s+".toRegex()) // 按一个或多个空格分割
|
||||
|
||||
return if (words.isNotEmpty()) {
|
||||
// 第一个单词首字母大写
|
||||
val firstWord = words[0].lowercase().replaceFirstChar { it.uppercase() }
|
||||
|
||||
// 其余单词保持小写
|
||||
val remainingWords = words.drop(1).joinToString(" ") { it.lowercase() }
|
||||
|
||||
if (remainingWords.isNotEmpty()) {
|
||||
"$firstWord $remainingWords"
|
||||
} else {
|
||||
firstWord
|
||||
}
|
||||
} else {
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
将数字加1并转换为字符串
|
||||
*/
|
||||
fun convertToStringNormal(string: String): String {
|
||||
|
||||
return (Integer.parseInt(string) + 1).toString()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 智能宽高比转换
|
||||
* 输入:width=1080, height=2800
|
||||
* 输出:20:9(近似值)
|
||||
*/
|
||||
fun convertToApproximateAspectRatio(width: Int, height: Int): String {
|
||||
val isPortrait = height > width
|
||||
|
||||
// 总是按横屏计算(宽>高)
|
||||
val displayWidth = if (isPortrait) height else width
|
||||
val displayHeight = if (isPortrait) width else height
|
||||
|
||||
// 计算实际比例
|
||||
val actualRatio = displayWidth.toDouble() / displayHeight
|
||||
|
||||
// 常见宽高比映射表(比例值 -> 宽高比字符串)
|
||||
val commonRatios = mapOf(
|
||||
1.333 to "4:3", // 4:3 = 1.333
|
||||
1.5 to "3:2", // 3:2 = 1.5
|
||||
1.6 to "16:10", // 16:10 = 1.6
|
||||
1.667 to "5:3", // 5:3 = 1.667
|
||||
1.778 to "16:9", // 16:9 = 1.778
|
||||
2.0 to "18:9", // 18:9 = 2.0
|
||||
2.111 to "19:9", // 19:9 = 2.111
|
||||
2.222 to "20:9", // 20:9 = 2.222 ← 您要的
|
||||
2.333 to "21:9", // 21:9 = 2.333
|
||||
2.4 to "24:10", // 24:10 = 2.4
|
||||
2.5 to "25:10", // 25:10 = 2.5
|
||||
)
|
||||
|
||||
// 找到最接近的常见比例
|
||||
var closestRatio = "16:9"
|
||||
var minDifference = Double.MAX_VALUE
|
||||
|
||||
for ((ratioValue, ratioStr) in commonRatios) {
|
||||
val difference = abs(actualRatio - ratioValue)
|
||||
if (difference < minDifference) {
|
||||
minDifference = difference
|
||||
closestRatio = ratioStr
|
||||
}
|
||||
}
|
||||
|
||||
return closestRatio
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -2,10 +2,18 @@ package com.xyzshell.myphoneinfo.dashboard
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.xyzshell.andinfo.AndInfo
|
||||
import com.xyzshell.andinfo.libs.cpu.models.Processor
|
||||
import com.xyzshell.myphoneinfo.R
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.convertToStringNormal
|
||||
import com.xyzshell.myphoneinfo.databinding.ActivityAnalysisBinding
|
||||
import com.xyzshell.myphoneinfo.databinding.ItemAnalysisBinding
|
||||
import com.xyzshell.myphoneinfo.databinding.ItemCpuAnalysisBinding
|
||||
import com.xyzshell.myphoneinfo.dialog.DialogCpuInfo
|
||||
import kotlin.collections.component1
|
||||
import kotlin.collections.component2
|
||||
|
||||
class AnalysisActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivityAnalysisBinding
|
||||
@ -30,23 +38,73 @@ class AnalysisActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun initText() {
|
||||
val cpu = AndInfo.instance.cpu
|
||||
//processor
|
||||
binding.proText1.textTitle.text=getString(R.string.hardware)
|
||||
binding.proText1.textContent.text=cpu.getProcessorName()
|
||||
binding.proText2.textTitle.text=getString(R.string.manufacturer)
|
||||
binding.proText2.textContent.text=cpu.getVendor()
|
||||
binding.proText3.textTitle.text=getString(R.string.marketing_name)
|
||||
binding.proText3.textContent.text=cpu.getProcessorName()
|
||||
binding.proText4.textTitle.text=getString(R.string.process)
|
||||
binding.proText4.textContent.text=cpu.getProcess()
|
||||
binding.proText5.textTitle.text=getString(R.string.cores)
|
||||
binding.proText5.textContent.text=cpu.getCoreCount().toString()
|
||||
binding.proText6.textTitle.text=getString(R.string.CPU)
|
||||
binding.proText6.textContent.text=cpu.getAllArchitectures().joinToString()
|
||||
binding.proText7.textTitle.text=getString(R.string.frequencies)
|
||||
binding.proText7.textContent.text=cpu.getFrequencyText()
|
||||
binding.proText8.textTitle.text=getString(R.string.architecture)
|
||||
binding.proText8.textContent.text=cpu.getArchitecture()
|
||||
binding.proText9.textTitle.text=getString(R.string.ABI)
|
||||
binding.proText9.textContent.text=cpu.getAbi()
|
||||
binding.proText10.textTitle.text=getString(R.string.supported_ABls)
|
||||
binding.proText10.textContent.text=cpu.getSupportedAbis().joinToString()
|
||||
binding.proText11.textTitle.text=getString(R.string.features)
|
||||
//cluster1
|
||||
binding.clu1Text1.textTitle.text=getString(R.string.type)
|
||||
binding.clu1Text2.textTitle.text=getString(R.string.vendor)
|
||||
binding.clu1Text3.textTitle.text=getString(R.string.cluster)
|
||||
binding.clu1Text4.textTitle.text=getString(R.string.max_frequency)
|
||||
binding.clu1Text5.textTitle.text=getString(R.string.min_frequency)
|
||||
binding.proText11.textContent.text=cpu.getCpuFeatures().joinToString()
|
||||
setCluster()
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置集群信息*/
|
||||
private fun setCluster() {
|
||||
val groupedProcessors = mutableMapOf<UInt, MutableList<Processor>>()
|
||||
//给簇分类
|
||||
AndInfo.instance.cpu.processors.forEach { processor ->
|
||||
val clusterId = processor.cluster.clusterId
|
||||
val list = groupedProcessors.getOrPut(clusterId) { mutableListOf() }
|
||||
list.add(processor)
|
||||
}
|
||||
groupedProcessors.forEach { (clusterId, processors) ->
|
||||
println("集群 $clusterId: ${processors.size} 个处理器")
|
||||
val itemView= LayoutInflater.from(this).inflate(R.layout.item_analysis,binding.llCluster,false)
|
||||
val itemBinding = ItemAnalysisBinding.bind(itemView)
|
||||
itemBinding.cluster1Title.text=getString(R.string.cluster)+convertToStringNormal(clusterId.toString())
|
||||
val coresRangeList= mutableListOf<String>()
|
||||
//获取簇范围
|
||||
processors.forEach { processor ->
|
||||
coresRangeList.add(processor.core.coreId.toString())
|
||||
}
|
||||
processors.forEach { processor ->
|
||||
//设置每个cpu信息
|
||||
val itemGroup= LayoutInflater.from(this).inflate(R.layout.item_cpu_analysis,itemBinding.clusterInfo,false)
|
||||
val itemGroupBinding = ItemCpuAnalysisBinding.bind(itemGroup)
|
||||
itemGroupBinding.cputitle.text="cpu ${processor.core.coreId}"
|
||||
itemGroupBinding.clu1Text1.textTitle.text=getString(R.string.type)
|
||||
itemGroupBinding.clu1Text1.textContent.text=processor.cluster.uarch.toString()
|
||||
itemGroupBinding.clu1Text2.textTitle.text=getString(R.string.vendor)
|
||||
itemGroupBinding.clu1Text2.textContent.text=processor.cluster.vendor.toString()
|
||||
itemGroupBinding.clu1Text3.textTitle.text=getString(R.string.cluster)
|
||||
itemGroupBinding.clu1Text3.textContent.text="$coresRangeList"
|
||||
itemGroupBinding.clu1Text4.textTitle.text=getString(R.string.max_frequency)
|
||||
itemGroupBinding.clu1Text4.textContent.text=processor.cluster.frequency.toString()+" MHz"
|
||||
itemGroupBinding.clu1Text5.textTitle.text=getString(R.string.min_frequency)
|
||||
itemBinding.clusterInfo.addView(itemGroup)
|
||||
println(" CPU${processor.core.coreId}: ${processor.cluster.uarch}")
|
||||
}
|
||||
//添加到父容器
|
||||
binding.llCluster.addView(itemView)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,21 +1,22 @@
|
||||
package com.xyzshell.myphoneinfo.dashboard
|
||||
|
||||
import android.hardware.camera2.CameraCharacteristics
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.fragment.app.Fragment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.fragment.app.FragmentContainer
|
||||
import com.google.android.material.textview.MaterialTextView
|
||||
import com.xyzshell.andinfo.AndInfo
|
||||
import com.xyzshell.myphoneinfo.R
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.setDecimal0
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.setDecimal1
|
||||
import com.xyzshell.myphoneinfo.databinding.FragmentCameraBinding
|
||||
import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding
|
||||
import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
|
||||
|
||||
class CameraFragment : Fragment() {
|
||||
private lateinit var binding:FragmentCameraBinding;
|
||||
private lateinit var binding:FragmentCameraBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@ -60,22 +61,25 @@ class CameraFragment : Fragment() {
|
||||
"FRONT" -> getString(R.string.front_camera_1) + "${index + 1}"
|
||||
"BACK" -> getString(R.string.rear_camera_1)+"${index + 1}"
|
||||
|
||||
else -> "camera ${index + 1}"
|
||||
else -> "External Camera ${index + 1}"
|
||||
}
|
||||
itemBinding.titleCon.text = cameraName
|
||||
|
||||
// 3. 设置相机规格参数
|
||||
|
||||
cameraInfo.getPixelArraySize(it)?.let { size ->
|
||||
itemBinding.conText1.text = "${size} MP"
|
||||
}
|
||||
|
||||
cameraInfo.getAvailableApertures(it)?.let { apertures ->
|
||||
if (apertures.isNotEmpty()) {
|
||||
itemBinding.conText2.text = "f/${apertures[0]}" // 取第一个光圈值
|
||||
//取第一个相机的视频帧率
|
||||
if(index==0){
|
||||
cameraInfo.getMaxFrameRate(it).let { maxFrameRate->
|
||||
binding.video.textTitle.text=getString(R.string.max_frequency)
|
||||
binding.video.textContent.text=maxFrameRate.toString()+"HZ"
|
||||
}
|
||||
cameraInfo.supportsHighSpeedVideo(it).let { hasHighSpeedVideo ->
|
||||
binding.videoCheck1.image.isSelected=hasHighSpeedVideo
|
||||
}
|
||||
cameraInfo.hasVideoStabilization(it).let { hasVideoStabilization ->
|
||||
binding.videoCheck2.image.isSelected=hasVideoStabilization
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 4. 设置详细信息(使用 include 的文本)
|
||||
|
||||
itemBinding.camText1.textTitle.text=getString(R.string.resolution)
|
||||
@ -86,9 +90,18 @@ class CameraFragment : Fragment() {
|
||||
itemBinding.camText6.textTitle.text=getString(R.string.iso_sensitivity_range)
|
||||
itemBinding.rearCheck2.content.text=getString(R.string.flash)
|
||||
itemBinding.rearCheck1.content.text=getString(R.string.optical_image_stabilization)
|
||||
// checkBox2?.text = "光学防抖"
|
||||
// checkBox2?.isChecked = capabilities?.contains("OPTICAL_IMAGE_STABILIZATION") ?: false
|
||||
|
||||
// 设置百万像素
|
||||
|
||||
cameraInfo.getMegaPixels(it)?.let { size ->
|
||||
itemBinding.conText1.text = "${setDecimal1(size)} MP"
|
||||
}
|
||||
//光圈值
|
||||
cameraInfo.getAvailableApertures(it)?.let { apertures ->
|
||||
if (apertures.isNotEmpty()) {
|
||||
itemBinding.conText2.text = "f/${apertures[0]}" // 取第一个光圈值
|
||||
}
|
||||
}
|
||||
//像素阵列大小
|
||||
cameraInfo.getPixelArraySize(it)?.let { size ->
|
||||
itemBinding.camText1.textContent.text = size
|
||||
@ -98,18 +111,38 @@ class CameraFragment : Fragment() {
|
||||
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
||||
itemBinding.camText2.textContent.text=size
|
||||
}
|
||||
// 传感器物理尺寸
|
||||
cameraInfo.getPixelSize(it)?.let { size ->
|
||||
itemBinding.camText3.textContent.text="${setDecimal0(size)}μm"
|
||||
}
|
||||
|
||||
// 35mm等效焦距
|
||||
cameraInfo.getFocal35mmEquivalent(it)?.let { size ->
|
||||
itemBinding.camText4.textContent.text="${size.toInt()}mm"
|
||||
}
|
||||
// 快门速度
|
||||
cameraInfo.getShutterSpeedRange(it)?.let { size ->
|
||||
itemBinding.camText5.textContent.text=size
|
||||
}
|
||||
|
||||
// ISO感光范围
|
||||
cameraInfo.getIsoRange(it)?.let { size ->
|
||||
itemBinding.camText6.textContent.text=size.lower.toString() + " - " + size.upper.toString()
|
||||
}
|
||||
// 光学防抖
|
||||
cameraInfo.hasOpticalStabilization(it).let { hasOpticalStabilization ->
|
||||
itemBinding.rearCheck1.image.isSelected=hasOpticalStabilization
|
||||
}
|
||||
// 闪光灯
|
||||
cameraInfo.hasFlashUnit(it)?.let { hasFlash ->
|
||||
itemBinding.rearCheck2.image.isSelected=hasFlash
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 6. 设置"更多"按钮点击事件
|
||||
itemBinding.rearMore.setOnClickListener {
|
||||
var dialogCamera0: DialogCameraMore? = null
|
||||
dialogCamera0= null ?:DialogCameraMore(cameraName)
|
||||
dialogCamera0= null ?:DialogCameraMore(cameraName,cameraId)
|
||||
dialogCamera0.show(childFragmentManager, "DialogCameraMore")
|
||||
}
|
||||
|
||||
@ -123,6 +156,7 @@ class CameraFragment : Fragment() {
|
||||
binding.videoCheck1.content.text=getString(R.string.hight_speed_video)
|
||||
binding.videoCheck2.content.text=getString(R.string.video_stabilization)
|
||||
|
||||
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@ -8,7 +8,9 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.xyzshell.andinfo.AndInfo
|
||||
import com.xyzshell.andinfo.libs.CpuInfo
|
||||
import com.xyzshell.myphoneinfo.R
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.convertToApproximateAspectRatio
|
||||
import com.xyzshell.myphoneinfo.databinding.FragmentHardWareBinding
|
||||
import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth
|
||||
import com.xyzshell.myphoneinfo.dialog.DialogDiskPart
|
||||
@ -63,83 +65,125 @@ class HardWareFragment : Fragment() {
|
||||
}
|
||||
|
||||
private fun initText() {
|
||||
val cpu = AndInfo.instance.cpu//cpu信息
|
||||
val device = AndInfo.instance.device//设备信息
|
||||
val gpu=AndInfo.instance.gpu//gpu信息
|
||||
|
||||
|
||||
//processor
|
||||
//处理器
|
||||
binding.text0.textTitle.text = getString(R.string.processor)
|
||||
|
||||
binding.text0.textContent.text= cpu.getProcessorName()
|
||||
//制造商
|
||||
binding.text1.textTitle.text = getString(R.string.vendor)
|
||||
binding.text1.textContent.text=AndInfo.instance.device.manufacturer
|
||||
binding.text1.textContent.text=cpu.getVendor()
|
||||
//硬件
|
||||
binding.text2.textTitle.text = getString(R.string.hardware)
|
||||
binding.text2.textContent.text=AndInfo.instance.device.hardwareName
|
||||
binding.text2.textContent.text=cpu.getProcessorName()
|
||||
//核心数
|
||||
binding.text3.textTitle.text = getString(R.string.cores)
|
||||
binding.text3.textContent.text=AndInfo.instance.cpu.cores.size.toString()
|
||||
binding.text3.textContent.text=cpu.cores.size.toString()
|
||||
//cpu内核详情
|
||||
binding.text4.textTitle.text = getString(R.string.CPU)
|
||||
binding.text4.textContent.text=AndInfo.instance.cpu.text()
|
||||
binding.text4.textContent.text=cpu.getAllArchitectures().joinToString()
|
||||
//制程工艺
|
||||
binding.text5.textTitle.text = getString(R.string.process)
|
||||
|
||||
binding.text5.textContent.text=cpu.getProcessInfo().process
|
||||
//架构
|
||||
binding.text6.textTitle.text = getString(R.string.architecture)
|
||||
|
||||
binding.text6.textContent.text=cpu.getArchitecture()
|
||||
//ABI
|
||||
binding.text7.textTitle.text = getString(R.string.ABI)
|
||||
binding.text7.textContent.text=cpu.getAbi()
|
||||
//supported_ABls
|
||||
binding.text8.textTitle.text = getString(R.string.supported_ABls)
|
||||
binding.text8.textContent.text=cpu.getSupportedAbis().joinToString()
|
||||
//频率
|
||||
binding.text9.textTitle.text = getString(R.string.frequencies)
|
||||
binding.text9.textContent.text=cpu.getFrequencyText()
|
||||
|
||||
|
||||
|
||||
//gpu
|
||||
binding.cpuText1.textTitle.text = getString(R.string.vendor)
|
||||
binding.cpuText2.textTitle.text = getString(R.string.gpu)
|
||||
val gpuInfo=AndInfo.instance.gpu.getGpuInformation()
|
||||
gpuInfo.vkPhysicalDevices?.let { devices ->
|
||||
binding.gpuText1.textTitle.text = getString(R.string.vendor)
|
||||
binding.gpuText1.textContent.text=gpu.getVendorName()
|
||||
binding.gpuText2.textTitle.text = getString(R.string.gpu)
|
||||
|
||||
gpu.getGpuInformation().vkPhysicalDevices?.let { devices ->
|
||||
if (devices.isNotEmpty()) {
|
||||
devices.forEachIndexed { index, vkPhysicalDevice ->
|
||||
binding.cpuText1.textContent.text=vkPhysicalDevice.vendorId.toString()
|
||||
binding.cpuText2.textContent.text=vkPhysicalDevice.deviceName
|
||||
binding.gpuText2.textContent.text=vkPhysicalDevice.deviceName
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
binding.cpuText3.textTitle.text=getString(R.string.max_frequency)
|
||||
binding.cpuText4.textTitle.text=getString(R.string.architecture)
|
||||
binding.cpuText5.textTitle.text=getString(R.string.cores)
|
||||
binding.cpuText6.textTitle.text=getString(R.string.total_l2)
|
||||
binding.cpuText7.textTitle.text=getString(R.string.bus_width)
|
||||
binding.cpuText8.textTitle.text=getString(R.string.vulkan_support)
|
||||
binding.cpuText9.textTitle.text=getString(R.string.vulkan_API)
|
||||
binding.gpuText3.textTitle.text=getString(R.string.max_frequency)
|
||||
binding.gpuText4.textTitle.text=getString(R.string.architecture)
|
||||
binding.gpuText5.textTitle.text=getString(R.string.cores)
|
||||
binding.gpuText5.textContent.text=gpu.getOpenGLExtensionCount().toString()
|
||||
binding.gpuText6.textTitle.text=getString(R.string.total_l2)
|
||||
binding.gpuText7.textTitle.text=getString(R.string.bus_width)
|
||||
binding.gpuText8.textTitle.text=getString(R.string.vulkan_support)
|
||||
binding.gpuText8.textContent.text=gpu.isVulkanSupported().toString()
|
||||
binding.gpuText9.textTitle.text=getString(R.string.vulkan_API)
|
||||
binding.gpuText9.textContent.text=gpu.getVulkanApiVersion()
|
||||
binding.open1.text=getString(R.string.opengl)
|
||||
gpuInfo.eglInformation?.let { eglInfo ->
|
||||
gpu.getGpuInformation().eglInformation?.let { eglInfo ->
|
||||
eglInfo.eglExtensions?.let {
|
||||
dialogExtension?.setContent(it.joinToString())
|
||||
}
|
||||
eglInfo.glInformation?.let{glInfo ->
|
||||
binding.openItem1.text=glInfo.glVendor
|
||||
binding.openItem2.text=glInfo.glRenderer
|
||||
binding.openItem3.text=glInfo.glVersion
|
||||
}
|
||||
}
|
||||
binding.openItem1.text=gpu.getVendorName()
|
||||
binding.openItem2.text=gpu.getRendererName()
|
||||
binding.openItem3.text=gpu.getOpenGLVersion()
|
||||
|
||||
|
||||
|
||||
//display
|
||||
val defaultDisplayInfo = AndInfo.instance.display.getDefaultDisplayInfo()
|
||||
val display=AndInfo.instance.display//显示信息
|
||||
val defaultDisplayInfo = display.getDefaultDisplayInfo()
|
||||
val width = defaultDisplayInfo?.widthPixels.toString()
|
||||
val height = defaultDisplayInfo?.heightPixels.toString()
|
||||
|
||||
if(defaultDisplayInfo!=null){
|
||||
binding.disText1.textContent.text=defaultDisplayInfo.widthPixels.toString()+"x"+defaultDisplayInfo.heightPixels.toString()
|
||||
|
||||
binding.disText1.textContent.text=width+"x"+height
|
||||
}
|
||||
binding.disText1.textTitle.text=getString(R.string.resolution)
|
||||
|
||||
binding.disText2.textTitle.text=getString(R.string.screen_density)//这个是px
|
||||
binding.disText2.textContent.text=defaultDisplayInfo?.ppi.toString()
|
||||
binding.disText3.textTitle.text=getString(R.string.screen_density_d)
|
||||
val dpiStr=defaultDisplayInfo?.densityDpi.toString()+"(xxhdpi)\n"+defaultDisplayInfo?.xdpi?.roundToInt()+"dp"+defaultDisplayInfo?.ydpi?.roundToInt()+"dp"
|
||||
val dpiStr=defaultDisplayInfo?.densityDpi.toString()+"(xxhdpi)\n"+defaultDisplayInfo?.xdpi?.roundToInt()+"dpx"+defaultDisplayInfo?.ydpi?.roundToInt()+"dp"
|
||||
binding.disText3.textContent.text=dpiStr
|
||||
binding.disText4.textTitle.text=getString(R.string.screen_size_e)
|
||||
|
||||
binding.disText5.textTitle.text=getString(R.string.aspect_ratio)
|
||||
binding.disText5.textContent.text=convertToApproximateAspectRatio(width = width.toInt(), height = height.toInt()).toString()
|
||||
binding.disText6.textTitle.text=getString(R.string.refresh_rate)
|
||||
binding.disText6.textContent.text=defaultDisplayInfo?.refreshRate.toString()+"HZ"
|
||||
binding.disText7.textTitle.text=getString(R.string.wide_color_gamut)
|
||||
binding.disText7.textContent.text=defaultDisplayInfo?.isWideColorGamut.toString()
|
||||
binding.disText8.textTitle.text=getString(R.string.hdr_support)
|
||||
binding.disText8.textContent.text=defaultDisplayInfo?.isHdr.toString()
|
||||
if(defaultDisplayInfo?.isHdr == true){
|
||||
defaultDisplayInfo.hdrTypes.joinToString()
|
||||
binding.disText8.textContent.text= defaultDisplayInfo.hdrTypes.joinToString()
|
||||
}else{
|
||||
binding.disText8.textContent.text= "No"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//memory
|
||||
val storageInfo = AndInfo.instance.storage//存储信息
|
||||
val used=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace)
|
||||
val free=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageAvailableSpace)
|
||||
val total=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace)
|
||||
|
||||
val outused=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.externalStorageUsedSpace?: 0)
|
||||
val outfree=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.externalStorageAvailableSpace?: 0)
|
||||
val outtotal=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.externalStorageTotalSpace?: 0)
|
||||
|
||||
binding.memoryLayout.memText1.textTitle.text=getString(R.string.ram_size)
|
||||
binding.memoryLayout.memText1.textContent.text=total
|
||||
binding.memoryLayout.ram1.text=used+" used"
|
||||
@ -149,9 +193,9 @@ class HardWareFragment : Fragment() {
|
||||
//storage
|
||||
binding.memoryLayout.memText3.textTitle.text=getString(R.string.zram)
|
||||
binding.memoryLayout.memText3.textContent.text=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace)
|
||||
binding.memoryLayout.ram3.text=used+" used"
|
||||
binding.memoryLayout.ram4.text=free+" free"
|
||||
binding.memoryLayout.seekbar2.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt()
|
||||
binding.memoryLayout.ram3.text=outused+" used"
|
||||
binding.memoryLayout.ram4.text=outfree+" free"
|
||||
binding.memoryLayout.seekbar2.progress=(outused.substring(0,outused.indexOf(" ")).toDouble() / outtotal.substring(0,outtotal.indexOf(" ")).toDouble() *100).toInt()
|
||||
|
||||
//fileSystem
|
||||
binding.memoryLayout.storText1.textTitle.text=getString(R.string.filesystem)
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
package com.xyzshell.myphoneinfo.dialog
|
||||
|
||||
import android.graphics.Typeface
|
||||
import android.os.Bundle
|
||||
import android.text.SpannableString
|
||||
import android.text.style.StyleSpan
|
||||
import android.view.View
|
||||
import com.xyzshell.andinfo.AndInfo
|
||||
import com.xyzshell.myphoneinfo.R
|
||||
import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.setDecimal0
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.setDecimal1
|
||||
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.toTitleCase
|
||||
import com.xyzshell.myphoneinfo.databinding.DialogCameraMoreBinding
|
||||
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
||||
|
||||
class DialogCameraMore(private val name:String) :BaseDialogFragment<DialogCameraMoreBinding>(DialogCameraMoreBinding::inflate){
|
||||
class DialogCameraMore(private val name:String,private val id:String) :BaseDialogFragment<DialogCameraMoreBinding>(DialogCameraMoreBinding::inflate){
|
||||
override fun getTitle(): String = name
|
||||
|
||||
override fun getIconRes(): Int? =9
|
||||
@ -19,6 +19,128 @@ class DialogCameraMore(private val name:String) :BaseDialogFragment<DialogCamera
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
val cameraInfo = AndInfo.instance.camera
|
||||
if(!id.isEmpty()){
|
||||
id.forEachIndexed { index, cameraId ->
|
||||
val characteristics = cameraInfo.getCameraCharacteristics(id)
|
||||
characteristics?.let {
|
||||
// 设置详细信息(使用 include 的文本)
|
||||
// 设置百万像素
|
||||
|
||||
cameraInfo.getMegaPixels(it)?.let { size ->
|
||||
binding.tv1.setValue("${setDecimal1(size)} MP")
|
||||
}
|
||||
//像素阵列大小
|
||||
cameraInfo.getPixelArraySize(it)?.let { size ->
|
||||
binding.tv2.setValue(size)
|
||||
|
||||
}
|
||||
// 传感器物理尺寸
|
||||
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
||||
binding.tv3.setValue(size)
|
||||
}
|
||||
// 传感器px尺寸
|
||||
cameraInfo.getPixelSize(it)?.let { size ->
|
||||
binding.tv4.setValue("${setDecimal0(size)}μm")
|
||||
}
|
||||
// 颜色排列
|
||||
cameraInfo.getColorFilterArrangement(it)?.let { size ->
|
||||
binding.tv5.setValue(size)
|
||||
}
|
||||
//光圈值
|
||||
cameraInfo.getAvailableApertures(it)?.let { apertures ->
|
||||
if (apertures.isNotEmpty()) {
|
||||
binding.tv6.setValue("f/${apertures[0]}")
|
||||
}
|
||||
}
|
||||
//焦距
|
||||
cameraInfo.getFocalLength(it)?.let { apertures ->
|
||||
if (apertures.isNotEmpty()) {
|
||||
binding.tv7.setValue(apertures[0].toString())
|
||||
}
|
||||
}
|
||||
|
||||
// 35mm等效焦距
|
||||
cameraInfo.getFocal35mmEquivalent(it)?.let { size ->
|
||||
binding.tv8.setValue("${size.toInt()}mm")
|
||||
}
|
||||
// 裁切系数
|
||||
cameraInfo.getFocal35mmEquivalent(it)?.let { size ->
|
||||
binding.tv9.setValue("${size.toInt()}x")
|
||||
}
|
||||
// 快门速度
|
||||
cameraInfo.getShutterSpeedRange(it)?.let { size ->
|
||||
binding.tv11.setValue(size)
|
||||
}
|
||||
|
||||
// ISO感光范围
|
||||
cameraInfo.getIsoRange(it)?.let { size ->
|
||||
binding.tv12.setValue(size.lower.toString() + " - " + size.upper.toString())
|
||||
}
|
||||
|
||||
// 闪光灯
|
||||
binding.check1.content.text=getString(R.string.flash)
|
||||
cameraInfo.hasFlashUnit(it)?.let { hasFlash ->
|
||||
binding.check1.image.isSelected=hasFlash
|
||||
}
|
||||
// 视频防抖
|
||||
binding.check2.content.text=getString(R.string.video_stabilization)
|
||||
cameraInfo.hasVideoStabilization(it)?.let { hasVideoStabilization ->
|
||||
binding.check2.image.isSelected=hasVideoStabilization
|
||||
}
|
||||
// 光学防抖
|
||||
binding.check3.content.text=getString(R.string.optical_image_stabilization)
|
||||
cameraInfo.hasOpticalStabilization(it).let { hasOpticalStabilization ->
|
||||
binding.check3.image.isSelected = hasOpticalStabilization
|
||||
}
|
||||
// 曝光锁定
|
||||
// 曝光模式
|
||||
binding.check4.content.text=getString(R.string.ae_lock)
|
||||
cameraInfo.getAutoExposureModes(it)?.let { list ->
|
||||
val allInfo=list.joinToString(" , ") { mode -> mode}
|
||||
binding.check4.image.isSelected=list.size>2
|
||||
binding.more2.text=allInfo
|
||||
}
|
||||
// 白平衡锁定
|
||||
// 白平衡模式
|
||||
binding.check5.content.text=getString(R.string.wb_lock)
|
||||
cameraInfo.getWhiteBalanceModes(it)?.let { list ->
|
||||
binding.check5.image.isSelected=list.size>2
|
||||
val allInfo=list.joinToString(" , ") { mode -> mode}
|
||||
binding.more4.text=allInfo
|
||||
}
|
||||
|
||||
|
||||
//功能
|
||||
cameraInfo.getAvailableCapabilities(it).let{ capabilities ->
|
||||
val allCapabilities = capabilities.joinToString(",") { capability ->
|
||||
toTitleCase(capability.name.replace("_", " "))
|
||||
}
|
||||
binding.more1.text=allCapabilities
|
||||
}
|
||||
//自动对焦模式
|
||||
cameraInfo.getAvailableCapabilities(it).let{ capabilities ->
|
||||
val allInfo=capabilities.joinToString(" , ") { capability ->
|
||||
toTitleCase(capability.name.replace("_", " "))
|
||||
}
|
||||
binding.more3.text=allInfo
|
||||
}
|
||||
|
||||
//场景模式
|
||||
cameraInfo.getSceneModes(it).let{ capabilities ->
|
||||
val allInfo=capabilities?.joinToString(" , ") { capability ->
|
||||
toTitleCase(capability.replace("_", " "))
|
||||
}
|
||||
binding.more5.text=allInfo
|
||||
binding.tv10.setValue(capabilities?.get(0) ?: "")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onNegativeClick() {
|
||||
|
||||
@ -3,11 +3,17 @@ package com.xyzshell.myphoneinfo.dialog
|
||||
import android.graphics.Typeface
|
||||
import android.os.Bundle
|
||||
import android.text.SpannableString
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.text.style.StyleSpan
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.xyzshell.andinfo.AndInfo
|
||||
import com.xyzshell.myphoneinfo.R
|
||||
import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
||||
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
||||
import com.xyzshell.myphoneinfo.databinding.ItemDialogCpuBinding
|
||||
|
||||
class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBinding::inflate){
|
||||
override fun getTitle(): String = resources.getString(R.string.proc_cpuinfo)
|
||||
@ -18,16 +24,32 @@ class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBindi
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.cpuTv01.text=setColonBoldText("Processor :AArch64 Processor rev 2(aarch64)")
|
||||
binding.cpuTv02.text=setColonBoldText("processor :1")
|
||||
binding.cpuTv03.text=setColonBoldText("BogoMIPS :3.84" )
|
||||
binding.cpuTv04.text=setColonBoldText("Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid")
|
||||
binding.cpuTv05.text=setColonBoldText("CPU implementer :0×41")
|
||||
binding.cpuTv06.text=setColonBoldText("CPU architecture :8")
|
||||
binding.cpuTv07.text=setColonBoldText("CPU variant :0×0")
|
||||
binding.cpuTv08.text=setColonBoldText("CPU part :0×d03")
|
||||
binding.cpuTv09.text=setColonBoldText("CPU revision :4")
|
||||
binding.hardwareTv.text=setColonBoldText("Hardware :vendor Kirin710")
|
||||
val cpu = AndInfo.instance.cpu//cpu信息
|
||||
cpu.processors.forEach { processor ->
|
||||
val view=LayoutInflater.from(context).inflate(R.layout.item_dialog_cpu,binding.container,false)
|
||||
val itemBinding= ItemDialogCpuBinding.bind(view)
|
||||
|
||||
itemBinding.cpuTv02.text=setColonBoldText("processor :${processor.core.coreId}")
|
||||
itemBinding.cpuTv03.text=setColonBoldText("BogoMIPS :" )
|
||||
itemBinding.cpuTv04.text=setColonBoldText("Features :${cpu.getCpuFeatures().joinToString(",")}")
|
||||
itemBinding.cpuTv05.text=setColonBoldText("CPU implementer :${processor.core.midr?.implementer}")
|
||||
itemBinding.cpuTv06.text=setColonBoldText("CPU architecture :${processor.core.midr?.architecture}")
|
||||
itemBinding.cpuTv07.text=setColonBoldText("CPU variant :${processor.core.midr?.variant}")
|
||||
itemBinding.cpuTv08.text=setColonBoldText("CPU part :${processor.core.midr?.primaryPartNumber}")
|
||||
itemBinding.cpuTv09.text=setColonBoldText("CPU revision :${processor.core.midr?.revision}")
|
||||
binding.container.addView(view)
|
||||
}
|
||||
binding.hardwareTv.text=setColonBoldText("Hardware :${cpu.getProcessorName()}")
|
||||
// binding.cpuTv01.text=setColonBoldText("Processor :${cpu.getProcessorName()}")
|
||||
// binding.cpuTv02.text=setColonBoldText("processor :1")
|
||||
// binding.cpuTv03.text=setColonBoldText("BogoMIPS :3.84" )
|
||||
// binding.cpuTv04.text=setColonBoldText("Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid")
|
||||
// binding.cpuTv05.text=setColonBoldText("CPU implementer :0×41")
|
||||
// binding.cpuTv06.text=setColonBoldText("CPU architecture :8")
|
||||
// binding.cpuTv07.text=setColonBoldText("CPU variant :0×0")
|
||||
// binding.cpuTv08.text=setColonBoldText("CPU part :0×d03")
|
||||
// binding.cpuTv09.text=setColonBoldText("CPU revision :4")
|
||||
// binding.hardwareTv.text=setColonBoldText("Hardware :vendor Kirin710")
|
||||
}
|
||||
fun setColonBoldText( text: String) : SpannableString {
|
||||
val colonIndex = text.indexOf(":")
|
||||
@ -40,6 +62,12 @@ class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBindi
|
||||
colonIndex,
|
||||
SpannableString.SPAN_INCLUSIVE_INCLUSIVE
|
||||
)
|
||||
spannableString.setSpan(
|
||||
ForegroundColorSpan(ContextCompat.getColor(context,R.color.left_color)),
|
||||
0,
|
||||
colonIndex,
|
||||
SpannableString.SPAN_INCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
return spannableString
|
||||
} else {
|
||||
return SpannableString(text)
|
||||
|
||||
@ -14,32 +14,25 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
<ImageView
|
||||
android:id="@+id/back_btn"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/go_back"
|
||||
android:padding="13dp"
|
||||
android:layout_margin="10dp"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cpu_analysis"
|
||||
android:textStyle="bold"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/black"
|
||||
style="@style/TextHeavy20"/>
|
||||
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="#BFBFBF"/>
|
||||
</LinearLayout>
|
||||
<androidx.core.widget.NestedScrollView
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||
@ -117,7 +110,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="horizontal"
|
||||
android:orientation="vertical"
|
||||
android:visibility="visible">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
@ -125,16 +118,19 @@
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/proc_cpuinfo"
|
||||
android:textStyle="bold" />
|
||||
|
||||
android:text="@string/proc_cpuinfo" />
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/infoShow"
|
||||
style="@style/TextButteryRight"
|
||||
android:layout_width="wrap_content"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="10dp"
|
||||
|
||||
android:layout_marginTop="11dp"
|
||||
android:background="@drawable/hard_bg"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:textSize="14sp"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/module_title_color"
|
||||
android:text="@string/show"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
</LinearLayout>
|
||||
@ -143,107 +139,38 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="horizontal"
|
||||
android:orientation="vertical"
|
||||
android:visibility="visible">
|
||||
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/time1"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cpu_times"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/cpu_times" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/timeShow"
|
||||
style="@style/TextButteryRight"
|
||||
android:layout_width="wrap_content"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:layout_marginTop="11dp"
|
||||
android:background="@drawable/hard_bg"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:textSize="14sp"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/module_title_color"
|
||||
android:text="@string/show"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/llCluster"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/dashboard_model_background"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="22dp"
|
||||
android:visibility="visible">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cluster1Title"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cluster_1"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextSecondaryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:text="@string/cpu0"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
<include
|
||||
android:id="@+id/clu1_text1"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text2"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text3"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text4"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text5"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/dashboard_model_background"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="22dp"
|
||||
android:visibility="visible">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cluster2Title"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cluster_2"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextSecondaryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:text="@string/cpu0"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
<include
|
||||
android:id="@+id/clu2_text1"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu2_text2"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu2_text3"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu2_text4"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu2_text5"
|
||||
layout="@layout/common_text_style" />
|
||||
android:orientation="vertical">
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@ -18,17 +18,17 @@
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/tv_label"
|
||||
style="@style/TextDialogLabel"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/tv_sub_title"
|
||||
android:gravity="start"
|
||||
android:textSize="15sp"
|
||||
android:textSize="14sp"
|
||||
android:text="sppppppppppppppppppppp" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/tv_value"
|
||||
style="@style/TextDialogContent"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@id/tv_label"
|
||||
@ -36,6 +36,7 @@
|
||||
android:layout_toEndOf="@id/tv_label"
|
||||
android:gravity="center"
|
||||
android:textSize="15sp"
|
||||
android:textColor="#C1C5C2"
|
||||
android:text="sppppppppppppppppppppp" />
|
||||
|
||||
</RelativeLayout>
|
||||
@ -4,7 +4,7 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingHorizontal="18dp"
|
||||
android:paddingVertical="15dp"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:layout_marginVertical="5dp"
|
||||
android:background="@drawable/dashboard_model_background"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
@ -16,18 +16,19 @@
|
||||
>
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/sensor_name"
|
||||
style="@style/TextTool25"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textStyle="normal"
|
||||
android:textSize="18sp"
|
||||
android:gravity="start"
|
||||
android:text="spppppppeee" />
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/sensor_value"
|
||||
style="@style/TextContentRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start"
|
||||
android:textColor="@color/right_color"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="spppppppeee" />
|
||||
</LinearLayout>
|
||||
|
||||
@ -94,16 +94,14 @@
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Capabilities"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/capabilities" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextContentRight"
|
||||
android:id="@+id/more1"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="High speed video"
|
||||
android:textSize="15sp" />
|
||||
android:textColor="@color/right_color" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -115,16 +113,14 @@
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Exposure modes"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/exposure_modes" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextContentRight"
|
||||
android:id="@+id/more2"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Manual, Auto, Flash"
|
||||
android:textSize="15sp" />
|
||||
android:textColor="@color/right_color" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -136,18 +132,15 @@
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Autofocus modes"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/autofocus_modes" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextContentRight"
|
||||
android:id="@+id/more3"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Manual, Auto, Macro,
|
||||
Continuous video, Continuous
|
||||
picture"
|
||||
android:textSize="15sp" />
|
||||
android:textColor="@color/right_color"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -159,16 +152,16 @@ picture"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="White balance modes"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/white_balance_modes"
|
||||
/>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextContentRight"
|
||||
android:id="@+id/more4"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Auto, Off, Incandescent,Fluorescent, Daylight, Cloudy"
|
||||
android:textSize="15sp" />
|
||||
android:textColor="@color/right_color"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -180,16 +173,16 @@ picture"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Scene modes"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
android:text="@string/scene_modes"
|
||||
/>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/TextContentRight"
|
||||
android:id="@+id/more5"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Face priority, Action, Portrait,Landscape, Night, Nightportrait, Theatre, Beach,Snow, Fireworks, Candlelight,High speed video"
|
||||
android:textSize="15sp" />
|
||||
android:textColor="@color/right_color"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@ -16,277 +16,21 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv01"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Processor :AArch64 Processor rev 2(aarch64)"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv02"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="processor :0"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv03"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="BogoMIPS :3.84"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv04"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv05"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU implementer :0×41"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv06"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU architecture :8"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv07"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU variant :0×0"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv08"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU part :0×d03"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv09"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU revision :4"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="50dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv11"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Processor :AArch64 Processor rev 2(aarch64)"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv12"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="processor :1"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv13"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="BogoMIPS :3.84"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv14"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv15"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU implementer :0×41"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv16"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU architecture :8"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv17"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU variant :0×0"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv18"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU part :0×d03"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv19"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU revision :4"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="50dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv21"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Processor :AArch64 Processor rev 2(aarch64)"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv22"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="processor :2"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv23"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="BogoMIPS :3.84"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv24"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv25"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU implementer :0×41"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv26"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU architecture :8"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv27"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU variant :0×0"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv28"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU part :0×d03"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv29"
|
||||
style="@style/TextDialogLabel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU revision :4"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/hardwareTv"
|
||||
style="@style/TextDialogLabel"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:text="Hardware :vendor Kirin710"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="normal" />
|
||||
android:textColor="@color/right_color"
|
||||
android:textSize="18sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
@ -85,10 +85,11 @@
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/open2"
|
||||
style="@style/TextContentRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/apps"
|
||||
android:textColor="@color/right_color"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
</LinearLayout>
|
||||
<include layout="@layout/common_text_style" android:id="@+id/video"/>
|
||||
|
||||
@ -74,9 +74,9 @@
|
||||
android:id="@+id/text9"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<TextView
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuBtn"
|
||||
style="@style/TextDialogSubTitle"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="21dp"
|
||||
@ -84,7 +84,6 @@
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="normal"
|
||||
android:text="@string/cpu_analysis"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/module_title_color" />
|
||||
@ -109,39 +108,39 @@
|
||||
tools:ignore="RelativeOverlap" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text1"
|
||||
android:id="@+id/gpu_text1"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text2"
|
||||
android:id="@+id/gpu_text2"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text3"
|
||||
android:id="@+id/gpu_text3"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text4"
|
||||
android:id="@+id/gpu_text4"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text5"
|
||||
android:id="@+id/gpu_text5"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text6"
|
||||
android:id="@+id/gpu_text6"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text7"
|
||||
android:id="@+id/gpu_text7"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text8"
|
||||
android:id="@+id/gpu_text8"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<include
|
||||
android:id="@+id/cpu_text9"
|
||||
android:id="@+id/gpu_text9"
|
||||
layout="@layout/common_text_style" />
|
||||
|
||||
<LinearLayout
|
||||
@ -205,7 +204,7 @@
|
||||
android:textStyle="bold" />
|
||||
<TextView
|
||||
android:id="@+id/extensionShow"
|
||||
style="@style/TextButteryRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="21dp"
|
||||
@ -215,6 +214,7 @@
|
||||
android:textSize="14sp"
|
||||
android:textStyle="normal"
|
||||
android:text="@string/show"
|
||||
android:textColor="@color/module_title_color"
|
||||
android:textAlignment="center"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
</LinearLayout>
|
||||
@ -405,7 +405,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="horizontal">
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/LeftContent"
|
||||
@ -416,10 +416,16 @@
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/othertext"
|
||||
style="@style/TextButteryRight"
|
||||
android:layout_width="wrap_content"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:layout_marginTop="11dp"
|
||||
android:background="@drawable/hard_bg"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:textSize="14sp"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/module_title_color"
|
||||
android:text="@string/show"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
</LinearLayout>
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/conText2"
|
||||
style="@style/TextButteryRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="LUX·433 Mbps"
|
||||
@ -90,7 +90,7 @@
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/conTExt3"
|
||||
style="@style/TextButteryRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="80% -60dBm"
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="visible"
|
||||
android:visibility="gone"
|
||||
android:orientation="vertical">
|
||||
<include layout="@layout/common_sensor_style" android:id="@+id/sensor1"/>
|
||||
<include layout="@layout/common_sensor_style" android:id="@+id/sensor2"/>
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
android:layout_weight="1"/>
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/pair1"
|
||||
style="@style/TextButteryRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
@ -63,6 +63,7 @@
|
||||
android:background="@drawable/hard_bg"
|
||||
android:textStyle="normal"
|
||||
android:text="@string/show"
|
||||
android:textColor="@color/module_title_color"
|
||||
android:textAlignment="center"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
|
||||
@ -84,7 +85,7 @@
|
||||
<!-- android:layout_weight="1"/>-->
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/pair2"-->
|
||||
<!-- style="@style/TextButteryRight"-->
|
||||
<!-- style="@style/LeftContent"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:paddingHorizontal="10dp"-->
|
||||
|
||||
30
myphoneinfo/src/main/res/layout/item_analysis.xml
Normal file
30
myphoneinfo/src/main/res/layout/item_analysis.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/dashboard_model_background"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="22dp"
|
||||
android:visibility="visible">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cluster1Title"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/cluster"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
<LinearLayout
|
||||
android:id="@+id/clusterInfo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
31
myphoneinfo/src/main/res/layout/item_cpu_analysis.xml
Normal file
31
myphoneinfo/src/main/res/layout/item_cpu_analysis.xml
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cputitle"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:text="@string/cpu0"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/module_title_color"
|
||||
/>
|
||||
<include
|
||||
android:id="@+id/clu1_text1"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text2"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text3"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text4"
|
||||
layout="@layout/common_text_style" />
|
||||
<include
|
||||
android:id="@+id/clu1_text5"
|
||||
layout="@layout/common_text_style" />
|
||||
</LinearLayout>
|
||||
92
myphoneinfo/src/main/res/layout/item_dialog_cpu.xml
Normal file
92
myphoneinfo/src/main/res/layout/item_dialog_cpu.xml
Normal file
@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="50dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/cpuTv01"-->
|
||||
<!-- style="@style/TextDialogLabel"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="Processor :AArch64 Processor rev 2(aarch64)"-->
|
||||
<!-- android:textSize="20sp"-->
|
||||
<!-- android:textStyle="normal" />-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv02"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="processor :0"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color"/>
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv03"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="BogoMIPS :3.84"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv04"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv05"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU implementer :0×41"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv06"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU architecture :8"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv07"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU variant :0×0"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv08"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU part :0×d03"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/cpuTv09"
|
||||
style="@style/TextHeavy20"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="CPU revision :4"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/right_color" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
@ -167,7 +167,7 @@
|
||||
android:textStyle="bold" />
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/pubShow"
|
||||
style="@style/TextButteryRight"
|
||||
style="@style/LeftContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 234 B |
@ -293,4 +293,11 @@
|
||||
<string name="toybox">Toybox</string>
|
||||
<string name="java_VM">Java VM</string>
|
||||
<string name="current">current</string>
|
||||
<string name="ae_lock">AE lock</string>
|
||||
<string name="wb_lock">WB lock</string>
|
||||
<string name="white_balance_modes">White balance modes</string>
|
||||
<string name="capabilities">Capabilities</string>
|
||||
<string name="exposure_modes">Exposure modes</string>
|
||||
<string name="autofocus_modes">Autofocus modes</string>
|
||||
<string name="scene_modes">Scene modes</string>
|
||||
</resources>
|
||||
Loading…
Reference in New Issue
Block a user