1.修复充电中,Map 显示Off, 但设备管理中显示Strong signal bug
2.修复GPS 没信号还是为绿点bug 3.超过30天后,退款按钮呈灰色不可点,点击后提示“Refund period has expired”,续订订单不显示按钮 4.历史订单列表页,增加退款说明
This commit is contained in:
@@ -28,9 +28,9 @@ android {
|
||||
applicationId "com.abbidot.tracker"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 35
|
||||
versionCode 2202
|
||||
versionName "2.2.2"
|
||||
// versionName "2.2.2-Beta7"
|
||||
versionCode 2203
|
||||
// versionName "2.2.3"
|
||||
versionName "2.2.3-Beta1"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.abbidot.tracker.adapter
|
||||
|
||||
import android.graphics.Typeface
|
||||
import android.widget.ImageView
|
||||
import android.util.TypedValue
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.abbidot.baselibrary.util.AppUtils
|
||||
import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.bean.MenuTxtBean
|
||||
import com.abbidot.tracker.constant.ConstantInt
|
||||
import com.abbidot.tracker.constant.MultipleEntity
|
||||
import com.abbidot.tracker.widget.TypefaceTextView
|
||||
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter
|
||||
@@ -32,6 +33,8 @@ class HelpTextImageTypeAdapter(list: MutableList<MenuTxtBean>?) :
|
||||
addItemType(MultipleEntity.IMG_IMG, R.layout.layout_help_title1)
|
||||
//显示14sp大小的文字内容
|
||||
addItemType(MultipleEntity.IMG_TEXT_IMG, R.layout.layout_help_title2)
|
||||
//显示多大字体,是否粗体,字体颜色
|
||||
addItemType(MultipleEntity.TEXT_TEXT_IMG, R.layout.layout_help_title2)
|
||||
}
|
||||
|
||||
override fun convert(holder: BaseViewHolder, item: MenuTxtBean) {
|
||||
@@ -67,6 +70,23 @@ class HelpTextImageTypeAdapter(list: MutableList<MenuTxtBean>?) :
|
||||
holder.getView<TypefaceTextView>(R.id.tv_help_title_two).text = item.menuName
|
||||
holder.itemView.setPadding(0, AppUtils.dpToPx(14), 0, 0)
|
||||
}
|
||||
|
||||
MultipleEntity.TEXT_TEXT_IMG -> {
|
||||
holder.getView<TypefaceTextView>(R.id.tv_help_title_two).apply {
|
||||
//是否粗体
|
||||
val typefaceBold =
|
||||
if (item.isSwitch) Typeface.create(Typeface.DEFAULT, Typeface.BOLD)
|
||||
else Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)
|
||||
typeface = typefaceBold
|
||||
text = item.menuName
|
||||
setTextSize(TypedValue.COMPLEX_UNIT_SP, item.state.toFloat())
|
||||
|
||||
val tColor = if (item.colorRedId == ConstantInt.Type0) R.color.data_black_color
|
||||
else item.colorRedId
|
||||
setTextColor(ContextCompat.getColor(context, tColor))
|
||||
}
|
||||
// holder.itemView.setPadding(0, AppUtils.dpToPx(14), 0, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.abbidot.tracker.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
@@ -16,6 +17,8 @@ import com.abbidot.tracker.ui.activity.subscribe.SubscriptionHistoryActivity
|
||||
import com.abbidot.tracker.widget.TypefaceRoundButton
|
||||
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter
|
||||
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||
import com.hjq.toast.Toaster
|
||||
import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButtonDrawable
|
||||
|
||||
/**
|
||||
*Created by .yzq on 2024/8/19/019.
|
||||
@@ -114,35 +117,39 @@ class SubscriptionHistoryAdapter(
|
||||
visibility = View.VISIBLE
|
||||
when (item.orderStatus) {
|
||||
1 -> {
|
||||
if (item.isAutoRenewal == ConstantInt.Type1) {
|
||||
visibility = View.GONE
|
||||
} else {
|
||||
setRefundState(context, item.isRefundable, this)
|
||||
}
|
||||
|
||||
// val updateTimestamp = Utils.stringToTimestamp(item.updateTime, isUtc = true)
|
||||
// val nowTimestamp = System.currentTimeMillis()
|
||||
if (item.enabled == ConstantInt.Type0 || (item.surplusDays == 0L && item.subscriptionStatus == ConstantInt.Close)) {
|
||||
visibility = View.GONE
|
||||
} else if (item.mealUnit == ConstantString.PackageUnitDay) {
|
||||
visibility = View.VISIBLE
|
||||
setText(R.string.txt_refund)
|
||||
} else if (item.mealUnit == ConstantString.PackageUnitMonth) {
|
||||
// if (item.enabled == ConstantInt.Type0 || (item.surplusDays == 0L && item.subscriptionStatus == ConstantInt.Close)) {
|
||||
// visibility = View.GONE
|
||||
// } else if (item.mealUnit == ConstantString.PackageUnitDay) {
|
||||
// visibility = View.VISIBLE
|
||||
// setText(R.string.txt_refund)
|
||||
// } else if (item.mealUnit == ConstantString.PackageUnitMonth) {
|
||||
// val day7Timestamp = 7 * 24 * 60 * 60 * 1000L
|
||||
//套餐超出7天不能退款
|
||||
// //套餐超出7天不能退款
|
||||
// if (nowTimestamp - updateTimestamp <= day7Timestamp) {
|
||||
if (item.isRefundable == ConstantInt.Type1) {
|
||||
visibility = View.VISIBLE
|
||||
setText(R.string.txt_refund)
|
||||
} else {
|
||||
visibility = View.GONE
|
||||
}
|
||||
} else {
|
||||
// visibility = View.VISIBLE
|
||||
// setText(R.string.txt_refund)
|
||||
// } else {
|
||||
// visibility = View.GONE
|
||||
// }
|
||||
// } else {
|
||||
// val day30Timestamp = 30 * 24 * 60 * 60 * 1000L
|
||||
//套餐超出30天不能退款
|
||||
// //套餐超出30天不能退款
|
||||
// if (nowTimestamp - updateTimestamp <= day30Timestamp) {
|
||||
if (item.isRefundable == ConstantInt.Type1) {
|
||||
visibility = View.VISIBLE
|
||||
setText(R.string.txt_refund)
|
||||
} else {
|
||||
visibility = View.GONE
|
||||
}
|
||||
}
|
||||
setTextColor(ContextCompat.getColor(context, R.color.select_color))
|
||||
// visibility = View.VISIBLE
|
||||
// setText(R.string.txt_refund)
|
||||
// } else {
|
||||
// visibility = View.GONE
|
||||
// }
|
||||
// }
|
||||
// setTextColor(ContextCompat.getColor(context, R.color.select_color))
|
||||
}
|
||||
|
||||
4 -> setText(R.string.txt_waiting)
|
||||
@@ -160,6 +167,10 @@ class SubscriptionHistoryAdapter(
|
||||
setChangeAlphaWhenPress(true)
|
||||
setOnClickListener {
|
||||
if (item.orderStatus == ConstantInt.Type1) {
|
||||
if (item.isRefundable == ConstantInt.Type0) {
|
||||
Toaster.show(R.string.txt_refund_expired)
|
||||
return@setOnClickListener
|
||||
}
|
||||
Intent(context, RequestRefundActivity::class.java).apply {
|
||||
putExtra(ConstantString.SetMeal, item)
|
||||
mHistoryActivity.startActivity(this)
|
||||
@@ -185,4 +196,24 @@ class SubscriptionHistoryAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
private fun setRefundState(
|
||||
context: Context, isRefundable: Int, roundButton: TypefaceRoundButton
|
||||
) {
|
||||
roundButton.apply {
|
||||
var textColor = R.color.select_color
|
||||
val strokeColor = if (isRefundable == ConstantInt.Type1) {
|
||||
R.color.block_color
|
||||
} else {
|
||||
textColor = R.color.line_color1
|
||||
R.color.permission_no_check_color
|
||||
}
|
||||
(background as QMUIRoundButtonDrawable).let {
|
||||
it.setStroke(
|
||||
it.strokeWidth, ContextCompat.getColor(context, strokeColor)
|
||||
)
|
||||
}
|
||||
setTextColor(ContextCompat.getColor(context, textColor))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -56,6 +56,7 @@ data class SubscriptionsOrderBean(
|
||||
var refundTime: Long,
|
||||
var planTimeMonthsCount: Int,
|
||||
var isRefundable: Int,//是否显示退款按钮 1:是 0:否
|
||||
var isAutoRenewal: Int,//是否是自动续订 1:是 0:否
|
||||
@MultipleEntity var menuType: Int,
|
||||
var isUpdateOrder: Int = 0//是否是升级订单 1:是 0:否
|
||||
) : Parcelable, MultiItemEntity {
|
||||
@@ -103,6 +104,7 @@ data class SubscriptionsOrderBean(
|
||||
0L,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
menuType,
|
||||
0
|
||||
)
|
||||
@@ -150,6 +152,8 @@ data class SubscriptionsOrderBean(
|
||||
0L,
|
||||
0L,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
MultipleEntity.TEXT,
|
||||
0
|
||||
)
|
||||
|
||||
@@ -279,8 +279,8 @@ class LedLightActivity : BaseActivity<ActivityLedLightBinding>(ActivityLedLightB
|
||||
|
||||
private fun setDeviceData(mapDeviceBean: MapDeviceBean) {
|
||||
mapDeviceBean.apply {
|
||||
mLedMode=ledMode
|
||||
mLedSwitch=ledSwitch
|
||||
mLedMode = ledMode
|
||||
mLedSwitch = ledSwitch
|
||||
mViewBinding.let {
|
||||
it.ledLightOpenAndClose.switch.isChecked = ledSwitch == ConstantInt.Open
|
||||
|
||||
@@ -373,8 +373,10 @@ class LedLightActivity : BaseActivity<ActivityLedLightBinding>(ActivityLedLightB
|
||||
if (ilLedLightIssueLayout.root.isGone) {
|
||||
YoYo.with(Techniques.BounceInUp).duration(700).onStart {
|
||||
ilLedLightIssueLayout.root.visibility = View.VISIBLE
|
||||
vLedIssueShadeView.visibility = View.VISIBLE
|
||||
}.playOn(ilLedLightIssueLayout.root)
|
||||
} else {
|
||||
vLedIssueShadeView.visibility = View.GONE
|
||||
YoYo.with(Techniques.SlideOutDown).duration(600).onEnd {
|
||||
ilLedLightIssueLayout.root.visibility = View.GONE
|
||||
}.playOn(ilLedLightIssueLayout.root)
|
||||
@@ -414,7 +416,9 @@ class LedLightActivity : BaseActivity<ActivityLedLightBinding>(ActivityLedLightB
|
||||
if (BleManager.getInstance().isConnected(deviceMacId)) {
|
||||
//蓝牙控制
|
||||
SRBleUtil.instance.getConnectMacDevice(deviceMacId)?.let {
|
||||
SRBleUtil.instance.setBleLedSwitch(this@LedLightActivity, it.bleDevice, ledSwitch)
|
||||
SRBleUtil.instance.setBleLedSwitch(
|
||||
this@LedLightActivity, it.bleDevice, ledSwitch
|
||||
)
|
||||
}
|
||||
} else {
|
||||
//远程控制
|
||||
|
||||
@@ -11,8 +11,6 @@ import com.abbidot.tracker.util.ViewUtil
|
||||
class HelpCreatePetFenceActivity :
|
||||
BaseActivity<ActivityHelpCreatePetFenceBinding>(ActivityHelpCreatePetFenceBinding::inflate) {
|
||||
|
||||
private lateinit var mHelpCreateFenceAdapter: HelpTextImageTypeAdapter
|
||||
|
||||
override fun getTopBar() = mViewBinding.ilHelpCreatePetFenceBar.titleTopBar
|
||||
|
||||
override fun initData() {
|
||||
@@ -46,9 +44,9 @@ class HelpCreatePetFenceActivity :
|
||||
menuList, "", imageResId = R.drawable.create_fence_help4, menuType = MultipleEntity.IMG
|
||||
)
|
||||
|
||||
mHelpCreateFenceAdapter = HelpTextImageTypeAdapter(menuList)
|
||||
val helpCreateFenceAdapter = HelpTextImageTypeAdapter(menuList)
|
||||
ViewUtil.instance.setRecyclerViewVerticalLinearLayout(
|
||||
mContext, mViewBinding.rvHelpCreatePetFenceContent, mHelpCreateFenceAdapter
|
||||
mContext, mViewBinding.rvHelpCreatePetFenceContent, helpCreateFenceAdapter
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import com.abbidot.tracker.util.ViewUtil
|
||||
class HelpTrackerBatteryActivity :
|
||||
BaseActivity<ActivityHelpTrackerBatteryBinding>(ActivityHelpTrackerBatteryBinding::inflate) {
|
||||
|
||||
private lateinit var mHelpBatteryAdapter: HelpTextImageTypeAdapter
|
||||
|
||||
override fun getTopBar() = mViewBinding.ilHelpTrackerBatteryBar.titleTopBar
|
||||
|
||||
@@ -69,10 +68,7 @@ class HelpTrackerBatteryActivity :
|
||||
menuType = MultipleEntity.IMG_IMG
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
"",
|
||||
imageResId = R.drawable.battery_life_help3,
|
||||
menuType = MultipleEntity.IMG
|
||||
menuList, "", imageResId = R.drawable.battery_life_help3, menuType = MultipleEntity.IMG
|
||||
)
|
||||
|
||||
ViewUtil.instance.addMenuBean(menuList, getString(R.string.txt_gps_update_interval))
|
||||
@@ -87,10 +83,7 @@ class HelpTrackerBatteryActivity :
|
||||
menuType = MultipleEntity.IMG_TEXT_IMG
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
"",
|
||||
imageResId = R.drawable.battery_life_help4,
|
||||
menuType = MultipleEntity.IMG
|
||||
menuList, "", imageResId = R.drawable.battery_life_help4, menuType = MultipleEntity.IMG
|
||||
)
|
||||
|
||||
ViewUtil.instance.addMenuBean(menuList, getString(R.string.txt_in_live_mode))
|
||||
@@ -106,15 +99,12 @@ class HelpTrackerBatteryActivity :
|
||||
menuType = MultipleEntity.IMG_IMG
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
"",
|
||||
imageResId = R.drawable.battery_life_help5,
|
||||
menuType = MultipleEntity.IMG
|
||||
menuList, "", imageResId = R.drawable.battery_life_help5, menuType = MultipleEntity.IMG
|
||||
)
|
||||
|
||||
mHelpBatteryAdapter = HelpTextImageTypeAdapter(menuList)
|
||||
val helpBatteryAdapter = HelpTextImageTypeAdapter(menuList)
|
||||
ViewUtil.instance.setRecyclerViewVerticalLinearLayout(
|
||||
mContext, mViewBinding.rvHelpTrackerBatteryContent, mHelpBatteryAdapter
|
||||
mContext, mViewBinding.rvHelpTrackerBatteryContent, helpBatteryAdapter
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,16 @@
|
||||
package com.abbidot.tracker.ui.activity.subscribe
|
||||
|
||||
import android.view.View
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.isGone
|
||||
import com.abbidot.baselibrary.constant.EventName
|
||||
import com.abbidot.baselibrary.eventbus.XEventBus
|
||||
import com.abbidot.baselibrary.util.AppUtils
|
||||
import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.adapter.HelpTextImageTypeAdapter
|
||||
import com.abbidot.tracker.adapter.SubscriptionHistoryAdapter
|
||||
import com.abbidot.tracker.base.BaseActivity
|
||||
import com.abbidot.tracker.bean.MenuTxtBean
|
||||
import com.abbidot.tracker.bean.SubscriptionsOrderBean
|
||||
import com.abbidot.tracker.constant.ConstantInt
|
||||
import com.abbidot.tracker.constant.ConstantString
|
||||
@@ -15,6 +19,8 @@ import com.abbidot.tracker.constant.MultipleEntity
|
||||
import com.abbidot.tracker.databinding.ActivitySubscriptionHistoryBinding
|
||||
import com.abbidot.tracker.util.ViewUtil
|
||||
import com.abbidot.tracker.vm.SubscriptionManageViewModel
|
||||
import com.daimajia.androidanimations.library.Techniques
|
||||
import com.daimajia.androidanimations.library.YoYo
|
||||
|
||||
class SubscriptionHistoryActivity :
|
||||
BaseActivity<ActivitySubscriptionHistoryBinding>(ActivitySubscriptionHistoryBinding::inflate) {
|
||||
@@ -34,15 +40,78 @@ class SubscriptionHistoryActivity :
|
||||
setLeftBackImage(R.drawable.icon_white_back_svg)
|
||||
|
||||
mHistoryAdapter = SubscriptionHistoryAdapter(mSubscriptionsOrderList)
|
||||
intent?.extras?.apply {
|
||||
subscriptionId = getString(ConstantString.Id, "")
|
||||
}
|
||||
mViewBinding.apply {
|
||||
ViewUtil.instance.setRecyclerViewVerticalLinearLayout(
|
||||
mContext, rvSubscriptionHistoryList, mHistoryAdapter, bottom = AppUtils.dpToPx(12)
|
||||
)
|
||||
setOnClickListenerViews(btnSubscriptionRefundIssue, tvCloseRefundIssueBtn)
|
||||
}
|
||||
|
||||
intent?.extras?.apply {
|
||||
subscriptionId = getString(ConstantString.Id, "")
|
||||
}
|
||||
initIssue()
|
||||
}
|
||||
|
||||
private fun initIssue() {
|
||||
val menuList = mutableListOf<MenuTxtBean>()
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_refund_policy),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
isSwitch = true,
|
||||
state = 16
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_automatic_refund),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
isSwitch = true,
|
||||
state = 12
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_automatic_refund_dec),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
state = 12
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_standard_refund),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
isSwitch = true,
|
||||
state = 12
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_standard_refund_dec),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
state = 12
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_no_refund),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
isSwitch = true,
|
||||
state = 12
|
||||
)
|
||||
ViewUtil.instance.addMenuBean(
|
||||
menuList,
|
||||
getString(R.string.txt_no_refund_dec),
|
||||
menuType = MultipleEntity.TEXT_TEXT_IMG,
|
||||
colorRedId = R.color.data_black_color,
|
||||
state = 12
|
||||
)
|
||||
val helpBatteryAdapter = HelpTextImageTypeAdapter(menuList)
|
||||
ViewUtil.instance.setRecyclerViewVerticalLinearLayout(
|
||||
mContext, mViewBinding.rvSubscriptionRefundIssueList, helpBatteryAdapter
|
||||
)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
@@ -78,4 +147,31 @@ class SubscriptionHistoryActivity :
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示问题
|
||||
*/
|
||||
private fun showLedIssue() {
|
||||
mViewBinding.apply {
|
||||
if (llSubscriptionRefundIssueLayout.isGone) {
|
||||
YoYo.with(Techniques.BounceInUp).duration(700).onStart {
|
||||
llSubscriptionRefundIssueLayout.visibility = View.VISIBLE
|
||||
vRefundIssueShadeView.visibility = View.VISIBLE
|
||||
}.playOn(llSubscriptionRefundIssueLayout)
|
||||
} else {
|
||||
vRefundIssueShadeView.visibility = View.GONE
|
||||
YoYo.with(Techniques.SlideOutDown).duration(600).onEnd {
|
||||
llSubscriptionRefundIssueLayout.visibility = View.GONE
|
||||
}.playOn(llSubscriptionRefundIssueLayout)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
mViewBinding.apply {
|
||||
when (v!!) {
|
||||
btnSubscriptionRefundIssue, tvCloseRefundIssueBtn -> showLedIssue()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -157,8 +157,11 @@ class RouteV3Fragment : BaseFragment<FragmentRouteV3Binding>(FragmentRouteV3Bind
|
||||
|
||||
llMapRouteLineV3ZoomingLayout.setOnTouchListener { _, event ->
|
||||
if (rlMapRouteLineV3TimeLayout.isVisible) {
|
||||
//获取初始高度
|
||||
if (mTotalHeight == 0) {
|
||||
mTotalHeight = cvHomeRouteV3Card.height + svHomeRouteMapScroll.height
|
||||
}
|
||||
if (mLastScrollViewHeight == 0 && mHistoryFenceAdapter.getData().size == 1) {
|
||||
mCalendarLayoutHaveSeekBarHeight = rlHomeRouteCalendarV3Layout.height
|
||||
mLastScrollViewHeight = svHomeRouteMapScroll.height
|
||||
}
|
||||
|
||||
@@ -653,7 +653,7 @@ class HomeTrackFragment :
|
||||
}
|
||||
|
||||
//是否超时上报
|
||||
val isTimeoutReport = Util.isTimeoutReport(updateTime,gnssInterval)
|
||||
val isTimeoutReport = Util.isTimeoutReport(updateTime, gnssInterval)
|
||||
mTrackStateList[0].let {
|
||||
it.menuValue =
|
||||
if (isTimeoutReport || lteSignal == ConstantInt.NoSignal || powerSwitch == ConstantInt.Type0 || powerSwitch == ConstantInt.Type2) {
|
||||
@@ -667,14 +667,14 @@ class HomeTrackFragment :
|
||||
mTrackStateList[1].let {
|
||||
it.colorRedId = R.color.blue_color1
|
||||
it.menuValue =
|
||||
if (isTimeoutReport || powerSwitch == ConstantInt.Type0 || powerSwitch == ConstantInt.Type2 || inWifiZone == ConstantInt.Type1) {
|
||||
if (isTimeoutReport || powerSwitch == ConstantInt.Type0 || powerSwitch == ConstantInt.Type2 || powerSwitch == ConstantInt.Type3 || inWifiZone == ConstantInt.Type1) {
|
||||
it.colorRedId = R.color.orange_color3
|
||||
getString(R.string.tracker_manage_set_led_off)
|
||||
} else if (gpsSignal > ConstantInt.WeakSignal) {
|
||||
getString(R.string.txt_strong_signal)
|
||||
} else {
|
||||
getString(R.string.txt_weak_signal)
|
||||
}
|
||||
} else if (gpsSignal > ConstantInt.WeakSignal) getString(R.string.txt_strong_signal)
|
||||
else if (gpsSignal == ConstantInt.NoSignal) {
|
||||
it.colorRedId = R.color.orange_color3
|
||||
getString(R.string.txt_no_signal)
|
||||
} else getString(R.string.txt_weak_signal)
|
||||
}
|
||||
mTrackStateList[2].let {
|
||||
it.menuValue =
|
||||
@@ -1172,7 +1172,9 @@ class HomeTrackFragment :
|
||||
if (BleManager.getInstance().isConnected(it.deviceMacId)) {
|
||||
//蓝牙控制
|
||||
getBleTrackDeviceBean(false)?.let { ble ->
|
||||
SRBleUtil.instance.setBleLedSwitch(getHomeV2Activity()!!, ble.bleDevice, ledSwitch)
|
||||
SRBleUtil.instance.setBleLedSwitch(
|
||||
getHomeV2Activity()!!, ble.bleDevice, ledSwitch
|
||||
)
|
||||
}
|
||||
} else {
|
||||
// setLedState(ledSwitch)
|
||||
|
||||
@@ -830,12 +830,16 @@ class ViewUtil private constructor() {
|
||||
colorRedId: Int = R.color.orange_color3,
|
||||
isSwitch: Boolean = false,
|
||||
type: Int = ConstantInt.Type0,
|
||||
state: Int = ConstantInt.Type0,
|
||||
@MultipleEntity menuType: Int = MultipleEntity.TEXT
|
||||
) {
|
||||
val menuTxtBean = MenuTxtBean(name, value, menuType)
|
||||
if (imageResId > 0) {
|
||||
menuTxtBean.imageId = imageResId
|
||||
}
|
||||
if (state > 0) {
|
||||
menuTxtBean.state = state
|
||||
}
|
||||
if (!TextUtils.isEmpty(imageUrl)) {
|
||||
menuTxtBean.imageUrl = imageUrl
|
||||
}
|
||||
|
||||
@@ -346,7 +346,10 @@ class MapViewModel : ViewModel() {
|
||||
menuType = ConstantInt.Close
|
||||
context.getString(R.string.tracker_manage_set_led_off)
|
||||
} else if (it.gpsSignal > ConstantInt.WeakSignal) context.getString(R.string.txt_strong_signal)
|
||||
else if (it.gpsSignal == ConstantInt.NoSignal) context.getString(R.string.txt_no_signal)
|
||||
else if (it.gpsSignal == ConstantInt.NoSignal) {
|
||||
menuType = ConstantInt.Close
|
||||
context.getString(R.string.txt_no_signal)
|
||||
}
|
||||
else context.getString(R.string.txt_weak_signal)
|
||||
value = context.getString(R.string.tracker_manage_set_gps) + ":$gpsValue"
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
android:paddingHorizontal="@dimen/dp_14"
|
||||
android:paddingVertical="@dimen/dp_6"
|
||||
android:text="@string/acccount_btn_save"
|
||||
android:visibility="gone"
|
||||
android:textColor="@color/btn_color"
|
||||
android:textSize="@dimen/textSize12"
|
||||
android:visibility="gone"
|
||||
app:qmui_radius="@dimen/dp_100"
|
||||
app:typeface="@string/roboto_bold_font" />
|
||||
|
||||
@@ -111,9 +111,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:visibility="gone"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/dp_36" />
|
||||
android:layout_marginEnd="@dimen/dp_36"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -179,6 +179,13 @@
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<View
|
||||
android:id="@+id/v_led_issue_shade_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/transparent_half"
|
||||
android:visibility="gone" />
|
||||
|
||||
<include
|
||||
android:id="@+id/il_led_light_issue_layout"
|
||||
layout="@layout/layout_live_issue"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout 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"
|
||||
android:layout_width="match_parent"
|
||||
@@ -11,10 +11,64 @@
|
||||
android:id="@+id/il_subscription_history_top_bar"
|
||||
layout="@layout/layout_top_bar" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceRoundButton
|
||||
android:id="@+id/btn_subscription_refund_issue"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_alignBottom="@id/il_subscription_history_top_bar"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
android:gravity="center"
|
||||
android:text="\?"
|
||||
android:textColor="@color/block_color2"
|
||||
android:textSize="@dimen/textSize12"
|
||||
app:qmui_backgroundColor="@color/transparent"
|
||||
app:qmui_borderColor="@color/block_color2"
|
||||
app:qmui_borderWidth="@dimen/dp_1" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_subscription_history_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/il_subscription_history_top_bar"
|
||||
android:paddingHorizontal="@dimen/dp_20"
|
||||
android:paddingVertical="@dimen/dp_12" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<View
|
||||
android:id="@+id/v_refund_issue_shade_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/transparent_half"
|
||||
android:visibility="gone" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/ll_subscription_refund_issue_layout"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@drawable/shape30_white_half_bottom_shadow_bg"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_subscription_refund_issue_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="@dimen/dp_20"
|
||||
android:paddingVertical="@dimen/dp_16" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
android:id="@+id/tv_close_refund_issue_btn"
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="@dimen/dp_12"
|
||||
android:background="@drawable/selector_transparent_pressed"
|
||||
android:padding="@dimen/dp_16"
|
||||
android:text="@string/txt_close"
|
||||
android:textColor="@color/select_color3"
|
||||
android:textSize="@dimen/textSize12"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -64,7 +64,7 @@
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginBottom="@dimen/dp_34"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:background="@drawable/selector_transparent_pressed"
|
||||
android:padding="@dimen/dp_16"
|
||||
android:text="@string/txt_close"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_42"
|
||||
android:drawablePadding="@dimen/dp_2"
|
||||
android:gravity="start"
|
||||
android:textSize="@dimen/textSize16"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
|
||||
@@ -24,6 +25,7 @@
|
||||
android:layout_below="@id/tv_pet_location_reverse_geocode"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:layout_marginBottom="@dimen/dp_12"
|
||||
android:gravity="start"
|
||||
android:textColor="@color/select_color3"
|
||||
android:textSize="@dimen/textSize12"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
|
||||
@@ -950,7 +950,7 @@
|
||||
<string name="txt_renewal_day">Verlängerung: $%s/%s Tag am %s</string>
|
||||
<string name="txt_day_unit">/Tag x%s</string>
|
||||
<string name="txt_location_tip">Die ABBIDOT-App sammelt Standortdaten. Die Route und Entfernung zwischen dem aktuellen Standort und dem Gerät können berechnet werden.</string>
|
||||
<string name="txt_auto_subscription_day">(Verlängerung für $%s pro %s Tag danach)</string>
|
||||
<string name="txt_auto_subscription_day">(Verlängerung für $%s pro Tag danach)</string>
|
||||
<string name="txt_auto_subscription_days">(Verlängerung für $%s/%s Tage danach)</string>
|
||||
<string name="txt_auto_subscription_years">(Verlängerung für $%s/%s Jahre danach)</string>
|
||||
<string name="txt_auto_subscription_months">(Verlängerung für $%s/%s Monate danach)</string>
|
||||
|
||||
@@ -994,7 +994,7 @@
|
||||
<string name="txt_renewal_day">续费:$%s/%s天,于%s</string>
|
||||
<string name="txt_day_unit">/天 x%s</string>
|
||||
<string name="txt_location_tip">ABBIDOT应用收集位置数据,可计算当前位置与设备之间的路线和距离。</string>
|
||||
<string name="txt_auto_subscription_day">(之后按$%s每%s天续费)</string>
|
||||
<string name="txt_auto_subscription_day">(之后按$%s每天续费)</string>
|
||||
<string name="txt_auto_subscription_days">(之后按$%s/%s天续费)</string>
|
||||
<string name="txt_auto_subscription_years">(之后按$%s/%s年续费)</string>
|
||||
<string name="txt_auto_subscription_months">(之后按$%s/%s月续费)</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<!-- 透明色 -->
|
||||
<color name="transparent">#00000000</color>
|
||||
<color name="transparent_half">#80000000</color>
|
||||
|
||||
<!-- 白色 -->
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
|
||||
@@ -1051,7 +1051,7 @@
|
||||
<string name="txt_renewal_day">Renewal: $%s/%s day on %s</string>
|
||||
<string name="txt_day_unit">/day x%s</string>
|
||||
<string name="txt_location_tip">ABBIDOT APP collects location data,The route and distance between the current location and the device can be calculated.</string>
|
||||
<string name="txt_auto_subscription_day">(Renew at $%s per %s day thereafter)</string>
|
||||
<string name="txt_auto_subscription_day">(Renew at $%s per day thereafter)</string>
|
||||
<string name="txt_auto_subscription_days">(Renew at $%s/%s days thereafter)</string>
|
||||
<string name="txt_auto_subscription_years">(Renew at $%s/%s years thereafter)</string>
|
||||
<string name="txt_auto_subscription_months">(Renew at $%s/%s months thereafter)</string>
|
||||
@@ -1082,5 +1082,13 @@
|
||||
<string name="txt_renewal_years">Renewal: $%s/%s years on %s</string>
|
||||
<string name="txt_renewal_months">Renewal: $%s/%s months on %s</string>
|
||||
<string name="map_baidu_map">Baidu Map</string>
|
||||
<string name="txt_refund_expired">Refund period has expired</string>
|
||||
<string name="txt_refund_policy">Refund Policy\n</string>
|
||||
<string name="txt_automatic_refund">Automatic Refund (Within 48 Hours)</string>
|
||||
<string name="txt_automatic_refund_dec">All subscription purchases are eligible for a full automatic refund within 48 hours of payment. Refunds will be processed automatically without manual review.\n</string>
|
||||
<string name="txt_standard_refund">Standard Refund Window (30 Days)</string>
|
||||
<string name="txt_standard_refund_dec">After the initial 48-hour period, users may request a refund within 30 days of purchase.\n\t1.All subscription plans (3-Month, 1-Year, 2-Year) are eligible\n\t2.Refund requests are subject to review and approval\n\t3.Refunds may be partially adjusted based on usage and service consumption\n</string>
|
||||
<string name="txt_no_refund_dec">Subscriptions older than 30 days are non-refundable.</string>
|
||||
<string name="txt_no_refund">No Refund After 30 Days</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user