diff --git a/.gitignore b/.gitignore
index 878c2cd..faf530b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
*.iml
.gradle
/local.properties
-.idea
+/.idea/
.DS_Store
/build
/captures
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 1b24be8..555bd02 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -37,9 +37,11 @@ material3Android = "1.3.2"
lifecycleRuntimeKtx = "2.9.2"
composeBom = "2024.04.01"
koin = "4.1.0"
+activity = "1.10.1"
[libraries]
accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanistSystemuicontroller" }
+androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
adaptive = { module = "androidx.compose.material3.adaptive:adaptive", version.ref = "adaptive" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-adaptive = { module = "androidx.compose.material3.adaptive:adaptive" }
diff --git a/myphoneinfo/.gitignore b/myphoneinfo/.gitignore
index 42afabf..b8e39c9 100644
--- a/myphoneinfo/.gitignore
+++ b/myphoneinfo/.gitignore
@@ -1 +1,7 @@
-/build
\ No newline at end of file
+/build
+/.idea/
+*.iml
+*.iws
+*.ipr
+.gradle/
+local.properties
\ No newline at end of file
diff --git a/myphoneinfo/build.gradle.kts b/myphoneinfo/build.gradle.kts
index 8a7d0c2..da16ca0 100644
--- a/myphoneinfo/build.gradle.kts
+++ b/myphoneinfo/build.gradle.kts
@@ -47,6 +47,9 @@ android {
buildFeatures {
compose = true
}
+ buildFeatures{
+ viewBinding = true
+ }
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
@@ -76,4 +79,14 @@ dependencies {
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.material)
+ implementation(libs.androidx.activity)
+ implementation(libs.androidx.constraintlayout)
+ implementation(libs.androidx.navigation.fragment.ktx)
+ implementation(libs.androidx.navigation.ui.ktx)
+ implementation ("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
+ implementation ("androidx.gridlayout:gridlayout:1.0.0")
+ implementation ("com.google.android.material:material:1.12.0")
+
}
diff --git a/myphoneinfo/myphoneinfo b/myphoneinfo/myphoneinfo
new file mode 100644
index 0000000..e1b048d
Binary files /dev/null and b/myphoneinfo/myphoneinfo differ
diff --git a/myphoneinfo/src/main/AndroidManifest.xml b/myphoneinfo/src/main/AndroidManifest.xml
index 57fa1e2..0ffb645 100644
--- a/myphoneinfo/src/main/AndroidManifest.xml
+++ b/myphoneinfo/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -26,4 +61,4 @@
-
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/AppListAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/AppListAdapter.kt
new file mode 100644
index 0000000..6e1b386
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/AppListAdapter.kt
@@ -0,0 +1,50 @@
+package com.xyzshell.myphoneinfo.adapter
+
+import android.app.Activity
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.xyzshell.myphoneinfo.databinding.ItemAppListBinding
+
+
+class AppListAdapter: RecyclerView.Adapter() {
+ private lateinit var context: Context
+ private lateinit var listener: OnShowDialogListener
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): ListViewHolder {
+ context = parent.context
+ val binding= ItemAppListBinding.inflate(LayoutInflater.from(context), parent, false)
+ return ListViewHolder(binding)
+ }
+
+ override fun onBindViewHolder(
+ holder: ListViewHolder,
+ position: Int
+ ) {
+ holder.binding.view.setOnClickListener {
+ listener.onShowAppSelectDialog()
+ }
+ if(position==itemCount-1){
+ holder.binding.view2.visibility=View.VISIBLE
+ }else{
+ holder.binding.view2.visibility=View.GONE
+ }
+ }
+ fun setOnclickListener(listener: OnShowDialogListener) {
+ this.listener = listener
+ }
+
+ override fun getItemCount(): Int {
+ return 13
+ }
+
+ class ListViewHolder(val binding: ItemAppListBinding): RecyclerView.ViewHolder(binding.root)
+ interface OnShowDialogListener {
+ fun onShowAppSelectDialog()
+ }
+
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/CpuListAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/CpuListAdapter.kt
new file mode 100644
index 0000000..745a51c
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/CpuListAdapter.kt
@@ -0,0 +1,32 @@
+package com.xyzshell.myphoneinfo.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.xyzshell.myphoneinfo.databinding.ItemListCpuBinding
+
+class CpuListAdapter: RecyclerView.Adapter() {
+ private lateinit var context: Context
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): ListViewHolder {
+ context = parent.context
+ val binding= ItemListCpuBinding.inflate(LayoutInflater.from(context), parent, false)
+ return ListViewHolder(binding)
+ }
+
+ override fun onBindViewHolder(
+ holder: ListViewHolder,
+ position: Int
+ ) {
+
+ }
+
+ override fun getItemCount(): Int {
+ return 3
+ }
+
+ class ListViewHolder(val binding: ItemListCpuBinding): RecyclerView.ViewHolder(binding.root)
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/ListAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/ListAdapter.kt
new file mode 100644
index 0000000..11d08ef
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/ListAdapter.kt
@@ -0,0 +1,32 @@
+package com.xyzshell.myphoneinfo.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.xyzshell.myphoneinfo.databinding.ItemListBinding
+
+class ListAdapter: RecyclerView.Adapter() {
+ private lateinit var context: Context
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): ListViewHolder {
+ context = parent.context
+ val binding= ItemListBinding.inflate(LayoutInflater.from(context), parent, false)
+ return ListViewHolder(binding)
+ }
+
+ override fun onBindViewHolder(
+ holder: ListViewHolder,
+ position: Int
+ ) {
+
+ }
+
+ override fun getItemCount(): Int {
+ return 3
+ }
+
+ class ListViewHolder(val binding: ItemListBinding): RecyclerView.ViewHolder(binding.root)
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/TempAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/TempAdapter.kt
new file mode 100644
index 0000000..269b23b
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/adapter/TempAdapter.kt
@@ -0,0 +1,43 @@
+package com.xyzshell.myphoneinfo.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.xyzshell.myphoneinfo.databinding.ItemCommonTempBinding
+import com.xyzshell.myphoneinfo.databinding.ItemListBinding
+import com.xyzshell.myphoneinfo.dialog.TempDialogFragment
+
+class TempAdapter: RecyclerView.Adapter() {
+ private lateinit var context: Context
+ private lateinit var listener: OnTempClickListener
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): ListViewHolder {
+ context = parent.context
+ val binding= ItemCommonTempBinding.inflate(LayoutInflater.from(context), parent, false)
+ return ListViewHolder(binding)
+ }
+
+ override fun onBindViewHolder(
+ holder: ListViewHolder,
+ position: Int
+ ) {
+ holder.binding.view.setOnClickListener {
+ listener.onTempClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int {
+ return 3
+ }
+ fun setListener(listener: OnTempClickListener){
+ this.listener = listener
+ }
+
+ class ListViewHolder(val binding: ItemCommonTempBinding): RecyclerView.ViewHolder(binding.root)
+}
+interface OnTempClickListener {
+ fun onTempClick(position: Int)
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseActivity.kt
new file mode 100644
index 0000000..e817d7a
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseActivity.kt
@@ -0,0 +1,34 @@
+package com.xyzshell.myphoneinfo.base
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.viewbinding.ViewBinding
+import com.xyzshell.myphoneinfo.R
+
+abstract class BaseActivity : AppCompatActivity() {
+
+ protected lateinit var binding: VB
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ binding = inflateBinding(layoutInflater)
+ setContentView(binding.root)
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
+ val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
+ insets
+ }
+ initView()
+ initData()
+ }
+
+ protected abstract fun inflateBinding(inflater: LayoutInflater): VB
+
+ protected open fun initView() {}
+
+ protected open fun initData() {}
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseAdapter.kt
new file mode 100644
index 0000000..2da1abd
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseAdapter.kt
@@ -0,0 +1,45 @@
+package com.xyzshell.myphoneinfo.base
+
+import android.content.Context
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import androidx.viewbinding.ViewBinding
+
+abstract class BaseAdapter(
+ protected val mContext: Context
+) : RecyclerView.Adapter>() {
+
+ protected val data: MutableList = mutableListOf()
+
+ fun addData(items: List?) {
+ items?.let {
+ val start = data.size
+ data.addAll(it)
+ notifyItemRangeInserted(start, it.size)
+ }
+ }
+
+ fun setData(items: List?) {
+ data.clear()
+ items?.let { data.addAll(it) }
+ notifyDataSetChanged()
+ }
+
+
+ override fun getItemCount(): Int = data.size
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VHolder {
+ return VHolder(getViewBinding(parent))
+ }
+
+ override fun onBindViewHolder(holder: VHolder, position: Int) {
+ bindItem(holder, data[position])
+ }
+
+
+ protected abstract fun getViewBinding(parent: ViewGroup): T
+ protected abstract fun bindItem(holder: VHolder, item: K)
+
+
+ class VHolder(val vb: V) : RecyclerView.ViewHolder(vb.root)
+}
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseDialogFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseDialogFragment.kt
new file mode 100644
index 0000000..4c3abe6
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseDialogFragment.kt
@@ -0,0 +1,113 @@
+package com.xyzshell.myphoneinfo.base
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import androidx.core.graphics.drawable.toDrawable
+import androidx.fragment.app.DialogFragment
+import androidx.viewbinding.ViewBinding
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.DialogBaseBinding
+
+abstract class BaseDialogFragment(
+ private val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> VB
+) : DialogFragment() {
+
+ private var _binding: DialogBaseBinding? = null
+ private val baseBinding get() = _binding!!
+ private var _contentBinding: VB? = null
+ protected val binding get() = _contentBinding!!
+
+ abstract fun getTitle(): String
+
+ abstract fun getIconRes(): Int?
+
+ open fun getDoubleBtn(): Boolean? = true
+
+
+ open fun onPositiveClick() {}
+ open fun onNegativeClick() {}
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ _binding = DialogBaseBinding.inflate(inflater, container, false)
+
+ // inflate 子类内容到 contentContainer
+ _contentBinding = bindingInflater(inflater, baseBinding.contentContainer, true)
+
+ return baseBinding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ baseBinding.dialogTitle.text = getTitle()
+ getIconRes()?.let {iconRes ->
+ when (iconRes) {
+ 1 -> baseBinding.imageIcon.setImageResource(R.mipmap.battery_ic) // 替换为实际的资源ID
+ 2 -> baseBinding.imageIcon.setImageResource(R.mipmap.wifi)
+ 3 -> baseBinding.imageIcon.setImageResource(R.mipmap.app_full_ic)
+ 4 -> baseBinding.imageIcon.setImageResource(R.mipmap.display)
+ 5 -> baseBinding.imageIcon.setImageResource(R.mipmap.blue_tooth_ic)
+ 6 -> baseBinding.imageIcon.setImageResource(R.mipmap.mem_ic)
+ 7-> baseBinding.imageIcon.setImageResource(R.mipmap.setting_ic)
+ 8 -> baseBinding.imageIcon.setImageResource(R.mipmap.storyge)
+ 9 -> baseBinding.imageIcon.setImageResource(R.mipmap.camera_ic)
+ 10 -> baseBinding.imageIcon.setImageResource(R.mipmap.input_ic)
+ // 添加更多数字对应的图片...
+ else -> baseBinding.imageIcon.setImageResource(R.mipmap.main_logo)
+ }
+ baseBinding.imageIcon.visibility = View.VISIBLE
+ }
+ if(getDoubleBtn() == true){
+ baseBinding.textCancel.visibility = View.VISIBLE
+ baseBinding.textSettings.visibility = View.VISIBLE
+ baseBinding.textOk.visibility = View.GONE
+ }else{
+ baseBinding.textCancel.visibility = View.GONE
+ baseBinding.textSettings.visibility = View.GONE
+ baseBinding.textOk.visibility = View.VISIBLE
+ }
+ baseBinding.textCancel.setOnClickListener {
+ onPositiveClick()
+ dismiss()
+ }
+ baseBinding.textSettings.setOnClickListener {
+ onNegativeClick()
+ dismiss()
+ }
+ baseBinding.textOk.setOnClickListener {
+ dismiss()
+ }
+ }
+
+ override fun onStart() {
+ super.onStart()
+ dialog?.window?.let { window ->
+ window.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+
+ val params = window.attributes
+ val displayMetrics = resources.displayMetrics
+ val margin = (10 * displayMetrics.density).toInt()
+ params.width = displayMetrics.widthPixels - margin * 2
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ window.setGravity(Gravity.CENTER)
+ }
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ _contentBinding = null
+ }
+}
+
+
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseFragment.kt
new file mode 100644
index 0000000..2b0c941
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/base/BaseFragment.kt
@@ -0,0 +1,31 @@
+package com.xyzshell.myphoneinfo.base
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import androidx.viewbinding.ViewBinding
+
+abstract class BaseFragment : Fragment() {
+
+ private var _binding: VB? = null
+ protected val binding get() = _binding!!
+
+
+ abstract fun getViewBinding(inflater: LayoutInflater, container: ViewGroup?): VB
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ _binding = getViewBinding(inflater, container)
+ return binding.root
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null // 避免内存泄漏
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/LabelValueCustomView.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/LabelValueCustomView.kt
new file mode 100644
index 0000000..83dd6f7
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/LabelValueCustomView.kt
@@ -0,0 +1,57 @@
+package com.xyzshell.myphoneinfo.custom
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.view.View
+import android.widget.LinearLayout
+import com.google.android.material.textview.MaterialTextView
+import com.xyzshell.myphoneinfo.R
+import androidx.core.content.withStyledAttributes
+
+
+class LabelValueCustomView @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : LinearLayout(context, attrs, defStyleAttr) {
+
+ private val tvLabel: MaterialTextView
+ private val tvValue: MaterialTextView
+ private val tvSubTitle: MaterialTextView
+
+ init {
+ LayoutInflater.from(context).inflate(R.layout.common_dialog_item, this, true)
+ tvValue = findViewById(R.id.tv_value)
+ tvLabel = findViewById(R.id.tv_label)
+ tvSubTitle = findViewById(R.id.tv_sub_title)
+
+ orientation = HORIZONTAL
+
+ attrs?.let {
+ context.withStyledAttributes(it, R.styleable.LabelValueCustomView) {
+ val label = getString(R.styleable.LabelValueCustomView_labelText) ?: ""
+ val value = getString(R.styleable.LabelValueCustomView_valueText) ?: ""
+ val subtitle = getString(R.styleable.LabelValueCustomView_subTitleText)
+
+ tvSubTitle.run {
+ visibility = if (subtitle.isNullOrBlank()) GONE else VISIBLE
+ text = subtitle
+ }
+ tvLabel.text = label
+ tvValue.text = value
+
+ }
+ }
+ }
+
+ fun setLabel(text: String) {
+ tvLabel.text = text
+ }
+
+ fun setValue(text: String) {
+ tvValue.text = text
+ }
+
+ fun getValue(): String = tvValue.text.toString()
+}
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SignalStrengthView.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SignalStrengthView.kt
new file mode 100644
index 0000000..4ec9d72
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SignalStrengthView.kt
@@ -0,0 +1,66 @@
+package com.xyzshell.myphoneinfo.custom
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Color
+import android.graphics.Paint
+import android.graphics.RectF
+import android.util.AttributeSet
+import android.view.View
+import androidx.core.graphics.toColorInt
+
+class SignalStrengthView @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : View(context, attrs, defStyleAttr) {
+
+ private val barPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
+ style = Paint.Style.FILL
+ }
+
+ private val inactiveColor = "#eeeeee".toColorInt()
+ private val activeColor = "#1E8C29".toColorInt()
+
+ private var strengthLevel: Int = 0
+ private val maxBars = 5
+
+ // 设置信号强度 (0-5)
+ fun setStrength(level: Int) {
+ strengthLevel = level.coerceIn(0, maxBars)
+ invalidate() // 触发重绘
+ }
+
+ // 获取当前信号强度
+ fun getStrength(): Int = strengthLevel
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+
+ val width = width.toFloat()
+ val height = height.toFloat()
+
+ // 计算每个柱状条的宽度和间距
+ val barWidth = width / (maxBars * 2 - 1)
+ val spacing = barWidth/4
+
+ // 绘制5个柱状条
+ for (i in 0 until maxBars) {
+ // 确定柱状条的颜色
+ val color = if (i < strengthLevel) activeColor else inactiveColor
+ barPaint.color = color
+
+ // 计算柱状条的位置和高度
+ val left = i * (barWidth + spacing)
+ val barHeight = height * (i + 1) / maxBars
+ val top = height - barHeight
+ val right = left + barWidth
+ val bottom = height
+
+ // 绘制圆角矩形柱状条
+ val rect = RectF(left, top, right, bottom)
+ val cornerRadius = barWidth / 4
+ canvas.drawRoundRect(rect, cornerRadius, cornerRadius, barPaint)
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AnalysisActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AnalysisActivity.kt
new file mode 100644
index 0000000..f4eb363
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AnalysisActivity.kt
@@ -0,0 +1,52 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityAnalysisBinding
+import com.xyzshell.myphoneinfo.dialog.DialogCpuInfo
+
+class AnalysisActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityAnalysisBinding
+ private var dialogCpuInfo: DialogCpuInfo? = null
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityAnalysisBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ binding.timeShow.setOnClickListener {
+ startActivity(Intent(this, CpuStatusActivity::class.java))
+ }
+ binding.backBtn.setOnClickListener { finish() }
+ initText()
+ initShow()
+ }
+
+ private fun initShow() {
+ binding.infoShow.setOnClickListener {
+ dialogCpuInfo = dialogCpuInfo ?: DialogCpuInfo()
+ dialogCpuInfo?.show(supportFragmentManager, "")
+ }
+ }
+
+ private fun initText() {
+ //processor
+ binding.proText1.textTitle.text=getString(R.string.hardware)
+ binding.proText2.textTitle.text=getString(R.string.manufacturer)
+ binding.proText3.textTitle.text=getString(R.string.marketing_name)
+ binding.proText4.textTitle.text=getString(R.string.process)
+ binding.proText5.textTitle.text=getString(R.string.cores)
+ binding.proText6.textTitle.text=getString(R.string.CPU)
+ binding.proText7.textTitle.text=getString(R.string.frequencies)
+ binding.proText8.textTitle.text=getString(R.string.architecture)
+ binding.proText9.textTitle.text=getString(R.string.ABI)
+ binding.proText10.textTitle.text=getString(R.string.supported_ABls)
+ binding.proText11.textTitle.text=getString(R.string.features)
+ //cluster1
+ binding.clu1Text1.textTitle.text=getString(R.string.type)
+ binding.clu1Text2.textTitle.text=getString(R.string.vendor)
+ binding.clu1Text3.textTitle.text=getString(R.string.cluster)
+ binding.clu1Text4.textTitle.text=getString(R.string.max_frequency)
+ binding.clu1Text5.textTitle.text=getString(R.string.min_frequency)
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt
new file mode 100644
index 0000000..1add48c
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt
@@ -0,0 +1,48 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.adapter.AppListAdapter
+import com.xyzshell.myphoneinfo.databinding.FragmentAppsBinding
+import com.xyzshell.myphoneinfo.dialog.AppDialogFragment
+
+class AppsFragment : Fragment(),AppListAdapter.OnShowDialogListener {
+ private lateinit var binding: FragmentAppsBinding
+ private lateinit var dialogFragment: AppDialogFragment
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ binding = FragmentAppsBinding.inflate(inflater, container, false)
+ val adapter= AppListAdapter()
+ adapter.setOnclickListener(this)
+ binding.recyclerView.adapter = adapter
+ binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
+ return binding.root
+ }
+
+ companion object {
+ @JvmStatic
+ fun newInstance() =
+ AppsFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+
+ override fun onShowAppSelectDialog() {
+ dialogFragment = AppDialogFragment()
+ dialogFragment.show(requireActivity().supportFragmentManager, "AppDialogFragment")
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt
new file mode 100644
index 0000000..b124dcd
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt
@@ -0,0 +1,31 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+
+class BatteryFragment : Fragment() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_battery, container, false)
+ }
+
+ companion object {
+ fun newInstance() =
+ BatteryFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BlueToothActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BlueToothActivity.kt
new file mode 100644
index 0000000..5cd6da2
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BlueToothActivity.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.adapter.ListAdapter
+import com.xyzshell.myphoneinfo.databinding.ActivityBlueToothBinding
+
+class BlueToothActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityBlueToothBinding
+ companion object{
+ val TITLE_KEY="title"
+ }
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityBlueToothBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ binding.recyclerView.adapter= ListAdapter()
+ binding.recyclerView.layoutManager= LinearLayoutManager(this)
+ binding.titleText.text=intent.getStringExtra(TITLE_KEY)
+ binding.backBtn.setOnClickListener { finish() }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt
new file mode 100644
index 0000000..5d2b8cb
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt
@@ -0,0 +1,61 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentCameraBinding
+import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
+
+class CameraFragment : Fragment() {
+ private lateinit var binding:FragmentCameraBinding;
+ private var dialogCamera0: DialogCameraMore? = null
+ private var dialogCamera1: DialogCameraMore? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ binding = FragmentCameraBinding.inflate(inflater, container, false)
+ initText()
+ binding.rearMore.setOnClickListener {
+ dialogCamera0= dialogCamera0?:DialogCameraMore(0)
+ dialogCamera0?.show(childFragmentManager, "DialogCameraMore0")
+ }
+ binding.frontMore.setOnClickListener {
+ dialogCamera1= dialogCamera1?:DialogCameraMore(1)
+ dialogCamera1?.show(childFragmentManager, "DialogCameraMore1")
+ }
+ return binding.root
+ }
+
+ private fun initText() {
+ binding.rearCheck1.content.text=getString(R.string.optical_image_stabilization)
+ binding.rearCheck2.content.text=getString(R.string.flash)
+ binding.frontCheck1.content.text=getString(R.string.optical_image_stabilization)
+ binding.frontCheck2.content.text=getString(R.string.flash)
+ binding.videoCheck1.content.text=getString(R.string.hight_speed_video)
+ binding.videoCheck2.content.text=getString(R.string.video_stabilization)
+ }
+
+ companion object {
+
+ @JvmStatic
+ fun newInstance() =
+ CameraFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ColorsActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ColorsActivity.kt
new file mode 100644
index 0000000..62d985e
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ColorsActivity.kt
@@ -0,0 +1,35 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityColorsBinding
+import androidx.core.graphics.toColorInt
+
+class ColorsActivity : AppCompatActivity() {
+ private lateinit var binding:ActivityColorsBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding=ActivityColorsBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ val colorList = listOf("#D9D9D9","#FF6262","#C3FF62","#62FFC8","#46CEFF","#9946FF","#FFE062","#FF9C46","#FF46D7","#101010")
+ binding.colorPage1.continueL.setOnClickListener {
+ binding.colorPage1.continueL.visibility= View.GONE
+ binding.colorPage1.colorL.visibility= View.VISIBLE
+ }
+ val colorView=listOf(binding.colorPage1.color1,binding.colorPage1.color2,binding.colorPage1.color3,binding.colorPage1.color4,binding.colorPage1.color5,binding.colorPage1.color6,binding.colorPage1.color7,binding.colorPage1.color8,binding.colorPage1.color9)
+ for (i in 0 until colorList.size-1) {
+ colorView[i].setOnClickListener { v->
+ binding.colorPage1.root.visibility= View.GONE
+ binding.colorPage2.root.visibility= View.VISIBLE
+ binding.colorPage2.view.setBackgroundColor(colorList[i].toColorInt())
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuAdapter.kt
new file mode 100644
index 0000000..2f2d23b
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuAdapter.kt
@@ -0,0 +1,24 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.base.BaseAdapter
+import com.xyzshell.myphoneinfo.databinding.DashboardCpuAdapterBinding
+
+class CpuAdapter(context: Context) : BaseAdapter(context) {
+ override fun getViewBinding(parent: ViewGroup): DashboardCpuAdapterBinding =
+ DashboardCpuAdapterBinding.inflate(
+ LayoutInflater.from(parent.context),
+ parent,
+ false
+ )
+
+ override fun bindItem(
+ holder: VHolder,
+ item: String
+ ) {
+ holder.vb.textCpuContent.text = item
+
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuStatusActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuStatusActivity.kt
new file mode 100644
index 0000000..5a0b3e7
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CpuStatusActivity.kt
@@ -0,0 +1,40 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.xyzshell.myphoneinfo.adapter.CpuListAdapter
+import com.xyzshell.myphoneinfo.databinding.ActivityCpuStatusBinding
+import com.xyzshell.myphoneinfo.dialog.CustomPopView
+
+
+class CpuStatusActivity : AppCompatActivity() {
+ private lateinit var binding : ActivityCpuStatusBinding
+ private lateinit var customPopView: CustomPopView
+ private lateinit var popSleepView: CustomPopView
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityCpuStatusBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ customPopView =CustomPopView(this,0,callback = {text->
+ binding.popText.text = text
+ })
+ popSleepView = CustomPopView(this,1,callback = {text->
+
+ })
+ binding.popClick.setOnClickListener {
+ customPopView.show(binding.topTitle)
+ }
+ binding.moreBtn.setOnClickListener {
+ popSleepView.show(binding.moreBtn)
+ }
+ binding.cpuList.adapter= CpuListAdapter()
+ binding.cpuList.layoutManager= LinearLayoutManager(this)
+ binding.backBtn.setOnClickListener { finish() }
+ }
+ override fun onDestroy() {
+ if (customPopView.isShowing()) {
+ customPopView.dismiss();
+ }
+ super.onDestroy()}
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt
new file mode 100644
index 0000000..31bd3ed
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt
@@ -0,0 +1,145 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.GridLayoutManager
+import com.xyzshell.myphoneinfo.base.BaseFragment
+import com.xyzshell.myphoneinfo.databinding.FragmentDashboardBinding
+import com.xyzshell.myphoneinfo.dialog.DialogAppInstall
+import com.xyzshell.myphoneinfo.dialog.DialogBattery
+import com.xyzshell.myphoneinfo.dialog.DialogDisplay
+import com.xyzshell.myphoneinfo.dialog.DialogMemory
+import com.xyzshell.myphoneinfo.dialog.DialogNetwork
+import com.xyzshell.myphoneinfo.dialog.DialogOperating
+import com.xyzshell.myphoneinfo.dialog.DialogStorage
+
+
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+class DashboardFragment : BaseFragment() {
+
+ private var param1: String? = null
+ private var param2: String? = null
+
+ private var dialogBattery: DialogBattery? = null
+ private var dialogNetwork: DialogNetwork? = null
+ private var dialogDisplay: DialogDisplay? = null
+ private var dialogOperating: DialogOperating? = null
+ private var dialogAppInstall: DialogAppInstall? = null
+ private var dialogMemory: DialogMemory? = null
+ private var dialogStorage: DialogStorage? = null
+
+
+ companion object {
+ @JvmStatic
+ fun newInstance() =
+ DashboardFragment().apply {
+ arguments = Bundle().apply {
+// putString(ARG_PARAM1, param1)
+// putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+// param1 = it.getString(ARG_PARAM1)
+// param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+
+ override fun getViewBinding(
+ inflater: LayoutInflater,
+ container: ViewGroup?
+ ): FragmentDashboardBinding {
+ return FragmentDashboardBinding.inflate(inflater, container, false)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ initCpu()
+ initClick()
+
+
+ }
+
+ private fun initCpu() {
+ binding.layoutCpu.run {
+ recyclerCpu.run {
+ adapter = CpuAdapter(requireContext()).apply {
+ setData(
+ listOf(
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz",
+ "1804 MHz"
+ )
+ )
+ }
+ layoutManager = GridLayoutManager(requireContext(), 2)
+
+ }
+ }
+
+ }
+
+ private fun initClick() {
+ binding.layoutCpu.showCpu.setOnClickListener {
+ startActivity(Intent(requireContext(), CpuStatusActivity::class.java))
+ }
+ binding.layoutCpu.moduleCpu.setOnClickListener {
+ startActivity(Intent(requireContext(), TemperatureActivity::class.java))
+ }
+ binding.layoutCenter.run {
+ relayoutBattery.setOnClickListener {
+ dialogBattery = dialogBattery ?: DialogBattery()
+ dialogBattery?.show(parentFragmentManager, "")
+ }
+ relayoutNetwork.setOnClickListener {
+ dialogNetwork = dialogNetwork ?: DialogNetwork()
+ dialogNetwork?.show(parentFragmentManager, "")
+ }
+ relayoutDisplay.setOnClickListener {
+ dialogDisplay = dialogDisplay?: DialogDisplay()
+ dialogDisplay?.show(parentFragmentManager, "")
+ }
+ relayoutApps.setOnClickListener {
+ dialogAppInstall = dialogAppInstall ?: DialogAppInstall()
+ dialogAppInstall?.show(parentFragmentManager, "")
+ }
+ relayoutRam.setOnClickListener {
+ dialogMemory = dialogMemory ?: DialogMemory()
+ dialogMemory?.show(parentFragmentManager, "")
+ }
+ relayoutStorage.setOnClickListener {
+ dialogStorage = dialogStorage ?: DialogStorage()
+ dialogStorage?.show(parentFragmentManager, "")
+ }
+ }
+ binding.layoutTop.root.setOnClickListener {
+ dialogOperating = dialogOperating ?: DialogOperating()
+ dialogOperating?.show(parentFragmentManager, "")
+ }
+ binding.layoutBottom.run {
+ relayoutTools.setOnClickListener {
+ startActivity(Intent(requireContext(), ToolsActivity::class.java))
+ }
+ relayoutTests.setOnClickListener {
+ startActivity(Intent(requireContext(), TestActivity::class.java))
+ }
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt
new file mode 100644
index 0000000..95d08a2
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt
@@ -0,0 +1,120 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentHardWareBinding
+import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth
+import com.xyzshell.myphoneinfo.dialog.DialogDiskPart
+import com.xyzshell.myphoneinfo.dialog.DialogExtension
+import com.xyzshell.myphoneinfo.dialog.DialogInput
+
+class HardWareFragment : Fragment() {
+ private lateinit var binding: FragmentHardWareBinding
+ private var dialogBlueTooth: DialogBlueTooth? = null
+ private var dialogInput: DialogInput? = null
+ private var dialogExtension: DialogExtension? = null
+ private var dialogDiskPart: DialogDiskPart? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ binding = FragmentHardWareBinding.inflate(inflater, container, false)
+ binding.cpuBtn.setOnClickListener {
+ var intent=Intent(requireContext(), AnalysisActivity::class.java)
+ startActivity(intent)
+ }
+ binding.pair1.setOnClickListener {
+ dialogBlueTooth= dialogBlueTooth?: DialogBlueTooth()
+ dialogBlueTooth?.show(childFragmentManager, "BlueTooth1")
+ }
+ 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 {
+ dialogDiskPart=dialogDiskPart?: DialogDiskPart()
+ dialogDiskPart?.show(childFragmentManager, "DiskPart")
+ }
+ initText()
+ return binding.root
+ }
+
+ private fun initText() {
+ //processor
+ binding.text1.textTitle.text = getString(R.string.vendor)
+ binding.text1.textContent.text=getString(R.string.apps)
+ binding.text2.textTitle.text = getString(R.string.hardware)
+ binding.text3.textTitle.text = getString(R.string.cores)
+ binding.text4.textTitle.text = getString(R.string.CPU)
+ 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)
+ binding.cpuText3.textTitle.text=getString(R.string.max_frequency)
+ binding.cpuText4.textTitle.text=getString(R.string.architecture)
+ binding.cpuText5.textTitle.text=getString(R.string.cores)
+ binding.cpuText6.textTitle.text=getString(R.string.total_l2)
+ binding.cpuText7.textTitle.text=getString(R.string.bus_width)
+ binding.cpuText8.textTitle.text=getString(R.string.vulkan_support)
+ binding.cpuText9.textTitle.text=getString(R.string.vulkan_API)
+
+ //display
+ binding.disText1.textTitle.text=getString(R.string.resolution)
+ binding.disText2.textTitle.text=getString(R.string.screen_density)
+ binding.disText3.textTitle.text=getString(R.string.screen_density_d)
+ binding.disText4.textTitle.text=getString(R.string.screen_size_e)
+ binding.disText5.textTitle.text=getString(R.string.aspect_ratio)
+ binding.disText6.textTitle.text=getString(R.string.refresh_rate)
+ binding.disText7.textTitle.text=getString(R.string.wide_color_gamut)
+ binding.disText8.textTitle.text=getString(R.string.hdr_support)
+
+ //memory
+ binding.memText1.textTitle.text=getString(R.string.ram_size)
+
+ //storage
+ binding.storText1.textTitle.text=getString(R.string.filesystem)
+ binding.storText2.textTitle.text=getString(R.string.block_size)
+
+ //Audio
+ binding.check1.content.text=getString(R.string.low_audio)
+ binding.check2.content.text=getString(R.string.pro_audio)
+ binding.check3.content.text=getString(R.string.midl)
+
+
+
+ }
+
+ companion object {
+ @JvmStatic
+ fun newInstance() =
+ HardWareFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/NetworkFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/NetworkFragment.kt
new file mode 100644
index 0000000..475d6f9
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/NetworkFragment.kt
@@ -0,0 +1,65 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentNetworkBinding
+import com.xyzshell.myphoneinfo.dialog.ShowLoadFragment
+
+class NetworkFragment : Fragment() {
+
+ private var status=1//0:未连接,1:已连接
+private lateinit var binding:FragmentNetworkBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ // Inflate the layout for this fragment
+ binding = FragmentNetworkBinding.inflate(inflater, container, false)
+// binding.signalStrength.setStrength(4)
+ return binding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ if(status==0){
+ binding.noConnect.visibility=View.VISIBLE
+ binding.connectData.visibility=View.GONE
+ binding.wifiDev1.text="Disconnected"
+ binding.wifiList.visibility=View.GONE
+ binding.llPubShow.visibility=View.GONE
+ }else{
+ binding.noConnect.visibility=View.GONE
+ binding.connectData.visibility=View.VISIBLE
+ binding.wifiDev1.text="Connected"
+ binding.wifiList.visibility=View.VISIBLE
+ binding.llPubShow.visibility=View.VISIBLE
+ }
+ binding.pubShow.setOnClickListener{
+ val tag = "showLoadFragment"
+ if (requireActivity().supportFragmentManager.findFragmentByTag(tag) == null) {
+ val showLoadFragment = ShowLoadFragment()
+ showLoadFragment.show(requireActivity().supportFragmentManager, tag)
+ }
+ }
+ }
+
+ companion object {
+
+ @JvmStatic
+ fun newInstance() =
+ NetworkFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorEachActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorEachActivity.kt
new file mode 100644
index 0000000..3f39c59
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorEachActivity.kt
@@ -0,0 +1,44 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivitySensorEachBinding
+import com.xyzshell.myphoneinfo.dialog.CustomPopView
+
+class SensorEachActivity : AppCompatActivity() {
+ companion object{
+ const val TOP_TITLE = "title"
+ }
+ private lateinit var customPopView: CustomPopView
+ private lateinit var binding: ActivitySensorEachBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivitySensorEachBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ val stringExtra = intent.getStringExtra(TOP_TITLE)
+ binding.title.text = stringExtra
+ binding.imgBack.setOnClickListener {
+ finish()
+ }
+ customPopView =CustomPopView(this,4,callback = {text->
+
+ })
+ binding.imageTool.setOnClickListener {
+ customPopView.show(binding.imageTool)
+ }
+ initText()
+ }
+
+ private fun initText() {
+ binding.infoText1.textTitle.text = getString(R.string.manufacturer)
+ binding.infoText2.textTitle.text = getString(R.string.model)
+ binding.infoText3.textTitle.text = getString(R.string.resolution)
+ binding.infoText4.textTitle.text = getString(R.string.maximum_range)
+ binding.infoText5.textTitle.text = getString(R.string.power)
+ binding.infoText6.textTitle.text = getString(R.string.wakeup_sensor)
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorsFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorsFragment.kt
new file mode 100644
index 0000000..17bdf48
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SensorsFragment.kt
@@ -0,0 +1,140 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentSensorsBinding
+
+class SensorsFragment : Fragment() {
+private lateinit var binding: FragmentSensorsBinding
+
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ binding = FragmentSensorsBinding.inflate(inflater, container, false)
+ initView()
+ binding.sensor1.root.setOnClickListener {
+ val intent = Intent(requireContext(), TemperatureActivity::class.java)
+ startActivity(intent)
+ }
+ binding.sensor2.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.accelerometer))
+ startActivity(intent)
+ }
+ binding.sensor3.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.magnetic_field))
+ startActivity(intent)
+ }
+ binding.sensor4.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.orientation))
+ startActivity(intent)
+ }
+ binding.sensor5.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.light))
+ startActivity(intent)
+ }
+ binding.sensor6.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.proximity))
+ startActivity(intent)
+ }
+ binding.sensor7.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.gravity))
+ startActivity(intent)
+ }
+ binding.sensor8.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.linear_acceleration))
+ startActivity(intent)
+ }
+ binding.sensor9.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.rotation_vector))
+ startActivity(intent)
+ }
+ binding.sensor10.root.setOnClickListener {
+ val intent = Intent(requireContext(), SensorEachActivity::class.java)
+ intent.putExtra(SensorEachActivity.TOP_TITLE, getString(R.string.step_counter))
+ startActivity(intent)
+ }
+ return binding.root
+ }
+
+ private fun initView() {
+ binding.sensor1.sensorName.text=getString(R.string.temperatures)
+ binding.sensor2.sensorName.text=getString(R.string.accelerometer)
+ binding.sensor3.sensorName.text=getString(R.string.magnetic_field)
+ binding.sensor4.sensorName.text=getString(R.string.orientation)
+ binding.sensor5.sensorName.text=getString(R.string.light)
+ binding.sensor6.sensorName.text=getString(R.string.proximity)
+ binding.sensor7.sensorName.text=getString(R.string.gravity)
+ binding.sensor8.sensorName.text=getString(R.string.linear_acceleration)
+ binding.sensor9.sensorName.text=getString(R.string.rotation_vector)
+ binding.sensor10.sensorName.text=getString(R.string.step_counter)
+
+ binding.hallText1.textTitle.text=getString(R.string.manufacturer)
+ binding.hallText2.textTitle.text=getString(R.string.type)
+ binding.hallText3.textTitle.text=getString(R.string.resolution)
+ binding.hallText4.textTitle.text=getString(R.string.maximum_range)
+ binding.hallText5.textTitle.text=getString(R.string.power)
+ binding.hallText6.textTitle.text=getString(R.string.wakeup_sensor)
+
+ binding.signText1.textTitle.text=getString(R.string.manufacturer)
+ binding.signText2.textTitle.text=getString(R.string.type)
+ binding.signText3.textTitle.text=getString(R.string.resolution)
+ binding.signText4.textTitle.text=getString(R.string.maximum_range)
+ binding.signText5.textTitle.text=getString(R.string.power)
+ binding.signText6.textTitle.text=getString(R.string.wakeup_sensor)
+
+ binding.geoText1.textTitle.text=getString(R.string.manufacturer)
+ binding.geoText2.textTitle.text=getString(R.string.type)
+ binding.geoText3.textTitle.text=getString(R.string.resolution)
+ binding.geoText4.textTitle.text=getString(R.string.maximum_range)
+ binding.geoText5.textTitle.text=getString(R.string.power)
+ binding.geoText6.textTitle.text=getString(R.string.wakeup_sensor)
+
+ binding.rpcText1.textTitle.text=getString(R.string.manufacturer)
+ binding.rpcText2.textTitle.text=getString(R.string.type)
+ binding.rpcText3.textTitle.text=getString(R.string.resolution)
+ binding.rpcText4.textTitle.text=getString(R.string.maximum_range)
+ binding.rpcText5.textTitle.text=getString(R.string.power)
+ binding.rpcText6.textTitle.text=getString(R.string.wakeup_sensor)
+
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment SensorsFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance() =
+ SensorsFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt
new file mode 100644
index 0000000..d4dda57
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/SystemShowFragment.kt
@@ -0,0 +1,33 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.xyzshell.myphoneinfo.R
+
+class SystemShowFragment : Fragment() {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ return inflater.inflate(R.layout.fragment_system_show, container, false)
+ }
+
+ companion object {
+ @JvmStatic
+ fun newInstance() =
+ SystemShowFragment().apply {
+ arguments = Bundle().apply {
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TemperatureActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TemperatureActivity.kt
new file mode 100644
index 0000000..8ee7c28
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TemperatureActivity.kt
@@ -0,0 +1,43 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import android.view.Gravity
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.adapter.OnTempClickListener
+import com.xyzshell.myphoneinfo.adapter.TempAdapter
+import com.xyzshell.myphoneinfo.databinding.ActivityTemperatureBinding
+import com.xyzshell.myphoneinfo.dialog.CustomPopView
+import com.xyzshell.myphoneinfo.dialog.TempDialogFragment
+
+class TemperatureActivity : AppCompatActivity(),OnTempClickListener {
+ private lateinit var binding: ActivityTemperatureBinding
+ private lateinit var customPopView: CustomPopView
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityTemperatureBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ binding.imageBack.setOnClickListener {
+ finish()
+ }
+ val tempAdapter = TempAdapter()
+ tempAdapter.setListener(this)
+ binding.rvTemperature.adapter = tempAdapter
+ binding.rvTemperature.layoutManager =LinearLayoutManager(this)
+ customPopView =CustomPopView(this,3,callback = {text->
+
+ })
+ binding.imageTool.setOnClickListener {
+ customPopView.show(binding.imageTool)
+ }
+ }
+
+ override fun onTempClick(position: Int) {
+ val tempDialog = TempDialogFragment()
+ tempDialog.show(supportFragmentManager, "tempDialog")
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestActivity.kt
new file mode 100644
index 0000000..51d9a0a
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestActivity.kt
@@ -0,0 +1,103 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityTestBinding
+
+class TestActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityTestBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityTestBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ initView()
+ initClick()
+ }
+
+ private fun initClick() {
+ binding.backBtn.setOnClickListener { finish() }
+ binding.toolItem1.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.flashlight))
+ startActivity(intent)
+ }
+ binding.toolItem2.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.vibration))
+ startActivity(intent)
+ }
+ binding.toolItem3.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.buttons))
+ startActivity(intent)
+ }
+ binding.toolItem4.root.setOnClickListener {
+ intent = Intent(this, TouchActivity::class.java)
+ startActivity(intent)
+ }
+ binding.toolItem5.root.setOnClickListener {
+ intent = Intent(this, ColorsActivity::class.java)
+ startActivity(intent)
+ }
+ binding.toolItem6.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.backlight))
+ startActivity(intent)
+ }
+ binding.toolItem7.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.light_sensor))
+ startActivity(intent)
+ }
+ binding.toolItem8.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.proximity))
+ startActivity(intent)
+ }
+ binding.toolItem9.root.setOnClickListener {
+ intent = Intent(this, TestOtherActivity::class.java)
+ intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.accelerometer))
+ startActivity(intent)
+ }
+ }
+
+ private fun initView() {
+ binding.toolItem1.ivIcon.setImageResource(R.mipmap.flash)
+ binding.toolItem1.tvLabel.text = getString(R.string.flashlight)
+ binding.toolItem1.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem2.ivIcon.setImageResource(R.mipmap.vibration)
+ binding.toolItem2.tvLabel.text = getString(R.string.vibration)
+ binding.toolItem2.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem3.ivIcon.setImageResource(R.mipmap.button)
+ binding.toolItem3.tvLabel.text = getString(R.string.buttons)
+ binding.toolItem3.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem4.ivIcon.setImageResource(R.mipmap.multi)
+ binding.toolItem4.tvLabel.text = getString(R.string.multitouch)
+ binding.toolItem4.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem5.ivIcon.setImageResource(R.mipmap.display)
+ binding.toolItem5.tvLabel.text = getString(R.string.displays)
+ binding.toolItem5.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem6.ivIcon.setImageResource(R.mipmap.back)
+ binding.toolItem6.tvLabel.text = getString(R.string.backlight)
+ binding.toolItem6.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem7.ivIcon.setImageResource(R.mipmap.light)
+ binding.toolItem7.tvLabel.text = getString(R.string.light_sensor)
+ binding.toolItem7.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem8.ivIcon.setImageResource(R.mipmap.proxi)
+ binding.toolItem8.tvLabel.text = getString(R.string.proximity)
+ binding.toolItem8.ivEnd.setImageResource(R.mipmap.vector)
+
+ binding.toolItem9.ivIcon.setImageResource(R.mipmap.acceler)
+ binding.toolItem9.tvLabel.text = getString(R.string.accelerometer)
+ binding.toolItem9.ivEnd.setImageResource(R.mipmap.vector)
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestOtherActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestOtherActivity.kt
new file mode 100644
index 0000000..7cd0137
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TestOtherActivity.kt
@@ -0,0 +1,64 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import android.view.View
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityTestOtherBinding
+
+class TestOtherActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityTestOtherBinding
+
+ companion object {
+ var TYPE_KEY = "type"
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityTestOtherBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ binding.back.setOnClickListener { finish() }
+ when (intent.getStringExtra(TYPE_KEY)) {
+ getString(R.string.flashlight) -> {
+ binding.title.text = getString(R.string.flashlight)
+ binding.icon.setImageResource(R.mipmap.big_icon_1)
+ }
+
+ getString(R.string.vibration) -> {
+ binding.title.text = getString(R.string.vibration)
+ binding.icon.setImageResource(R.mipmap.big_icon_2)
+ }
+
+ getString(R.string.buttons) -> {
+ binding.title.text = getString(R.string.buttons)
+ binding.icon.setImageResource(R.mipmap.big_icon_3)
+ binding.button.visibility = View.VISIBLE
+ binding.titleDialog.text=getString(R.string.did_you_get_feedback)
+ }
+
+ getString(R.string.backlight) -> {
+ binding.title.text = getString(R.string.backlight)
+ binding.icon.setImageResource(R.mipmap.big_icon_4)
+ binding.backLight.visibility = View.VISIBLE
+ binding.titleDialog.text=getString(R.string.did_you_get_feedback)
+ }
+ getString(R.string.light_sensor)->{
+ binding.title.text = getString(R.string.light_sensor)
+ binding.icon.visibility = View.GONE
+ binding.sensor.visibility = View.VISIBLE
+ }
+ getString(R.string.proximity)->{
+ binding.title.text = getString(R.string.proximity)
+ binding.icon.visibility = View.GONE
+ binding.proximity.visibility = View.VISIBLE
+ }
+ getString(R.string.accelerometer)->{
+ binding.title.text = getString(R.string.accelerometer)
+ binding.icon.visibility = View.GONE
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ToolsActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ToolsActivity.kt
new file mode 100644
index 0000000..d591c66
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/ToolsActivity.kt
@@ -0,0 +1,70 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityToolsBinding
+import androidx.core.view.isVisible
+
+class ToolsActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityToolsBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityToolsBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ binding.toolItem1.ivIcon.setImageResource(R.mipmap.key)
+ binding.toolItem1.tvLabel.text=getString(R.string.root_check)
+ binding.noDevice.visibility=View.GONE
+
+ binding.toolItem2.ivIcon.setImageResource(R.mipmap.blue_tooth)
+ binding.toolItem2.tvLabel.text=getString(R.string.bluetooth)
+ binding.llBlue.visibility=View.GONE
+
+
+ binding.toolItem3.ivIcon.setImageResource(R.mipmap.cpu)
+ binding.toolItem3.tvLabel.text=getString(R.string.cpu_analysis)
+ initView()
+ }
+
+ private fun initView() {
+ binding.toolItem1.root.setOnClickListener {
+ var isExpand = binding.noDevice.isVisible
+ if(isExpand){
+ binding.noDevice.visibility=View.GONE
+ }else{
+ binding.noDevice.visibility=View.VISIBLE
+ }
+ }
+ binding.toolItem2.root.setOnClickListener {
+ var isExpand = binding.llBlue.isVisible
+ if(isExpand){
+ binding.llBlue.visibility=View.GONE
+ }else{
+ binding.llBlue.visibility=View.VISIBLE
+ }
+ }
+ binding.llPair.setOnClickListener {
+ intent=Intent(this, BlueToothActivity::class.java)
+ intent.putExtra(BlueToothActivity.TITLE_KEY, getString(R.string.paired_devices))
+ startActivity(intent)
+ }
+ binding.llNear.setOnClickListener {
+ intent=Intent(this, BlueToothActivity::class.java)
+ intent.putExtra(BlueToothActivity.TITLE_KEY, getString(R.string.nearby_devices))
+ startActivity(intent)
+ }
+ binding.tool3.setOnClickListener {
+ intent=Intent(this, AnalysisActivity::class.java)
+ startActivity(intent)
+ }
+ binding.ivBack.setOnClickListener {
+ finish()
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TouchActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TouchActivity.kt
new file mode 100644
index 0000000..82eaa84
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/TouchActivity.kt
@@ -0,0 +1,18 @@
+package com.xyzshell.myphoneinfo.dashboard
+
+import android.os.Bundle
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.ActivityTouchBinding
+
+class TouchActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityTouchBinding
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityTouchBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/AppDialogFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/AppDialogFragment.kt
new file mode 100644
index 0000000..821c41f
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/AppDialogFragment.kt
@@ -0,0 +1,59 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import androidx.core.graphics.drawable.toDrawable
+import androidx.fragment.app.DialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogAppClickBinding
+
+class AppDialogFragment : DialogFragment() {
+
+ private var _binding: DialogAppClickBinding? = null
+ private val baseBinding get() = _binding!!
+
+
+ open fun onPositiveClick() {}
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ _binding = DialogAppClickBinding.inflate(inflater, container, false)
+ return baseBinding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ baseBinding.textCancel.setOnClickListener {
+ onPositiveClick()
+ dismiss()
+ }
+ }
+
+ override fun onStart() {
+ super.onStart()
+ dialog?.window?.let { window ->
+ window.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+
+ val params = window.attributes
+ val displayMetrics = resources.displayMetrics
+ val margin = (10 * displayMetrics.density).toInt()
+ params.width = displayMetrics.widthPixels - margin * 2
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ window.setGravity(Gravity.CENTER)
+ }
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/CustomPopView.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/CustomPopView.kt
new file mode 100644
index 0000000..9ffaa7a
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/CustomPopView.kt
@@ -0,0 +1,142 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.annotation.SuppressLint
+import android.content.Context
+import android.graphics.Color
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.PopupWindow
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.PopupLayoutBinding
+import androidx.core.graphics.drawable.toDrawable
+
+class CustomPopView(context: Context, type: Int, private val callback: (String) -> Unit) {
+ private val context: Context = context
+ private val type: Int = type
+ private lateinit var popupWindow: PopupWindow
+ private lateinit var binding: PopupLayoutBinding
+
+ init {
+ initPopupWindow()
+ }
+
+ @SuppressLint("ServiceCast")
+ private fun initPopupWindow() {
+ // 初始化布局
+ val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
+ binding = PopupLayoutBinding.inflate(inflater)
+
+ // 设置PopupWindow
+ popupWindow = PopupWindow(
+ binding.root,
+ ViewGroup.LayoutParams.WRAP_CONTENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT,
+ true
+ )
+
+ // 设置背景和动画
+ popupWindow.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+ popupWindow.animationStyle = R.style.PopupAnimation
+
+ setType()
+ binding.llMore1.setOnClickListener {
+ if (binding.textMore1.text.toString() == context.getString(R.string.metric_units)) {
+ binding.textMore1.text = context.getString(R.string.imper_units)
+ } else {
+ binding.textMore1.text = context.getString(R.string.metric_units)
+ }
+ dismiss()
+ }
+ binding.popSleep.setOnClickListener {
+ dismiss()
+ callback.invoke(binding.textSleep.text.toString())
+ if (binding.textSleep.text.toString() == context.getString(R.string.hide_deep_sleep)) {
+ binding.textSleep.text = context.getString(R.string.show_deep_sleep)
+ } else {
+ binding.textSleep.text = context.getString(R.string.hide_deep_sleep)
+ }
+ }
+ binding.textMore2.setOnClickListener {}
+ binding.textMore3.setOnClickListener {}
+ binding.textMore4.setOnClickListener {}
+ binding.textMore5.setOnClickListener {}
+ binding.textMore6.setOnClickListener {}
+ binding.text1.setOnClickListener {
+ dismiss()
+ callback.invoke(binding.text1.text.toString())
+ }
+ binding.text2.setOnClickListener {
+ dismiss()
+ callback.invoke(binding.text2.text.toString())
+ }
+ }
+
+ private fun setType() {//0:簇1或簇2 1:隐藏深度休眠 2:主页更多 3:公制单位和重置 4:公制单位
+ when (type) {
+ 0 -> {
+ binding.popCluster.visibility = View.VISIBLE
+ binding.popSleep.visibility = View.GONE
+ binding.popMore.visibility = View.GONE
+ }
+
+ 1 -> {
+ binding.popCluster.visibility = View.GONE
+ binding.popSleep.visibility = View.VISIBLE
+ binding.popMore.visibility = View.GONE
+
+ }
+
+ 2 -> {
+ binding.popCluster.visibility = View.GONE
+ binding.popSleep.visibility = View.GONE
+ binding.popMore.visibility = View.VISIBLE
+ }
+
+ 3 -> {
+ binding.popCluster.visibility = View.GONE
+ binding.popSleep.visibility = View.GONE
+ binding.popMore.visibility = View.VISIBLE
+ binding.llHide.visibility = View.GONE
+ }
+
+ 4 -> {
+ binding.popCluster.visibility = View.GONE
+ binding.popSleep.visibility = View.GONE
+ binding.popMore.visibility = View.VISIBLE
+ binding.llMore2.visibility = View.GONE
+ binding.llHide.visibility = View.GONE
+ }
+ }
+ }
+
+ // 显示PopView
+ fun show(anchorView: View) {
+ if (::popupWindow.isInitialized && !popupWindow.isShowing) {
+ popupWindow.showAsDropDown(anchorView)
+ }
+ }
+
+ // 在指定位置显示
+ fun showAtLocation(parent: View, gravity: Int, x: Int, y: Int) {
+ if (::popupWindow.isInitialized && !popupWindow.isShowing) {
+ popupWindow.showAtLocation(parent, gravity, x, y)
+ }
+ }
+
+ // 隐藏PopView
+ fun dismiss() {
+ if (::popupWindow.isInitialized && popupWindow.isShowing) {
+ popupWindow.dismiss()
+ }
+ }
+
+ // 设置PopView内容
+ fun setContent(text: String) {
+ }
+
+ // 判断是否正在显示
+ fun isShowing(): Boolean {
+ return ::popupWindow.isInitialized && popupWindow.isShowing
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogAppInstall.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogAppInstall.kt
new file mode 100644
index 0000000..46690db
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogAppInstall.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogAppInstallBinding
+
+class DialogAppInstall :BaseDialogFragment(DialogAppInstallBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.installed_apps)
+
+ override fun getIconRes(): Int=3
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBattery.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBattery.kt
new file mode 100644
index 0000000..7972f5f
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBattery.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogBatteryBinding
+
+class DialogBattery :BaseDialogFragment(DialogBatteryBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.battery)
+
+ override fun getIconRes(): Int? =1
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt
new file mode 100644
index 0000000..4c75480
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogBlueTooth.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+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)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt
new file mode 100644
index 0000000..f065039
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt
@@ -0,0 +1,36 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.graphics.Typeface
+import android.os.Bundle
+import android.text.SpannableString
+import android.text.style.StyleSpan
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogCameraMoreBinding
+import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
+
+class DialogCameraMore(private val type:Int) :BaseDialogFragment(DialogCameraMoreBinding::inflate){
+ override fun getTitle(): String = if(type==0){
+ resources.getString(R.string.rear_camera_1)}
+ else{
+ resources.getString(R.string.front_camera_1)
+ }
+
+ override fun getIconRes(): Int? =9
+
+ override fun getDoubleBtn(): Boolean? = false
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCpuInfo.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCpuInfo.kt
new file mode 100644
index 0000000..cbe9ecf
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCpuInfo.kt
@@ -0,0 +1,57 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.graphics.Typeface
+import android.os.Bundle
+import android.text.SpannableString
+import android.text.style.StyleSpan
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
+
+class DialogCpuInfo :BaseDialogFragment(DialogCpuInfoBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.proc_cpuinfo)
+
+ override fun getIconRes(): Int? =6
+
+ override fun getDoubleBtn(): Boolean? = false
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.cpuTv01.text=setColonBoldText("Processor :AArch64 Processor rev 2(aarch64)")
+ binding.cpuTv02.text=setColonBoldText("processor :1")
+ binding.cpuTv03.text=setColonBoldText("BogoMIPS :3.84" )
+ binding.cpuTv04.text=setColonBoldText("Features :fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid")
+ binding.cpuTv05.text=setColonBoldText("CPU implementer :0×41")
+ binding.cpuTv06.text=setColonBoldText("CPU architecture :8")
+ binding.cpuTv07.text=setColonBoldText("CPU variant :0×0")
+ binding.cpuTv08.text=setColonBoldText("CPU part :0×d03")
+ binding.cpuTv09.text=setColonBoldText("CPU revision :4")
+ binding.hardwareTv.text=setColonBoldText("Hardware :vendor Kirin710")
+ }
+ fun setColonBoldText( text: String) : SpannableString {
+ val colonIndex = text.indexOf(":")
+ if (colonIndex != -1) {
+ val spannableString = SpannableString(text)
+ // 将冒号之前的部分设置为加粗
+ spannableString.setSpan(
+ StyleSpan(Typeface.BOLD),
+ 0,
+ colonIndex,
+ SpannableString.SPAN_INCLUSIVE_INCLUSIVE
+ )
+ return spannableString
+ } else {
+ return SpannableString(text)
+ }
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDiskPart.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDiskPart.kt
new file mode 100644
index 0000000..b2f0fd3
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDiskPart.kt
@@ -0,0 +1,29 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogDiskPartBinding
+import com.xyzshell.myphoneinfo.databinding.DialogExtentionBinding
+
+class DialogDiskPart :BaseDialogFragment(DialogDiskPartBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.disk_partitions)
+
+ override fun getIconRes(): Int? =8
+
+ override fun getDoubleBtn(): Boolean? = false
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDisplay.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDisplay.kt
new file mode 100644
index 0000000..8a548dc
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogDisplay.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogDisplayBinding
+
+class DialogDisplay :BaseDialogFragment(DialogDisplayBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.display)
+
+ override fun getIconRes(): Int=4
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ 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
new file mode 100644
index 0000000..99f0c2a
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogExtension.kt
@@ -0,0 +1,28 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogExtentionBinding
+
+class DialogExtension :BaseDialogFragment(DialogExtentionBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.extensions)
+
+ override fun getIconRes(): Int? =6
+
+ override fun getDoubleBtn(): Boolean? = false
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogInput.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogInput.kt
new file mode 100644
index 0000000..ca37c60
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogInput.kt
@@ -0,0 +1,83 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.graphics.Typeface
+import android.os.Bundle
+import android.text.SpannableString
+import android.text.style.StyleSpan
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
+import com.xyzshell.myphoneinfo.databinding.DialogInputBinding
+
+class DialogInput :BaseDialogFragment(DialogInputBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.input_devices)
+
+ override fun getIconRes(): Int? =10
+
+ override fun getDoubleBtn(): Boolean? = false
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ binding.text1.textTitle.text = "input_mt_wrapper"
+ binding.text1.textContent.text = "Input Device 1:\n" +
+ "input_mt_wrapper\n" +
+ "Descriptor:\n" +
+ "a988c03908bee014d816\n" +
+ "71ffdd909090304130b5\n" +
+ "Generation: 14\n" +
+ "Location: built-in\n" +
+ "Keyboard Type:\n" +
+ "non-alphabetic\n" +
+ "Has Vibrator: false\n" +
+ "Has mic: false\n" +
+ "Sources: 0x1103\n" +
+ "(keyboard touchscreen)\n" +
+ "AXISX:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=719.0 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXISY:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=1559.0 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXIS PRESSURE:\n" +
+ "source-0x1002 min=0.0\n" +
+ "max=1.0 flat=0.0 fuzz=0.0\n" +
+ "resolution=0.0\n" +
+ "AXIS_SIZE:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=1.0 flat=0.0 fuzz=0.0\n" +
+ "resolution=0.0\n" +
+ "AXIS TOUCH_MAJOR:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=1718.1385 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXISTOUCH_MINOR:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=1718.1385 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXIS TOOL MAJOR:\n" +
+ "source=0×1002 min=0.0\n" +
+ "max=1718.1385 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXIS TOOL MINOR:\n" +
+ "source=0x1002 min=0.0\n" +
+ "max=1718.1385 flat-0.0\n" +
+ "fuzz=0.0 resolution=0.0\n" +
+ "AXIS_ORIENTATION:\n" +
+ "source=0x1002\n" +
+ "min=-1.5707964\n" +
+ "max=1.5707964 flat=0.0\n" +
+ "fuzz=0.0 resolution=0.0"
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogMemory.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogMemory.kt
new file mode 100644
index 0000000..6baa3b1
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogMemory.kt
@@ -0,0 +1,26 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogMemoryBinding
+
+class DialogMemory :BaseDialogFragment(DialogMemoryBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.memory)
+
+ override fun getIconRes(): Int=6
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogNetwork.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogNetwork.kt
new file mode 100644
index 0000000..32a0226
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogNetwork.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogNetworkBinding
+
+class DialogNetwork :BaseDialogFragment(DialogNetworkBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.network)
+
+ override fun getIconRes(): Int=2
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogOperating.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogOperating.kt
new file mode 100644
index 0000000..28aa57f
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogOperating.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogOperatingBinding
+
+class DialogOperating :BaseDialogFragment(DialogOperatingBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.operating_system)
+
+ override fun getIconRes(): Int? =7
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogStorage.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogStorage.kt
new file mode 100644
index 0000000..2a29afa
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogStorage.kt
@@ -0,0 +1,27 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.os.Bundle
+import android.view.View
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.base.BaseDialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogStorageBinding
+
+class DialogStorage :BaseDialogFragment(DialogStorageBinding::inflate){
+ override fun getTitle(): String = resources.getString(R.string.storage)
+
+ override fun getIconRes(): Int? =8
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ }
+
+ override fun onNegativeClick() {
+ super.onNegativeClick()
+
+ }
+
+ override fun onPositiveClick() {
+ super.onPositiveClick()
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/ShowLoadFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/ShowLoadFragment.kt
new file mode 100644
index 0000000..81d147e
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/ShowLoadFragment.kt
@@ -0,0 +1,39 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.app.Dialog
+import android.graphics.Color
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.core.graphics.drawable.toDrawable
+import androidx.fragment.app.DialogFragment
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentShowLoadBinding
+
+class ShowLoadFragment : DialogFragment() {
+ private lateinit var binding:FragmentShowLoadBinding
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ binding = FragmentShowLoadBinding.inflate(inflater, container, false)
+ binding.ok.setOnClickListener{
+ dismiss()
+ }
+ return binding.root
+ }
+
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ val dialog=super.onCreateDialog(savedInstanceState)
+ // 设置宽度匹配父容器
+ dialog.window?.apply {
+ setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
+ setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+ }
+ return dialog
+ }
+
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/SlideInPopView.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/SlideInPopView.kt
new file mode 100644
index 0000000..a102cce
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/SlideInPopView.kt
@@ -0,0 +1,101 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.animation.Animator
+import android.animation.AnimatorListenerAdapter
+import android.animation.ObjectAnimator
+import android.app.Dialog
+import android.content.Context
+
+import android.os.Bundle
+import android.view.Gravity
+
+import android.view.ViewGroup
+import android.view.Window
+import com.xyzshell.myphoneinfo.R
+
+import com.xyzshell.myphoneinfo.databinding.ActivitySlideInPopViewBinding
+
+class SlideInPopView(context: Context) : Dialog(context) {
+
+ private lateinit var binding: ActivitySlideInPopViewBinding
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ // 设置无标题
+ requestWindowFeature(Window.FEATURE_NO_TITLE)
+
+ binding = ActivitySlideInPopViewBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ // 设置Dialog属性
+ window?.apply {
+ // 设置位置为左侧
+ setGravity(Gravity.START)
+
+ // 设置宽高
+ val displayMetrics = context.resources.displayMetrics
+ var width1 = (displayMetrics.widthPixels * 0.7).toInt() // 70%屏幕宽度
+ attributes = attributes?.apply {
+ width = width1
+ height = ViewGroup.LayoutParams.MATCH_PARENT
+
+ // 设置动画
+ windowAnimations = R.style.SlideInLeftAnimation
+ }
+
+ // 设置背景透明
+ setBackgroundDrawableResource(android.R.color.transparent)
+ }
+
+ // 设置点击外部可以关闭
+ setCanceledOnTouchOutside(true)
+
+ setupViews()
+ openSidebar() // 打开时显示侧边栏
+ }
+
+ private fun setupViews() {
+ // 侧边栏内的关闭按钮(如果有的话)
+ // binding.btnClose.setOnClickListener { dismiss() }
+
+ // 初始化侧边栏位置
+ binding.root.post {
+ binding.popupContent.translationX = -binding.popupContent.width.toFloat()
+ openSidebar()
+ }
+ }
+
+ private fun openSidebar() {
+ val animator = ObjectAnimator.ofFloat(
+ binding.popupContent,
+ "translationX",
+ -binding.popupContent.width.toFloat(),
+ 0f
+ )
+ animator.duration = 300
+ animator.start()
+ }
+
+ private fun closeSidebar(callback: () -> Unit = {}) {
+ val animator = ObjectAnimator.ofFloat(
+ binding.popupContent,
+ "translationX",
+ 0f,
+ -binding.popupContent.width.toFloat()
+ )
+ animator.duration = 300
+ animator.addListener(object : AnimatorListenerAdapter() {
+ override fun onAnimationEnd(animation: Animator) {
+ callback()
+ }
+ })
+ animator.start()
+ }
+
+ override fun dismiss() {
+ closeSidebar {
+ super.dismiss()
+ }
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/TempDialogFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/TempDialogFragment.kt
new file mode 100644
index 0000000..7fd92c1
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/TempDialogFragment.kt
@@ -0,0 +1,69 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import androidx.core.graphics.drawable.toDrawable
+import androidx.fragment.app.DialogFragment
+import com.xyzshell.myphoneinfo.databinding.DialogAppClickBinding
+import com.xyzshell.myphoneinfo.databinding.DialogTempBinding
+
+class TempDialogFragment : DialogFragment() {
+
+ private var _binding: DialogTempBinding? = null
+ private val baseBinding get() = _binding!!
+
+
+ open fun onPositiveClick() {}
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ _binding = DialogTempBinding.inflate(inflater, container, false)
+ return baseBinding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ baseBinding.textCancel.setOnClickListener {
+ onPositiveClick()
+ dismiss()
+ }
+ baseBinding.imgTemp1.isSelected = true
+ baseBinding.imgTemp1.setOnClickListener {
+ baseBinding.imgTemp1.isSelected = true
+ baseBinding.imgTemp2.isSelected = false
+ }
+ baseBinding.imgTemp2.setOnClickListener {
+ baseBinding.imgTemp2.isSelected = true
+ baseBinding.imgTemp1.isSelected = false
+ }
+ }
+
+ override fun onStart() {
+ super.onStart()
+ dialog?.window?.let { window ->
+ window.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+
+ val params = window.attributes
+ val displayMetrics = resources.displayMetrics
+ val margin = (10 * displayMetrics.density).toInt()
+ params.width = displayMetrics.widthPixels - margin * 2
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT
+ window.attributes = params
+ window.setGravity(Gravity.CENTER)
+ }
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/MainScrollActivity.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/MainScrollActivity.kt
new file mode 100644
index 0000000..74721c1
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/MainScrollActivity.kt
@@ -0,0 +1,69 @@
+package com.xyzshell.myphoneinfo.main
+
+import android.view.LayoutInflater
+import androidx.viewpager2.widget.ViewPager2
+import com.google.android.material.tabs.TabLayoutMediator
+import com.xyzshell.myphoneinfo.R
+
+import com.xyzshell.myphoneinfo.base.BaseActivity
+import com.xyzshell.myphoneinfo.dashboard.AppsFragment
+import com.xyzshell.myphoneinfo.dashboard.BatteryFragment
+import com.xyzshell.myphoneinfo.dashboard.CameraFragment
+import com.xyzshell.myphoneinfo.dashboard.DashboardFragment
+import com.xyzshell.myphoneinfo.dashboard.HardWareFragment
+import com.xyzshell.myphoneinfo.dashboard.NetworkFragment
+import com.xyzshell.myphoneinfo.dashboard.SensorsFragment
+import com.xyzshell.myphoneinfo.dashboard.SystemShowFragment
+import com.xyzshell.myphoneinfo.databinding.ActivityMainBinding
+import com.xyzshell.myphoneinfo.dialog.SlideInPopView
+
+class MainScrollActivity : BaseActivity() {
+ override fun inflateBinding(inflater: LayoutInflater): ActivityMainBinding =
+ ActivityMainBinding.inflate(inflater)
+ override fun initView() {
+ super.initView()
+ binding.run {
+
+ val stringArray = resources.getStringArray(R.array.tab_title)
+ TabLayoutMediator(tablelayout, viewpager3.apply {
+ adapter = ViewPagerAdapter(
+ this@MainScrollActivity, listOf(
+ DashboardFragment.newInstance(),
+ HardWareFragment.newInstance(),
+ SystemShowFragment.newInstance(),
+ BatteryFragment.newInstance(),
+ NetworkFragment.newInstance(),
+ AppsFragment.newInstance(),
+ CameraFragment.newInstance(),
+ SensorsFragment.newInstance()
+ )
+ )
+ offscreenPageLimit = 1
+ registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
+ override fun onPageSelected(position: Int) {
+ super.onPageSelected(position)
+ }
+ })
+ }) { tab, position ->
+ tab.text = stringArray[position]
+// tab.setCustomView(R.layout.custom_tab)
+//
+// tab.customView?.run {
+// val indicator: ImageView = findViewById(R.id.image_indicator)
+// indicator.isVisible = position == 0
+// }
+ }.attach()
+ }
+
+ binding.imageTool.setOnClickListener {
+ val sidebarDialog = SlideInPopView(this)
+ sidebarDialog.show()
+ }
+ }
+
+
+ override fun initData() {
+ super.initData()
+ }
+
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/ViewPagerAdapter.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/ViewPagerAdapter.kt
new file mode 100644
index 0000000..327aa39
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/main/ViewPagerAdapter.kt
@@ -0,0 +1,15 @@
+package com.xyzshell.myphoneinfo.main
+
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.viewpager2.adapter.FragmentStateAdapter
+
+class ViewPagerAdapter(
+ fragmentActivity: FragmentActivity,
+ private val fragments: List
+) : FragmentStateAdapter(fragmentActivity) {
+
+ override fun getItemCount(): Int = fragments.size
+
+ override fun createFragment(position: Int): Fragment = fragments[position]
+}
diff --git a/myphoneinfo/src/main/res/anim/popup_enter.xml b/myphoneinfo/src/main/res/anim/popup_enter.xml
new file mode 100644
index 0000000..23a00e0
--- /dev/null
+++ b/myphoneinfo/src/main/res/anim/popup_enter.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/anim/popup_exit.xml b/myphoneinfo/src/main/res/anim/popup_exit.xml
new file mode 100644
index 0000000..3b1bb91
--- /dev/null
+++ b/myphoneinfo/src/main/res/anim/popup_exit.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/anim/slide_in_left.xml b/myphoneinfo/src/main/res/anim/slide_in_left.xml
new file mode 100644
index 0000000..ca5f5f3
--- /dev/null
+++ b/myphoneinfo/src/main/res/anim/slide_in_left.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/anim/slide_out_left.xml b/myphoneinfo/src/main/res/anim/slide_out_left.xml
new file mode 100644
index 0000000..beba279
--- /dev/null
+++ b/myphoneinfo/src/main/res/anim/slide_out_left.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/all_ic_sel.xml b/myphoneinfo/src/main/res/drawable/all_ic_sel.xml
new file mode 100644
index 0000000..4d0f181
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/all_ic_sel.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/attention_bg.xml b/myphoneinfo/src/main/res/drawable/attention_bg.xml
new file mode 100644
index 0000000..244a017
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/attention_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/dashboard_model_background.xml b/myphoneinfo/src/main/res/drawable/dashboard_model_background.xml
new file mode 100644
index 0000000..32bb609
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/dashboard_model_background.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/dashboard_model_background_right_bottom.xml b/myphoneinfo/src/main/res/drawable/dashboard_model_background_right_bottom.xml
new file mode 100644
index 0000000..66fa06b
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/dashboard_model_background_right_bottom.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/dashboard_top_background.xml b/myphoneinfo/src/main/res/drawable/dashboard_top_background.xml
new file mode 100644
index 0000000..9f3a95c
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/dashboard_top_background.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/green_rec.xml b/myphoneinfo/src/main/res/drawable/green_rec.xml
new file mode 100644
index 0000000..130f225
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/green_rec.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..1fc9362
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/hard_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/ic_launcher_background.xml b/myphoneinfo/src/main/res/drawable/ic_launcher_background.xml
index 07d5da9..ca3826a 100644
--- a/myphoneinfo/src/main/res/drawable/ic_launcher_background.xml
+++ b/myphoneinfo/src/main/res/drawable/ic_launcher_background.xml
@@ -1,170 +1,74 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/drawable/is_working_btn.xml b/myphoneinfo/src/main/res/drawable/is_working_btn.xml
new file mode 100644
index 0000000..71d341c
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/is_working_btn.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/module_oval.xml b/myphoneinfo/src/main/res/drawable/module_oval.xml
new file mode 100644
index 0000000..fbe4690
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/module_oval.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/drawable/popup_background.xml b/myphoneinfo/src/main/res/drawable/popup_background.xml
new file mode 100644
index 0000000..232d142
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/popup_background.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..dc7d8c9
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/progress_bg.xml
@@ -0,0 +1,36 @@
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/drawable/progress_oval.xml b/myphoneinfo/src/main/res/drawable/progress_oval.xml
new file mode 100644
index 0000000..c6111f9
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/progress_oval.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/radius_sel.xml b/myphoneinfo/src/main/res/drawable/radius_sel.xml
new file mode 100644
index 0000000..7d99001
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/radius_sel.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/slide_item_background.xml b/myphoneinfo/src/main/res/drawable/slide_item_background.xml
new file mode 100644
index 0000000..66fa06b
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/slide_item_background.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/system_ic_sel.xml b/myphoneinfo/src/main/res/drawable/system_ic_sel.xml
new file mode 100644
index 0000000..88ca54e
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/system_ic_sel.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/tab_indicator.xml b/myphoneinfo/src/main/res/drawable/tab_indicator.xml
new file mode 100644
index 0000000..3950e71
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/tab_indicator.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/top_radius_bg.xml b/myphoneinfo/src/main/res/drawable/top_radius_bg.xml
new file mode 100644
index 0000000..431c81c
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/top_radius_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/user_ic_sel.xml b/myphoneinfo/src/main/res/drawable/user_ic_sel.xml
new file mode 100644
index 0000000..7dbdc05
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/user_ic_sel.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/font/alimama_heiti.ttf b/myphoneinfo/src/main/res/font/alimama_heiti.ttf
new file mode 100644
index 0000000..854c844
Binary files /dev/null and b/myphoneinfo/src/main/res/font/alimama_heiti.ttf differ
diff --git a/myphoneinfo/src/main/res/font/pingfang_bold.ttf b/myphoneinfo/src/main/res/font/pingfang_bold.ttf
new file mode 100644
index 0000000..accaf1f
Binary files /dev/null and b/myphoneinfo/src/main/res/font/pingfang_bold.ttf differ
diff --git a/myphoneinfo/src/main/res/font/pingfang_heavy_0.ttf b/myphoneinfo/src/main/res/font/pingfang_heavy_0.ttf
new file mode 100644
index 0000000..f4cf788
Binary files /dev/null and b/myphoneinfo/src/main/res/font/pingfang_heavy_0.ttf differ
diff --git a/myphoneinfo/src/main/res/font/pingfang_regular.ttf b/myphoneinfo/src/main/res/font/pingfang_regular.ttf
new file mode 100644
index 0000000..8790adb
Binary files /dev/null and b/myphoneinfo/src/main/res/font/pingfang_regular.ttf differ
diff --git a/myphoneinfo/src/main/res/layout/activity_analysis.xml b/myphoneinfo/src/main/res/layout/activity_analysis.xml
new file mode 100644
index 0000000..cfb7406
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_analysis.xml
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_blue_tooth.xml b/myphoneinfo/src/main/res/layout/activity_blue_tooth.xml
new file mode 100644
index 0000000..9fb084d
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_blue_tooth.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_colors.xml b/myphoneinfo/src/main/res/layout/activity_colors.xml
new file mode 100644
index 0000000..6b5afae
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_colors.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_cpu_status.xml b/myphoneinfo/src/main/res/layout/activity_cpu_status.xml
new file mode 100644
index 0000000..147976d
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_cpu_status.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_main.xml b/myphoneinfo/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..d41d129
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_main.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/layout/activity_sensor_each.xml b/myphoneinfo/src/main/res/layout/activity_sensor_each.xml
new file mode 100644
index 0000000..1ce687b
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_sensor_each.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_slide_in_pop_view.xml b/myphoneinfo/src/main/res/layout/activity_slide_in_pop_view.xml
new file mode 100644
index 0000000..7c26067
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_slide_in_pop_view.xml
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_temperature.xml b/myphoneinfo/src/main/res/layout/activity_temperature.xml
new file mode 100644
index 0000000..b358d46
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_temperature.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_test.xml b/myphoneinfo/src/main/res/layout/activity_test.xml
new file mode 100644
index 0000000..78ba53f
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_test.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_test_other.xml b/myphoneinfo/src/main/res/layout/activity_test_other.xml
new file mode 100644
index 0000000..7d73c32
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_test_other.xml
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_tools.xml b/myphoneinfo/src/main/res/layout/activity_tools.xml
new file mode 100644
index 0000000..646b1aa
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_tools.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/activity_touch.xml b/myphoneinfo/src/main/res/layout/activity_touch.xml
new file mode 100644
index 0000000..25ace65
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/activity_touch.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/color_page_1.xml b/myphoneinfo/src/main/res/layout/color_page_1.xml
new file mode 100644
index 0000000..3251758
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/color_page_1.xml
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/color_page_2.xml b/myphoneinfo/src/main/res/layout/color_page_2.xml
new file mode 100644
index 0000000..63d34f2
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/color_page_2.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_check_style.xml b/myphoneinfo/src/main/res/layout/common_check_style.xml
new file mode 100644
index 0000000..4e91066
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_check_style.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_check_style1.xml b/myphoneinfo/src/main/res/layout/common_check_style1.xml
new file mode 100644
index 0000000..de69602
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_check_style1.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_dialog_item.xml b/myphoneinfo/src/main/res/layout/common_dialog_item.xml
new file mode 100644
index 0000000..93687e2
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_dialog_item.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_sensor_style.xml b/myphoneinfo/src/main/res/layout/common_sensor_style.xml
new file mode 100644
index 0000000..5434369
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_sensor_style.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_test_item.xml b/myphoneinfo/src/main/res/layout/common_test_item.xml
new file mode 100644
index 0000000..20c8810
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_test_item.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..5922d30
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_text_15size_style.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_text_style.xml b/myphoneinfo/src/main/res/layout/common_text_style.xml
new file mode 100644
index 0000000..84759c9
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_text_style.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/common_tool_item.xml b/myphoneinfo/src/main/res/layout/common_tool_item.xml
new file mode 100644
index 0000000..8fc75b3
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/common_tool_item.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dashboard_cpu_adapter.xml b/myphoneinfo/src/main/res/layout/dashboard_cpu_adapter.xml
new file mode 100644
index 0000000..ace13d6
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dashboard_cpu_adapter.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dashboard_module_bottom.xml b/myphoneinfo/src/main/res/layout/dashboard_module_bottom.xml
new file mode 100644
index 0000000..87f72ac
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dashboard_module_bottom.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dashboard_module_center.xml b/myphoneinfo/src/main/res/layout/dashboard_module_center.xml
new file mode 100644
index 0000000..1b9c50f
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dashboard_module_center.xml
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dashboard_module_cpu.xml b/myphoneinfo/src/main/res/layout/dashboard_module_cpu.xml
new file mode 100644
index 0000000..88d7415
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dashboard_module_cpu.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dashboard_module_top.xml b/myphoneinfo/src/main/res/layout/dashboard_module_top.xml
new file mode 100644
index 0000000..ae05fe5
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dashboard_module_top.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..78d6f49
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_app_click.xml
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/layout/dialog_app_install.xml b/myphoneinfo/src/main/res/layout/dialog_app_install.xml
new file mode 100644
index 0000000..b02b11c
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_app_install.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_base.xml b/myphoneinfo/src/main/res/layout/dialog_base.xml
new file mode 100644
index 0000000..8301ecc
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_base.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/layout/dialog_battery.xml b/myphoneinfo/src/main/res/layout/dialog_battery.xml
new file mode 100644
index 0000000..6e03330
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_battery.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml b/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml
new file mode 100644
index 0000000..1ee6cde
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_blue_tooth.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..e4192ad
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_camera_more.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_cpu_info.xml b/myphoneinfo/src/main/res/layout/dialog_cpu_info.xml
new file mode 100644
index 0000000..7bc9223
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_cpu_info.xml
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_disk_part.xml b/myphoneinfo/src/main/res/layout/dialog_disk_part.xml
new file mode 100644
index 0000000..f2412fc
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_disk_part.xml
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_display.xml b/myphoneinfo/src/main/res/layout/dialog_display.xml
new file mode 100644
index 0000000..65bcfe6
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_display.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_extention.xml b/myphoneinfo/src/main/res/layout/dialog_extention.xml
new file mode 100644
index 0000000..812d579
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_extention.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_input.xml b/myphoneinfo/src/main/res/layout/dialog_input.xml
new file mode 100644
index 0000000..8e124e7
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_input.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_memory.xml b/myphoneinfo/src/main/res/layout/dialog_memory.xml
new file mode 100644
index 0000000..e530255
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_memory.xml
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_network.xml b/myphoneinfo/src/main/res/layout/dialog_network.xml
new file mode 100644
index 0000000..11b5f19
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_network.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_operating.xml b/myphoneinfo/src/main/res/layout/dialog_operating.xml
new file mode 100644
index 0000000..a8992d9
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_operating.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_storage.xml b/myphoneinfo/src/main/res/layout/dialog_storage.xml
new file mode 100644
index 0000000..4e88022
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_storage.xml
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/dialog_temp.xml b/myphoneinfo/src/main/res/layout/dialog_temp.xml
new file mode 100644
index 0000000..87abe46
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/dialog_temp.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/myphoneinfo/src/main/res/layout/fragment_apps.xml b/myphoneinfo/src/main/res/layout/fragment_apps.xml
new file mode 100644
index 0000000..bd7498d
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_apps.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_battery.xml b/myphoneinfo/src/main/res/layout/fragment_battery.xml
new file mode 100644
index 0000000..2ab5356
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_battery.xml
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_camera.xml b/myphoneinfo/src/main/res/layout/fragment_camera.xml
new file mode 100644
index 0000000..4b6b337
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_camera.xml
@@ -0,0 +1,533 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_dashboard.xml b/myphoneinfo/src/main/res/layout/fragment_dashboard.xml
new file mode 100644
index 0000000..338131b
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_dashboard.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_hard_ware.xml b/myphoneinfo/src/main/res/layout/fragment_hard_ware.xml
new file mode 100644
index 0000000..b6c6725
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_hard_ware.xml
@@ -0,0 +1,1096 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_network.xml b/myphoneinfo/src/main/res/layout/fragment_network.xml
new file mode 100644
index 0000000..496bbcf
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_network.xml
@@ -0,0 +1,1195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_sensors.xml b/myphoneinfo/src/main/res/layout/fragment_sensors.xml
new file mode 100644
index 0000000..4470882
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_sensors.xml
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_show_load.xml b/myphoneinfo/src/main/res/layout/fragment_show_load.xml
new file mode 100644
index 0000000..03074e6
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_show_load.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_system_show.xml b/myphoneinfo/src/main/res/layout/fragment_system_show.xml
new file mode 100644
index 0000000..2b2d3b2
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/fragment_system_show.xml
@@ -0,0 +1,594 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/item_app_list.xml b/myphoneinfo/src/main/res/layout/item_app_list.xml
new file mode 100644
index 0000000..bafc8f7
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/item_app_list.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..f1dd71c
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/item_common_temp.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/item_list.xml b/myphoneinfo/src/main/res/layout/item_list.xml
new file mode 100644
index 0000000..8dd9fc5
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/item_list.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/item_list_cpu.xml b/myphoneinfo/src/main/res/layout/item_list_cpu.xml
new file mode 100644
index 0000000..633163f
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/item_list_cpu.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/popup_layout.xml b/myphoneinfo/src/main/res/layout/popup_layout.xml
new file mode 100644
index 0000000..9e87209
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/popup_layout.xml
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/acceler.png b/myphoneinfo/src/main/res/mipmap-xhdpi/acceler.png
new file mode 100644
index 0000000..4b1c5a3
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/acceler.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/all_false.png b/myphoneinfo/src/main/res/mipmap-xhdpi/all_false.png
new file mode 100644
index 0000000..6e53a9a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/all_false.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/all_true.png b/myphoneinfo/src/main/res/mipmap-xhdpi/all_true.png
new file mode 100644
index 0000000..43b0da6
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/all_true.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/app_full_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/app_full_ic.png
new file mode 100644
index 0000000..8dd9ebe
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/app_full_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/app_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/app_ic.png
new file mode 100644
index 0000000..890946c
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/app_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/app_install.png b/myphoneinfo/src/main/res/mipmap-xhdpi/app_install.png
new file mode 100644
index 0000000..bc8d478
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/app_install.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/attention.png b/myphoneinfo/src/main/res/mipmap-xhdpi/attention.png
new file mode 100644
index 0000000..8f43940
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/attention.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/back.png b/myphoneinfo/src/main/res/mipmap-xhdpi/back.png
new file mode 100644
index 0000000..b85bbf0
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/back.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/battery_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/battery_ic.png
new file mode 100644
index 0000000..3aaf27d
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/battery_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_1.png b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_1.png
new file mode 100644
index 0000000..d682869
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_1.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_2.png b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_2.png
new file mode 100644
index 0000000..a1496bd
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_2.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_3.png b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_3.png
new file mode 100644
index 0000000..e646bde
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_3.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_4.png b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_4.png
new file mode 100644
index 0000000..77ffe4a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/big_icon_4.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth.png b/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth.png
new file mode 100644
index 0000000..a5c58b6
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth_ic.png
new file mode 100644
index 0000000..cb6b50f
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/blue_tooth_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/button.png b/myphoneinfo/src/main/res/mipmap-xhdpi/button.png
new file mode 100644
index 0000000..115c669
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/button.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/camera.png b/myphoneinfo/src/main/res/mipmap-xhdpi/camera.png
new file mode 100644
index 0000000..769d588
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/camera.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/camera_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/camera_ic.png
new file mode 100644
index 0000000..f05bc0a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/camera_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/check_false.png b/myphoneinfo/src/main/res/mipmap-xhdpi/check_false.png
new file mode 100644
index 0000000..6b3a607
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/check_false.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/check_true.png b/myphoneinfo/src/main/res/mipmap-xhdpi/check_true.png
new file mode 100644
index 0000000..dc070a7
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/check_true.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color1.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color1.png
new file mode 100644
index 0000000..e9e91b9
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color1.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color2.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color2.png
new file mode 100644
index 0000000..6577e4e
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color2.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color3.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color3.png
new file mode 100644
index 0000000..7f4bbce
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color3.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color4.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color4.png
new file mode 100644
index 0000000..6a60090
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color4.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color5.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color5.png
new file mode 100644
index 0000000..a6172d3
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color5.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color6.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color6.png
new file mode 100644
index 0000000..526b054
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color6.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color7.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color7.png
new file mode 100644
index 0000000..a757caa
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color7.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color8.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color8.png
new file mode 100644
index 0000000..a14175a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color8.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/color9.png b/myphoneinfo/src/main/res/mipmap-xhdpi/color9.png
new file mode 100644
index 0000000..950975c
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/color9.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/copy.png b/myphoneinfo/src/main/res/mipmap-xhdpi/copy.png
new file mode 100644
index 0000000..63126bb
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/copy.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/cpu.png b/myphoneinfo/src/main/res/mipmap-xhdpi/cpu.png
new file mode 100644
index 0000000..7ee2d97
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/cpu.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/display.png b/myphoneinfo/src/main/res/mipmap-xhdpi/display.png
new file mode 100644
index 0000000..05e2add
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/display.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/display_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/display_ic.png
new file mode 100644
index 0000000..c10866c
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/display_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/edit_line.png b/myphoneinfo/src/main/res/mipmap-xhdpi/edit_line.png
new file mode 100644
index 0000000..b94e8a8
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/edit_line.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/flash.png b/myphoneinfo/src/main/res/mipmap-xhdpi/flash.png
new file mode 100644
index 0000000..af585e1
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/flash.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/get_more.png b/myphoneinfo/src/main/res/mipmap-xhdpi/get_more.png
new file mode 100644
index 0000000..d6ad7db
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/get_more.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/go_back.png b/myphoneinfo/src/main/res/mipmap-xhdpi/go_back.png
new file mode 100644
index 0000000..9f3bc81
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/go_back.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/go_more.png b/myphoneinfo/src/main/res/mipmap-xhdpi/go_more.png
new file mode 100644
index 0000000..ab59d78
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/go_more.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/go_on.png b/myphoneinfo/src/main/res/mipmap-xhdpi/go_on.png
new file mode 100644
index 0000000..9b6182d
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/go_on.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/go_sensor.png b/myphoneinfo/src/main/res/mipmap-xhdpi/go_sensor.png
new file mode 100644
index 0000000..8808dcd
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/go_sensor.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/input_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/input_ic.png
new file mode 100644
index 0000000..f0d96f0
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/input_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/item_point.png b/myphoneinfo/src/main/res/mipmap-xhdpi/item_point.png
new file mode 100644
index 0000000..858a311
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/item_point.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/key.png b/myphoneinfo/src/main/res/mipmap-xhdpi/key.png
new file mode 100644
index 0000000..e4858c7
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/key.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/light.png b/myphoneinfo/src/main/res/mipmap-xhdpi/light.png
new file mode 100644
index 0000000..c7626d8
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/light.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/main_close.png b/myphoneinfo/src/main/res/mipmap-xhdpi/main_close.png
new file mode 100644
index 0000000..1dba2c9
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/main_close.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/main_logo.png b/myphoneinfo/src/main/res/mipmap-xhdpi/main_logo.png
new file mode 100644
index 0000000..c257397
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/main_logo.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/mem_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/mem_ic.png
new file mode 100644
index 0000000..27c08f8
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/mem_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_1_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_1_icon.png
new file mode 100644
index 0000000..a00ba43
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_1_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_2_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_2_icon.png
new file mode 100644
index 0000000..b090215
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_2_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_3_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_3_icon.png
new file mode 100644
index 0000000..af78e2a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_3_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_4_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_4_icon.png
new file mode 100644
index 0000000..dbd5bde
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_4_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_5_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_5_icon.png
new file mode 100644
index 0000000..e5e84a3
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_5_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_6_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_6_icon.png
new file mode 100644
index 0000000..d64b965
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_6_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_camera.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_camera.png
new file mode 100644
index 0000000..51f2739
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_camera.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/more_point.png b/myphoneinfo/src/main/res/mipmap-xhdpi/more_point.png
new file mode 100644
index 0000000..0cb7a13
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/more_point.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/multi.png b/myphoneinfo/src/main/res/mipmap-xhdpi/multi.png
new file mode 100644
index 0000000..859f58f
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/multi.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/open_pop.png b/myphoneinfo/src/main/res/mipmap-xhdpi/open_pop.png
new file mode 100644
index 0000000..514f488
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/open_pop.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/per_no.png b/myphoneinfo/src/main/res/mipmap-xhdpi/per_no.png
new file mode 100644
index 0000000..d24a3bf
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/per_no.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/per_special.png b/myphoneinfo/src/main/res/mipmap-xhdpi/per_special.png
new file mode 100644
index 0000000..f0ec807
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/per_special.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/per_yes.png b/myphoneinfo/src/main/res/mipmap-xhdpi/per_yes.png
new file mode 100644
index 0000000..df017f7
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/per_yes.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/proxi.png b/myphoneinfo/src/main/res/mipmap-xhdpi/proxi.png
new file mode 100644
index 0000000..7000e25
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/proxi.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius1.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius1.png
new file mode 100644
index 0000000..a713373
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius1.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius2.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius2.png
new file mode 100644
index 0000000..97b1159
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius2.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius3.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius3.png
new file mode 100644
index 0000000..98bbb6b
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius3.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius_bg.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_bg.png
new file mode 100644
index 0000000..ba849a8
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_bg.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius_black.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_black.png
new file mode 100644
index 0000000..ef6fba8
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_black.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/radius_green.png b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_green.png
new file mode 100644
index 0000000..ec7751f
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/radius_green.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/search_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/search_icon.png
new file mode 100644
index 0000000..8342575
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/search_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/setting.png b/myphoneinfo/src/main/res/mipmap-xhdpi/setting.png
new file mode 100644
index 0000000..549347a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/setting.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/setting_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/setting_ic.png
new file mode 100644
index 0000000..c9f7fdd
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/setting_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/sleep_icon.png b/myphoneinfo/src/main/res/mipmap-xhdpi/sleep_icon.png
new file mode 100644
index 0000000..3f91fb4
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/sleep_icon.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/storyge.png b/myphoneinfo/src/main/res/mipmap-xhdpi/storyge.png
new file mode 100644
index 0000000..4051312
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/storyge.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/stroke_bg.png b/myphoneinfo/src/main/res/mipmap-xhdpi/stroke_bg.png
new file mode 100644
index 0000000..0fe3825
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/stroke_bg.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/subtract.png b/myphoneinfo/src/main/res/mipmap-xhdpi/subtract.png
new file mode 100644
index 0000000..be82923
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/subtract.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/system_false.png b/myphoneinfo/src/main/res/mipmap-xhdpi/system_false.png
new file mode 100644
index 0000000..81249b4
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/system_false.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/system_true.png b/myphoneinfo/src/main/res/mipmap-xhdpi/system_true.png
new file mode 100644
index 0000000..d15beb6
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/system_true.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/test_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/test_ic.png
new file mode 100644
index 0000000..feac2d5
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/test_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/tool_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/tool_ic.png
new file mode 100644
index 0000000..c743449
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/tool_ic.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/top_grey_more.png b/myphoneinfo/src/main/res/mipmap-xhdpi/top_grey_more.png
new file mode 100644
index 0000000..113f235
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/top_grey_more.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/top_white_more.png b/myphoneinfo/src/main/res/mipmap-xhdpi/top_white_more.png
new file mode 100644
index 0000000..c33b7a4
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/top_white_more.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/user_false.png b/myphoneinfo/src/main/res/mipmap-xhdpi/user_false.png
new file mode 100644
index 0000000..4614760
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/user_false.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/user_true.png b/myphoneinfo/src/main/res/mipmap-xhdpi/user_true.png
new file mode 100644
index 0000000..94afc5a
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/user_true.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/vector.png b/myphoneinfo/src/main/res/mipmap-xhdpi/vector.png
new file mode 100644
index 0000000..2f15ada
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/vector.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/vector_no.png b/myphoneinfo/src/main/res/mipmap-xhdpi/vector_no.png
new file mode 100644
index 0000000..8e544c4
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/vector_no.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/vector_ok.png b/myphoneinfo/src/main/res/mipmap-xhdpi/vector_ok.png
new file mode 100644
index 0000000..05a0bf2
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/vector_ok.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/vibration.png b/myphoneinfo/src/main/res/mipmap-xhdpi/vibration.png
new file mode 100644
index 0000000..f7e5739
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/vibration.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/wifi.png b/myphoneinfo/src/main/res/mipmap-xhdpi/wifi.png
new file mode 100644
index 0000000..cf37f3b
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/wifi.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/wifi_ic.png b/myphoneinfo/src/main/res/mipmap-xhdpi/wifi_ic.png
new file mode 100644
index 0000000..86372ea
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/wifi_ic.png differ
diff --git a/myphoneinfo/src/main/res/values/attrs.xml b/myphoneinfo/src/main/res/values/attrs.xml
new file mode 100644
index 0000000..1b98e90
--- /dev/null
+++ b/myphoneinfo/src/main/res/values/attrs.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/values/colors.xml b/myphoneinfo/src/main/res/values/colors.xml
index f8c6127..2b90eaf 100644
--- a/myphoneinfo/src/main/res/values/colors.xml
+++ b/myphoneinfo/src/main/res/values/colors.xml
@@ -1,10 +1,23 @@
- #FFBB86FC
- #FF6200EE
- #FF3700B3
- #FF03DAC5
- #FF018786
#FF000000
#FFFFFFFF
+ #1E8C29
+ #7F7F7F
+ #1E8C29
+ #FFFFFF
+ #f4f4f4
+ #3B948A
+ #626262
+ #757575
+ #484848
+ #666666
+ #757575
+ #2B2B2B
+ #B1B1B1
+
+
+ #F8F8F8
+ #76B4AD
+ #FFD54F
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/values/dimens.xml b/myphoneinfo/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..f5e679f
--- /dev/null
+++ b/myphoneinfo/src/main/res/values/dimens.xml
@@ -0,0 +1,35 @@
+
+
+ 20sp
+ 15sp
+ 14sp
+
+
+
+
+
+
+
+ 3dp
+ 3dp
+ 10dp
+ 0dp
+
+ 16dp
+ 8dp
+ 10dp
+ 10dp
+
+
+
+ 17dp
+
+ 8dp
+
+ 10dp
+ 7dp
+ 10dp
+
+ 14dp
+ 16dp
+
\ 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 c2f4eb1..7e5e6fe 100644
--- a/myphoneinfo/src/main/res/values/strings.xml
+++ b/myphoneinfo/src/main/res/values/strings.xml
@@ -1,3 +1,291 @@
- MyPhoneInfo
+ DevCheck
+
+ Hello blank fragment
+
+ - Dashboard
+ - Hardware
+ - System
+ - Battery
+ - Network
+ - Apps
+ - Camera
+ - Sensors
+
+
+
+ CPU Status
+ CPU0:%s
+ %s:%s
+
+ Battery
+ Battery level
+ Temperature
+ Status
+ Technology
+ Health
+ Voltage
+ Capacity(reported by system)
+
+
+ Network
+ Wi-Fi
+ IP address
+ Link speed
+ Signal strength
+ Mobile
+ Phone type
+ SIM
+ State
+ Operator
+
+
+ Apps
+
+ Display
+ GPU
+ Max frequency
+ Resolution
+ Screen density
+ Screen size(estimated)
+ Aspect ratio
+ Frame rate
+
+
+ RAM
+ Storage
+
+ Tests
+ Tools
+
+ Uptime:
+ Deep sleep:
+
+ Cancel
+ Settings
+ Device
+ Product
+ Model
+ Motherboard
+ Manufacturer
+ Baseband
+ Operating System
+ Android Version
+ API
+ Security Patch Level
+ Version Number
+ Fingerprint
+ Build Time
+ Initial Release
+ Architecture
+ Instruction Set Architecture
+ Treble
+ Root Access
+ Google Play Services
+ SSL Version
+ Language
+ Time Zone
+ USB Debugging
+ Kernel
+ DRM
+ ClearKey CDM
+ Vendor
+ Version
+ Widevine
+ Algorithm
+ Device ID
+ Security Level
+ Highest HDCP Level
+ Identifier
+ Google Services Framework ID
+ Connection
+ Hardware
+ DHCP
+ BSSID
+ Function
+ Connection Speed
+ Frequency
+ Frequency Band
+ Channel
+ Standard
+ DHCP Server
+ DHCP Lease Time
+ Gateway
+ Subnet Mask
+ DNS1
+ DNS2
+ Public IP
+ SHOW
+ OK
+ Mobile Data
+ Dual SIM dual standby
+ eSIM
+ SIM 1
+ SIM 2
+ Default value
+ Nation
+ Data
+ Voice
+ Short message
+ Roaming
+ Network type
+ Support
+ Not charged
+ Information
+ Health Status
+ Maximum Output
+ Capacity (system feedback)
+ The full megapixel countand number of camerasmay not be available due to limitations of the Android camera APl.
+ Sensor size
+ Pixel size
+ 35mm equivalent focal length
+ Shutter speed
+ lSO sensitivity range
+ Optical image stabilization
+ Flash
+ Number of touches:
+ Screen will change colors. Look forburn-in or any pixels that stand out
+ Tap to continue
+ Tests
+ RESET
+ Flashlight
+ Vibration
+ Buttons
+ Multitouch
+ Display
+ Backlight
+ Light sensor
+ Proximity
+ Accelerometer
+ Root check
+ Bluetooth
+ CPU Analysis
+ Device is not rooted
+ Nearby devices
+ Paired devices
+ Is it working?
+ Yes
+ No
+ Does everything look okay?
+ Did you get feedback for each button?
+ Press each volume button
+ Slide to adjust brightness
+ Cover the top portion of the screen
+ Status:
+ Second cluster
+ First cluster
+ CPU time-in-state
+ Processor
+ Cores
+ CPU
+ Process
+ ABI
+ Supported ABls
+ Frequencies
+ Total L2 cache size
+ Bus width
+ Vulkan support
+ Vulkan API version
+ Extensions
+ Memory
+ Screen density (dpi)
+ Screen size (estimated)
+ Refresh rate
+ Wide color gamut
+ HDR support
+ RAM size
+ ZRAM
+ Size
+ Filesystem
+ Block size
+ Apps and data
+ System
+ Free
+ Internal storage
+ Disk partitions
+ Bluetooth support
+ Audio
+ Low latency audio
+ Pro audio support
+ MIDl support
+ Codecs
+ Other
+ Input devices
+ Bluetooth 4 features
+ Bluetooth 5 features
+ Security patch
+ Build
+ EMUI
+ Instruction sets
+ System apps
+ User apps
+ Installed apps
+ size
+ User
+ All
+ ScreenReader
+ Package name
+ Target SDK
+ Minimum SDK
+ Installer type
+ Installed
+ UID
+ Permissions
+ = Allowed
+ = Special access
+ = Not allowed
+ Temperatures
+ Magnetic field
+ Orientation
+ Light
+ Gravity
+ Linear acceleration
+ Rotation vector
+ Step counter
+ HALL sensor
+ Type
+ Maximum range
+ Power
+ Wakeup sensor
+ Signifcant Motion
+ Geomagnetic Rotation Vector
+ RPC sensor
+ Info
+ ST-LI3DH
+ CPU Times
+ /proc/cpuinfo
+ Marketing name
+ Features
+ Cluster 1
+ CPU0
+ Cluster 2
+ Cluster
+ Min frequency
+ More
+ Front camera 1
+ Rear camera 1
+ Video capture
+ Profles
+ High speed video
+ Video stabilization
+ Hide deep sleep
+ Show deep sleep
+ Metric units
+ Imperial units
+ Reset
+ Export
+ Share
+ FAQ
+ About
+ Set as:
+ Temperature1
+ Temperature2
+ Megapixels
+ Aperture
+ Focal length
+ 35mm equival entfocal length
+ Crop factor
+ Field of view
+ ISO sensitivity range
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/values/styles.xml b/myphoneinfo/src/main/res/values/styles.xml
new file mode 100644
index 0000000..1770d7f
--- /dev/null
+++ b/myphoneinfo/src/main/res/values/styles.xml
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/values/themes.xml b/myphoneinfo/src/main/res/values/themes.xml
index 62e72b9..04bf2b0 100644
--- a/myphoneinfo/src/main/res/values/themes.xml
+++ b/myphoneinfo/src/main/res/values/themes.xml
@@ -1,5 +1,10 @@
-
+
+
\ No newline at end of file