同步peko:完成地区选择器优化(调整地区数据、支持字母索引、有效展示当前地区)

This commit is contained in:
Max
2023-12-13 15:34:17 +08:00
parent 90a9b52551
commit f6c2354f4c
19 changed files with 505 additions and 289 deletions

View File

@@ -14,23 +14,27 @@ object TelephonyUtils : ILog {
* 是否为中国运营商任意卡属于中国就为true
*/
fun isChinaOperator(): Boolean {
val tm =
AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return false
if (tm.simState == TelephonyManager.SIM_STATE_READY) {
if (!tm.simOperator.isNullOrEmpty() && tm.simOperator.startsWith("460")) {
return true
try {
val tm =
AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return false
if (tm.simState == TelephonyManager.SIM_STATE_READY) {
if (!tm.simOperator.isNullOrEmpty() && tm.simOperator.startsWith("460")) {
return true
}
if (isChainOperator(tm.simOperatorName)) {
return true
}
}
if (isChainOperator(tm.simOperatorName)) {
return true
}
}
if (!tm.networkOperator.isNullOrEmpty() && tm.networkOperator.startsWith("460")) {
return true
}
if (isChainOperator(tm.networkOperatorName)) {
return true
if (!tm.networkOperator.isNullOrEmpty() && tm.networkOperator.startsWith("460")) {
return true
}
if (isChainOperator(tm.networkOperatorName)) {
return true
}
} catch (e: Exception) {
e.printStackTrace()
}
return false
}
@@ -51,33 +55,44 @@ object TelephonyUtils : ILog {
* 获取SIM运营商名称
*/
fun getSimOperator(): String? {
val tm =
AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return null
if (tm.simState != TelephonyManager.SIM_STATE_READY) {
logD("SIM状态不对${tm.simState}")
try {
val tm =
AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return null
if (tm.simState != TelephonyManager.SIM_STATE_READY) {
logD("SIM状态不对${tm.simState}")
return null
}
val simOperator = tm.simOperator
logD("getSimOperator()获取的MCC+MNC为$simOperator")
logD("getOperatorName()方法获取的运营商名称为:${tm.simOperatorName} ")
logD("通过getSimOperator()人为判断的运营商名称是: ${getOperatorName(simOperator)}")
return simOperator
} catch (e: Exception) {
e.printStackTrace()
return null
}
val simOperator = tm.simOperator
logD("getSimOperator()获取的MCC+MNC为$simOperator")
logD("getOperatorName()方法获取的运营商名称为:${tm.simOperatorName} ")
logD("通过getSimOperator()人为判断的运营商名称是: ${getOperatorName(simOperator)}")
return simOperator
}
/**
* 获取网络运营商
*/
fun getNetWorkOperator(): String? {
val tm = AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return null
//用于判断拨号那张卡的运营商
val networkOperator = tm.networkOperator
logD("getNetWorkOperator() 获取的MCC+MNC为$networkOperator")
logD("getNetWorkOperator() phoneType${tm.phoneType}")
logD("getNetworkOperatorName()方法获取的网络类型名称是: ${tm.networkOperatorName}")
logD("通过getNetWorkOperator()人为判断的运营商名称是: ${getOperatorName(networkOperator)}")
return tm.networkOperator
try {
val tm =
AppUtils.getApp().getSystemService(Context.TELEPHONY_SERVICE) as? TelephonyManager
?: return null
//用于判断拨号那张卡的运营商
val networkOperator = tm.networkOperator
logD("getNetWorkOperator() 获取的MCC+MNC为$networkOperator")
logD("getNetWorkOperator() phoneType${tm.phoneType}")
logD("getNetworkOperatorName()方法获取的网络类型名称是: ${tm.networkOperatorName}")
logD("通过getNetWorkOperator()人为判断的运营商名称是: ${getOperatorName(networkOperator)}")
return tm.networkOperator
} catch (e: Exception) {
e.printStackTrace()
return null
}
}
/**