From 0f2d45de7c155b716d790bdf3e218dcdb2d2531d Mon Sep 17 00:00:00 2001 From: yuqian Date: Fri, 19 Dec 2025 14:52:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A6=96=E9=A1=B5=EF=BC=8Csy?= =?UTF-8?q?stem=20=EF=BC=8Chardware=E9=A1=B5=E9=9D=A2ui=EF=BC=8Chardware?= =?UTF-8?q?=E7=9A=84processor=E3=80=81gpu=E3=80=81memory=E3=80=81bluetooth?= =?UTF-8?q?,system=E7=9A=84device=E3=80=81operate=E7=9A=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=8E=A5=E5=8F=A3=E5=B7=B2=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../myphoneinfo/dashboard/HardWareFragment.kt | 94 +- .../dashboard/SystemShowFragment.kt | 72 +- .../myphoneinfo/dialog/DialogBlueTooth.kt | 42 + .../myphoneinfo/dialog/DialogExtension.kt | 5 + .../main/res/drawable/dialog_cancel_bg.xml | 6 + .../src/main/res/drawable/dialog_ok_bg.xml | 6 + myphoneinfo/src/main/res/drawable/hard_bg.xml | 4 +- .../src/main/res/drawable/progress_bg.xml | 2 +- .../src/main/res/drawable/tab_indicator.xml | 7 - .../main/res/drawable/tab_indicator_image.xml | 14 + .../src/main/res/layout/activity_analysis.xml | 12 +- .../main/res/layout/activity_blue_tooth.xml | 2 +- .../src/main/res/layout/activity_main.xml | 1 + .../main/res/layout/activity_sensor_each.xml | 4 +- .../src/main/res/layout/activity_test.xml | 2 +- .../src/main/res/layout/activity_tools.xml | 2 +- .../main/res/layout/common_check_style.xml | 9 +- .../res/layout/common_text_15size_style.xml | 2 +- .../src/main/res/layout/common_text_style.xml | 8 +- .../src/main/res/layout/dialog_app_click.xml | 2 +- .../src/main/res/layout/dialog_base.xml | 42 +- .../src/main/res/layout/dialog_blue_tooth.xml | 54 +- .../main/res/layout/dialog_camera_more.xml | 10 +- .../src/main/res/layout/dialog_disk_part.xml | 8 +- .../src/main/res/layout/dialog_extention.xml | 115 +-- .../src/main/res/layout/dialog_memory.xml | 4 +- .../src/main/res/layout/dialog_storage.xml | 2 +- .../src/main/res/layout/dialog_temp.xml | 2 +- .../src/main/res/layout/fragment_battery.xml | 14 +- .../src/main/res/layout/fragment_camera.xml | 36 +- .../main/res/layout/fragment_hard_ware.xml | 811 ++---------------- .../src/main/res/layout/fragment_network.xml | 88 +- .../src/main/res/layout/fragment_sensors.xml | 8 +- .../main/res/layout/fragment_system_show.xml | 488 +++-------- .../src/main/res/layout/hard_bluetooth.xml | 140 +++ .../src/main/res/layout/hard_memory.xml | 459 ++++++++++ .../src/main/res/layout/item_blue_tooth.xml | 28 + .../src/main/res/layout/item_common_temp.xml | 2 +- .../src/main/res/layout/mem_text_style.xml | 27 + .../main/res/mipmap-xhdpi/indicator_img.png | Bin 0 -> 278 bytes .../src/main/res/mipmap-xhdpi/radius2.png | Bin 533 -> 422 bytes .../src/main/res/mipmap-xhdpi/setting.png | Bin 1613 -> 1057 bytes myphoneinfo/src/main/res/values/colors.xml | 7 +- myphoneinfo/src/main/res/values/strings.xml | 17 +- myphoneinfo/src/main/res/values/styles.xml | 23 +- 45 files changed, 1250 insertions(+), 1431 deletions(-) create mode 100644 myphoneinfo/src/main/res/drawable/dialog_cancel_bg.xml create mode 100644 myphoneinfo/src/main/res/drawable/dialog_ok_bg.xml delete mode 100644 myphoneinfo/src/main/res/drawable/tab_indicator.xml create mode 100644 myphoneinfo/src/main/res/drawable/tab_indicator_image.xml create mode 100644 myphoneinfo/src/main/res/layout/hard_bluetooth.xml create mode 100644 myphoneinfo/src/main/res/layout/hard_memory.xml create mode 100644 myphoneinfo/src/main/res/layout/item_blue_tooth.xml create mode 100644 myphoneinfo/src/main/res/layout/mem_text_style.xml create mode 100644 myphoneinfo/src/main/res/mipmap-xhdpi/indicator_img.png diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt index 95d08a2..a8c7bf3 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt @@ -2,10 +2,12 @@ package com.xyzshell.myphoneinfo.dashboard import android.content.Intent import android.os.Bundle +import android.text.format.Formatter import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.xyzshell.andinfo.AndInfo import com.xyzshell.myphoneinfo.R import com.xyzshell.myphoneinfo.databinding.FragmentHardWareBinding import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth @@ -29,51 +31,71 @@ class HardWareFragment : Fragment() { savedInstanceState: Bundle? ): View? { binding = FragmentHardWareBinding.inflate(inflater, container, false) + dialogExtension=dialogExtension?: DialogExtension() + initText() binding.cpuBtn.setOnClickListener { var intent=Intent(requireContext(), AnalysisActivity::class.java) startActivity(intent) } binding.pair1.setOnClickListener { dialogBlueTooth= dialogBlueTooth?: DialogBlueTooth() + println("showBluetoothDialog"+AndInfo.instance.bluetooth.bondedDevices.size) dialogBlueTooth?.show(childFragmentManager, "BlueTooth1") } - binding.pair2.setOnClickListener { - dialogBlueTooth= dialogBlueTooth?: DialogBlueTooth() - dialogBlueTooth?.show(childFragmentManager, "BlueTooth2") - } +// binding.pair2.setOnClickListener { +// dialogBlueTooth= dialogBlueTooth?: DialogBlueTooth() +// dialogBlueTooth?.show(childFragmentManager, "BlueTooth2") +// } binding.othertext.setOnClickListener { dialogInput=dialogInput?: DialogInput() dialogInput?.show(childFragmentManager, "Input") } binding.extensionShow.setOnClickListener { - dialogExtension=dialogExtension?: DialogExtension() dialogExtension?.show(childFragmentManager, "Extention") } - binding.disktext.setOnClickListener { + binding.memoryLayout.disktext.setOnClickListener { dialogDiskPart=dialogDiskPart?: DialogDiskPart() dialogDiskPart?.show(childFragmentManager, "DiskPart") } - initText() + return binding.root } private fun initText() { //processor + binding.text0.textTitle.text = getString(R.string.processor) + binding.text1.textTitle.text = getString(R.string.vendor) - binding.text1.textContent.text=getString(R.string.apps) + binding.text1.textContent.text=AndInfo.instance.device.manufacturer binding.text2.textTitle.text = getString(R.string.hardware) + binding.text2.textContent.text=AndInfo.instance.device.hardwareName binding.text3.textTitle.text = getString(R.string.cores) + binding.text3.textContent.text=AndInfo.instance.cpu.cores.size.toString() binding.text4.textTitle.text = getString(R.string.CPU) + binding.text4.textContent.text=AndInfo.instance.cpu.text() binding.text5.textTitle.text = getString(R.string.process) + binding.text6.textTitle.text = getString(R.string.architecture) + binding.text7.textTitle.text = getString(R.string.ABI) binding.text8.textTitle.text = getString(R.string.supported_ABls) binding.text9.textTitle.text = getString(R.string.frequencies) + //gpu binding.cpuText1.textTitle.text = getString(R.string.vendor) - binding.cpuText1.textContent.text=getString(R.string.apps) binding.cpuText2.textTitle.text = getString(R.string.gpu) + val gpuInfo=AndInfo.instance.gpu.getGpuInformation() + gpuInfo.vkPhysicalDevices?.let { devices -> + if (devices.isNotEmpty()) { + devices.forEachIndexed { index, vkPhysicalDevice -> + binding.cpuText1.textContent.text=vkPhysicalDevice.vendorId.toString() + binding.cpuText2.textContent.text=vkPhysicalDevice.deviceName + + + } + } + } binding.cpuText3.textTitle.text=getString(R.string.max_frequency) binding.cpuText4.textTitle.text=getString(R.string.architecture) binding.cpuText5.textTitle.text=getString(R.string.cores) @@ -81,7 +103,17 @@ class HardWareFragment : Fragment() { binding.cpuText7.textTitle.text=getString(R.string.bus_width) binding.cpuText8.textTitle.text=getString(R.string.vulkan_support) binding.cpuText9.textTitle.text=getString(R.string.vulkan_API) - + binding.open1.text=getString(R.string.opengl) + gpuInfo.eglInformation?.let { eglInfo -> + eglInfo.eglExtensions?.let { + dialogExtension?.setContent(it.joinToString()) + } + eglInfo.glInformation?.let{glInfo -> + binding.openItem1.text=glInfo.glVendor + binding.openItem2.text=glInfo.glRenderer + binding.openItem3.text=glInfo.glVersion + } + } //display binding.disText1.textTitle.text=getString(R.string.resolution) binding.disText2.textTitle.text=getString(R.string.screen_density) @@ -93,11 +125,47 @@ class HardWareFragment : Fragment() { binding.disText8.textTitle.text=getString(R.string.hdr_support) //memory - binding.memText1.textTitle.text=getString(R.string.ram_size) + val storageInfo = AndInfo.instance.storage//存储信息 + val used=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace) + val free=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageAvailableSpace) + val total=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace) + binding.memoryLayout.memText1.textTitle.text=getString(R.string.ram_size) + binding.memoryLayout.memText1.textContent.text=total + binding.memoryLayout.ram1.text=used+" used" + binding.memoryLayout.ram2.text=free+" free" + binding.memoryLayout.seekbar.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt() //storage - binding.storText1.textTitle.text=getString(R.string.filesystem) - binding.storText2.textTitle.text=getString(R.string.block_size) + binding.memoryLayout.memText3.textTitle.text=getString(R.string.zram) + binding.memoryLayout.memText3.textContent.text=Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace) + binding.memoryLayout.ram3.text=used+" used" + binding.memoryLayout.ram4.text=free+" free" + binding.memoryLayout.seekbar2.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt() + + //fileSystem + binding.memoryLayout.storText1.textTitle.text=getString(R.string.filesystem) + binding.memoryLayout.storText1.textContent.text=total + binding.memoryLayout.stor1.text=used+" used" + binding.memoryLayout.stor2.text=free+" free" + binding.memoryLayout.radius1.text=used + binding.memoryLayout.radius2.text=used + binding.memoryLayout.radius3.text=free + binding.memoryLayout.seekbar3.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt() + + //internalStorage + binding.memoryLayout.interText1.textTitle.text=getString(R.string.filesystem) + binding.memoryLayout.interText1.textContent.text=storageInfo.internalStorageEncryptionType.toString() + binding.memoryLayout.interText2.textTitle.text=getString(R.string.block_size) + binding.memoryLayout.interText2.textContent.text=total + binding.memoryLayout.interText3.textTitle.text="/data" + binding.memoryLayout.interText3.textContent.text=total + binding.memoryLayout.stor3.text=used+" used" + binding.memoryLayout.stor4.text=free+" free" + binding.memoryLayout.seekbar2.progress=(used.substring(0,used.indexOf(" ")).toDouble() / total.substring(0,total.indexOf(" ")).toDouble() *100).toInt() + + + + //Audio binding.check1.content.text=getString(R.string.low_audio) diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt index d4dda57..17bbecd 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt @@ -5,10 +5,12 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.xyzshell.andinfo.AndInfo import com.xyzshell.myphoneinfo.R +import com.xyzshell.myphoneinfo.databinding.FragmentSystemShowBinding class SystemShowFragment : Fragment() { - +private lateinit var binding: FragmentSystemShowBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -18,7 +20,73 @@ class SystemShowFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_system_show, container, false) + binding= FragmentSystemShowBinding.inflate(inflater,container,false) + initView() + return binding.root + } + + private fun initView() { + binding.phoneName.text=AndInfo.instance.device.brand + binding.text0.textTitle.text=getString(R.string.model) + binding.text0.textContent.text=AndInfo.instance.device.model + binding.text1.textTitle.text=getString(R.string.product) + binding.text1.textContent.text=AndInfo.instance.device.productName + binding.text2.textTitle.text=getString(R.string.device) + binding.text2.textContent.text=AndInfo.instance.device.device + binding.text3.textTitle.text=getString(R.string.board) + binding.text3.textContent.text=AndInfo.instance.device.boardName + binding.text4.textTitle.text=getString(R.string.manufacturer) + binding.text4.textContent.text=AndInfo.instance.device.manufacturer + binding.text5.textTitle.text=getString(R.string.baseband) + binding.text6.textTitle.text=getString(R.string.google_play_services_version) + + //操作系统 + val buildInfo = AndInfo.instance.build + binding.textOp1.textTitle.text=getString(R.string.android_version) + binding.textOp1.textContent.text=buildInfo.versionRelease + binding.textOp2.textTitle.text=getString(R.string.api) + binding.textOp2.textContent.text=buildInfo.versionSdkInt.toString() + binding.textOp3.textTitle.text=getString(R.string.emui) + + binding.textOp4.textTitle.text=getString(R.string.security_patch) + binding.textOp4.textContent.text=buildInfo.securityPatch + binding.textOp5.textTitle.text=getString(R.string.version) + binding.textOp5.textContent.text=buildInfo.display + binding.textOp6.textTitle.text=getString(R.string.baseband) + + binding.textOp7.textTitle.text=getString(R.string.fingerprint) + binding.textOp7.textContent.text=buildInfo.fingerprint + binding.textOp8.textTitle.text=getString(R.string.build_time) + binding.textOp8.textContent.text=buildInfo.buildDate.toString() + binding.textOp9.textTitle.text=getString(R.string.initial_release) + + binding.textOp10.textTitle.text=getString(R.string.architecture) + + binding.textOp11.textTitle.text=getString(R.string.instruction_sets) + + binding.textOp12.textTitle.text=getString(R.string.treble) + binding.textOp13.textTitle.text=getString(R.string.root_access) + binding.textOp14.textTitle.text=getString(R.string.google_play_services) + binding.textOp15.textTitle.text=getString(R.string.toybox) + binding.textOp16.textTitle.text=getString(R.string.java_VM) + binding.textOp16.textContent.text=AndInfo.instance.build.jvmName + " " + AndInfo.instance.build.jvmVersion + binding.textOp17.textTitle.text=getString(R.string.ssl_version) + binding.textOp18.textTitle.text=getString(R.string.language) + binding.textOp19.textTitle.text=getString(R.string.usb_debugging) + binding.textOp20.textTitle.text=getString(R.string.kernel) + + + binding.textclear1.textTitle.text=getString(R.string.vendor) + binding.textclear2.textTitle.text=getString(R.string.version) + + + binding.textwide1.textTitle.text=getString(R.string.vendor) + binding.textwide2.textTitle.text=getString(R.string.version) + binding.textwide3.textTitle.text=getString(R.string.algorithm) + binding.textwide4.textTitle.text=getString(R.string.device_id) + binding.textwide5.textTitle.text=getString(R.string.security_level) + binding.textwide6.textTitle.text=getString(R.string.highest_hdcp_level) + } companion object { diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt index 4c75480..29f7faf 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt @@ -1,18 +1,59 @@ package com.xyzshell.myphoneinfo.dialog import android.os.Bundle +import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.compose.material3.Text +import com.xyzshell.andinfo.AndInfo import com.xyzshell.myphoneinfo.R import com.xyzshell.myphoneinfo.base.BaseDialogFragment import com.xyzshell.myphoneinfo.databinding.DialogBlueToothBinding class DialogBlueTooth :BaseDialogFragment(DialogBlueToothBinding::inflate){ + override fun getTitle(): String = resources.getString(R.string.bluetooth) override fun getIconRes(): Int=5 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + val bluetoothInfo = AndInfo.instance.bluetooth + val list=ArrayList>() + bluetoothInfo.bondedDevices.forEach { (name, address) -> + val deviceMap = mapOf( + "name" to (name ?: "Unknown device"), + "address" to (address ?: "") + ) + list.add(deviceMap) + } + val container = binding.view as? ViewGroup + + container?.let { + // 遍历 list,为每个设备创建 item view + if(list.isEmpty()){ + it.addView(TextView(requireContext()).apply { + text = "No devices" + }) + }else{ + list.forEach { deviceMap -> + // 加载 item 布局 + val itemView = LayoutInflater.from(requireContext()) + .inflate(R.layout.item_blue_tooth, it, false) + + // 设置设备信息 + val tvName = itemView.findViewById(R.id.textTitle) + val tvAddress = itemView.findViewById(R.id.textContent) + + tvName.text = deviceMap["name"] + tvAddress.text = deviceMap["address"] + // 添加到容器 + it.addView(itemView) + } + } + + } } @@ -24,4 +65,5 @@ class DialogBlueTooth :BaseDialogFragment(DialogBlueToot override fun onPositiveClick() { super.onPositiveClick() } + } \ No newline at end of file diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogExtension.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogExtension.kt index 99f0c2a..ff5d76a 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogExtension.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogExtension.kt @@ -7,6 +7,7 @@ import com.xyzshell.myphoneinfo.base.BaseDialogFragment import com.xyzshell.myphoneinfo.databinding.DialogExtentionBinding class DialogExtension :BaseDialogFragment(DialogExtentionBinding::inflate){ + private var content :String = "" override fun getTitle(): String = resources.getString(R.string.extensions) override fun getIconRes(): Int? =6 @@ -15,6 +16,7 @@ class DialogExtension :BaseDialogFragment(DialogExtentio override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + binding.textContent.text = content } override fun onNegativeClick() { @@ -25,4 +27,7 @@ class DialogExtension :BaseDialogFragment(DialogExtentio override fun onPositiveClick() { super.onPositiveClick() } + open fun setContent(string :String){ + this.content = string + } } \ No newline at end of file diff --git a/myphoneinfo/src/main/res/drawable/dialog_cancel_bg.xml b/myphoneinfo/src/main/res/drawable/dialog_cancel_bg.xml new file mode 100644 index 0000000..f86f90d --- /dev/null +++ b/myphoneinfo/src/main/res/drawable/dialog_cancel_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/drawable/dialog_ok_bg.xml b/myphoneinfo/src/main/res/drawable/dialog_ok_bg.xml new file mode 100644 index 0000000..2ae8969 --- /dev/null +++ b/myphoneinfo/src/main/res/drawable/dialog_ok_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/drawable/hard_bg.xml b/myphoneinfo/src/main/res/drawable/hard_bg.xml index 1fc9362..94cb3de 100644 --- a/myphoneinfo/src/main/res/drawable/hard_bg.xml +++ b/myphoneinfo/src/main/res/drawable/hard_bg.xml @@ -1,6 +1,6 @@ - - + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/drawable/progress_bg.xml b/myphoneinfo/src/main/res/drawable/progress_bg.xml index dc7d8c9..cd6c961 100644 --- a/myphoneinfo/src/main/res/drawable/progress_bg.xml +++ b/myphoneinfo/src/main/res/drawable/progress_bg.xml @@ -6,7 +6,7 @@ android:top="0dp"> - + diff --git a/myphoneinfo/src/main/res/drawable/tab_indicator.xml b/myphoneinfo/src/main/res/drawable/tab_indicator.xml deleted file mode 100644 index 3950e71..0000000 --- a/myphoneinfo/src/main/res/drawable/tab_indicator.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/myphoneinfo/src/main/res/drawable/tab_indicator_image.xml b/myphoneinfo/src/main/res/drawable/tab_indicator_image.xml new file mode 100644 index 0000000..4d97de3 --- /dev/null +++ b/myphoneinfo/src/main/res/drawable/tab_indicator_image.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/activity_analysis.xml b/myphoneinfo/src/main/res/layout/activity_analysis.xml index cfb7406..a943ced 100644 --- a/myphoneinfo/src/main/res/layout/activity_analysis.xml +++ b/myphoneinfo/src/main/res/layout/activity_analysis.xml @@ -33,7 +33,7 @@ android:layout_height="wrap_content" android:text="@string/cpu_analysis" android:textStyle="bold" - style="@style/TextDeviceBig"/> + style="@style/TextHeavy20"/> + style="@style/TextHeavy20"/> + style="@style/TextHeavy20"/> + style="@style/TextHeavy20"/> \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/common_text_15size_style.xml b/myphoneinfo/src/main/res/layout/common_text_15size_style.xml index 5922d30..e41cf8a 100644 --- a/myphoneinfo/src/main/res/layout/common_text_15size_style.xml +++ b/myphoneinfo/src/main/res/layout/common_text_15size_style.xml @@ -8,7 +8,7 @@ + android:text="@string/model" /> \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/dialog_app_click.xml b/myphoneinfo/src/main/res/layout/dialog_app_click.xml index 78d6f49..b168182 100644 --- a/myphoneinfo/src/main/res/layout/dialog_app_click.xml +++ b/myphoneinfo/src/main/res/layout/dialog_app_click.xml @@ -94,7 +94,7 @@ android:orientation="vertical"> @@ -58,38 +59,47 @@ diff --git a/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml b/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml index 1ee6cde..d2d6011 100644 --- a/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml +++ b/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml @@ -1,57 +1,17 @@ - - - - + android:orientation="vertical"> + - - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/dialog_camera_more.xml b/myphoneinfo/src/main/res/layout/dialog_camera_more.xml index e4192ad..3827ac4 100644 --- a/myphoneinfo/src/main/res/layout/dialog_camera_more.xml +++ b/myphoneinfo/src/main/res/layout/dialog_camera_more.xml @@ -91,7 +91,7 @@ android:layout_marginTop="15dp" > + android:text="text1" /> diff --git a/myphoneinfo/src/main/res/layout/dialog_memory.xml b/myphoneinfo/src/main/res/layout/dialog_memory.xml index e530255..67c577f 100644 --- a/myphoneinfo/src/main/res/layout/dialog_memory.xml +++ b/myphoneinfo/src/main/res/layout/dialog_memory.xml @@ -20,14 +20,14 @@ android:orientation="horizontal"> - - - - - - - - - + @@ -99,20 +74,20 @@ android:id="@+id/text9" layout="@layout/common_text_style" /> - + android:textAlignment="center" + android:textColor="@color/module_title_color" /> - - + + android:orientation="vertical"> + + + + + - - @@ -236,7 +236,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + layout="@layout/hard_memory" + android:layout_height="wrap_content"/> + + + android:textSize="16sp" + android:textColor="@color/left_color" /> @@ -1030,7 +363,7 @@ android:visibility="visible"> - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -236,7 +100,7 @@ android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + + @@ -290,7 +215,7 @@ > - - - - + @@ -395,7 +301,7 @@ > - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + diff --git a/myphoneinfo/src/main/res/layout/hard_bluetooth.xml b/myphoneinfo/src/main/res/layout/hard_bluetooth.xml new file mode 100644 index 0000000..2c3a6a1 --- /dev/null +++ b/myphoneinfo/src/main/res/layout/hard_bluetooth.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/hard_memory.xml b/myphoneinfo/src/main/res/layout/hard_memory.xml new file mode 100644 index 0000000..f3437d3 --- /dev/null +++ b/myphoneinfo/src/main/res/layout/hard_memory.xml @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/item_blue_tooth.xml b/myphoneinfo/src/main/res/layout/item_blue_tooth.xml new file mode 100644 index 0000000..1d524dc --- /dev/null +++ b/myphoneinfo/src/main/res/layout/item_blue_tooth.xml @@ -0,0 +1,28 @@ + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/layout/item_common_temp.xml b/myphoneinfo/src/main/res/layout/item_common_temp.xml index f1dd71c..ace8fe7 100644 --- a/myphoneinfo/src/main/res/layout/item_common_temp.xml +++ b/myphoneinfo/src/main/res/layout/item_common_temp.xml @@ -25,7 +25,7 @@ android:layout_height="1dp"/> + + + + + + \ No newline at end of file diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/indicator_img.png b/myphoneinfo/src/main/res/mipmap-xhdpi/indicator_img.png new file mode 100644 index 0000000000000000000000000000000000000000..979cfba53caafb865d04992aade6b663fa6e6c63 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^6M&e5gAGWE6_-r|Qk(@Ik;OosDhM-r2B~}i3NjW4 zxjQkeJ16rJ$YDu$^mSxl*x1kgCy^D%U+wAQ7*fIb_WDNNLk0q@7wX-o2N*b+DJVaf z#C4-(8rSkg3lfD-O^G`weSkw`!Z}VuK_MrnhS&dB{Vw{QdYALwn^;@!wK}1x7mqW! zG_W6GZ^=r2_WU|~CEqn!b<0h;>}wpqG&=B`$7pAVO;=3T@NYZwHJNkK`|boFyt=akR{00U@X{Qv*} literal 0 HcmV?d00001 diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius2.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius2.png index 97b11594636cb8de1a0561eabd04a582e05781f2..eaa7a95a12a45c6b0dec3c9dbc7d3f7ba5266bc8 100644 GIT binary patch delta 380 zcmV-?0fYXP1f~NaiBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)=e>+J; zK~#7Ft(8Ge!ax*;|NpVjB}b@BNL0K52T-Ud5N@C+pqxNC0dN8u;sNvovOrl{m+rb% zW1lmvX%s4vcD_ZM=5@Zjd6V~sC_o?lI`)zafNk^Hg2MX_EkHz|hHT8IMQgbsdph-z z)W#-K$95u!2J2$^E$duEYqNjIe=HsnPIT276lSO^e}F^-l!1D~=KLxb>hi1y${1DP z=Q*3VVJ3X+J_C8-%M#0AC4m9kyX=GpokI=eR_OE{^G?)Q#jJMhvw=w_YwK( z3Is8E-xOb*#zZS`2#7}IB3d~{XqXcw$QAxL%OsO2$!~8x38}{u~J1ShQ3Ss={&!-H}`io zh_H(S5yG{p-!$}p+(#dL34uXz7`!{5L%xJ`6AJTDL1KedKJjiSO`dk1Ub>sxdv{=2 zTQ-fFF7)`s6Mky?9^6zd-XG=wbxBon>W<29w?oVbRg$ ir;2NM*Nf8xMtlNV5VJ`8+^UWM0000HEer<6J}`hc;)Oo*1N@pj07d;<0y)>+`yqeO{}zU>gQ4ctYVR#>_NEZ?(SH>;1%cF^o8woy0G#K}kH3 zN?nV|1f6G(gY6Vn!MTkCA8Upl&7`d8!nk4(g=Z(9@9PFckGQW&oh0#Me_>b;$BE~g zhF>gb$XcFcTsethM8ksoV*cMq&L2R-6DhTTGHD1)~HoOC3 zoG~JUl>dY`E^11}bU;rUe=O@0Na_6$hWIZ&-+imq9!MgNn9l9iP4s!)Y$*t8v|0}s@pw~mNf+Z#!4vX7#q^NkP@j3BG2F--RkzN5Ev_9 zC?9P4=B*5(B@01$AdQl;h1U{ZD(kROFogLkt5(OC zoz8t|GF(mVPNy%Vf4s*nV~l-=UOp8Bl0QwhkZS9&q_k0`4}-!;24J2;Ngb%wPewD$ z8XyHyk-9P8n<~N3X+iHW_9aaTl-eKy=?oX5L^+f09qPk;xs+zt_Yn#iqy5JKzNfs6 zR)`}c_y@0p^GAICy-8w6`4BD1;<5ptdcLT$-WpD~dy1<5e}68<9@!%K4sU?ifi6!S ze^cmcK5_=5O*1#0#wPh$YV&pQO09gpxgrg7%#(b&TU!Rj)J|E@?sl8&YQAL|6l_hZ zolI);C>G(lfi*RsczNmj;<-{vC)MWIem9k}YEnus^X@pHg3l(Cl{|?h45$mEmR|`x zNv!!cJC2EjQ_)+-_^ji}M#nKx#LB~Rlr;xdF+ACdK?H-dpXlI5e2aXO9&1+)Y<4z~ r$sixZFU8m~>Qvb`gp+1%a4h@}$zM3dO=p1j00000NkvXXu0mjf&8*)b delta 1582 zcmV+}2GRMU2+a&3iBL{Q4GJ0x0000DNk~Le0000w0000v2nGNE0B0{ahLIsOe+A-6 zL_t(|0qt7tRpUAk9RdYpD|n^?pa3ALV4(s+1waLa3ScY1RIpG%!pDDj6_Bl9^9lgo zz1i^|S&`(?;^gd)+;cd_vSjOy=2MEu3M;Iz!e4+jSujSUQ5To(jg5`1_xJbBwY9Z> za6f%}d%NiO`x99bS|>_kAaw##e+M8{ps5?_O0wYEe~~3%Lt4iA`ug?9#|KF^b?tUK zol9K%vIMlcqFhZ7{h2cct9po4y_E%{BkiKw)B&qKb?>PG5KxgC)AZbewuu(*4M@@c zN?cF5a`@Za-{1d&`x~blwP56v;r-*|qaus+KOrzF-e?Zh2h0-2f=OrNx}s1yu`P9l8M%cVuk2I z3$HmEIzaXct8*cL_O0)^cAG_1SIuwRzQ4a8;opJxs05j5>U~hbAy)PngeU$pwowpx zz7u#JwCfa1HmWv7G6g<5e}?)@bTXBy`IDR?Vc5yZd{iANND61-j*Zzg`%w^00wqjD z;bdNAUM*8N-rL(NrA1J4lxz(U>KQcSs%dZ&I#!~l(vt&=2}DpJh@j~Zh)VX@IU zPwEH#%AT0CFM?zRkS*nxYX1hlSz5*>bKTHtk`z>BQytUHrkZSofA)vG_5lBWg-v&> z_uzl7(oHDVM&@%V&I(d(t$rYBqsT;_>2Tb(oPbRy0)p2d)NANkHkEDakY1g6j4=;$ zLC{IPI6!ieL2~9i3?zv`Q@Bu#a8XJIqD1lGxv+srkHr8d9Qi5UlxZGUBQUH;k;S+7 z-Fw*P56M8(MlqS5e_vD5p2Ps3q&lxtOzzILXOKEY-*cz$Ow}b&qv9Q1Lya3n%Ij_g z+8TEQ;4r9SMRiYgXYxRm_nj8gKqmg;cv7l*B$utNAOuuM2BJi@f^fmfSn5sRmWC-O z!}y3X-`uue_W5^1AanHY0jw)CUNifvFru}-t%v)F9lC8u0?xI3*aAmv2kXi{6HYk zhnz;~-Z$;?>9fn!I|6f=vS=4$V1dtU#JsSwy#1)~~F9`_ve->f(g#$hApMuBl*F3A0E)(6nx=3OOo(I||EMcvrx?27X&0 zyQ;yue>pY~X9r%@tiR~<&1z?YXR4JwYhqCgN0uVow4zL)-4f|D<&p)Vor%;pEe_0N zqk;6SDw54{%!;aLH||UjrA75kL?Z<^r9O)6-WS|T$rXg2ug*5g{b#y6F|H1xv@Ljs z6M|U>k;D&~-v%C)$c2y9;hgxPgA-$1wMd;Me;}(Pw@p3rg*(3bT?GDKEW7kXma&2C z6^NV!9yJ!_7&qMA-Azj0KM`O)tEt|nk?mD@pp;=hHKdO514j-sO_7$6eQe0=#kCV3 zx@$iUB?_A0$5y`94xxOL7LiR{i)i~- zDM3KhhcaKuq;MxKV<|*w*OtIu9Y3}eQd}%Wbt^FGz=ckSbtyNle_*v~-~5|cgZ~OE gtgylge>?sM_pZ80^f3Gz00000NkvXX1g=70f*iO3Z~y=R diff --git a/myphoneinfo/src/main/res/values/colors.xml b/myphoneinfo/src/main/res/values/colors.xml index 2b90eaf..5213510 100644 --- a/myphoneinfo/src/main/res/values/colors.xml +++ b/myphoneinfo/src/main/res/values/colors.xml @@ -8,8 +8,7 @@ #FFFFFF #f4f4f4 #3B948A - #626262 - #757575 + #484848 #666666 #757575 @@ -20,4 +19,8 @@ #F8F8F8 #76B4AD #FFD54F + #858989 + #F2F2F2 + #C1C5C2 + #C4DFDC \ No newline at end of file diff --git a/myphoneinfo/src/main/res/values/strings.xml b/myphoneinfo/src/main/res/values/strings.xml index 7e5e6fe..19a1370 100644 --- a/myphoneinfo/src/main/res/values/strings.xml +++ b/myphoneinfo/src/main/res/values/strings.xml @@ -66,16 +66,16 @@ Device Product Model - Motherboard Manufacturer - Baseband + Brand + Board Operating System Android Version API Security Patch Level Version Number Fingerprint - Build Time + Build Date Initial Release Architecture Instruction Set Architecture @@ -92,10 +92,10 @@ Vendor Version Widevine - Algorithm + Algorithms Device ID Security Level - Highest HDCP Level + Max HDCP level Identifier Google Services Framework ID Connection @@ -115,7 +115,7 @@ DNS1 DNS2 Public IP - SHOW + Show OK Mobile Data Dual SIM dual standby @@ -187,6 +187,7 @@ Vulkan support Vulkan API version Extensions + OpenGL Memory Screen density (dpi) Screen size (estimated) @@ -287,5 +288,7 @@ Crop factor Field of view ISO sensitivity range - + Google Play Services version + Toybox + Java VM \ No newline at end of file diff --git a/myphoneinfo/src/main/res/values/styles.xml b/myphoneinfo/src/main/res/values/styles.xml index 1770d7f..e9a44d1 100644 --- a/myphoneinfo/src/main/res/values/styles.xml +++ b/myphoneinfo/src/main/res/values/styles.xml @@ -84,14 +84,6 @@ @color/right_color - - + + + + + + + \ No newline at end of file