Merge branch 'feature/v1.0.1' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.1

This commit is contained in:
wangcongtao
2020-02-28 16:43:13 +08:00
6 changed files with 30 additions and 28 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -104,6 +104,6 @@
<FrameLayout
android:id="@+id/module_main_id_cover_up"
android:layout_width="match_parent"
android:background="@color/color_1C1C1C"
android:background="@drawable/module_main_launcher_bg"
android:layout_height="match_parent"/>
</FrameLayout>

View File

@@ -7,7 +7,7 @@
<item name="android:windowEnterAnimation">@null</item>
<item name="android:windowExitAnimation">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@color/module_main_window_background_color</item>
<item name="android:windowBackground">@drawable/module_main_launcher_bg</item>
<item name="android:windowTranslucentNavigation">false</item>
<item name="android:windowAnimationStyle">@style/MainAnimation</item>
<item name="checkboxStyle">@style/noCheckboxStyle</item>

View File

@@ -58,14 +58,15 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
private boolean isCheckOnLineData = false;
private static Context mContext;
private static IMogoMarker lastMarker;
// 最后一次选中的气泡
private static IMogoMarker mLastCHeckMarker;
private static MapMarkerManager mMarkerManager;
private static String mLastHighLightModule = "";
// 记录其它已经缩小的Marker
public static ArrayList<String> alreadySmallMarker = new ArrayList<>();
// 距离用户最近的Marker
private IMogoMarker nearlyMogoMarker = null;
private IMogoMarker mNearlyMogoMarker = null;
private MapMarkerManager() {
}
@@ -122,14 +123,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
Logger.d(TAG, "onMarkerClicked 点击了大而全中的Marker" + marker);
try {
if (lastMarker != null) {
if (mLastCHeckMarker != null) {
// 判断点击的是否是同一个
if (marker.equals(lastMarker)) {
if (marker.equals(mLastCHeckMarker)) {
Logger.d(TAG, "onMarkerClicked 与上一次点击的Marker一样不做处理" + marker);
return false;
}
// 将上次选中 Marker 设置为未选中状态
closeMarker(lastMarker);
closeMarker(mLastCHeckMarker);
}
// 将当前的Marker设置为选中
@@ -137,7 +138,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
// 数据统计代码
final Map<String, Object> properties = new HashMap<>();
switch (lastMarker.getOwner()) {
switch (mLastCHeckMarker.getOwner()) {
case ServiceConst.CARD_TYPE_CARS_CHATTING:
properties.put("type", 3);
break;
@@ -148,7 +149,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
properties.put("type", 2);
break;
case ServiceConst.CARD_TYPE_NOVELTY:
MarkerShowEntity showEntity = (MarkerShowEntity) lastMarker.getObject();
MarkerShowEntity showEntity = (MarkerShowEntity) mLastCHeckMarker.getObject();
Object bindObj = showEntity.getBindObj();
if (bindObj instanceof MarkerNoveltyInfo) {
switch (((MarkerNoveltyInfo) bindObj).getPoiType()) {
@@ -235,7 +236,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
if (mogoMarker == null || mogoMarker.isDestroyed()) {
continue;
}
mogoMarker.setToTop();
try {
mogoMarker.startScaleAnimation(0.6f, 1f, 0.6f, 1f, 1000, new BounceInterpolator());
} catch (Exception e) {
@@ -274,14 +274,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
if (marker != null) {
Logger.i(TAG, "closeMarkerSelect 将出Marker详情关闭" + marker);
closeMarker(marker);
lastMarker = null;
mLastCHeckMarker = null;
}
}
// 展开气泡
private void openMarker(IMogoMarker mogoMarker) {
if (mogoMarker != null) {
lastMarker = mogoMarker;
mLastCHeckMarker = mogoMarker;
Object object = mogoMarker.getObject();
if (object != null) {
MarkerShowEntity markerShowEntity = (MarkerShowEntity) object;
@@ -308,7 +308,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
// 绘制Marker
public synchronized void drawMapMarker(MarkerResponse response) {
lastMarker = null;
mLastCHeckMarker = null;
JSONArray array = new JSONArray();
@@ -368,7 +368,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
// 进行比较,保留最近的一个数据
if (calculateDistance < nearlyDistance) {
nearlyDistance = calculateDistance;
nearlyMogoMarker = iMogoMarker;
mNearlyMogoMarker = iMogoMarker;
}
} catch (Exception e) {
@@ -465,25 +465,25 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
try {
// 在ACC on 之后第一次获取到了在线车辆数据选中最近的一个Marker
if (isCheckOnLineData) {
if (nearlyMogoMarker != null) {
Logger.d(TAG, "语音搜索触发,默认选中最近的在线车辆:" + nearlyMogoMarker);
if (mNearlyMogoMarker != null) {
Logger.d(TAG, "语音搜索触发,默认选中最近的在线车辆:" + mNearlyMogoMarker);
// 移动地图到指定位置
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(ServiceConst.TYPE, true, false);
MarkerServiceHandler.getMapUIController().moveToCenter(nearlyMogoMarker.getPosition());
MarkerServiceHandler.getMapUIController().moveToCenter(mNearlyMogoMarker.getPosition());
onMarkerClicked(nearlyMogoMarker);
MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker);
onMarkerClicked(mNearlyMogoMarker);
MogoMarkersHandler.getInstance().onMarkerClicked(mNearlyMogoMarker);
isCheckOnLineData = false;
}
}
if (isACC_ON && isSynchronousOnLineData) {
isSynchronousOnLineData = false;
if (nearlyMogoMarker != null) {
Logger.d(TAG, "ACC ON 触发,将附近的在线车辆数据同步给卡片:" + nearlyMogoMarker);
openMarker(nearlyMogoMarker);
if (mNearlyMogoMarker != null) {
Logger.d(TAG, "ACC ON 触发,将附近的在线车辆数据同步给卡片:" + mNearlyMogoMarker);
openMarker(mNearlyMogoMarker);
// 将数据同步给在线用户卡片
MogoDataHandler.getInstance().invoke(ServiceConst.CARD_TYPE_USER_DATA, nearlyMogoMarker);
MogoDataHandler.getInstance().invoke(ServiceConst.CARD_TYPE_USER_DATA, mNearlyMogoMarker);
}
}
} catch (Exception e) {
@@ -535,9 +535,9 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
*/
public synchronized IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity) {
if (!TextUtils.isEmpty(mLastHighLightModule)
&& lastMarker != null
&& !TextUtils.isEmpty(lastMarker.getOwner())
&& TextUtils.equals(mLastHighLightModule, lastMarker.getOwner())
&& mLastCHeckMarker != null
&& !TextUtils.isEmpty(mLastCHeckMarker.getOwner())
&& TextUtils.equals(mLastHighLightModule, mLastCHeckMarker.getOwner())
) {
return drawMapMarker(markerShowEntity, true);
} else {

View File

@@ -14,7 +14,7 @@ public class ShareControl implements IShareControl {
private static volatile ShareControl sInstance;
private Context mContext;
LaucherShareDialog mShareDialog;
private LaucherShareDialog mShareDialog;
private ShareControl(Context context) {
mContext = context;
@@ -41,7 +41,9 @@ public class ShareControl implements IShareControl {
@Override
public void dismissDialog() {
mShareDialog.dismiss();
if (mShareDialog != null) {
mShareDialog.dismiss();
}
}
}