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()
|
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)
|
* @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.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.LayoutInflater
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
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.R
|
||||||
|
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.convertToStringNormal
|
||||||
import com.xyzshell.myphoneinfo.databinding.ActivityAnalysisBinding
|
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 com.xyzshell.myphoneinfo.dialog.DialogCpuInfo
|
||||||
|
import kotlin.collections.component1
|
||||||
|
import kotlin.collections.component2
|
||||||
|
|
||||||
class AnalysisActivity : AppCompatActivity() {
|
class AnalysisActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: ActivityAnalysisBinding
|
private lateinit var binding: ActivityAnalysisBinding
|
||||||
@ -30,23 +38,73 @@ class AnalysisActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initText() {
|
private fun initText() {
|
||||||
|
val cpu = AndInfo.instance.cpu
|
||||||
//processor
|
//processor
|
||||||
binding.proText1.textTitle.text=getString(R.string.hardware)
|
binding.proText1.textTitle.text=getString(R.string.hardware)
|
||||||
|
binding.proText1.textContent.text=cpu.getProcessorName()
|
||||||
binding.proText2.textTitle.text=getString(R.string.manufacturer)
|
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.textTitle.text=getString(R.string.marketing_name)
|
||||||
|
binding.proText3.textContent.text=cpu.getProcessorName()
|
||||||
binding.proText4.textTitle.text=getString(R.string.process)
|
binding.proText4.textTitle.text=getString(R.string.process)
|
||||||
|
binding.proText4.textContent.text=cpu.getProcess()
|
||||||
binding.proText5.textTitle.text=getString(R.string.cores)
|
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.textTitle.text=getString(R.string.CPU)
|
||||||
|
binding.proText6.textContent.text=cpu.getAllArchitectures().joinToString()
|
||||||
binding.proText7.textTitle.text=getString(R.string.frequencies)
|
binding.proText7.textTitle.text=getString(R.string.frequencies)
|
||||||
|
binding.proText7.textContent.text=cpu.getFrequencyText()
|
||||||
binding.proText8.textTitle.text=getString(R.string.architecture)
|
binding.proText8.textTitle.text=getString(R.string.architecture)
|
||||||
|
binding.proText8.textContent.text=cpu.getArchitecture()
|
||||||
binding.proText9.textTitle.text=getString(R.string.ABI)
|
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.textTitle.text=getString(R.string.supported_ABls)
|
||||||
|
binding.proText10.textContent.text=cpu.getSupportedAbis().joinToString()
|
||||||
binding.proText11.textTitle.text=getString(R.string.features)
|
binding.proText11.textTitle.text=getString(R.string.features)
|
||||||
//cluster1
|
binding.proText11.textContent.text=cpu.getCpuFeatures().joinToString()
|
||||||
binding.clu1Text1.textTitle.text=getString(R.string.type)
|
setCluster()
|
||||||
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)
|
/**
|
||||||
|
* 设置集群信息*/
|
||||||
|
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
|
package com.xyzshell.myphoneinfo.dashboard
|
||||||
|
|
||||||
|
import android.hardware.camera2.CameraCharacteristics
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
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.andinfo.AndInfo
|
||||||
import com.xyzshell.myphoneinfo.R
|
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.FragmentCameraBinding
|
||||||
import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding
|
import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding
|
||||||
import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
|
import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
|
||||||
|
|
||||||
class CameraFragment : Fragment() {
|
class CameraFragment : Fragment() {
|
||||||
private lateinit var binding:FragmentCameraBinding;
|
private lateinit var binding:FragmentCameraBinding
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
@ -60,22 +61,25 @@ class CameraFragment : Fragment() {
|
|||||||
"FRONT" -> getString(R.string.front_camera_1) + "${index + 1}"
|
"FRONT" -> getString(R.string.front_camera_1) + "${index + 1}"
|
||||||
"BACK" -> getString(R.string.rear_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
|
itemBinding.titleCon.text = cameraName
|
||||||
|
|
||||||
// 3. 设置相机规格参数
|
//取第一个相机的视频帧率
|
||||||
|
if(index==0){
|
||||||
cameraInfo.getPixelArraySize(it)?.let { size ->
|
cameraInfo.getMaxFrameRate(it).let { maxFrameRate->
|
||||||
itemBinding.conText1.text = "${size} MP"
|
binding.video.textTitle.text=getString(R.string.max_frequency)
|
||||||
}
|
binding.video.textContent.text=maxFrameRate.toString()+"HZ"
|
||||||
|
}
|
||||||
cameraInfo.getAvailableApertures(it)?.let { apertures ->
|
cameraInfo.supportsHighSpeedVideo(it).let { hasHighSpeedVideo ->
|
||||||
if (apertures.isNotEmpty()) {
|
binding.videoCheck1.image.isSelected=hasHighSpeedVideo
|
||||||
itemBinding.conText2.text = "f/${apertures[0]}" // 取第一个光圈值
|
}
|
||||||
|
cameraInfo.hasVideoStabilization(it).let { hasVideoStabilization ->
|
||||||
|
binding.videoCheck2.image.isSelected=hasVideoStabilization
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 4. 设置详细信息(使用 include 的文本)
|
// 4. 设置详细信息(使用 include 的文本)
|
||||||
|
|
||||||
itemBinding.camText1.textTitle.text=getString(R.string.resolution)
|
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.camText6.textTitle.text=getString(R.string.iso_sensitivity_range)
|
||||||
itemBinding.rearCheck2.content.text=getString(R.string.flash)
|
itemBinding.rearCheck2.content.text=getString(R.string.flash)
|
||||||
itemBinding.rearCheck1.content.text=getString(R.string.optical_image_stabilization)
|
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 ->
|
cameraInfo.getPixelArraySize(it)?.let { size ->
|
||||||
itemBinding.camText1.textContent.text = size
|
itemBinding.camText1.textContent.text = size
|
||||||
@ -98,18 +111,38 @@ class CameraFragment : Fragment() {
|
|||||||
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
||||||
itemBinding.camText2.textContent.text=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 ->
|
cameraInfo.hasFlashUnit(it)?.let { hasFlash ->
|
||||||
itemBinding.rearCheck2.image.isSelected=hasFlash
|
itemBinding.rearCheck2.image.isSelected=hasFlash
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 6. 设置"更多"按钮点击事件
|
// 6. 设置"更多"按钮点击事件
|
||||||
itemBinding.rearMore.setOnClickListener {
|
itemBinding.rearMore.setOnClickListener {
|
||||||
var dialogCamera0: DialogCameraMore? = null
|
var dialogCamera0: DialogCameraMore? = null
|
||||||
dialogCamera0= null ?:DialogCameraMore(cameraName)
|
dialogCamera0= null ?:DialogCameraMore(cameraName,cameraId)
|
||||||
dialogCamera0.show(childFragmentManager, "DialogCameraMore")
|
dialogCamera0.show(childFragmentManager, "DialogCameraMore")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,6 +156,7 @@ class CameraFragment : Fragment() {
|
|||||||
binding.videoCheck1.content.text=getString(R.string.hight_speed_video)
|
binding.videoCheck1.content.text=getString(R.string.hight_speed_video)
|
||||||
binding.videoCheck2.content.text=getString(R.string.video_stabilization)
|
binding.videoCheck2.content.text=getString(R.string.video_stabilization)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@ -8,7 +8,9 @@ import android.view.LayoutInflater
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.xyzshell.andinfo.AndInfo
|
import com.xyzshell.andinfo.AndInfo
|
||||||
|
import com.xyzshell.andinfo.libs.CpuInfo
|
||||||
import com.xyzshell.myphoneinfo.R
|
import com.xyzshell.myphoneinfo.R
|
||||||
|
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.convertToApproximateAspectRatio
|
||||||
import com.xyzshell.myphoneinfo.databinding.FragmentHardWareBinding
|
import com.xyzshell.myphoneinfo.databinding.FragmentHardWareBinding
|
||||||
import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth
|
import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth
|
||||||
import com.xyzshell.myphoneinfo.dialog.DialogDiskPart
|
import com.xyzshell.myphoneinfo.dialog.DialogDiskPart
|
||||||
@ -63,83 +65,125 @@ class HardWareFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initText() {
|
private fun initText() {
|
||||||
|
val cpu = AndInfo.instance.cpu//cpu信息
|
||||||
|
val device = AndInfo.instance.device//设备信息
|
||||||
|
val gpu=AndInfo.instance.gpu//gpu信息
|
||||||
|
|
||||||
|
|
||||||
//processor
|
//processor
|
||||||
|
//处理器
|
||||||
binding.text0.textTitle.text = getString(R.string.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.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.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.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.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.textTitle.text = getString(R.string.process)
|
||||||
|
binding.text5.textContent.text=cpu.getProcessInfo().process
|
||||||
|
//架构
|
||||||
binding.text6.textTitle.text = getString(R.string.architecture)
|
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.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.textTitle.text = getString(R.string.supported_ABls)
|
||||||
|
binding.text8.textContent.text=cpu.getSupportedAbis().joinToString()
|
||||||
|
//频率
|
||||||
binding.text9.textTitle.text = getString(R.string.frequencies)
|
binding.text9.textTitle.text = getString(R.string.frequencies)
|
||||||
|
binding.text9.textContent.text=cpu.getFrequencyText()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//gpu
|
//gpu
|
||||||
binding.cpuText1.textTitle.text = getString(R.string.vendor)
|
binding.gpuText1.textTitle.text = getString(R.string.vendor)
|
||||||
binding.cpuText2.textTitle.text = getString(R.string.gpu)
|
binding.gpuText1.textContent.text=gpu.getVendorName()
|
||||||
val gpuInfo=AndInfo.instance.gpu.getGpuInformation()
|
binding.gpuText2.textTitle.text = getString(R.string.gpu)
|
||||||
gpuInfo.vkPhysicalDevices?.let { devices ->
|
|
||||||
|
gpu.getGpuInformation().vkPhysicalDevices?.let { devices ->
|
||||||
if (devices.isNotEmpty()) {
|
if (devices.isNotEmpty()) {
|
||||||
devices.forEachIndexed { index, vkPhysicalDevice ->
|
devices.forEachIndexed { index, vkPhysicalDevice ->
|
||||||
binding.cpuText1.textContent.text=vkPhysicalDevice.vendorId.toString()
|
binding.gpuText2.textContent.text=vkPhysicalDevice.deviceName
|
||||||
binding.cpuText2.textContent.text=vkPhysicalDevice.deviceName
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
binding.cpuText3.textTitle.text=getString(R.string.max_frequency)
|
binding.gpuText3.textTitle.text=getString(R.string.max_frequency)
|
||||||
binding.cpuText4.textTitle.text=getString(R.string.architecture)
|
binding.gpuText4.textTitle.text=getString(R.string.architecture)
|
||||||
binding.cpuText5.textTitle.text=getString(R.string.cores)
|
binding.gpuText5.textTitle.text=getString(R.string.cores)
|
||||||
binding.cpuText6.textTitle.text=getString(R.string.total_l2)
|
binding.gpuText5.textContent.text=gpu.getOpenGLExtensionCount().toString()
|
||||||
binding.cpuText7.textTitle.text=getString(R.string.bus_width)
|
binding.gpuText6.textTitle.text=getString(R.string.total_l2)
|
||||||
binding.cpuText8.textTitle.text=getString(R.string.vulkan_support)
|
binding.gpuText7.textTitle.text=getString(R.string.bus_width)
|
||||||
binding.cpuText9.textTitle.text=getString(R.string.vulkan_API)
|
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)
|
binding.open1.text=getString(R.string.opengl)
|
||||||
gpuInfo.eglInformation?.let { eglInfo ->
|
gpu.getGpuInformation().eglInformation?.let { eglInfo ->
|
||||||
eglInfo.eglExtensions?.let {
|
eglInfo.eglExtensions?.let {
|
||||||
dialogExtension?.setContent(it.joinToString())
|
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
|
//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){
|
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.disText1.textTitle.text=getString(R.string.resolution)
|
||||||
|
|
||||||
binding.disText2.textTitle.text=getString(R.string.screen_density)//这个是px
|
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)
|
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.disText3.textContent.text=dpiStr
|
||||||
binding.disText4.textTitle.text=getString(R.string.screen_size_e)
|
binding.disText4.textTitle.text=getString(R.string.screen_size_e)
|
||||||
|
|
||||||
binding.disText5.textTitle.text=getString(R.string.aspect_ratio)
|
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.textTitle.text=getString(R.string.refresh_rate)
|
||||||
binding.disText6.textContent.text=defaultDisplayInfo?.refreshRate.toString()+"HZ"
|
binding.disText6.textContent.text=defaultDisplayInfo?.refreshRate.toString()+"HZ"
|
||||||
binding.disText7.textTitle.text=getString(R.string.wide_color_gamut)
|
binding.disText7.textTitle.text=getString(R.string.wide_color_gamut)
|
||||||
binding.disText7.textContent.text=defaultDisplayInfo?.isWideColorGamut.toString()
|
binding.disText7.textContent.text=defaultDisplayInfo?.isWideColorGamut.toString()
|
||||||
binding.disText8.textTitle.text=getString(R.string.hdr_support)
|
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
|
//memory
|
||||||
val storageInfo = AndInfo.instance.storage//存储信息
|
val storageInfo = AndInfo.instance.storage//存储信息
|
||||||
val used=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace)
|
val used=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace)
|
||||||
val free=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageAvailableSpace)
|
val free=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageAvailableSpace)
|
||||||
val total=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace)
|
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.textTitle.text=getString(R.string.ram_size)
|
||||||
binding.memoryLayout.memText1.textContent.text=total
|
binding.memoryLayout.memText1.textContent.text=total
|
||||||
binding.memoryLayout.ram1.text=used+" used"
|
binding.memoryLayout.ram1.text=used+" used"
|
||||||
@ -149,9 +193,9 @@ class HardWareFragment : Fragment() {
|
|||||||
//storage
|
//storage
|
||||||
binding.memoryLayout.memText3.textTitle.text=getString(R.string.zram)
|
binding.memoryLayout.memText3.textTitle.text=getString(R.string.zram)
|
||||||
binding.memoryLayout.memText3.textContent.text=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace)
|
binding.memoryLayout.memText3.textContent.text=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace)
|
||||||
binding.memoryLayout.ram3.text=used+" used"
|
binding.memoryLayout.ram3.text=outused+" used"
|
||||||
binding.memoryLayout.ram4.text=free+" free"
|
binding.memoryLayout.ram4.text=outfree+" free"
|
||||||
binding.memoryLayout.seekbar2.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt()
|
binding.memoryLayout.seekbar2.progress=(outused.substring(0,outused.indexOf(" ")).toDouble() / outtotal.substring(0,outtotal.indexOf(" ")).toDouble() *100).toInt()
|
||||||
|
|
||||||
//fileSystem
|
//fileSystem
|
||||||
binding.memoryLayout.storText1.textTitle.text=getString(R.string.filesystem)
|
binding.memoryLayout.storText1.textTitle.text=getString(R.string.filesystem)
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
package com.xyzshell.myphoneinfo.dialog
|
package com.xyzshell.myphoneinfo.dialog
|
||||||
|
|
||||||
import android.graphics.Typeface
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.SpannableString
|
|
||||||
import android.text.style.StyleSpan
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import com.xyzshell.andinfo.AndInfo
|
||||||
import com.xyzshell.myphoneinfo.R
|
import com.xyzshell.myphoneinfo.R
|
||||||
import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
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.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 getTitle(): String = name
|
||||||
|
|
||||||
override fun getIconRes(): Int? =9
|
override fun getIconRes(): Int? =9
|
||||||
@ -19,6 +19,128 @@ class DialogCameraMore(private val name:String) :BaseDialogFragment<DialogCamera
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
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() {
|
override fun onNegativeClick() {
|
||||||
|
|||||||
@ -3,11 +3,17 @@ package com.xyzshell.myphoneinfo.dialog
|
|||||||
import android.graphics.Typeface
|
import android.graphics.Typeface
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.SpannableString
|
import android.text.SpannableString
|
||||||
|
import android.text.style.ForegroundColorSpan
|
||||||
import android.text.style.StyleSpan
|
import android.text.style.StyleSpan
|
||||||
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
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.R
|
||||||
import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
||||||
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
||||||
|
import com.xyzshell.myphoneinfo.databinding.ItemDialogCpuBinding
|
||||||
|
|
||||||
class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBinding::inflate){
|
class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBinding::inflate){
|
||||||
override fun getTitle(): String = resources.getString(R.string.proc_cpuinfo)
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
binding.cpuTv01.text=setColonBoldText("Processor :AArch64 Processor rev 2(aarch64)")
|
val cpu = AndInfo.instance.cpu//cpu信息
|
||||||
binding.cpuTv02.text=setColonBoldText("processor :1")
|
cpu.processors.forEach { processor ->
|
||||||
binding.cpuTv03.text=setColonBoldText("BogoMIPS :3.84" )
|
val view=LayoutInflater.from(context).inflate(R.layout.item_dialog_cpu,binding.container,false)
|
||||||
binding.cpuTv04.text=setColonBoldText("Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid")
|
val itemBinding= ItemDialogCpuBinding.bind(view)
|
||||||
binding.cpuTv05.text=setColonBoldText("CPU implementer :0×41")
|
|
||||||
binding.cpuTv06.text=setColonBoldText("CPU architecture :8")
|
itemBinding.cpuTv02.text=setColonBoldText("processor :${processor.core.coreId}")
|
||||||
binding.cpuTv07.text=setColonBoldText("CPU variant :0×0")
|
itemBinding.cpuTv03.text=setColonBoldText("BogoMIPS :" )
|
||||||
binding.cpuTv08.text=setColonBoldText("CPU part :0×d03")
|
itemBinding.cpuTv04.text=setColonBoldText("Features :${cpu.getCpuFeatures().joinToString(",")}")
|
||||||
binding.cpuTv09.text=setColonBoldText("CPU revision :4")
|
itemBinding.cpuTv05.text=setColonBoldText("CPU implementer :${processor.core.midr?.implementer}")
|
||||||
binding.hardwareTv.text=setColonBoldText("Hardware :vendor Kirin710")
|
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 {
|
fun setColonBoldText( text: String) : SpannableString {
|
||||||
val colonIndex = text.indexOf(":")
|
val colonIndex = text.indexOf(":")
|
||||||
@ -40,6 +62,12 @@ class DialogCpuInfo :BaseDialogFragment<DialogCpuInfoBinding>(DialogCpuInfoBindi
|
|||||||
colonIndex,
|
colonIndex,
|
||||||
SpannableString.SPAN_INCLUSIVE_INCLUSIVE
|
SpannableString.SPAN_INCLUSIVE_INCLUSIVE
|
||||||
)
|
)
|
||||||
|
spannableString.setSpan(
|
||||||
|
ForegroundColorSpan(ContextCompat.getColor(context,R.color.left_color)),
|
||||||
|
0,
|
||||||
|
colonIndex,
|
||||||
|
SpannableString.SPAN_INCLUSIVE_EXCLUSIVE
|
||||||
|
)
|
||||||
return spannableString
|
return spannableString
|
||||||
} else {
|
} else {
|
||||||
return SpannableString(text)
|
return SpannableString(text)
|
||||||
|
|||||||
@ -14,32 +14,25 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:orientation="vertical">
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/back_btn"
|
android:id="@+id/back_btn"
|
||||||
android:layout_width="50dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="50dp"
|
android:layout_height="wrap_content"
|
||||||
android:src="@mipmap/go_back"
|
android:src="@mipmap/go_back"
|
||||||
android:padding="13dp"
|
android:padding="13dp"
|
||||||
android:layout_margin="10dp"/>
|
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
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/cpu_analysis"
|
android:text="@string/cpu_analysis"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:textColor="@color/black"
|
||||||
style="@style/TextHeavy20"/>
|
style="@style/TextHeavy20"/>
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
<View
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:background="#BFBFBF"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
app:layout_constraintTop_toBottomOf="@+id/top_bar"
|
||||||
@ -117,7 +110,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:orientation="horizontal"
|
android:orientation="vertical"
|
||||||
android:visibility="visible">
|
android:visibility="visible">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
@ -125,16 +118,19 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="150dp"
|
android:layout_width="150dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/proc_cpuinfo"
|
android:text="@string/proc_cpuinfo" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/infoShow"
|
android:id="@+id/infoShow"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
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"
|
android:text="@string/show"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@ -143,107 +139,38 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:orientation="horizontal"
|
android:orientation="vertical"
|
||||||
android:visibility="visible">
|
android:visibility="visible">
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/time1"
|
android:id="@+id/time1"
|
||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="150dp"
|
android:layout_width="150dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/cpu_times"
|
android:text="@string/cpu_times" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/timeShow"
|
android:id="@+id/timeShow"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
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"
|
android:text="@string/show"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/llCluster"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:orientation="vertical">
|
||||||
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" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@ -18,17 +18,17 @@
|
|||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/tv_label"
|
android:id="@+id/tv_label"
|
||||||
style="@style/TextDialogLabel"
|
style="@style/LeftContent"
|
||||||
android:layout_width="120dp"
|
android:layout_width="120dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/tv_sub_title"
|
android:layout_below="@id/tv_sub_title"
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:textSize="15sp"
|
android:textSize="14sp"
|
||||||
android:text="sppppppppppppppppppppp" />
|
android:text="sppppppppppppppppppppp" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/tv_value"
|
android:id="@+id/tv_value"
|
||||||
style="@style/TextDialogContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignTop="@id/tv_label"
|
android:layout_alignTop="@id/tv_label"
|
||||||
@ -36,6 +36,7 @@
|
|||||||
android:layout_toEndOf="@id/tv_label"
|
android:layout_toEndOf="@id/tv_label"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="15sp"
|
android:textSize="15sp"
|
||||||
|
android:textColor="#C1C5C2"
|
||||||
android:text="sppppppppppppppppppppp" />
|
android:text="sppppppppppppppppppppp" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@ -4,7 +4,7 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:paddingHorizontal="18dp"
|
android:paddingHorizontal="18dp"
|
||||||
android:paddingVertical="15dp"
|
android:paddingVertical="15dp"
|
||||||
android:layout_marginVertical="8dp"
|
android:layout_marginVertical="5dp"
|
||||||
android:background="@drawable/dashboard_model_background"
|
android:background="@drawable/dashboard_model_background"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@ -16,18 +16,19 @@
|
|||||||
>
|
>
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/sensor_name"
|
android:id="@+id/sensor_name"
|
||||||
style="@style/TextTool25"
|
style="@style/TextHeavy20"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textStyle="normal"
|
android:textSize="18sp"
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:text="spppppppeee" />
|
android:text="spppppppeee" />
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/sensor_value"
|
android:id="@+id/sensor_value"
|
||||||
style="@style/TextContentRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
|
android:textColor="@color/right_color"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="spppppppeee" />
|
android:text="spppppppeee" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@ -94,16 +94,14 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="150dp"
|
android:layout_width="150dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Capabilities"
|
android:text="@string/capabilities" />
|
||||||
android:textSize="15sp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/TextContentRight"
|
android:id="@+id/more1"
|
||||||
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="High speed video"
|
android:textColor="@color/right_color" />
|
||||||
android:textSize="15sp" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -115,16 +113,14 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Exposure modes"
|
android:text="@string/exposure_modes" />
|
||||||
android:textSize="15sp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/TextContentRight"
|
android:id="@+id/more2"
|
||||||
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Manual, Auto, Flash"
|
android:textColor="@color/right_color" />
|
||||||
android:textSize="15sp" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -136,18 +132,15 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Autofocus modes"
|
android:text="@string/autofocus_modes" />
|
||||||
android:textSize="15sp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/TextContentRight"
|
android:id="@+id/more3"
|
||||||
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Manual, Auto, Macro,
|
android:textColor="@color/right_color"
|
||||||
Continuous video, Continuous
|
/>
|
||||||
picture"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -159,16 +152,16 @@ picture"
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="White balance modes"
|
android:text="@string/white_balance_modes"
|
||||||
android:textSize="15sp"
|
/>
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/TextContentRight"
|
android:id="@+id/more4"
|
||||||
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Auto, Off, Incandescent,Fluorescent, Daylight, Cloudy"
|
android:textColor="@color/right_color"
|
||||||
android:textSize="15sp" />
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -180,16 +173,16 @@ picture"
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Scene modes"
|
android:text="@string/scene_modes"
|
||||||
android:textSize="15sp"
|
/>
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/TextContentRight"
|
android:id="@+id/more5"
|
||||||
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="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:textColor="@color/right_color"
|
||||||
android:textSize="15sp" />
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@ -16,277 +16,21 @@
|
|||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
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>
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/hardwareTv"
|
android:id="@+id/hardwareTv"
|
||||||
style="@style/TextDialogLabel"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="30dp"
|
|
||||||
android:text="Hardware :vendor Kirin710"
|
android:text="Hardware :vendor Kirin710"
|
||||||
android:textSize="20sp"
|
android:textColor="@color/right_color"
|
||||||
android:textStyle="normal" />
|
android:textSize="18sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|||||||
@ -85,10 +85,11 @@
|
|||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/open2"
|
android:id="@+id/open2"
|
||||||
style="@style/TextContentRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/apps"
|
android:text="@string/apps"
|
||||||
|
android:textColor="@color/right_color"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<include layout="@layout/common_text_style" android:id="@+id/video"/>
|
<include layout="@layout/common_text_style" android:id="@+id/video"/>
|
||||||
|
|||||||
@ -74,9 +74,9 @@
|
|||||||
android:id="@+id/text9"
|
android:id="@+id/text9"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/cpuBtn"
|
android:id="@+id/cpuBtn"
|
||||||
style="@style/TextDialogSubTitle"
|
style="@style/LeftContent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="21dp"
|
android:layout_marginTop="21dp"
|
||||||
@ -84,7 +84,6 @@
|
|||||||
android:paddingHorizontal="12dp"
|
android:paddingHorizontal="12dp"
|
||||||
android:paddingVertical="8dp"
|
android:paddingVertical="8dp"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="normal"
|
|
||||||
android:text="@string/cpu_analysis"
|
android:text="@string/cpu_analysis"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textColor="@color/module_title_color" />
|
android:textColor="@color/module_title_color" />
|
||||||
@ -109,39 +108,39 @@
|
|||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text1"
|
android:id="@+id/gpu_text1"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text2"
|
android:id="@+id/gpu_text2"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text3"
|
android:id="@+id/gpu_text3"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text4"
|
android:id="@+id/gpu_text4"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text5"
|
android:id="@+id/gpu_text5"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text6"
|
android:id="@+id/gpu_text6"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text7"
|
android:id="@+id/gpu_text7"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text8"
|
android:id="@+id/gpu_text8"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/cpu_text9"
|
android:id="@+id/gpu_text9"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@ -205,7 +204,7 @@
|
|||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/extensionShow"
|
android:id="@+id/extensionShow"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="21dp"
|
android:layout_marginTop="21dp"
|
||||||
@ -215,6 +214,7 @@
|
|||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="normal"
|
android:textStyle="normal"
|
||||||
android:text="@string/show"
|
android:text="@string/show"
|
||||||
|
android:textColor="@color/module_title_color"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@ -405,7 +405,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
@ -416,10 +416,16 @@
|
|||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/othertext"
|
android:id="@+id/othertext"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
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"
|
android:text="@string/show"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/conText2"
|
android:id="@+id/conText2"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="LUX·433 Mbps"
|
android:text="LUX·433 Mbps"
|
||||||
@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/conTExt3"
|
android:id="@+id/conTExt3"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="80% -60dBm"
|
android:text="80% -60dBm"
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="visible"
|
android:visibility="gone"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
<include layout="@layout/common_sensor_style" android:id="@+id/sensor1"/>
|
<include layout="@layout/common_sensor_style" android:id="@+id/sensor1"/>
|
||||||
<include layout="@layout/common_sensor_style" android:id="@+id/sensor2"/>
|
<include layout="@layout/common_sensor_style" android:id="@+id/sensor2"/>
|
||||||
|
|||||||
@ -53,7 +53,7 @@
|
|||||||
android:layout_weight="1"/>
|
android:layout_weight="1"/>
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/pair1"
|
android:id="@+id/pair1"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
@ -63,6 +63,7 @@
|
|||||||
android:background="@drawable/hard_bg"
|
android:background="@drawable/hard_bg"
|
||||||
android:textStyle="normal"
|
android:textStyle="normal"
|
||||||
android:text="@string/show"
|
android:text="@string/show"
|
||||||
|
android:textColor="@color/module_title_color"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
|
|
||||||
@ -84,7 +85,7 @@
|
|||||||
<!-- android:layout_weight="1"/>-->
|
<!-- android:layout_weight="1"/>-->
|
||||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||||
<!-- android:id="@+id/pair2"-->
|
<!-- android:id="@+id/pair2"-->
|
||||||
<!-- style="@style/TextButteryRight"-->
|
<!-- style="@style/LeftContent"-->
|
||||||
<!-- android:layout_width="wrap_content"-->
|
<!-- android:layout_width="wrap_content"-->
|
||||||
<!-- android:layout_height="wrap_content"-->
|
<!-- android:layout_height="wrap_content"-->
|
||||||
<!-- android:paddingHorizontal="10dp"-->
|
<!-- 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" />
|
android:textStyle="bold" />
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/pubShow"
|
android:id="@+id/pubShow"
|
||||||
style="@style/TextButteryRight"
|
style="@style/LeftContent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="14sp"
|
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="toybox">Toybox</string>
|
||||||
<string name="java_VM">Java VM</string>
|
<string name="java_VM">Java VM</string>
|
||||||
<string name="current">current</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>
|
</resources>
|
||||||
Loading…
Reference in New Issue
Block a user