diff --git a/app/src/main/java/com/abbidot/tracker/base/BaseActivity.kt b/app/src/main/java/com/abbidot/tracker/base/BaseActivity.kt index 652ed42..6aa5c99 100644 --- a/app/src/main/java/com/abbidot/tracker/base/BaseActivity.kt +++ b/app/src/main/java/com/abbidot/tracker/base/BaseActivity.kt @@ -36,6 +36,7 @@ import com.abbidot.tracker.constant.ConstantInt import com.abbidot.tracker.constant.GetResultCallback import com.abbidot.tracker.util.Util import com.abbidot.tracker.util.ViewUtil +import com.baidu.platform.comapi.util.NetworkUtil import com.hjq.toast.Toaster import com.qmuiteam.qmui.alpha.QMUIAlphaButton import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton @@ -65,9 +66,6 @@ abstract class BaseActivity(val inflater: (inflater: LayoutInfl //Activity是否在前台显示运行 var isFrontRunning = false - //是否需要通知上个页面更新数据 - var isNotifyUpdate = false - //右边图标按钮 var mRightImageButton: QMUIAlphaImageButton? = null @@ -413,10 +411,7 @@ abstract class BaseActivity(val inflater: (inflater: LayoutInfl } fun isShowLoading(): Boolean { - if (null != mLoadingDialog && mLoadingDialog!!.isShowing) { - return true - } - return false + return null != mLoadingDialog && mLoadingDialog!!.isShowing } fun showLoading(show: Boolean, tipsRes: Int, cancelable: Boolean = true) { @@ -575,7 +570,13 @@ abstract class BaseActivity(val inflater: (inflater: LayoutInfl val data = it.getOrNull() if (null == data) { - if (isShowRequestErrorTip) showToast(errorTip) + if (isShowRequestErrorTip) { + if (NetworkUtil.isNetworkAvailable(mContext)) { + showToast(errorTip) + } else { + showToast(R.string.txt_no_internet) + } + } if (mNetworkRequestsFailRetryCount < mNetworkRequestsFailMaxCount) { mNetworkRequestsFailRetryCount++ getResultCallback.onRequestError(exceptionCode) diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/device/HomeTrackFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/device/HomeTrackFragment.kt index a5017b8..dc9f810 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/device/HomeTrackFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/device/HomeTrackFragment.kt @@ -536,15 +536,16 @@ class HomeTrackFragment : } mTrackStateList[1].let { it.colorRedId = R.color.orange_color3 - it.menuValue = - if (isTimeoutReport || gpsSignal == ConstantInt.NoSignal || powerSwitch == ConstantInt.Type0 || powerSwitch == ConstantInt.Type2 || inWifiZone == ConstantInt.Type1) { - getString(R.string.txt_weak_signal) - } else if (gpsSignal > ConstantInt.WeakSignal) { - it.colorRedId = R.color.blue_color1 - getString(R.string.txt_strong_signal) - } else { - getString(R.string.txt_weak_signal) - } + it.menuValue = if (inWifiZone == ConstantInt.Type1) { + getString(R.string.tracker_manage_set_led_off) + } else if (isTimeoutReport || gpsSignal == ConstantInt.NoSignal || powerSwitch == ConstantInt.Type0 || powerSwitch == ConstantInt.Type2) { + getString(R.string.txt_weak_signal) + } else if (gpsSignal > ConstantInt.WeakSignal) { + it.colorRedId = R.color.blue_color1 + getString(R.string.txt_strong_signal) + } else { + getString(R.string.txt_weak_signal) + } } mTrackStateList[2].let { it.menuValue = diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/GoogleBitmapHelper.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/GoogleBitmapHelper.kt index c9aa6d5..57db9a5 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/GoogleBitmapHelper.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/GoogleBitmapHelper.kt @@ -33,8 +33,8 @@ object GoogleBitmapHelper { context: Context, @DrawableRes id: Int, headUrl: String, petType: Int ): Bitmap? { var headUrlBitmap = if (TextUtils.isEmpty(headUrl)) { - var headResId = R.drawable.icon_dog_default_head_svg - if (petType == ConstantInt.CatPetType) headResId = R.drawable.icon_cat_default_head_svg + var headResId = R.drawable.icon_pet_default_head_svg + if (petType == ConstantInt.CatPetType) headResId = R.drawable.icon_pet_default_head_svg ImageUtil.getBitmapFromDrawableAndSvg(context, headResId) } else { ImageUtil.getImageBitmapByUrl(context, headUrl) @@ -115,8 +115,9 @@ object GoogleBitmapHelper { typeface: Typeface = Typeface.DEFAULT ): Bitmap { val bgBitmap = BitmapFactory.decodeResource(context.resources, id) - val newmap = Bitmap.createBitmap(bgBitmap.width, bgBitmap.height, Bitmap.Config.ARGB_8888) - val canvas = Canvas(newmap) + val newBitmap = + Bitmap.createBitmap(bgBitmap.width, bgBitmap.height, Bitmap.Config.ARGB_8888) + val canvas = Canvas(newBitmap) canvas.drawBitmap(bgBitmap, 0f, 0f, null) val paint = Paint() paint.color = ContextCompat.getColor(context, R.color.txt_black_color) @@ -133,7 +134,7 @@ object GoogleBitmapHelper { canvas.drawText(text, x, y, paint) canvas.save() canvas.restore() - return newmap + return newBitmap } /** diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt index e068832..c5fcb65 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HistoryDataGoogleMapFragment.kt @@ -120,17 +120,20 @@ class HistoryDataGoogleMapFragment : BaseGoogleMapFragment() { } mPetBean = petBean // lifecycleScope.launch { -// // } - mPetBean?.apply { - var bitmap = GoogleBitmapHelper.headToBitmap( - mContext!!, R.drawable.pic_map_gps_avatar, imgurl, petType - ) - if (null == bitmap) bitmap = BitmapFactory.decodeResource( - mContext!!.resources, R.drawable.icon_location_svg - ) - mPetIconDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap!!) - mMarker?.setIcon(mPetIconDescriptor) + try { + mPetBean?.apply { + var bitmap = GoogleBitmapHelper.headToBitmap( + mContext!!, R.drawable.pic_map_gps_avatar, imgurl, petType + ) + if (null == bitmap) bitmap = BitmapFactory.decodeResource( + mContext!!.resources, R.drawable.icon_location_svg + ) + mPetIconDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap!!) + mMarker?.setIcon(mPetIconDescriptor) + } + } catch (e: Exception) { + LogUtil.e("setPetBean 异常了$e") } } diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/pet/PetV2Fragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/pet/PetV2Fragment.kt index e1b97fa..4619262 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/pet/PetV2Fragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/pet/PetV2Fragment.kt @@ -69,23 +69,25 @@ class PetV2Fragment : BaseFragment(FragmentPetV2Binding::i } } - vp2SwitchPetTrack.let { - it.adapter = ViewPagerAdapter(mFragments, requireActivity()) - ViewUtil.instance.setViewPager2Config( - it, object : ViewPager2.OnPageChangeCallback() { - override fun onPageSelected(position: Int) { - super.onPageSelected(position) - when (position) { - 0 -> rgSwitchPetTrack.check(rbPetSwitch.id) - 1 -> rgSwitchPetTrack.check(rbTrackSwitch.id) + getHomeV2Activity()?.let { ac -> + vp2SwitchPetTrack.let { + it.adapter = ViewPagerAdapter(mFragments, ac) + ViewUtil.instance.setViewPager2Config( + it, object : ViewPager2.OnPageChangeCallback() { + override fun onPageSelected(position: Int) { + super.onPageSelected(position) + when (position) { + 0 -> rgSwitchPetTrack.check(rbPetSwitch.id) + 1 -> rgSwitchPetTrack.check(rbTrackSwitch.id) + } } - } - }) - setOnClickListenerViews( - ilHomePetTopBar.homeDataPetNameSmall, - ilHomePetTopBar.homeDataPetHeadSmall.root, - ilHomePetTopBar.ivTopPetBtnSmall - ) + }) + setOnClickListenerViews( + ilHomePetTopBar.homeDataPetNameSmall, + ilHomePetTopBar.homeDataPetHeadSmall.root, + ilHomePetTopBar.ivTopPetBtnSmall + ) + } } if (AppUtils.isDebug()) { ilHomePetTopBar.homeDataPetHeadSmall.appHeadImage.setOnLongClickListener { @@ -149,7 +151,7 @@ class PetV2Fragment : BaseFragment(FragmentPetV2Binding::i } private fun getMessageCount() { - requireActivity().lifecycleScope.launch(Dispatchers.IO) { + lifecycleScope.launch(Dispatchers.IO) { MyDatabase.messageDao().findAll(MyDatabase.MessageTableName)?.apply { var noReadNum = size LogUtil.e("消息数量:${size}") @@ -158,8 +160,10 @@ class PetV2Fragment : BaseFragment(FragmentPetV2Binding::i } getHomeV2Activity()?.runOnUiThread { mViewBinding.homePetMessageCountText.let { - if (noReadNum > 0) it.visibility = View.VISIBLE - else it.visibility = View.GONE + if (noReadNum > 0) { + if (noReadNum > 99) noReadNum = 99 + it.visibility = View.VISIBLE + } else it.visibility = View.GONE it.text = "$noReadNum" } diff --git a/app/src/main/java/com/abbidot/tracker/util/ImageUtil.kt b/app/src/main/java/com/abbidot/tracker/util/ImageUtil.kt index 7a177ba..ae83d1d 100644 --- a/app/src/main/java/com/abbidot/tracker/util/ImageUtil.kt +++ b/app/src/main/java/com/abbidot/tracker/util/ImageUtil.kt @@ -220,7 +220,7 @@ object ImageUtil { //默认大小50dp .size(QMUIDisplayHelper.dpToPx(50)).allowHardware(false).build() val drawable = imageLoader.execute(request).drawable ?: return getBitmapFromDrawableAndSvg( - context, R.drawable.icon_dog_default_head_svg + context, R.drawable.icon_pet_default_head_svg ) ?: BitmapFactory.decodeResource( context.resources, R.drawable.pic_avatar_df ) diff --git a/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt b/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt index cd70799..b6110be 100644 --- a/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt +++ b/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt @@ -975,7 +975,7 @@ class ViewUtil private constructor() { ) { if (petList.size == 0) { petName.text = context.getString(R.string.no_pet) - petHead.load(R.drawable.icon_dog_default_head_svg) + petHead.load(R.drawable.icon_pet_default_head_svg) return } val pet = petList[selectPos] @@ -1050,8 +1050,8 @@ class ViewUtil private constructor() { */ fun setPetTypeHead(imageView: ImageView, imageUrl: String, type: Int) { if (TextUtils.isEmpty(imageUrl)) { - val defaultHead = if (type == 2) R.drawable.icon_cat_default_head_svg - else R.drawable.icon_dog_default_head_svg + val defaultHead = if (type == 2) R.drawable.icon_pet_default_head_svg + else R.drawable.icon_pet_default_head_svg imageView.load(defaultHead) } else { imageLoadUrl(imageView, imageUrl) diff --git a/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt b/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt index a90770f..4026faa 100644 --- a/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt +++ b/app/src/main/java/com/abbidot/tracker/vm/MapViewModel.kt @@ -312,15 +312,17 @@ class MapViewModel : ViewModel() { } deviceStateList[1].apply { menuType = ConstantInt.Open - val gpsValue = - if (isTimeoutReport || it.gpsSignal == ConstantInt.NoSignal || it.powerSwitch == ConstantInt.Type0 || it.powerSwitch == ConstantInt.Type2 || it.inWifiZone == ConstantInt.Type1) { - menuType = ConstantInt.Close - context.getString(R.string.txt_weak_signal) - } else if (it.gpsSignal > ConstantInt.WeakSignal) { - context.getString(R.string.txt_strong_signal) - } else { - context.getString(R.string.txt_weak_signal) - } + val gpsValue = if (it.inWifiZone == ConstantInt.Type1) { + menuType = ConstantInt.Close + context.getString(R.string.tracker_manage_set_led_off) + } else if (isTimeoutReport || it.gpsSignal == ConstantInt.NoSignal || it.powerSwitch == ConstantInt.Type0 || it.powerSwitch == ConstantInt.Type2) { + menuType = ConstantInt.Close + context.getString(R.string.txt_weak_signal) + } else if (it.gpsSignal > ConstantInt.WeakSignal) { + context.getString(R.string.txt_strong_signal) + } else { + context.getString(R.string.txt_weak_signal) + } value = context.getString(R.string.tracker_manage_set_gps) + ":$gpsValue" } deviceStateList[2].apply { diff --git a/app/src/main/res/drawable-xhdpi/pic_map_gps_avatar.png b/app/src/main/res/drawable-xhdpi/pic_map_gps_avatar.png index 5dd3129..67976d1 100644 Binary files a/app/src/main/res/drawable-xhdpi/pic_map_gps_avatar.png and b/app/src/main/res/drawable-xhdpi/pic_map_gps_avatar.png differ diff --git a/app/src/main/res/drawable-xxhdpi/pic_map_gps_avatar.png b/app/src/main/res/drawable-xxhdpi/pic_map_gps_avatar.png index 54bb1ff..e80b468 100644 Binary files a/app/src/main/res/drawable-xxhdpi/pic_map_gps_avatar.png and b/app/src/main/res/drawable-xxhdpi/pic_map_gps_avatar.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/pic_map_gps_avatar.png b/app/src/main/res/drawable-xxxhdpi/pic_map_gps_avatar.png index 9e32c45..d3ab5ed 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/pic_map_gps_avatar.png and b/app/src/main/res/drawable-xxxhdpi/pic_map_gps_avatar.png differ diff --git a/app/src/main/res/drawable/icon_cat_default_head_svg.xml b/app/src/main/res/drawable/icon_cat_default_head_svg.xml deleted file mode 100644 index f6a1186..0000000 --- a/app/src/main/res/drawable/icon_cat_default_head_svg.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/icon_dog_default_head_svg.xml b/app/src/main/res/drawable/icon_dog_default_head_svg.xml deleted file mode 100644 index d31c85b..0000000 --- a/app/src/main/res/drawable/icon_dog_default_head_svg.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/icon_pet_default_head_svg.xml b/app/src/main/res/drawable/icon_pet_default_head_svg.xml new file mode 100644 index 0000000..2a05a83 --- /dev/null +++ b/app/src/main/res/drawable/icon_pet_default_head_svg.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/app/src/main/res/layout/layout_head_image_view.xml b/app/src/main/res/layout/layout_head_image_view.xml index 4c5461e..b82661f 100644 --- a/app/src/main/res/layout/layout_head_image_view.xml +++ b/app/src/main/res/layout/layout_head_image_view.xml @@ -5,7 +5,7 @@ android:layout_width="@dimen/dp_80" android:layout_height="@dimen/dp_80" android:scaleType="centerCrop" - android:src="@drawable/icon_dog_default_head_svg" + android:src="@drawable/icon_pet_default_head_svg" app:qmui_border_color="?attr/qmui_config_color_gray_6" app:qmui_border_width="1px" app:qmui_is_circle="true" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2ddb4be..3dbe5d3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1057,5 +1057,6 @@ Live works on cellular only Unbind Device Edit Profile + No internet connection \ No newline at end of file