1.优化判断固件升级方法:改为从位依次判断

2.修复别的页面(非map页)未设置wifi宠物切换已设置wifi宠物,会出现未设置wifi弹窗bug
3.优化部分文案显示
This commit is contained in:
yezhiqiu
2026-05-22 15:31:08 +08:00
parent 63edcb7a5b
commit 462629386e
12 changed files with 151 additions and 107 deletions

View File

@@ -30,7 +30,7 @@ android {
targetSdkVersion 35 targetSdkVersion 35
versionCode 2206 versionCode 2206
// versionName "2.2.6" // versionName "2.2.6"
versionName "2.2.6-Beta2" versionName "2.2.6-Beta3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -966,7 +966,7 @@ class HomeTrackFragment :
val data2 = SRBleCmdUtil.instance.byteToInt(data[2]) val data2 = SRBleCmdUtil.instance.byteToInt(data[2])
if (data0 == 9) { if (data0 == 9) {
if (data2 == 0) { if (data2 == 0) {
val strVersion = String(data.sliceArray(3..11)) val strVersion = String(data.sliceArray(3..11)).substringBefore(0x00.toChar())
LogUtil.e("设备固件版本号:$strVersion") LogUtil.e("设备固件版本号:$strVersion")
findItem(mTrackMenuList, getString(R.string.txt_firmware_version))?.let { findItem(mTrackMenuList, getString(R.string.txt_firmware_version))?.let {
it.menuValue = strVersion it.menuValue = strVersion

View File

@@ -338,29 +338,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
} }
//接收固件版本消息 //接收固件版本消息
XEventBus.observe(this, EventName.BleFirmwareVersion) { receiveData: ReceiveDeviceData -> XEventBus.observe(this, EventName.BleFirmwareVersion) { receiveData: ReceiveDeviceData ->
getHomeV2Activity()?.let { home -> showDfuTipDialog(receiveData)
home.getPet(false)?.apply {
if (shared == ConstantInt.NoShare && availableOrder == ConstantInt.Type1 && macID == receiveData.mac && !showDFUDialog) {
receiveData.data?.let { data ->
val version = String(data.sliceArray(3..11))
if (mDeviceDFUViewModel.checkVersionUpdate(version, serviceVersion)) {
showDFUDialog = true
val str = String.format(
getString(R.string.txt_new_firmware_version), serviceVersion
)
ViewUtil.instance.showDialog(
mContext!!, str, object : BaseDialog.OnDialogOkListener {
override fun onOkClick(dialog: BaseDialog<*>) {
dialog.dismiss()
home.goDFU()
}
}, okTextResId = R.string.txt_upgrade
)
}
}
}
}
}
} }
//设备获取手机位置 //设备获取手机位置
XEventBus.observe(this, EventName.BleGetLocation) { mac: String -> XEventBus.observe(this, EventName.BleGetLocation) { mac: String ->
@@ -431,16 +409,53 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
// } // }
} }
private fun dealMapData(data: MapDeviceBean) { /**
mMapDeviceBean?.let { m -> *显示固件升级弹窗提示
data.notifyLocationFail = m.notifyLocationFail */
data.isCloseMsg = m.isCloseMsg private fun showDfuTipDialog(receiveData: ReceiveDeviceData) {
data.isCloseBattery = m.isCloseBattery getHomeV2Activity()?.let { home ->
data.canShowBattery = m.canShowBattery home.getPet(false)?.apply {
if (shared == ConstantInt.NoShare && availableOrder == ConstantInt.Type1 && macID == receiveData.mac && !showDFUDialog) {
receiveData.data?.let { data ->
val version = String(data.sliceArray(3..11)).substringBefore(0x00.toChar())
if (mDeviceDFUViewModel.checkVersionUpdate(version, serviceVersion)) {
showDFUDialog = true
val str = String.format(
getString(R.string.txt_new_firmware_version), serviceVersion
)
ViewUtil.instance.showDialog(
mContext!!,
str,
object : BaseDialog.OnDialogOkListener {
override fun onOkClick(dialog: BaseDialog<*>) {
dialog.dismiss()
home.goDFU()
}
},
okTextResId = R.string.txt_upgrade,
cancelTextResId = R.string.txt_cancel
)
}
}
}
}
} }
mMapDeviceBean = data }
private fun dealMapData(data: MapDeviceBean) {
getHomeV2Activity()?.apply { getHomeV2Activity()?.apply {
mMapDeviceBean?.let { m ->
getPet(false)?.let { p ->
//防止其他fragment页面切换了宠物定时更新数据导致还是之前宠物的数据
if (data.deviceMacId != p.macID) return
}
data.notifyLocationFail = m.notifyLocationFail
data.isCloseMsg = m.isCloseMsg
data.isCloseBattery = m.isCloseBattery
data.canShowBattery = m.canShowBattery
}
mMapDeviceBean = data
if (isNotifyRefreshLocation) { if (isNotifyRefreshLocation) {
if (data.liveFlag == 0) { if (data.liveFlag == 0) {
stopRefreshLocation() stopRefreshLocation()
@@ -725,44 +740,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
MMKVUtil.putBoolean(MMKVKey.isGpsToGCJ02, !isOutOfChina) MMKVUtil.putBoolean(MMKVKey.isGpsToGCJ02, !isOutOfChina)
} }
getHomeV2Activity()?.let { showNoSetWifiDialog(this)
it.getPet(false)?.let { pet ->
//检测没有设置wif就提示弹窗
if (pet.shared == ConstantInt.NoShare && pet.availableOrder == ConstantInt.Type1 && inWifiZone == ConstantInt.Type2 && !pet.showNoWifiDialog) {
pet.showNoWifiDialog = true
CommonDialog2(
mContext!!,
getString(R.string.txt_edit_power_zone),
getString(R.string.txt_sure),
object : BaseDialog.OnDialogOkListener {
override fun onOkClick(dialog: BaseDialog<*>) {
Intent(
mContext, AddWifiPowerZone1Activity::class.java
).let { i ->
//判断是否国内经纬度,需要坐标转换
if (MMKVUtil.getBoolean(MMKVKey.isGpsToGCJ02)) {
val convertLatLon =
LonAndLatUtil.convertFromWGS84ToGCJ02(
latitude, longitude
)
i.putExtra(
ConstantString.Latitude, convertLatLon[0]
)
i.putExtra(
ConstantString.Longitude, convertLatLon[1]
)
} else {
i.putExtra(ConstantString.Latitude, latitude)
i.putExtra(ConstantString.Longitude, longitude)
}
i.putExtra(ConstantString.Pet, pet)
startActivity(i)
}
}
}).show()
}
}
}
mHomeMapCommon.refreshPetCurrentLocation(latitude, longitude, isMoveCamera) mHomeMapCommon.refreshPetCurrentLocation(latitude, longitude, isMoveCamera)
isMoveCamera = false isMoveCamera = false
@@ -780,6 +758,52 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
} }
} }
/**
* 显示没有设置wifi弹窗
*/
private fun showNoSetWifiDialog(mapDeviceBean: MapDeviceBean) {
mapDeviceBean.apply {
getHomeV2Activity()?.let {
it.getPet(false)?.let { pet ->
//检测没有设置wif就提示弹窗
if (pet.shared == ConstantInt.NoShare && pet.availableOrder == ConstantInt.Type1 && inWifiZone == ConstantInt.Type2 && !pet.showNoWifiDialog) {
pet.showNoWifiDialog = true
CommonDialog2(
mContext!!,
getString(R.string.txt_add_wifi_tips),
getString(R.string.txt_add),
object : BaseDialog.OnDialogOkListener {
override fun onOkClick(dialog: BaseDialog<*>) {
Intent(
mContext, AddWifiPowerZone1Activity::class.java
).let { i ->
//判断是否国内经纬度,需要坐标转换
if (MMKVUtil.getBoolean(MMKVKey.isGpsToGCJ02)) {
val convertLatLon =
LonAndLatUtil.convertFromWGS84ToGCJ02(
latitude, longitude
)
i.putExtra(
ConstantString.Latitude, convertLatLon[0]
)
i.putExtra(
ConstantString.Longitude, convertLatLon[1]
)
} else {
i.putExtra(ConstantString.Latitude, latitude)
i.putExtra(ConstantString.Longitude, longitude)
}
i.putExtra(ConstantString.Pet, pet)
startActivity(i)
}
}
}).show()
}
}
}
}
}
private fun setRefreshLocationBtnState() { private fun setRefreshLocationBtnState() {
getHomeV2Activity()?.apply { getHomeV2Activity()?.apply {
getPet(false)?.let { pet -> getPet(false)?.let { pet ->

View File

@@ -872,13 +872,14 @@ class Util {
/** /**
* 限制16个字母或8个中文 * 限制16个字母或8个中文,限制空格输入
* 截断到最大16单位 * 截断到最大16单位
* @param limitLetterLength 限制字母的个数 * @param limitLetterLength 限制字母的个数
*/ */
fun String.limitLetterChinese(limitLetterLength: Int): String { fun String.limitLetterChinese(limitLetterLength: Int): String {
val sb = StringBuilder() val sb = StringBuilder()
for (c in this) { for (c in this) {
if (c == ' ') break
val temp = sb.toString() + c val temp = sb.toString() + c
if (temp.calcLengthUnit() > limitLetterLength) break if (temp.calcLengthUnit() > limitLetterLength) break
sb.append(c) sb.append(c)

View File

@@ -74,11 +74,27 @@ class DeviceDFUViewModel(application: Application) : AndroidViewModel(applicatio
* 对比版本号是否可以更新 * 对比版本号是否可以更新
*/ */
fun checkVersionUpdate(localVersion: String, serviceVersion: String): Boolean { fun checkVersionUpdate(localVersion: String, serviceVersion: String): Boolean {
if (TextUtils.isEmpty(localVersion)) return false try {
val localVersionInt = (localVersion.replace(".", "").substring(1, 4)).toInt() LogUtil.e("localVersion=$localVersion,serviceVersion=$serviceVersion")
val serviceVersionInt = serviceVersion.replace(".", "").toInt() if (TextUtils.isEmpty(localVersion) || TextUtils.isEmpty(serviceVersion)) return false
LogUtil.e("对比固件版本localVersionInt=$localVersionInt,serviceVersionInt=$serviceVersionInt") val localVersionNum = localVersion.uppercase().substringAfter("V").substringBefore("-")
return serviceVersionInt >= localVersionInt LogUtil.e("对比固件版本localVersionNum=$localVersionNum,serviceVersion=$serviceVersion")
val localVersions = localVersionNum.split(".")
val serviceVersions = serviceVersion.split(".")
var newVersion = false
var len = localVersions.size
if (len > serviceVersions.size) len = serviceVersions.size
for (i in 0 until len) {
if (serviceVersions[i].toInt() > localVersions[i].toInt()) {
newVersion = true
break
}
}
return newVersion
} catch (e: Exception) {
LogUtil.e("对比固件版本出错,${e.message}")
return false
}
} }

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"

View File

@@ -5,8 +5,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/shape16_white_color_bg" android:background="@drawable/shape16_white_color_bg"
android:orientation="vertical" android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_47" android:paddingTop="@dimen/dp_18"
android:paddingVertical="@dimen/dp_18"> android:paddingBottom="@dimen/dp_6">
<com.abbidot.tracker.widget.TypefaceTextView <com.abbidot.tracker.widget.TypefaceTextView
android:id="@+id/tv_common_dialog_title" android:id="@+id/tv_common_dialog_title"
@@ -33,7 +33,7 @@
android:layout_height="@dimen/dp_42" android:layout_height="@dimen/dp_42"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_24" android:layout_marginTop="@dimen/dp_24"
android:layout_marginBottom="@dimen/dp_8" android:layout_marginBottom="@dimen/dp_2"
android:gravity="center" android:gravity="center"
android:minWidth="@dimen/dp_140" android:minWidth="@dimen/dp_140"
android:paddingHorizontal="@dimen/dp_28" android:paddingHorizontal="@dimen/dp_28"
@@ -49,7 +49,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:background="@drawable/selector_transparent_pressed" android:background="@drawable/selector_transparent_pressed"
android:padding="@dimen/dp_6" android:padding="@dimen/dp_12"
android:text="@string/txt_later" android:text="@string/txt_later"
android:textColor="@color/select_color" android:textColor="@color/select_color"
android:textSize="@dimen/textSize14" android:textSize="@dimen/textSize14"

View File

@@ -11,7 +11,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:padding="@dimen/dp_18" android:paddingTop="@dimen/dp_18"
android:paddingBottom="@dimen/dp_6"
android:visibility="gone"> android:visibility="gone">
@@ -39,7 +40,8 @@
android:layout_width="@dimen/dp_160" android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_42" android:layout_height="@dimen/dp_42"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_36" android:layout_marginTop="@dimen/dp_24"
android:layout_marginBottom="@dimen/dp_2"
android:text="@string/txt_upgrade_now" android:text="@string/txt_upgrade_now"
android:textColor="@color/select_color" android:textColor="@color/select_color"
android:textSize="@dimen/textSize16" android:textSize="@dimen/textSize16"
@@ -50,9 +52,8 @@
android:id="@+id/tv_dialog_dfu_new_later_btn" android:id="@+id/tv_dialog_dfu_new_later_btn"
style="@style/my_TextView_style_v2" style="@style/my_TextView_style_v2"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/selector_transparent_pressed" android:background="@drawable/selector_transparent_pressed"
android:padding="@dimen/dp_6" android:padding="@dimen/dp_16"
android:text="@string/txt_later" android:text="@string/txt_later"
android:textColor="@color/select_color" android:textColor="@color/select_color"
android:textSize="@dimen/textSize14" android:textSize="@dimen/textSize14"

View File

@@ -5,7 +5,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/shape16_white_color_bg" android:background="@drawable/shape16_white_color_bg"
android:orientation="vertical" android:orientation="vertical"
android:padding="@dimen/dp_18"> android:paddingTop="@dimen/dp_18"
android:paddingBottom="@dimen/dp_6">
<com.abbidot.tracker.widget.TypefaceTextView <com.abbidot.tracker.widget.TypefaceTextView
android:id="@+id/tv_common_dialog2_title" android:id="@+id/tv_common_dialog2_title"
@@ -23,7 +24,7 @@
android:layout_height="@dimen/dp_45" android:layout_height="@dimen/dp_45"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_18" android:layout_marginTop="@dimen/dp_18"
android:layout_marginBottom="@dimen/dp_8" android:layout_marginBottom="@dimen/dp_2"
android:text="@string/txt_upgrade_now" android:text="@string/txt_upgrade_now"
android:textColor="@color/select_color" android:textColor="@color/select_color"
android:textSize="@dimen/textSize16" android:textSize="@dimen/textSize16"
@@ -36,7 +37,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:background="@drawable/selector_transparent_pressed" android:background="@drawable/selector_transparent_pressed"
android:padding="@dimen/dp_6" android:padding="@dimen/dp_12"
android:text="@string/txt_later" android:text="@string/txt_later"
android:textColor="@color/select_color" android:textColor="@color/select_color"
android:textSize="@dimen/textSize14" android:textSize="@dimen/textSize14"

View File

@@ -114,7 +114,7 @@
<string name="tracker_manage_set_add_family">Familie hinzufügen</string> <string name="tracker_manage_set_add_family">Familie hinzufügen</string>
<string name="tracker_manage_set_add_family_detail">Laden Sie Familienmitglieder ein, den Standort oder die Aktivität des Haustiers zu teilen. Familienmitglieder können keine Zäune erstellen oder Einstellungen ändern.</string> <string name="tracker_manage_set_add_family_detail">Laden Sie Familienmitglieder ein, den Standort oder die Aktivität des Haustiers zu teilen. Familienmitglieder können keine Zäune erstellen oder Einstellungen ändern.</string>
<string name="tracker_manage_set_add_family_invite">Einladen</string> <string name="tracker_manage_set_add_family_invite">Einladen</string>
<string name="tracker_manage_set_add_family_succ">Einladung erfolgreich, bitte benachrichtigen Sie Ihre Familie.</string> <string name="tracker_manage_set_add_family_succ">Erfolgreich gesendet</string>
<string name="tracker_manage_set_add_family_back">Zurück</string> <string name="tracker_manage_set_add_family_back">Zurück</string>
<string name="tracker_manage_set_duration">GPS-Aktualisierungen</string> <string name="tracker_manage_set_duration">GPS-Aktualisierungen</string>
<string name="tracker_manage_set_power">Ausschalten</string> <string name="tracker_manage_set_power">Ausschalten</string>
@@ -189,7 +189,7 @@
<string name="txt_add_successful">Erfolgreich hinzugefügt</string> <string name="txt_add_successful">Erfolgreich hinzugefügt</string>
<string name="txt_save_successful">Erfolgreich gespeichert</string> <string name="txt_save_successful">Erfolgreich gespeichert</string>
<string name="txt_login_successful">Anmeldung erfolgreich</string> <string name="txt_login_successful">Anmeldung erfolgreich</string>
<string name="txt_change_successful">Fertig</string> <string name="txt_change_successful">Erfolgreich geändert</string>
<string name="txt_tips">Hinweise</string> <string name="txt_tips">Hinweise</string>
<string name="txt_permissions_fail_tips">Berechtigungsabfrage fehlgeschlagen</string> <string name="txt_permissions_fail_tips">Berechtigungsabfrage fehlgeschlagen</string>
<string name="txt_permissions_success_tips">Berechtigung erfolgreich erhalten</string> <string name="txt_permissions_success_tips">Berechtigung erfolgreich erhalten</string>
@@ -303,7 +303,7 @@
<string name="txt_clear_cache_tips">App-Cache löschen bestätigen?</string> <string name="txt_clear_cache_tips">App-Cache löschen bestätigen?</string>
<string name="txt_light_mode">Heller Modus</string> <string name="txt_light_mode">Heller Modus</string>
<string name="txt_firmware_upgrade">Firmware-Update</string> <string name="txt_firmware_upgrade">Firmware-Update</string>
<string name="txt_feedback_success">Erfolgreich übermittelt, danke für Ihr Feedback</string> <string name="txt_feedback_success">Erfolgreich übermittelt</string>
<string name="txt_clear_cache_success">Erfolgreich gelöscht</string> <string name="txt_clear_cache_success">Erfolgreich gelöscht</string>
<string name="txt_loading">Lädt…</string> <string name="txt_loading">Lädt…</string>
<string name="txt_token_overdue">Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut</string> <string name="txt_token_overdue">Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut</string>
@@ -640,7 +640,7 @@
<string name="txt_tracking_pet_tip">In Bluetooth-Reichweite? Ort einen nahen Tracker per Radar. Live wird verfügbar, beendet aber den Energiesparmodus.</string> <string name="txt_tracking_pet_tip">In Bluetooth-Reichweite? Ort einen nahen Tracker per Radar. Live wird verfügbar, beendet aber den Energiesparmodus.</string>
<string name="txt_tracking_pet">Haustier-Tracking</string> <string name="txt_tracking_pet">Haustier-Tracking</string>
<string name="txt_power_saving_set">WLAN-Zoneneinstellungen</string> <string name="txt_power_saving_set">WLAN-Zoneneinstellungen</string>
<string name="txt_feedback_tip">Problem oder Vorschlag eingeben</string> <string name="txt_feedback_tip">Bitte geben Sie Ihr Feedback ein</string>
<string name="txt_feedback_tip2">Hinterlass deine E-Mail, wir helfen dir schneller</string> <string name="txt_feedback_tip2">Hinterlass deine E-Mail, wir helfen dir schneller</string>
<string name="txt_enter_email_tip">E-Mail-Adresse eingeben</string> <string name="txt_enter_email_tip">E-Mail-Adresse eingeben</string>
<string name="txt_choose_file">Datei wählen</string> <string name="txt_choose_file">Datei wählen</string>

View File

@@ -158,7 +158,7 @@
<string name="tracker_manage_set_add_family">添加家人</string> <string name="tracker_manage_set_add_family">添加家人</string>
<string name="tracker_manage_set_add_family_detail">邀请您的家人分享宠物的位置或活动。 家庭成员不能创建栅栏或修改设置。</string> <string name="tracker_manage_set_add_family_detail">邀请您的家人分享宠物的位置或活动。 家庭成员不能创建栅栏或修改设置。</string>
<string name="tracker_manage_set_add_family_invite">邀请</string> <string name="tracker_manage_set_add_family_invite">邀请</string>
<string name="tracker_manage_set_add_family_succ">邀请成功,请通知你的家人</string> <string name="tracker_manage_set_add_family_succ">发送成功</string>
<string name="tracker_manage_set_add_family_back">返回</string> <string name="tracker_manage_set_add_family_back">返回</string>
<string name="tracker_manage_set_duration">追踪间隔</string> <string name="tracker_manage_set_duration">追踪间隔</string>
<string name="tracker_manage_set_power">关机</string> <string name="tracker_manage_set_power">关机</string>
@@ -347,7 +347,7 @@
<string name="txt_clear_cache_tips">确定要清除缓存?</string> <string name="txt_clear_cache_tips">确定要清除缓存?</string>
<string name="txt_light_mode">灯光模式</string> <string name="txt_light_mode">灯光模式</string>
<string name="txt_firmware_upgrade">固件升级</string> <string name="txt_firmware_upgrade">固件升级</string>
<string name="txt_feedback_success">提交成功,谢谢您的反馈</string> <string name="txt_feedback_success">提交成功</string>
<string name="txt_clear_cache_success">清除成功</string> <string name="txt_clear_cache_success">清除成功</string>
<string name="txt_loading">加载中...</string> <string name="txt_loading">加载中...</string>
<string name="txt_token_overdue">登录失败,请重新登录</string> <string name="txt_token_overdue">登录失败,请重新登录</string>
@@ -684,7 +684,7 @@
<string name="txt_tracking_pet_tip">在蓝牙范围内?可使用雷达精确定位附近追踪器。实时追踪也将可用,但使用它会结束省电模式。</string> <string name="txt_tracking_pet_tip">在蓝牙范围内?可使用雷达精确定位附近追踪器。实时追踪也将可用,但使用它会结束省电模式。</string>
<string name="txt_tracking_pet">正在追踪您的宠物</string> <string name="txt_tracking_pet">正在追踪您的宠物</string>
<string name="txt_power_saving_set">WiFi区域设置</string> <string name="txt_power_saving_set">WiFi区域设置</string>
<string name="txt_feedback_tip">输入您的问题或建议</string> <string name="txt_feedback_tip">输入您的反馈</string>
<string name="txt_feedback_tip2">请留下您的邮箱,我们能更快帮助您</string> <string name="txt_feedback_tip2">请留下您的邮箱,我们能更快帮助您</string>
<string name="txt_enter_email_tip">输入您的电子邮箱地址</string> <string name="txt_enter_email_tip">输入您的电子邮箱地址</string>
<string name="txt_choose_file">选择文件</string> <string name="txt_choose_file">选择文件</string>

View File

@@ -216,7 +216,7 @@
<string name="tracker_manage_set_add_family">Add Family</string> <string name="tracker_manage_set_add_family">Add Family</string>
<string name="tracker_manage_set_add_family_detail">Invite you family to share the location or activity of the pet. Family members cannot create fences or modify settings.</string> <string name="tracker_manage_set_add_family_detail">Invite you family to share the location or activity of the pet. Family members cannot create fences or modify settings.</string>
<string name="tracker_manage_set_add_family_invite">Invite</string> <string name="tracker_manage_set_add_family_invite">Invite</string>
<string name="tracker_manage_set_add_family_succ">Invite successful, please notify your family.</string> <string name="tracker_manage_set_add_family_succ">Successfully sent</string>
<string name="tracker_manage_set_add_family_back">Back</string> <string name="tracker_manage_set_add_family_back">Back</string>
<string name="tracker_manage_set_duration">GPS Updates</string> <string name="tracker_manage_set_duration">GPS Updates</string>
<string name="tracker_manage_set_power">Turn Off</string> <string name="tracker_manage_set_power">Turn Off</string>
@@ -291,7 +291,7 @@
<string name="txt_add_successful">Added successfully</string> <string name="txt_add_successful">Added successfully</string>
<string name="txt_save_successful">Saved successfully</string> <string name="txt_save_successful">Saved successfully</string>
<string name="txt_login_successful">Log in successful</string> <string name="txt_login_successful">Log in successful</string>
<string name="txt_change_successful">Done</string> <string name="txt_change_successful">Successfully changed</string>
<string name="txt_tips">Tips</string> <string name="txt_tips">Tips</string>
<string name="txt_permissions_fail_tips">Failed to get permission</string> <string name="txt_permissions_fail_tips">Failed to get permission</string>
<string name="txt_permissions_success_tips">Successfully obtained permission</string> <string name="txt_permissions_success_tips">Successfully obtained permission</string>
@@ -405,7 +405,7 @@
<string name="txt_clear_cache_tips">Confirm clearing app cache?</string> <string name="txt_clear_cache_tips">Confirm clearing app cache?</string>
<string name="txt_light_mode">Light Mode</string> <string name="txt_light_mode">Light Mode</string>
<string name="txt_firmware_upgrade">Firmware Upgrade</string> <string name="txt_firmware_upgrade">Firmware Upgrade</string>
<string name="txt_feedback_success">Submitted successfully, thank you for your feedback</string> <string name="txt_feedback_success">Successfully submitted</string>
<string name="txt_clear_cache_success">Cleared successfully</string> <string name="txt_clear_cache_success">Cleared successfully</string>
<string name="txt_loading">Loading…</string> <string name="txt_loading">Loading…</string>
<string name="txt_token_overdue">Log in failed. Please try again</string> <string name="txt_token_overdue">Log in failed. Please try again</string>
@@ -485,7 +485,7 @@
<string name="txt_firmware_name">Firmware Name</string> <string name="txt_firmware_name">Firmware Name</string>
<string name="txt_firmware_version">Firmware Version</string> <string name="txt_firmware_version">Firmware Version</string>
<string name="txt_firmware_size">Firmware file size</string> <string name="txt_firmware_size">Firmware file size</string>
<string name="txt_upgrade">upgrade</string> <string name="txt_upgrade">Upgrade</string>
<string name="txt_upgrade_success">Upgrade successful</string> <string name="txt_upgrade_success">Upgrade successful</string>
<string name="txt_upgrade_fail">Upgrade failed</string> <string name="txt_upgrade_fail">Upgrade failed</string>
<string name="txt_down_firmware">Download firmware</string> <string name="txt_down_firmware">Download firmware</string>
@@ -742,7 +742,7 @@
<string name="txt_tracking_pet_tip">With Bluetooth range? Pinpoint a nearby tracker using Radar. Live will also become available, but using it will end power saving.</string> <string name="txt_tracking_pet_tip">With Bluetooth range? Pinpoint a nearby tracker using Radar. Live will also become available, but using it will end power saving.</string>
<string name="txt_tracking_pet">Tracking your pet</string> <string name="txt_tracking_pet">Tracking your pet</string>
<string name="txt_power_saving_set">WiFi Zone Settings</string> <string name="txt_power_saving_set">WiFi Zone Settings</string>
<string name="txt_feedback_tip">Enter your problem or suggestion</string> <string name="txt_feedback_tip">Please enter your feedback</string>
<string name="txt_feedback_tip2">Please leave your email, we can help you faster</string> <string name="txt_feedback_tip2">Please leave your email, we can help you faster</string>
<string name="txt_enter_email_tip">Enter Your Email Address</string> <string name="txt_enter_email_tip">Enter Your Email Address</string>
<string name="txt_choose_file">Choose File</string> <string name="txt_choose_file">Choose File</string>
@@ -847,8 +847,8 @@
<string name="txt_reminder">Reminder</string> <string name="txt_reminder">Reminder</string>
<string name="txt_yesterday">Yesterday</string> <string name="txt_yesterday">Yesterday</string>
<string name="txt_power_on_off">Power On/Off</string> <string name="txt_power_on_off">Power On/Off</string>
<string name="txt_power_on_off_tip">Charge and unplug to turn on Flashing green light = on</string> <string name="txt_power_on_off_tip">Charge and unplug to turn on \nFlashing green light = on</string>
<string name="txt_active_tracker_tip">Choose a subscription Tap to activate the tracker Enable GPS and cellular tracking</string> <string name="txt_active_tracker_tip">Choose a subscription \nTap to activate the tracker \nEnable GPS and cellular tracking</string>
<string name="txt_active_tracker">Active Tracker</string> <string name="txt_active_tracker">Active Tracker</string>
<string name="txt_check_tracker_status_tip">(The GPS and cellular network conditions can vary depending on the environment. Before placing it on your pet, check various locations around you to evaluate the GPS and network status.)</string> <string name="txt_check_tracker_status_tip">(The GPS and cellular network conditions can vary depending on the environment. Before placing it on your pet, check various locations around you to evaluate the GPS and network status.)</string>
<string name="txt_check_tracker_status">Check Tracker Status</string> <string name="txt_check_tracker_status">Check Tracker Status</string>
@@ -1010,8 +1010,8 @@
<string name="txt_sure_delete_card">Sure to delete this card?</string> <string name="txt_sure_delete_card">Sure to delete this card?</string>
<string name="txt_account_exists_log_in">Account exists. Log in now?</string> <string name="txt_account_exists_log_in">Account exists. Log in now?</string>
<string name="txt_time_out_of_range">Selected date is out of range</string> <string name="txt_time_out_of_range">Selected date is out of range</string>
<string name="txt_power_on_off_install_tip">Shake to turn on Flashing green light confirms on</string> <string name="txt_power_on_off_install_tip">Shake to turn on \nFlashing green light confirms on</string>
<string name="txt_check_tracker_status_top_tip">Go to Pet > Tracker Check Network GPS Battery WiFi Zone Bluetooth LED GPS and cellular signals may vary by location Test in different locations before use</string> <string name="txt_check_tracker_status_top_tip">Go to Pet > Tracker Check \nNetwork \nGPS \nBattery \nWiFi Zone \nBluetooth \nLED \nGPS and cellular signals may vary by location \nTest in different locations before use</string>
<string name="txt_on_charging">Tracker is on charging</string> <string name="txt_on_charging">Tracker is on charging</string>
<string name="txt_active_subscribed">Subscribed</string> <string name="txt_active_subscribed">Subscribed</string>
<string name="txt_send">Send</string> <string name="txt_send">Send</string>
@@ -1094,10 +1094,10 @@
<string name="txt_first_use">First use</string> <string name="txt_first_use">First use</string>
<string name="txt_daily_use">Daily use</string> <string name="txt_daily_use">Daily use</string>
<string name="txt_sleep_mode">Sleep Mode</string> <string name="txt_sleep_mode">Sleep Mode</string>
<string name="txt_sleep_mode_help">15 minutes no movement → sleep mode Auto wake on movement Battery updates every 24 hours</string> <string name="txt_sleep_mode_help">15 minutes no movement → sleep mode \nAuto wake on movement \nBattery updates every 24 hours</string>
<string name="txt_wifi_zone_home">WiFi ZoneHome)</string> <string name="txt_wifi_zone_home">WiFi ZoneHome)</string>
<string name="txt_wifi_zone_home_help">Connect to home WiFi GPS off → save battery Update every ~60 minutes</string> <string name="txt_wifi_zone_home_help">Connect to home WiFi \nGPS off → save battery \nUpdate every ~60 minutes</string>
<string name="txt_gps_update_help">Pet > Tracker > GPS Update Select 315 min Short interval = higher battery use Default: 5 min</string> <string name="txt_gps_update_help">Pet > Tracker > GPS Update \nSelect 315 min \nShort interval = higher battery use \nDefault: 5 min</string>
<string name="txt_set_fence_type">Set Fence type</string> <string name="txt_set_fence_type">Set Fence type</string>
<string name="txt_fence_type_help">Safe Zone or No-go Zone</string> <string name="txt_fence_type_help">Safe Zone or No-go Zone</string>
<string name="txt_set_boundary">Set boundary</string> <string name="txt_set_boundary">Set boundary</string>
@@ -1112,5 +1112,7 @@
<string name="txt_package_permission1">1.Flexible short-term protection\n2.Standard customer support</string> <string name="txt_package_permission1">1.Flexible short-term protection\n2.Standard customer support</string>
<string name="txt_package_permission2">1.1 device replacement included\n2.Dedicated customer support\n3.Annual protection coverage</string> <string name="txt_package_permission2">1.1 device replacement included\n2.Dedicated customer support\n3.Annual protection coverage</string>
<string name="txt_package_permission3">1.VIP priority support\n2.Fast replacement service (1 included)\n3.Enhanced protection\n4.Hassle-free pet protection</string> <string name="txt_package_permission3">1.VIP priority support\n2.Fast replacement service (1 included)\n3.Enhanced protection\n4.Hassle-free pet protection</string>
<string name="txt_add_wifi_tips">Add Wi-Fi zone to prolong care time</string>
<string name="txt_add">Add</string>
</resources> </resources>