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 e67c6a1..3244bc2 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt @@ -44,7 +44,11 @@ class HardWareFragment : Fragment() { refreshBluetoothInfo() } else { // 显示权限被拒绝的UI - Toast.makeText(requireContext(), getString(R.string.permissions_required), Toast.LENGTH_SHORT).show() + Toast.makeText( + requireContext(), + getString(R.string.permissions_required), + Toast.LENGTH_SHORT + ).show() } } @@ -81,8 +85,6 @@ class HardWareFragment : Fragment() { } private fun initText() { - - val device = AndInfo.instance.device//设备信息 setProcessorInfo() setGpuInfo() setDisplayInfo() @@ -106,22 +108,22 @@ class HardWareFragment : Fragment() { * */ private fun setInputInfo() { val inputInfo = AndInfo.instance.input - binding.otherCheck1.content.text=getString(R.string.usb_host_support) - binding.otherCheck1.image.isSelected=inputInfo.hasUsbHostSupport() - binding.otherCheck2.content.text=getString(R.string.usb_accessory_support) - binding.otherCheck2.image.isSelected=inputInfo.hasUsbAccessorySupport() - binding.otherCheck3.content.text=getString(R.string.fingerprint) - binding.otherCheck3.image.isSelected=inputInfo.hasFingerprintSensor() - binding.otherCheck4.content.text=getString(R.string.infrared_transmitter) - binding.otherCheck4.image.isSelected=inputInfo.hasInfraredSensor() - binding.otherCheck5.content.text=getString(R.string.uwb_support) - binding.otherCheck5.image.isSelected=inputInfo.hasUwbSupport() - binding.otherCheck6.content.text=getString(R.string.nfc_support) - binding.otherCheck6.image.isSelected=inputInfo.hasNfcSupport() - binding.otherCheck7.content.text=getString(R.string.secure_nfc_support) - binding.otherCheck7.image.isSelected=inputInfo.hasSecureNfcSupport() - binding.otherCheck8.content.text=getString(R.string.gps) - binding.otherCheck8.image.isSelected=inputInfo.hasGpsSupport() + binding.otherCheck1.content.text = getString(R.string.usb_host_support) + binding.otherCheck1.image.isSelected = inputInfo.hasUsbHostSupport() + binding.otherCheck2.content.text = getString(R.string.usb_accessory_support) + binding.otherCheck2.image.isSelected = inputInfo.hasUsbAccessorySupport() + binding.otherCheck3.content.text = getString(R.string.fingerprint) + binding.otherCheck3.image.isSelected = inputInfo.hasFingerprintSensor() + binding.otherCheck4.content.text = getString(R.string.infrared_transmitter) + binding.otherCheck4.image.isSelected = inputInfo.hasInfraredSensor() + binding.otherCheck5.content.text = getString(R.string.uwb_support) + binding.otherCheck5.image.isSelected = inputInfo.hasUwbSupport() + binding.otherCheck6.content.text = getString(R.string.nfc_support) + binding.otherCheck6.image.isSelected = inputInfo.hasNfcSupport() + binding.otherCheck7.content.text = getString(R.string.secure_nfc_support) + binding.otherCheck7.image.isSelected = inputInfo.hasSecureNfcSupport() + binding.otherCheck8.content.text = getString(R.string.gps) + binding.otherCheck8.image.isSelected = inputInfo.hasGpsSupport() binding.othertext.setOnClickListener { dialogInput = dialogInput ?: DialogInput() dialogInput?.show(childFragmentManager, "Input") @@ -134,38 +136,34 @@ class HardWareFragment : Fragment() { * */ private fun setMemoryInfo() { val storageInfo = AndInfo.instance.storage//存储信息 - val used = - Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace) - val free = Formatter.formatFileSize( - AndInfo.instance.context, - storageInfo.internalStorageAvailableSpace - ) - val total = Formatter.formatFileSize( - AndInfo.instance.context, - storageInfo.internalStorageTotalSpace - ) + // 获取详细的存储分解 + val breakdown = storageInfo.getInternalStorageBreakdown() + //内部存储器 + val interused = storageInfo.formatBytes(breakdown.usedSpace) + val interfree = storageInfo.formatBytes(breakdown.freeSpace) + val intertotal = storageInfo.formatBytes(breakdown.totalSpace) - 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 - ) + //总存储信息 + val outused =Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageUsedSpace) + val outfree = Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageAvailableSpace) + val outtotal = Formatter.formatFileSize(AndInfo.instance.context, storageInfo.internalStorageTotalSpace) + + //内存:todo 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.substringBefore(" ").toDouble() / total.substringBefore(" ").toDouble() * 100).toInt() +// binding.memoryLayout.memText1.textContent.text = total +// binding.memoryLayout.ram1.text = used + " used" +// binding.memoryLayout.ram2.text = free + " free" +// binding.memoryLayout.seekbar.progress = +// (used.substringBefore(" ").toDouble() / total.substringBefore(" ") +// .toDouble() * 100).toInt() + + //appsAndData + val appsAndData = storageInfo.getFormattedAppsAndDataSize() + val system = storageInfo.getFormattedSystemSize() + val other= storageInfo.getFormattedFreeSpace()+storageInfo.getFormattedCacheSize() + //zarm - //storage binding.memoryLayout.memText3.textTitle.text = getString(R.string.zram) binding.memoryLayout.memText3.textContent.text = Formatter.formatFileSize( AndInfo.instance.context, @@ -174,31 +172,35 @@ class HardWareFragment : Fragment() { binding.memoryLayout.ram3.text = outused + " used" binding.memoryLayout.ram4.text = outfree + " free" binding.memoryLayout.seekbar2.progress = - (outused.substringBefore(" ").toDouble() / outtotal.substringBefore(" ").toDouble() * 100).toInt() + (outused.substringBefore(" ").toDouble() / outtotal.substringBefore(" ") + .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 + //storage + + binding.memoryLayout.storText1.textTitle.text = getString(R.string.size) + binding.memoryLayout.storText1.textContent.text = outtotal + binding.memoryLayout.stor1.text = outused + " used" + binding.memoryLayout.stor2.text = outtotal + " total" + binding.memoryLayout.radius1.text = appsAndData + binding.memoryLayout.radius2.text = system + binding.memoryLayout.radius3.text = other binding.memoryLayout.seekbar3.progress = - (used.substringBefore(" ").toDouble() / total.substringBefore(" ").toDouble() * 100).toInt() + (outused.substringBefore(" ").toDouble() / outtotal.substringBefore(" ") + .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.interText2.textContent.text = intertotal 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.interText3.textContent.text = intertotal + binding.memoryLayout.stor3.text = interused + " used" + binding.memoryLayout.stor4.text = interfree + " free" binding.memoryLayout.seekbar2.progress = - (used.substringBefore(" ").toDouble() / total.substringBefore(" ").toDouble() * 100).toInt() + (interused.substringBefore(" ").toDouble() / intertotal.substringBefore(" ") + .toDouble() * 100).toInt() } /** @@ -222,12 +224,13 @@ class HardWareFragment : Fragment() { defaultDisplayInfo?.densityDpi.toString() + "(xxhdpi)\n" + defaultDisplayInfo?.xdpi?.roundToInt() + "dpx" + defaultDisplayInfo?.ydpi?.roundToInt() + "dp" binding.disText3.textContent.text = dpiStr binding.disText4.textTitle.text = getString(R.string.screen_size_e) - + val screenSize = "${String.format("%.2f", display.getScreenSize()?.diagonalInches)}/ ${String.format("%.1f", display.getScreenSize()?.diagonalMm)} mm" + binding.disText4.textContent.text = screenSize binding.disText5.textTitle.text = getString(R.string.aspect_ratio) binding.disText5.textContent.text = convertToApproximateAspectRatio( width = width.toInt(), height = height.toInt() - ).toString() + ) binding.disText6.textTitle.text = getString(R.string.refresh_rate) binding.disText6.textContent.text = defaultDisplayInfo?.refreshRate.toString() + "HZ" binding.disText7.textTitle.text = getString(R.string.wide_color_gamut) @@ -261,11 +264,11 @@ class HardWareFragment : Fragment() { binding.gpuText3.textTitle.text = getString(R.string.max_frequency) binding.gpuText3.textContent.text = "${gpu.getMaxFrequency()} MHz" binding.gpuText4.textTitle.text = getString(R.string.architecture) - binding.gpuText4.textContent.text=gpu.getArchitecture() + binding.gpuText4.textContent.text = gpu.getArchitecture() binding.gpuText5.textTitle.text = getString(R.string.cores) binding.gpuText5.textContent.text = gpu.getOpenGLExtensionCount().toString() binding.gpuText6.textTitle.text = getString(R.string.total_l2) - binding.gpuText6.textContent.text="${gpu.getCacheSize()} KB" + binding.gpuText6.textContent.text = "${gpu.getCacheSize()} KB" binding.gpuText7.textTitle.text = getString(R.string.bus_width) binding.gpuText7.textContent.text = "${gpu.getBandwidth()} GB/s" binding.gpuText8.textTitle.text = getString(R.string.vulkan_support) @@ -326,38 +329,47 @@ class HardWareFragment : Fragment() { @SuppressLint("SuspiciousIndentation") private fun setBlueToothInfo() { val bluetoothInfo = AndInfo.instance.bluetooth//蓝牙信息 - if (!bluetoothInfo.isEnabled) return - binding.bluetoothLayout.showLayout.setOnClickListener { - requestBluetoothPermissions() - } + if (!bluetoothInfo.isEnabled) return + binding.bluetoothLayout.showLayout.setOnClickListener { + requestBluetoothPermissions() + } //蓝牙features支持 bluetoothInfo.getBluetoothFeatures().let { features -> - binding.bluetoothLayout.blueCheck1.content.text=getString(R.string.bluetooth_le) - binding.bluetoothLayout.blueCheck1.image.isSelected=features.bluetoothLe - binding.bluetoothLayout.blueCheck2.content.text=getString(R.string.multiple_advertisement) - binding.bluetoothLayout.blueCheck2.image.isSelected=features.multipleAdvertisement - binding.bluetoothLayout.blueCheck3.content.text=getString(R.string.offloaded_filtering) - binding.bluetoothLayout.blueCheck3.image.isSelected=features.offloadedFiltering - binding.bluetoothLayout.blueCheck4.content.text=getString(R.string.offloaded_scan_batching) - binding.bluetoothLayout.blueCheck4.image.isSelected=features.offloadedScanBatching - binding.bluetoothLayout.blueCheck01.content.text=getString(R.string.le_periodic_advertising) - binding.bluetoothLayout.blueCheck01.image.isSelected=features.lePeriodicAdvertising - binding.bluetoothLayout.blueCheck02.content.text=getString(R.string.le_extended_advertising) - binding.bluetoothLayout.blueCheck02.image.isSelected=features.leExtendedAdvertising - binding.bluetoothLayout.blueCheck03.content.text=getString(R.string.le_2m_phy_high_speed) - binding.bluetoothLayout.blueCheck03.image.isSelected=features.leCodedPhy - binding.bluetoothLayout.blueCheck04.content.text=getString(R.string.le_2m_phy_low_power) - binding.bluetoothLayout.blueCheck04.image.isSelected=features.le2MbPhy - binding.bluetoothLayout.blueCheck05.content.text=getString(R.string.le_audio_support) - binding.bluetoothLayout.blueCheck05.image.isSelected=features.leAudioSupport + binding.bluetoothLayout.blueCheck1.content.text = getString(R.string.bluetooth_le) + binding.bluetoothLayout.blueCheck1.image.isSelected = features.bluetoothLe + binding.bluetoothLayout.blueCheck2.content.text = + getString(R.string.multiple_advertisement) + binding.bluetoothLayout.blueCheck2.image.isSelected = features.multipleAdvertisement + binding.bluetoothLayout.blueCheck3.content.text = + getString(R.string.offloaded_filtering) + binding.bluetoothLayout.blueCheck3.image.isSelected = features.offloadedFiltering + binding.bluetoothLayout.blueCheck4.content.text = + getString(R.string.offloaded_scan_batching) + binding.bluetoothLayout.blueCheck4.image.isSelected = features.offloadedScanBatching + binding.bluetoothLayout.blueCheck01.content.text = + getString(R.string.le_periodic_advertising) + binding.bluetoothLayout.blueCheck01.image.isSelected = features.lePeriodicAdvertising + binding.bluetoothLayout.blueCheck02.content.text = + getString(R.string.le_extended_advertising) + binding.bluetoothLayout.blueCheck02.image.isSelected = features.leExtendedAdvertising + binding.bluetoothLayout.blueCheck03.content.text = + getString(R.string.le_2m_phy_high_speed) + binding.bluetoothLayout.blueCheck03.image.isSelected = features.leCodedPhy + binding.bluetoothLayout.blueCheck04.content.text = + getString(R.string.le_2m_phy_low_power) + binding.bluetoothLayout.blueCheck04.image.isSelected = features.le2MbPhy + binding.bluetoothLayout.blueCheck05.content.text = getString(R.string.le_audio_support) + binding.bluetoothLayout.blueCheck05.image.isSelected = features.leAudioSupport } } + // 请求蓝牙权限的方法 private fun requestBluetoothPermissions() { val permissions = AndInfo.instance.bluetooth.requiredPermissions requestPermissionLauncher.launch(permissions) } + // 检查权限的方法 private fun checkBluetoothPermissions(): Boolean { val bluetoothInfo = AndInfo.instance.bluetooth @@ -366,6 +378,7 @@ class HardWareFragment : Fragment() { PackageManager.PERMISSION_GRANTED } } + /** * 检查并显示蓝牙信息 */ @@ -412,6 +425,7 @@ class HardWareFragment : Fragment() { openBluetoothSettings() } } + /** * 显示已配对设备弹窗 */ @@ -420,6 +434,7 @@ class HardWareFragment : Fragment() { println("showBluetoothDialog" + AndInfo.instance.bluetooth.bondedDevices.size) dialogBlueTooth?.show(childFragmentManager, "BlueTooth1") } + /** * 显示扫描到附近设备弹窗 */ @@ -441,8 +456,6 @@ class HardWareFragment : Fragment() { } - - /** * 刷新蓝牙信息 */ @@ -471,6 +484,7 @@ class HardWareFragment : Fragment() { } } } + /** * 权限检查结果回调 */ @@ -484,11 +498,17 @@ class HardWareFragment : Fragment() { // 权限已授予,刷新UI checkAndDisplayBluetoothInfo() } else { - Toast.makeText(requireContext(), "Bluetooth permission is required.", Toast.LENGTH_SHORT).show() + Toast.makeText( + requireContext(), + "Bluetooth permission is required.", + Toast.LENGTH_SHORT + ).show() } } + companion object { private const val REQUEST_ENABLE_BT = 1001 + @JvmStatic fun newInstance() = HardWareFragment().apply { 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 3063d42..7494b46 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt @@ -26,57 +26,9 @@ private lateinit var binding: FragmentSystemShowBinding } 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.textOp20.textContent.text=AndInfo.instance.build.kernelCompleteVersion - + setDeviceInfo() + setOperatingSystem() + setIdentifier() binding.textclear1.textTitle.text=getString(R.string.vendor) binding.textclear2.textTitle.text=getString(R.string.version) @@ -88,7 +40,85 @@ private lateinit var binding: FragmentSystemShowBinding 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) + } + /** + * Identifier + * */ + private fun setIdentifier() { + val buildInfo = AndInfo.instance.build + binding.idDev1.text=buildInfo.googlePlayServicesVersionCode.toString() + binding.idDev2.text=buildInfo.deviceUniqueId + //google play services + binding.textgoogle.textTitle.text=getString(R.string.google_play_services_version) + binding.textgoogle.textContent.text=buildInfo.googlePlayServicesVersion + } + + /** + * 操作系统 + * */ + private fun setOperatingSystem() { + 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.textOp6.textContent.text=buildInfo.brand + 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) + // todo + binding.textOp10.textTitle.text=getString(R.string.architecture) + binding.textOp10.textContent.text=buildInfo.kernelArchitecture + binding.textOp11.textTitle.text=getString(R.string.instruction_sets) + // todo + binding.textOp12.textTitle.text=getString(R.string.treble) + binding.textOp12.textContent.text=if (buildInfo.isTrebleEnabled) "Supported" else "Not supported" + binding.textOp13.textTitle.text=getString(R.string.root_access) + binding.textOp13.textContent.text=if (AndInfo.instance.build.isRooted) "Yes" else "No" + binding.textOp14.textTitle.text=getString(R.string.google_play_services) + binding.textOp14.textContent.text=buildInfo.googlePlayServicesVersion + binding.textOp15.textTitle.text=getString(R.string.toybox) + binding.textOp15.textContent.text=buildInfo.toyboxVersion + 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.textOp17.textContent.text=AndInfo.instance.build.openSslVersion + " " + AndInfo.instance.build.boringSslVersion + binding.textOp18.textTitle.text=getString(R.string.language) + binding.textOp18.textContent.text=AndInfo.instance.build.systemLanguage + binding.textOp19.textTitle.text=getString(R.string.usb_debugging) + binding.textOp19.textContent.text=if (buildInfo.isUsbDebuggingEnabled) "Enabled" else "Disabled" + //内核 + binding.textOp20.textTitle.text=getString(R.string.kernel) + binding.textOp20.textContent.text=AndInfo.instance.build.kernelCompleteVersion + } + + /** + * 设置设备信息 + * */ + private fun setDeviceInfo() { + val deviceInfo = AndInfo.instance.device + binding.phoneName.text=deviceInfo.brand + binding.text0.textTitle.text=getString(R.string.model) + binding.text0.textContent.text=deviceInfo.model + binding.text1.textTitle.text=getString(R.string.product) + binding.text1.textContent.text=deviceInfo.productName + binding.text2.textTitle.text=getString(R.string.device) + binding.text2.textContent.text=deviceInfo.device + binding.text3.textTitle.text=getString(R.string.board) + binding.text3.textContent.text=deviceInfo.boardName + binding.text4.textTitle.text=getString(R.string.manufacturer) + binding.text4.textContent.text=deviceInfo.manufacturer +// binding.text5.textTitle.text=getString(R.string.baseband) } companion object { diff --git a/myphoneinfo/src/main/res/layout/fragment_system_show.xml b/myphoneinfo/src/main/res/layout/fragment_system_show.xml index cb51b95..06c03dd 100644 --- a/myphoneinfo/src/main/res/layout/fragment_system_show.xml +++ b/myphoneinfo/src/main/res/layout/fragment_system_show.xml @@ -59,6 +59,7 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:textSize="16sp" + android:layout_marginStart="20dp" tools:ignore="RelativeOverlap" /> @@ -77,9 +78,9 @@ - + + + @@ -146,9 +147,9 @@ - + + + @@ -236,20 +237,16 @@ android:id="@+id/idDev1" style="@style/LeftContent" android:layout_marginStart="20dp" - android:layout_width="wrap_content" + android:layout_width="0dp" + android:layout_weight="1" android:layout_height="wrap_content" android:text="@string/apps" android:textColor="@color/right_color" tools:ignore="RelativeOverlap" /> - - diff --git a/myphoneinfo/src/main/res/layout/hard_memory.xml b/myphoneinfo/src/main/res/layout/hard_memory.xml index 0bd54ca..9256580 100644 --- a/myphoneinfo/src/main/res/layout/hard_memory.xml +++ b/myphoneinfo/src/main/res/layout/hard_memory.xml @@ -62,7 +62,6 @@ style="@style/LeftContent" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="2.22 GB used" tools:ignore="RelativeOverlap" /> @@ -87,7 +85,7 @@ android:maxHeight="10dp" android:minHeight="10dp" android:padding="0dp" - android:progress="50" + android:progress="0" android:progressDrawable="@drawable/progress_bg" android:thumb="@drawable/progress_oval" android:thumbOffset="0dp" /> @@ -116,7 +114,6 @@ style="@style/LeftContent" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="2.22 GB used" tools:ignore="RelativeOverlap" /> @@ -141,7 +137,7 @@ android:maxHeight="10dp" android:minHeight="10dp" android:padding="0dp" - android:progress="50" + android:progress="0" android:progressDrawable="@drawable/progress_bg" android:thumb="@drawable/progress_oval" android:thumbOffset="0dp" /> @@ -204,7 +200,6 @@ style="@style/LeftContent" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="2.22 GB used" tools:ignore="RelativeOverlap" /> @@ -231,7 +225,7 @@ android:maxHeight="10dp" android:minHeight="10dp" android:padding="0dp" - android:progress="50" + android:progress="0" android:progressDrawable="@drawable/progress_bg" android:thumb="@drawable/progress_oval" android:thumbOffset="0dp" /> @@ -397,7 +391,6 @@ style="@style/LeftContent" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="2.22 GB used" tools:ignore="RelativeOverlap" /> @@ -421,7 +413,7 @@ android:maxHeight="10dp" android:minHeight="10dp" android:padding="0dp" - android:progress="50" + android:progress="0" android:progressDrawable="@drawable/progress_bg" android:thumb="@drawable/progress_oval" android:thumbOffset="0dp" />