From 862c9c9a0640ecb312a295e6b59f5b8ac05bd0ca Mon Sep 17 00:00:00 2001 From: yezhiqiu <983577727@qq.com> Date: Thu, 9 Apr 2026 09:47:27 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4=E8=B0=B7?= =?UTF-8?q?=E6=AD=8C=E5=9C=B0=E5=9B=BE=E5=AF=BC=E8=88=AA=202.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BA=BA=E5=92=8C=E5=AE=A0=E7=89=A9=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compile-file-map.properties | 2 +- app/build.gradle | 6 +- .../abbidot/tracker/constant/ConstantInt.kt | 4 + .../tracker/constant/LinkMapCallback.kt | 10 + .../activity/device/AddNewTracker3Activity.kt | 4 +- .../device/AddPairedSuccessActivity.kt | 7 + .../tracker/ui/common/map/HomeMapCommonV3.kt | 1 + .../tracker/ui/fragment/map/MapV3Fragment.kt | 72 +++++- .../map/googlemap/BaseGoogleMapFragment.kt | 54 ++++- .../googlemap/HistoryDataGoogleMapFragment.kt | 2 - .../java/com/abbidot/tracker/util/ViewUtil.kt | 14 +- .../drawable-xhdpi/ico_map_navigati_image.png | Bin 0 -> 549 bytes .../icon_white_bg_gray_delete.png | Bin 384 -> 386 bytes .../ico_map_navigati_image.png | Bin 0 -> 762 bytes .../icon_white_bg_gray_delete.png | Bin 531 -> 520 bytes .../ico_map_navigati_image.png | Bin 0 -> 1011 bytes .../icon_white_bg_gray_delete.png | Bin 705 -> 704 bytes app/src/main/res/layout/fragment_map_v3.xml | 224 +++++++++--------- app/src/main/res/layout/fragment_route_v2.xml | 4 +- .../res/layout/layout_pet_location_info.xml | 14 +- 20 files changed, 272 insertions(+), 146 deletions(-) create mode 100644 app/src/main/java/com/abbidot/tracker/constant/LinkMapCallback.kt create mode 100644 app/src/main/res/drawable-xhdpi/ico_map_navigati_image.png create mode 100644 app/src/main/res/drawable-xxhdpi/ico_map_navigati_image.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ico_map_navigati_image.png diff --git a/FastBleLib/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties b/FastBleLib/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties index c657fc6..315de23 100644 --- a/FastBleLib/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +++ b/FastBleLib/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties @@ -1 +1 @@ -#Thu Mar 19 17:33:53 CST 2026 +#Wed Apr 08 14:56:42 CST 2026 diff --git a/app/build.gradle b/app/build.gradle index 8f0689f..629a992 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,9 +28,9 @@ android { applicationId "com.abbidot.tracker" minSdkVersion 23 targetSdkVersion 35 - versionCode 2112 - versionName "2.1.12" -// versionName "2.1.12-Beta4" + versionCode 2113 +// versionName "2.1.13" + versionName "2.1.13-Beta3" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/abbidot/tracker/constant/ConstantInt.kt b/app/src/main/java/com/abbidot/tracker/constant/ConstantInt.kt index ebdd91a..286194a 100644 --- a/app/src/main/java/com/abbidot/tracker/constant/ConstantInt.kt +++ b/app/src/main/java/com/abbidot/tracker/constant/ConstantInt.kt @@ -49,6 +49,8 @@ import androidx.annotation.IntDef ConstantInt.BasicPackage, ConstantInt.PremiumPackage, ConstantInt.MinSportGoal, + ConstantInt.PetSpecialType, + ConstantInt.DefaultType, ConstantInt.NoShare, ConstantInt.ReportTimeOutTime, ConstantInt.PetLocationType @@ -100,6 +102,8 @@ annotation class ConstantInt { const val OtherLocationType = 2 const val UserLocationType = 1 const val PetLocationType = 0 + const val PetSpecialType = 3 + const val DefaultType = 4 //默认的运动目标时间(min) const val DefaultSportGoal = 60 diff --git a/app/src/main/java/com/abbidot/tracker/constant/LinkMapCallback.kt b/app/src/main/java/com/abbidot/tracker/constant/LinkMapCallback.kt new file mode 100644 index 0000000..5bb472f --- /dev/null +++ b/app/src/main/java/com/abbidot/tracker/constant/LinkMapCallback.kt @@ -0,0 +1,10 @@ +package com.abbidot.tracker.constant + +/** + *Created by .yzq on 2026/4/8/周三. + * @link + * @description: + */ +interface LinkMapCallback { + fun onCameraListener(type:Int) +} \ No newline at end of file diff --git a/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddNewTracker3Activity.kt b/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddNewTracker3Activity.kt index 62882b7..a94927e 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddNewTracker3Activity.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddNewTracker3Activity.kt @@ -96,6 +96,7 @@ class AddNewTracker3Activity : //接收蓝牙连接状态 XEventBus.observe(this, EventName.ConnectDeviceState) { ble: BleTrackDeviceBean -> if (mConBleMac == ble.mac) { + mViewBinding.ivAddNewTracker3RefreshBtn.isEnabled = true if (ble.conState == ConState.CONNECTED) { setNoConnectState() val intent = Intent(mContext, AddPairedSuccessActivity::class.java) @@ -107,9 +108,6 @@ class AddNewTracker3Activity : startActivity(intent) } else if (ble.conState == ConState.CONNECTION_FAIL) { setNoConnectState() - mViewBinding.ivAddNewTracker3RefreshBtn.isEnabled = true - } else { - mViewBinding.ivAddNewTracker3RefreshBtn.isEnabled = true } } } diff --git a/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddPairedSuccessActivity.kt b/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddPairedSuccessActivity.kt index c469ec9..035f2f1 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddPairedSuccessActivity.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/activity/device/AddPairedSuccessActivity.kt @@ -348,6 +348,13 @@ class AddPairedSuccessActivity : } } + override fun leftBackOnClick() { + if (!TextUtils.isEmpty(mMac)) { + SRBleUtil.instance.disconnectToMac(mMac) + } + super.leftBackOnClick() + } + override fun onClick(v: View?) { mViewBinding.apply { when (v!!) { diff --git a/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt b/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt index 0ecbfc3..1631715 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt @@ -10,6 +10,7 @@ import com.abbidot.tracker.base.BaseMapCommon import com.abbidot.tracker.bean.HistoryDataBean import com.abbidot.tracker.bean.MapDeviceBean import com.abbidot.tracker.constant.ConstantInt +import com.abbidot.tracker.constant.LinkMapCallback import com.abbidot.tracker.databinding.LayoutPetLocationInfoBinding import com.abbidot.tracker.ui.fragment.map.baidumap.HomeMapBaiduMapFragment import com.abbidot.tracker.ui.fragment.map.googlemap.HomeMapGoogleMapFragmentV3 diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt index 6b17121..6e00a34 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt @@ -11,6 +11,7 @@ import android.view.Gravity import android.view.View import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat +import androidx.core.net.toUri import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment import androidx.fragment.app.commit @@ -123,7 +124,7 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i mViewBinding.apply { getHomeV2Activity()?.edgeToEdgeAdapterBars( - rlHomeMapTopLayout, WindowInsetsCompat.Type.statusBars() + root, WindowInsetsCompat.Type.statusBars() ) mFragment = mHomeMapCommon.getMapFragment( mContext!!, @@ -151,6 +152,17 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i // mContext!!, rvHomeMapDeviceMsg, mDeviceMsgAdapter, bottom = 10 // ) + +// rlHomeMapTopLayout.setOnTouchListener { _, _ -> +// if (mShowCenterLocationType == ConstantInt.PetLocationType) { +// mShowCenterLocationType = ConstantInt.PetSpecialType +// ViewUtil.instance.setMapSwitchLocationButtonImage( +// homeMapRefreshBtn, mShowCenterLocationType +// ) +// } +// false +// } + setOnClickListenerViews( homeMapRefreshBtn, homeMapBluetoothBtn, @@ -160,7 +172,8 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i llHomeMapTopPet.homeDataPetNameSmall, llHomeMapTopPet.homeDataPetHeadSmall.root, ilHomeMapDeviceBatteryLayout.ivDeviceCloseBtn, - ilHomeMapDeviceMsg.ivDeviceMsgCloseBtn + ilHomeMapDeviceMsg.ivDeviceMsgCloseBtn, + ilHomeMapPetLocation.ivPetLocationNavigationBtn ) if (AppUtils.isDebug()) { @@ -185,7 +198,9 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i override fun onResume() { super.onResume() - if (mShowCenterLocationType == ConstantInt.PetLocationType) isMoveCamera = true + if (mShowCenterLocationType == ConstantInt.PetLocationType) { + isMoveCamera = true + } getHomeV2Activity()?.apply { //其他页面是否选择了宠物 if (mCurrentShowPetPos != mSelectPetPosition) { @@ -863,6 +878,9 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i } } + /** + * 停止一键定位 + */ private fun stopRefreshLocation() { getHomeV2Activity()?.apply { if (isNotifyRefreshLocation) { @@ -891,6 +909,26 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i } } + private fun goNavigation() { + mMapDeviceBean?.let { m -> + try { + //自动弹出手机中已经有安装地图的应用 + val uri = if (MMKVUtil.getBoolean(MMKVKey.isGpsToGCJ02)) { + val convertLatLon = + LonAndLatUtil.convertFromWGS84ToGCJ02(m.latitude, m.longitude) + "google.navigation:q=${convertLatLon[0]},${convertLatLon[1]}&mode=w".toUri() + } else { + "google.navigation:q=${m.latitude},${m.longitude}&mode=w".toUri() + } + val intent = Intent(Intent.ACTION_VIEW, uri) + intent.setPackage("com.google.android.apps.maps") + startActivity(intent) + } catch (e: Exception) { + showToast(getString(R.string.txt_no_install)) + } + } + } + override fun onClick(v: View?) { if (isLimitClick()) return mViewBinding.apply { @@ -901,13 +939,23 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i showToast(R.string.no_bind_pet) return } - if (mShowCenterLocationType == ConstantInt.PetLocationType) { - mShowCenterLocationType = ConstantInt.UserLocationType - mHomeMapCommon.switchShowLocation(mShowCenterLocationType) - } else { - mShowCenterLocationType = ConstantInt.PetLocationType - isMoveCamera = true - updateMapDeviceStatus(useBleLocation = false) + when (mShowCenterLocationType) { +// ConstantInt.PetSpecialType -> { +// mShowCenterLocationType = ConstantInt.PetLocationType +// mHomeMapCommon.switchShowLocation(mShowCenterLocationType) +// } + + ConstantInt.PetLocationType -> { + mShowCenterLocationType = ConstantInt.UserLocationType + mHomeMapCommon.switchShowLocation(mShowCenterLocationType) + } + + ConstantInt.UserLocationType -> { + mShowCenterLocationType = ConstantInt.PetLocationType +// isMoveCamera = true +// updateMapDeviceStatus(useBleLocation = false) + mHomeMapCommon.switchShowLocation(mShowCenterLocationType) + } } ViewUtil.instance.setMapSwitchLocationButtonImage( homeMapRefreshBtn, mShowCenterLocationType @@ -944,8 +992,10 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i mMapDeviceBean?.isCloseMsg = true ilHomeMapDeviceMsg.root.visibility = View.GONE } - } + ilHomeMapPetLocation.ivPetLocationNavigationBtn -> goNavigation() + } } } + } \ No newline at end of file diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt index 9936b36..ce43970 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/BaseGoogleMapFragment.kt @@ -304,15 +304,40 @@ abstract class BaseGoogleMapFragment : * 切换用户和宠物的位置居中显示,移动摄像头中心 */ fun switchShowLocation(@ConstantInt type: Int) { - val latLng = if (type == ConstantInt.PetLocationType) { - //刷新下用户当前的位置 - getLastLocation() - mPetLatLng - } else { - mUserLatLng - } - latLng?.let { - moveCameraLocation(it) + when (type) { + ConstantInt.PetLocationType -> { + //刷新下用户当前的位置 + getLastLocation() + mPetLatLng?.let { + mGoogleMapZoom = 17f + refreshPetCurrentLocation(it, true) + } + } + + ConstantInt.UserLocationType -> { + mPetLatLng?.let { + mUserLatLng?.apply { + setLatLngZoom(mContext!!, 250, it, this) + cameraUpdateMove() + } + } + } + else->{ + + } + +// ConstantInt.DefaultType -> { +// mPetLatLng?.let { +// mGoogleMapZoom = 17f +// refreshPetCurrentLocation(it, true) +// } +// } + +// else -> { +// mUserLatLng?.let { +// moveCameraLocation(it) +// } +// } } } @@ -948,10 +973,9 @@ abstract class BaseGoogleMapFragment : it.isMyLocationButtonEnabled = false //用于设置是启用还是停用倾斜手势的偏好设置。 // https://developers.google.cn/maps/documentation/android-sdk/reference/com/google/android/libraries/maps/UiSettings?hl=zh-cn - it.isTiltGesturesEnabled = false it.isMapToolbarEnabled = false it.isTiltGesturesEnabled = false - it.isCompassEnabled = false + it.isCompassEnabled = true } onMapLoadOk(googleMap) @@ -1052,6 +1076,14 @@ abstract class BaseGoogleMapFragment : mCameraUpdate = CameraUpdateFactory.newLatLngBounds(builder.build(), screenPaddingPx) } + private fun cameraUpdateMove() { + mGoogleMap?.apply { + mCameraUpdate?.let { + animateCamera(it) + } + } + } + fun getMyZoom1(distance: Double): Float { val scale = intArrayOf( 3,//21 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 3085570..e832f9f 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 @@ -115,8 +115,6 @@ class HistoryDataGoogleMapFragment : BaseGoogleMapFragment() { true } else false } - - uiSettings.isCompassEnabled = true } getLastLocation() 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 82d37eb..68f9c3e 100644 --- a/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt +++ b/app/src/main/java/com/abbidot/tracker/util/ViewUtil.kt @@ -38,6 +38,7 @@ import androidx.core.animation.doOnCancel import androidx.core.content.ContextCompat import androidx.core.view.isGone import androidx.core.view.isInvisible +import androidx.core.view.isVisible import androidx.core.view.setPadding import androidx.core.widget.addTextChangedListener import androidx.fragment.app.FragmentActivity @@ -89,7 +90,6 @@ import com.qmuiteam.qmui.util.QMUIDisplayHelper import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet.BottomListSheetBuilder import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView import java.util.Calendar -import androidx.core.view.isVisible /** @@ -892,6 +892,12 @@ class ViewUtil private constructor() { fun setMapSwitchLocationButtonImage(iv: ImageView, locationType: Int) { viewShowFadeInAnimation(iv, 600) when (locationType) { + ConstantInt.PetSpecialType -> { + iv.setBackgroundResource(R.drawable.shape_white_circle_bg) + iv.setImageResource(R.drawable.icon_pet_foot_svg) + iv.setPadding(AppUtils.dpToPx(14)) + } + ConstantInt.PetLocationType -> { iv.setBackgroundResource(R.drawable.shape_yellow_circle_bg) iv.setImageResource(R.drawable.icon_pet_foot_svg) @@ -909,6 +915,12 @@ class ViewUtil private constructor() { iv.setImageResource(R.drawable.icon_pet_fence_svg) iv.setPadding(AppUtils.dpToPx(13)) } + + ConstantInt.DefaultType -> { + iv.setBackgroundResource(R.drawable.shape_white_circle_bg) + iv.setImageResource(R.drawable.icon_map_gps) + iv.setPadding(AppUtils.dpToPx(13)) + } } } diff --git a/app/src/main/res/drawable-xhdpi/ico_map_navigati_image.png b/app/src/main/res/drawable-xhdpi/ico_map_navigati_image.png new file mode 100644 index 0000000000000000000000000000000000000000..5cca6896f91c807dfd1cb1090ebf8a972adc3683 GIT binary patch literal 549 zcmV+=0^0qFP) z@$vBR@G~h($32;bRa{vGf z5&!@T5&_cPe*6Fc0isDnK~z{rt=QQT!XOLk|6eR(b=r{SCWPnCnM(=l1 z5Dm{Qnx0bxJeLT04iWTV5%xgQ;X$Iy14O51if+#k1D-0{UfaK0^sR|!3fntsZMbNA zrB#Orc%}4+73?+SIYiJarAI_E!d}@S5%&rts$M%tdzl$EZ}gC92UCu}Q?r^+@c454 zih6%*J=#v&Q>gDTul4chg*?~sXTGpq9_MgBsCi~YCgEq8qIoI%@Df8zuqo+eUI zoOtA7B#sOLQBTfDKxsK-E^b0b0``jGmRI&7$cxiIA)-{rztS;1YY9gWUe^a9$0iNrGqUVoY3>@mFc6}c00000NkvXXu0mjf7 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/icon_white_bg_gray_delete.png b/app/src/main/res/drawable-xhdpi/icon_white_bg_gray_delete.png index e3ae76f0fabe2b79c7be874cc87ee97b66407245..ea784fa3f8a60b4e926234fdefcb93c8bc5efbb4 100644 GIT binary patch delta 315 zcmV-B0mS}*1A+sPEF8bTzrVk~zrVl#|NpKGIO3#F!B+!L>P=Aw2 zgi-+nJE%*W*w9h35w3$mK^-+*ipDx>?6^W`py|;cAj|Oc#;8POJMU4zL|!k9G_o^r z8TLy#Q`&~Zs6Lun<=VF{@Otg-Q0Mjjw)m3n{Ssa-Uhl)>efSN00TiLs3~MBq7##or N002ovPDHLkV1i78ml6N~ delta 313 zcmV-90mlA<1AqgNEF6J>fq;O3fPjGi|Np?iz<_{&-{0S$prHG@++UGMD1ZA&L_t(I zPnA?x7Q-M63pf<+f8t6Wtc=(4X#K)hJ;o413oEe+=f$B!^Ttv*`R=7B3=MA*P%W# zYKYjU+EPXjnz=v=mgzvpLw~~*I%D9};6Oo$26R5d>>#WY93wH8n9?)hR|)r^{w9+M zSpjX@L0#I!hK^EZsw88tbUB;|igHrh9*YEW^(mqoT-m-o1c{yj~bKvNLcQ z_DeZa>W0IpKAKW^?Q0{vUVA&#dA+|axuko)c)WbQ50CfZH}C}qH4+UOoNRgP00000 LNkvXXu0mjfcY~9+ diff --git a/app/src/main/res/drawable-xxhdpi/ico_map_navigati_image.png b/app/src/main/res/drawable-xxhdpi/ico_map_navigati_image.png new file mode 100644 index 0000000000000000000000000000000000000000..82b1aa99bf37b809e46f395e44c8fb85d26f357b GIT binary patch literal 762 zcmV z@$v8P@9^;OGcz;6!NFo;Vv&)NR#sMedU`w@3>5$X00VSVPE!DXf0Ap>N&o-=32;bR za{vGf5&!@T5&_cPe*6Fc0&_`3K~!i%#oFtVf-npPV6-B;@BhLJlyy{^%Q;C)f9k+z zdP&-j)5N#ijej=sH~2g+aWF!|&Tk{j+2x#bLxIl-mm6qk^bTv$$XK{?TdML4b&X2W)W!x=0Y{+-(4v}z6+2NQ>xktzmnR826X5FaFyQM7qFhBJbAnew0z*j`a+< zwGJ)9##I1=@=|``-$q>A~SXnJ~rP=Y~A?q;a zLY=L`sEf!NjJtrWz>MpcW!SY5sO#ZlJK&t#BFwtpm?fBZow5K&T%X*AYX&#UaASP` z4;PMcR$$)s#4L1mC|*~g65#pi&Ck-&&FXEVNVvB=XWx(`uyIh;)8O^``9EYogK4!9vX8?}m;JV~4u0!tRnsPVSkUP4n+|^a&&aNnTcLjNX+mwg64SA4zl83op@<8`P s9_qfygWZ=r+&$zA++DuJUFC@T2cr2`U~H+|iU0rr07*qoM6N<$f`mSFfdBvi literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_white_bg_gray_delete.png b/app/src/main/res/drawable-xxhdpi/icon_white_bg_gray_delete.png index f069b78baa9e70f268040bb36115016b18582c41..fdc274b4befbda1677a8e9662026c92bebe34a70 100644 GIT binary patch delta 450 zcmV;z0X_bc1c(HXEF8bTzrVk~zrVl#|Np-C3`LX7eAi7|w9EuRRhMhK^zWYJ7K zp{(Fc*@&d>q~x66@0^dL&nzhcUrWWx$c?jL0B_+$Y%&uA_(QMWe?!DEfH!W03x>_f z8NS9pF<4;f2Rh7%vbzJHi+`up88XVQ#1s*D{Yi*`g}xLmA%L88YFQ0|@h-@5BW$iAnEDdEkmv0oQmvLkN#cLw{%PR`D?bo}3N* zMHPsnR<1m)>v=4|YcY4Unjt|IY4XcBFVG|in5WivV8#ldV0Ue7Hq;N@o`FVYnm$_n zrj-G|Y_9j4F%D|gm?*XNE!OWxd!jV>`qpY!5Xs=m>S*8UT~lTUX2kt<9fpc9PT(Ag sqg=qzIzxRs(9<{907*qoM6N<$g2g}BQ2+n{ delta 461 zcmV;;0W$uG1d{}iEF6J>fq;O3fPjGi|Nnr1fWW}O-{0S$pr9}>!E=#FD1VMgL_t(Y zOT|{*x`QAL6WGM}f8x=EpSFN*-?=zmZJ3aR*6MNm!<9me@%@f5g!C+*1gowPZaK-K zLA;@?;Gk?oQgd?UoL{e;&$F#8DS>ydf*n`mEEvRFxDYF4Vi14o-P>;(a}45*8|4c( zZB6d*CI7^Lz|s$Oz=-2?JAXc3o>o@GC~^!_Lcso$kN_{ab7_fTNS3t*52%}J5?!FC z>tTrJUoD}w)estQf|9$&Mi1F4VN-)=K6)CC49wx-iRHG0wz0<}A3e!Kqnn~PwXNlz zP&It*2SI0M_Nw7}MR2h6Gr?zgwDi}|^*pCzm4#6UbfgMg@_NP~{D0gUx^nl;$5Umg z>B-sPUv|N8bR6)6W!=wx1MCHEA2nS005u}0{{R3yb+fl0000UP)t-sM{rE> z@$v8P@9^;OGcz-hk&(f{!D3=!N=iz4dV2X@gH8Yd00VSVPE!DXf0Ap>N&o-=32;bR za{vGf5&!@T5&_cPe*6Fc18hk|K~#8N&DzOggD?yP(4=hb|Nn3aTS5!=NE*rVC5I4r z85>(Hj|aCspWOYi_x9|%)WX@9TDbTU3pZa{;o(av{P3j|o_q;~e|+hL|9r`W7rs=& zOJ5@4jW3Px)|W(B@TCwIeF=mWUvpvA*H{SnnhGIbLm}vECWL*BgaTg^p~%-jDD;I3 z#lB#n!WSx3`2vMXUzkws3lbW9AwrWcKxp*23(Y=fA;IS=r1%_#B%hm*=5rDfeJ(<( z&p}A`(S>v$S?J)S3SE3ep_7j$bn}sfjy{Ue)khFI`^-XjpHUd#GYLa{24Rp-Ee!K1 zg$&=gz9Ud?iZ?L`zM=0YlqeQ{)&F&Ei`h3fCn3StO$!hfeo5ZpVfeZ=K^Gy#*Nq#H zpCQNB9TE1m(Yk*R_A<-&7EV+l&*vj#`aFbOA79A!v4wo!TR0HT6b~O$=;PxFy?iX8 z-Zu`zRBqqfs%II8YTsTH>??2aQ!kA1^}SZ8_CdLQZln{ceOpl~VWQJv_fgxZeMiYB z5W*3@g=*hk)epm1Z$H8Udro@GQ19#3V?vqiVZ*iIYbY#2gKs@3bVzaizYf(|Xz*=U z9SBhAdkHPTb&dvlSnV@LhyqPMODBWC!v|!2o+YiPF$mmebFELGAqKSj)Itcz@M(nz zkmFMd0U*n#6V`z|pGsH-GJP6h4Y*$o=;xR7O-=EtR{^qp@(jzseF0(RrzpM3z-<5` z#m;GgE8fPG^)dqF`h>k)1}@*SeKKL?BpD~9R=liVN{=K2y)Xq(@wZbW8mdEvMH!knM8km7U9 zkmPd{(tJ)rqR&N0^*IR1KDv0^JiZFq%C`{oi2$T43g=u^@!bHAHVJhE+Fq!Y4FrDv@Frn`xOzHa&CiNY{w7yN4 h*tZB%`(`2A_X~{tn$;0xE0_QP002ovPDHLkV1l$*%NhUx literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/icon_white_bg_gray_delete.png b/app/src/main/res/drawable-xxxhdpi/icon_white_bg_gray_delete.png index d4d615a5f0bbec8efd40f725224ca6f387249964..9282a82f638eaa0181a5af8e160541f3f70ef14e 100644 GIT binary patch delta 635 zcmV->0)+j+1;7Q6EF8bTzrVk~zrVl#|Np|_U!M9lc7ek2f$(nh%FO}8D!zJY4+jV)`k@3-7#m1H znUHb@c}CQ61feBhtl)~%jumAO+YBuM0)WD1cMKRtj0i&R1O&(sEd%8c@nU{UNGSjz zSPh(mWDb5d7eK(q@njK2H&g&^Bg~53^qvwfa16VZYygfV#K|$}2!G_sEm1i5<4`e_ zW32a0fLuIwl1=DM7t8v1l0_zX1g-u!o67mhE|w`>`pZJvCnj8k0&GHmegs2*G~_mb zz&U@F!K*T2AAdyfAcXMLM4v!yLSG;7Z^{EF6I=eSBvK*J^>mubWdf%%t~96kBY(z+ ziHlm7N%P}uN>WkKVt-gDD9XbSbPUTSt(9d}lGcl=sOvbgNJd@2O{JwcF<)Tqa^{gLexyfl)>dW^3=yeW)~#H+harc|S$aO8gf-R|cMLhg78 zWE=0zc`XU_E6!hE!xvNLS%AM4J$!T(3WsBH_3Ftk+{kaxdFcK#=E2i<`at~Egg;6v VFk>8(W1av2002ovPDHLkV1f@>Hj)4U delta 636 zcmV-?0)zd)1;GW7EF6J>fq;O3fPjGi|Nnr1fWW}O-{0S$pr9}>!E=#FD1SUjL_t(o zN6lBuV#6Q|BP50V{}+!U47M?kEBM5I>N&FRgP9_#FOn-zDe_QO^*bN9nMTs}n3pWP{yYbaaeK=s?fSf*&PCgp%EhZPJjTHs1ZsI6BI>@ zg62RuSj@rC<^ll7IGW58}o8Cjh1=4V8$|}I11f8ToDu3W7H>)t>uS;mi zSt$371)1^KNiv}~oh@s}gVqe7)gNP1DPPIOJf%y2UP$}Igp1e)Y(js27(#zE_%;B* zIDZwvsxoXJzXb3=f_rMB4Inn5uMhZlISfW7w)~wXk^qqPbeYN`6H$?k;*b0pA0{el zT_&xMvnolMLDR5NP=ADn&Pfg1C9RcZQIhtHDy!=_vPec*z*VI!Ix(Mh2`Fm())-tY z{O%D~JY4wbYU2c`CLkALuzQ?34gspiczV5;vSi)Ly3!PryC!G1MH$6A_q55Pe6-4I zRWWVz8p5zsD?Og>k941qwrJk!4jR=rPHVP0V-c>Y0>i6I6e##)^j+H>V zZ9a_G5{rKM_3LZ+VoEq0;nE4dcAx%}_tRm}*j&A$p3IH(23 - - - - - + android:layout_margin="@dimen/dp_8" /> - - - - - + android:layout_height="match_parent"> - + android:layout_height="match_parent" /> - - - - - - - - - - - - - + android:visibility="invisible"> - - - + - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_route_v2.xml b/app/src/main/res/layout/fragment_route_v2.xml index bade677..3a7d2bb 100644 --- a/app/src/main/res/layout/fragment_route_v2.xml +++ b/app/src/main/res/layout/fragment_route_v2.xml @@ -41,7 +41,6 @@ + android:thumb="@drawable/shape_black_circle_bg" + android:visibility="gone" /> @@ -21,9 +22,18 @@ android:id="@+id/tv_pet_location_update_time" style="@style/my_TextView_style_v2" android:layout_below="@id/tv_pet_location_reverse_geocode" - android:layout_alignParentEnd="true" + android:layout_marginTop="@dimen/dp_2" android:layout_marginBottom="@dimen/dp_12" android:textColor="@color/select_color3" android:textSize="@dimen/textSize12" app:typeface="@string/roboto_regular_font" /> + + \ No newline at end of file