除status,cpu接口完成

This commit is contained in:
yuqian 2025-12-26 14:28:39 +08:00
parent de5fab1158
commit f8483bdbb2
10 changed files with 304 additions and 332 deletions

View File

@ -630,6 +630,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

View File

@ -29,4 +29,12 @@ object SetNumberOrWordUtils {
""
}
}
/*
将数字加1并转换为字符串
*/
fun convertToStringNormal(string: String): String {
return (Integer.parseInt(string) + 1).toString()
}
}

View File

@ -2,11 +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
@ -31,25 +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=AndInfo.instance.cpu.text()
println(AndInfo.instance.cpu.text())
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)
}
}
}

View File

@ -79,11 +79,12 @@ class HardWareFragment : Fragment() {
//硬件
binding.text2.textTitle.text = getString(R.string.hardware)
binding.text2.textContent.text=cpu.getProcessorName()
//核心数
binding.text3.textTitle.text = getString(R.string.cores)
binding.text3.textContent.text=cpu.cores.size.toString()
//cpu内核详情
binding.text4.textTitle.text = getString(R.string.CPU)
binding.text4.textContent.text=cpu.getCpuText()
binding.text4.textContent.text=cpu.getAllArchitectures().joinToString()
//制程工艺
binding.text5.textTitle.text = getString(R.string.process)
binding.text5.textContent.text=cpu.getProcessInfo().process
@ -99,7 +100,6 @@ class HardWareFragment : Fragment() {
//频率
binding.text9.textTitle.text = getString(R.string.frequencies)
binding.text9.textContent.text=cpu.getFrequencyText()
println(cpu.getFrequencyText())
@ -125,16 +125,16 @@ class HardWareFragment : Fragment() {
binding.gpuText8.textTitle.text=getString(R.string.vulkan_support)
binding.gpuText9.textTitle.text=getString(R.string.vulkan_API)
binding.open1.text=getString(R.string.opengl)
gpuInfo.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
}
}
// gpuInfo.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
// }
// }
//display
val defaultDisplayInfo = AndInfo.instance.display.getDefaultDisplayInfo()
if(defaultDisplayInfo!=null){

View File

@ -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)

View File

@ -33,10 +33,6 @@
android:textColor="@color/black"
style="@style/TextHeavy20"/>
<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"
@ -171,46 +167,10 @@
</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/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"
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" />
android:orientation="vertical">
</LinearLayout>
</LinearLayout>

View File

@ -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>

View 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>

View 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>

View 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>