add network
This commit is contained in:
parent
f9a640cc5c
commit
e5a7720af1
@ -86,6 +86,14 @@ object SetNumberOrWordUtils {
|
|||||||
return closestRatio
|
return closestRatio
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getHoursString(int: Int):String{
|
||||||
|
val div = int.div(3600)
|
||||||
|
return if(div>1){
|
||||||
|
"$div hours"
|
||||||
|
}else{
|
||||||
|
"$div hour"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
package com.xyzshell.myphoneinfo.dashboard
|
package com.xyzshell.myphoneinfo.dashboard
|
||||||
|
|
||||||
|
import android.Manifest
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
@ -7,12 +8,15 @@ import android.view.LayoutInflater
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import androidx.annotation.RequiresPermission
|
||||||
import com.xyzshell.andinfo.AndInfo
|
import com.xyzshell.andinfo.AndInfo
|
||||||
import com.xyzshell.andinfo.libs.NetworkInfo
|
import com.xyzshell.andinfo.libs.NetworkInfo
|
||||||
import com.xyzshell.myphoneinfo.R
|
import com.xyzshell.myphoneinfo.R
|
||||||
import com.xyzshell.myphoneinfo.custom.PermissionChecker
|
import com.xyzshell.myphoneinfo.custom.PermissionChecker
|
||||||
|
import com.xyzshell.myphoneinfo.custom.SetNumberOrWordUtils.getHoursString
|
||||||
import com.xyzshell.myphoneinfo.databinding.FragmentNetworkBinding
|
import com.xyzshell.myphoneinfo.databinding.FragmentNetworkBinding
|
||||||
import com.xyzshell.myphoneinfo.dialog.ShowLoadFragment
|
import com.xyzshell.myphoneinfo.dialog.ShowLoadFragment
|
||||||
|
import kotlin.toString
|
||||||
|
|
||||||
class NetworkFragment : Fragment() {
|
class NetworkFragment : Fragment() {
|
||||||
|
|
||||||
@ -36,12 +40,15 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
networkInfo= AndInfo.instance.network
|
||||||
|
refreshStatus()
|
||||||
|
setMobileInfo()
|
||||||
if(PermissionChecker.getMissingPermissions(context = requireContext()).isNotEmpty()){
|
if(PermissionChecker.getMissingPermissions(context = requireContext()).isNotEmpty()){
|
||||||
PermissionChecker.requestSimple(
|
PermissionChecker.requestSimple(
|
||||||
requireActivity(),
|
requireActivity(),
|
||||||
onGranted = {
|
onGranted = {
|
||||||
// 权限已授予,执行操作
|
// 权限已授予,执行操作
|
||||||
|
refreshStatus()
|
||||||
},
|
},
|
||||||
onDenied = {
|
onDenied = {
|
||||||
// 权限被拒绝
|
// 权限被拒绝
|
||||||
@ -49,23 +56,6 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
networkInfo= AndInfo.instance.network
|
|
||||||
val currentNetworkType = networkInfo.getCurrentNetworkType()
|
|
||||||
when (currentNetworkType) {
|
|
||||||
NetworkInfo.NetworkType.WIFI -> {
|
|
||||||
status = 1
|
|
||||||
setWifiDetail()
|
|
||||||
}
|
|
||||||
NetworkInfo.NetworkType.MOBILE -> {
|
|
||||||
status = 2
|
|
||||||
setMobileInfo()
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
status = 0
|
|
||||||
setNoConnect()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//wifi
|
//wifi
|
||||||
binding.networkLayout.wfText1.textTitle.text=getString(R.string.status)
|
binding.networkLayout.wfText1.textTitle.text=getString(R.string.status)
|
||||||
// binding.networkLayout.wfText2.textTitle.text=getString(R.string.network)
|
// binding.networkLayout.wfText2.textTitle.text=getString(R.string.network)
|
||||||
@ -87,6 +77,14 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
binding.networkLayout.dhText7.textTitle.text=getString(R.string.ip_address)
|
binding.networkLayout.dhText7.textTitle.text=getString(R.string.ip_address)
|
||||||
binding.networkLayout.dhText8.textTitle.text=getString(R.string.ipv6)
|
binding.networkLayout.dhText8.textTitle.text=getString(R.string.ipv6)
|
||||||
|
|
||||||
|
//Hardware
|
||||||
|
binding.networkLayout.hardCheck1.content.text=getString(R.string.standard_all)
|
||||||
|
binding.networkLayout.hardCheck2.content.text=getString(R.string.wifi_direct_support)
|
||||||
|
binding.networkLayout.hardCheck3.content.text=getString(R.string.wifi_aware_support)
|
||||||
|
binding.networkLayout.hardCheck4.content.text=getString(R.string.wifi_passpoint_support)
|
||||||
|
binding.networkLayout.hardCheck5.content.text=getString(R.string.ghz_band_support)
|
||||||
|
binding.networkLayout.hardCheck6.content.text=getString(R.string.ghz6_band_support)
|
||||||
|
|
||||||
//mobel
|
//mobel
|
||||||
binding.mdText1.textTitle.text=getString(R.string.dual_sim_dual_standby)
|
binding.mdText1.textTitle.text=getString(R.string.dual_sim_dual_standby)
|
||||||
binding.mdText2.textTitle.text=getString(R.string.phone_type)
|
binding.mdText2.textTitle.text=getString(R.string.phone_type)
|
||||||
@ -99,10 +97,6 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
binding.defText2.textTitle.text=getString(R.string.voice)
|
binding.defText2.textTitle.text=getString(R.string.voice)
|
||||||
binding.defText3.textTitle.text=getString(R.string.short_message)
|
binding.defText3.textTitle.text=getString(R.string.short_message)
|
||||||
|
|
||||||
binding.simText1.textTitle.text=getString(R.string.status)
|
|
||||||
binding.simText2.textTitle.text=getString(R.string.nation)
|
|
||||||
binding.simText3.textTitle.text=getString(R.string.roaming)
|
|
||||||
binding.simText4.textTitle.text=getString(R.string.network_type)
|
|
||||||
|
|
||||||
binding.networkLayout.pubShow.setOnClickListener{
|
binding.networkLayout.pubShow.setOnClickListener{
|
||||||
val tag = "showLoadFragment"
|
val tag = "showLoadFragment"
|
||||||
@ -113,6 +107,23 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun refreshStatus() {
|
||||||
|
val currentNetworkType = networkInfo.getCurrentNetworkType()
|
||||||
|
when (currentNetworkType) {
|
||||||
|
NetworkInfo.NetworkType.WIFI -> {
|
||||||
|
status = 1
|
||||||
|
setWifiDetail()
|
||||||
|
}
|
||||||
|
NetworkInfo.NetworkType.MOBILE -> {
|
||||||
|
status = 2
|
||||||
|
setMobileInfo()
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
status = 0
|
||||||
|
setNoConnect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
private fun setNoConnect() {
|
private fun setNoConnect() {
|
||||||
binding.noConnect.visibility=View.VISIBLE
|
binding.noConnect.visibility=View.VISIBLE
|
||||||
binding.connectData.visibility=View.GONE
|
binding.connectData.visibility=View.GONE
|
||||||
@ -132,22 +143,58 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
binding.networkLayout.wifiList.visibility=View.VISIBLE
|
binding.networkLayout.wifiList.visibility=View.VISIBLE
|
||||||
binding.networkLayout.llPubShow.visibility=View.VISIBLE
|
binding.networkLayout.llPubShow.visibility=View.VISIBLE
|
||||||
networkInfo.getMobileDetails()?.let { mobileDetails ->
|
networkInfo.getMobileDetails()?.let { mobileDetails ->
|
||||||
|
//mobel
|
||||||
|
// binding.mdText1.textTitle.text=getString(R.string.dual_sim_dual_standby)
|
||||||
|
// binding.mdText2.textTitle.text=getString(R.string.phone_type)
|
||||||
|
// binding.mdText3.textTitle.text=getString(R.string.esim)
|
||||||
|
//
|
||||||
|
// binding.conTexts.textTitle.text=getString(R.string.status)
|
||||||
|
//
|
||||||
|
// binding.defText1.textTitle.text=getString(R.string.data)
|
||||||
|
//
|
||||||
|
// binding.defText2.textTitle.text=getString(R.string.voice)
|
||||||
|
// binding.defText3.textTitle.text=getString(R.string.short_message)
|
||||||
|
//
|
||||||
|
// binding.simText1.textTitle.text=getString(R.string.status)
|
||||||
|
// binding.simText2.textTitle.text=getString(R.string.nation)
|
||||||
|
// binding.simText3.textTitle.text=getString(R.string.roaming)
|
||||||
|
// binding.simText4.textTitle.text=getString(R.string.network_type)
|
||||||
|
binding.mdText1.textContent.text=mobileDetails.dualSim.toString()
|
||||||
|
binding.mdText2.textContent.text=mobileDetails.phoneType.toString()
|
||||||
|
binding.mdText3.textContent.text=mobileDetails.esimSupported.toString()
|
||||||
|
binding.conTexts.textContent.text=mobileDetails.dataEnabled.toString()
|
||||||
|
binding.defText1.textContent.text=mobileDetails.dataSim.toString()
|
||||||
|
binding.defText2.textContent.text=mobileDetails.voiceSim.toString()
|
||||||
|
binding.defText3.textContent.text=mobileDetails.smsSim.toString()
|
||||||
|
if(mobileDetails.simInfos.isNotEmpty()){
|
||||||
|
binding.simInfo1.simText1.textTitle.text=getString(R.string.status)
|
||||||
|
binding.simInfo1.simText2.textTitle.text=getString(R.string.nation)
|
||||||
|
binding.simInfo1.simText3.textTitle.text=getString(R.string.roaming)
|
||||||
|
binding.simInfo1.simText4.textTitle.text=getString(R.string.network_type)
|
||||||
|
binding.simInfo1.simText1.textContent.text=if(status==2) true.toString() else false.toString()
|
||||||
|
binding.simInfo1.simText2.textContent.text=mobileDetails.simInfos[0].countryIso.toString()
|
||||||
|
binding.simInfo1.simText3.textContent.text=mobileDetails.simInfos[0].roaming.toString()
|
||||||
|
if(mobileDetails.simInfos.size>1){
|
||||||
|
binding.simInfo2.root.visibility=View.VISIBLE
|
||||||
|
binding.simInfo2.simText1.textTitle.text=getString(R.string.status)
|
||||||
|
binding.simInfo2.simText2.textTitle.text=getString(R.string.nation)
|
||||||
|
binding.simInfo2.simText3.textTitle.text=getString(R.string.roaming)
|
||||||
|
binding.simInfo2.simText4.textTitle.text=getString(R.string.network_type)
|
||||||
|
binding.simInfo2.simText1.textContent.text=if(status==2) true.toString() else false.toString()
|
||||||
|
binding.simInfo2.simText2.textContent.text=mobileDetails.simInfos[1].countryIso.toString()
|
||||||
|
binding.simInfo2.simText3.textContent.text=mobileDetails.simInfos[1].roaming.toString()
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
binding.simInfo1.root.visibility=View.GONE
|
||||||
|
binding.simInfo2.root.visibility=View.GONE
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置wifi信息
|
* 设置wifi信息
|
||||||
* */
|
* */
|
||||||
// binding.networkLayout.wfText2.textTitle.text=getString(R.string.network)
|
|
||||||
// binding.networkLayout.wfText3.textTitle.text=getString(R.string.bssid)
|
|
||||||
// binding.networkLayout.wfText4.textTitle.text=getString(R.string.function)
|
|
||||||
// binding.networkLayout.wfText5.textTitle.text=getString(R.string.connection_speed)
|
|
||||||
// binding.networkLayout.wfText6.textTitle.text=getString(R.string.signal_strength)
|
|
||||||
// binding.networkLayout.wfText7.textTitle.text=getString(R.string.frequency)
|
|
||||||
// binding.networkLayout.wfText8.textTitle.text=getString(R.string.frequency_band)
|
|
||||||
// binding.networkLayout.wfText9.textTitle.text=getString(R.string.channel)
|
|
||||||
// binding.networkLayout.wfText10.textTitle.text=getString(R.string.standard)
|
|
||||||
private fun setWifiDetail() {
|
private fun setWifiDetail() {
|
||||||
binding.noConnect.visibility=View.GONE
|
binding.noConnect.visibility=View.GONE
|
||||||
binding.conText1.text=getString(R.string.wifi)
|
binding.conText1.text=getString(R.string.wifi)
|
||||||
@ -156,9 +203,12 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
binding.networkLayout.llPubShow.visibility=View.VISIBLE
|
binding.networkLayout.llPubShow.visibility=View.VISIBLE
|
||||||
networkInfo.getWifiDetails()?.let { wifiDetails ->
|
networkInfo.getWifiDetails()?.let { wifiDetails ->
|
||||||
Log.d("TTTTTTTT", (wifiDetails.signalLevelPercent?: "null").toString())
|
Log.d("TTTTTTTT", (wifiDetails.signalLevelPercent?: "null").toString())
|
||||||
binding.strengthView.setStrength(wifiDetails.signalLevelPercent?: 0)
|
wifiDetails.signalLevelPercent?.let { percent->
|
||||||
binding.conText2.text="${wifiDetails.ssid}·${wifiDetails.linkSpeedMbps}"
|
binding.strengthView.setStrength(calculateSignalLevel(percent = percent))
|
||||||
binding.conTExt3.text="${wifiDetails.signalLevelPercent} ${wifiDetails.rssi}"
|
}
|
||||||
|
|
||||||
|
binding.conText2.text="${wifiDetails.ssid}·${wifiDetails.linkSpeedMbps} Mbps"
|
||||||
|
binding.conTExt3.text="${wifiDetails.signalLevelPercent}% ${wifiDetails.rssi} dBm"
|
||||||
if(wifiDetails.connected){
|
if(wifiDetails.connected){
|
||||||
binding.networkLayout.wfText1.textContent.text=getString(R.string.connectivity_status)
|
binding.networkLayout.wfText1.textContent.text=getString(R.string.connectivity_status)
|
||||||
}else{
|
}else{
|
||||||
@ -167,15 +217,42 @@ private lateinit var binding:FragmentNetworkBinding
|
|||||||
|
|
||||||
binding.networkLayout.wfText3.textContent.text=wifiDetails.bssid
|
binding.networkLayout.wfText3.textContent.text=wifiDetails.bssid
|
||||||
binding.networkLayout.wfText4.textContent.text=wifiDetails.capabilities
|
binding.networkLayout.wfText4.textContent.text=wifiDetails.capabilities
|
||||||
binding.networkLayout.wfText5.textContent.text=wifiDetails.linkSpeedMbps.toString()
|
binding.networkLayout.wfText5.textContent.text="${wifiDetails.linkSpeedMbps} Mbps"
|
||||||
binding.networkLayout.wfText6.textContent.text=wifiDetails.signalLevelPercent.toString()
|
binding.networkLayout.wfText6.textContent.text="${wifiDetails.rssi} dBm"
|
||||||
binding.networkLayout.wfText7.textContent.text=wifiDetails.frequency.toString()
|
binding.networkLayout.wfText7.textContent.text="${wifiDetails.frequency} MHz"
|
||||||
binding.networkLayout.wfText8.textContent.text=wifiDetails.channel.toString()
|
binding.networkLayout.wfText8.textContent.text=wifiDetails.channel.toString()
|
||||||
binding.networkLayout.wfText10.textContent.text=wifiDetails.standard.toString()
|
binding.networkLayout.wfText10.textContent.text=wifiDetails.standard.toString()
|
||||||
|
|
||||||
|
binding.networkLayout.dhText1.textContent.text=wifiDetails.dhcpServer
|
||||||
|
binding.networkLayout.dhText2.textContent.text=getHoursString(wifiDetails.leaseDuration?: 0)
|
||||||
|
binding.networkLayout.dhText3.textContent.text=wifiDetails.gateway
|
||||||
|
binding.networkLayout.dhText4.textContent.text=wifiDetails.subnetMask
|
||||||
|
binding.networkLayout.dhText5.textContent.text=wifiDetails.dns1
|
||||||
|
binding.networkLayout.dhText6.textContent.text=wifiDetails.dns2
|
||||||
|
binding.networkLayout.dhText7.textContent.text=wifiDetails.ip
|
||||||
|
val toString = wifiDetails.ipv6.toString()
|
||||||
|
val ipv6 = toString.replace("[", "").replace("]", "")
|
||||||
|
binding.networkLayout.dhText8.textContent.text=ipv6
|
||||||
|
|
||||||
|
binding.networkLayout.hardCheck1.image.isSelected= wifiDetails.supportedStandards?.size==5
|
||||||
|
binding.networkLayout.hardCheck2.image.isSelected= wifiDetails.wifiDirect == true
|
||||||
|
binding.networkLayout.hardCheck3.image.isSelected= wifiDetails.wifiAware == true
|
||||||
|
binding.networkLayout.hardCheck4.image.isSelected= wifiDetails.wifiPasspoint == true
|
||||||
|
binding.networkLayout.hardCheck5.image.isSelected= wifiDetails.support5G == true
|
||||||
|
binding.networkLayout.hardCheck6.image.isSelected= wifiDetails.support6G == true
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun calculateSignalLevel( percent: Int) : Int {
|
||||||
|
return when {
|
||||||
|
percent >= 80 -> 5 // 优秀
|
||||||
|
percent >= 60 -> 4 // 良好
|
||||||
|
percent >= 40 -> 3 // 一般
|
||||||
|
percent >= 20 -> 2 // 差
|
||||||
|
else -> 1 // 非常差/无信号
|
||||||
|
}
|
||||||
|
}
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
|||||||
@ -77,7 +77,7 @@
|
|||||||
style="@style/TextBig"
|
style="@style/TextBig"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Wi-Fi"
|
android:text=""
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
|
|
||||||
@ -86,7 +86,7 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="LUX·433 Mbps"
|
android:text=""
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
|
|
||||||
@ -95,7 +95,7 @@
|
|||||||
style="@style/LeftContent"
|
style="@style/LeftContent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="80% -60dBm"
|
android:text=""
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:ignore="RelativeOverlap" />
|
tools:ignore="RelativeOverlap" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@ -189,26 +189,17 @@
|
|||||||
<include
|
<include
|
||||||
android:id="@+id/defText3"
|
android:id="@+id/defText3"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/common_text_style" />
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
style="@style/TextHeavy20"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="30dp"
|
|
||||||
android:text="@string/sim_card_1"
|
|
||||||
tools:ignore="RelativeOverlap" />
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/simText1"
|
android:id="@+id/simInfo1"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/item_set_sim"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
<include
|
<include
|
||||||
android:id="@+id/simText2"
|
android:id="@+id/simInfo2"
|
||||||
layout="@layout/common_text_style" />
|
layout="@layout/item_set_sim"
|
||||||
<include
|
android:layout_width="match_parent"
|
||||||
android:id="@+id/simText3"
|
android:visibility="gone"
|
||||||
layout="@layout/common_text_style" />
|
android:layout_height="wrap_content"/>
|
||||||
<include
|
|
||||||
android:id="@+id/simText4"
|
|
||||||
layout="@layout/common_text_style" />
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
25
myphoneinfo/src/main/res/layout/item_set_sim.xml
Normal file
25
myphoneinfo/src/main/res/layout/item_set_sim.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/simTitle"
|
||||||
|
style="@style/TextHeavy20"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="30dp"
|
||||||
|
android:text="@string/sim_card_1" />
|
||||||
|
<include
|
||||||
|
android:id="@+id/simText1"
|
||||||
|
layout="@layout/common_text_style" />
|
||||||
|
<include
|
||||||
|
android:id="@+id/simText2"
|
||||||
|
layout="@layout/common_text_style" />
|
||||||
|
<include
|
||||||
|
android:id="@+id/simText3"
|
||||||
|
layout="@layout/common_text_style" />
|
||||||
|
<include
|
||||||
|
android:id="@+id/simText4"
|
||||||
|
layout="@layout/common_text_style" />
|
||||||
|
</LinearLayout>
|
||||||
@ -119,7 +119,7 @@
|
|||||||
<string name="show">Show</string>
|
<string name="show">Show</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="mobile_data">Mobile Data</string>
|
<string name="mobile_data">Mobile Data</string>
|
||||||
<string name="dual_sim_dual_standby">Dual SIM dual standby</string>
|
<string name="dual_sim_dual_standby">Dual SIM</string>
|
||||||
<string name="esim">eSIM</string>
|
<string name="esim">eSIM</string>
|
||||||
<string name="sim_card_1">SIM 1</string>
|
<string name="sim_card_1">SIM 1</string>
|
||||||
<string name="sim_card_2">SIM 2</string>
|
<string name="sim_card_2">SIM 2</string>
|
||||||
@ -322,5 +322,10 @@
|
|||||||
<string name="connectivity_status">Connected</string>
|
<string name="connectivity_status">Connected</string>
|
||||||
<string name="not_connected">Not connected</string>
|
<string name="not_connected">Not connected</string>
|
||||||
<string name="gps">GPS</string>
|
<string name="gps">GPS</string>
|
||||||
|
<string name="standard_all">802.11 b/a/g/n/ac/ax/be</string>
|
||||||
|
<string name="wifi_direct_support">Wi-Fi Direct support</string>
|
||||||
|
<string name="wifi_aware_support">Wi-Fi Aware support</string>
|
||||||
|
<string name="wifi_passpoint_support">Wi-Fi Passpoint support</string>
|
||||||
|
<string name="ghz_band_support">5GHz band support</string>
|
||||||
|
<string name="ghz6_band_support">6GHz band support</string>
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Reference in New Issue
Block a user