Merge branch 'feature/v1.0.0' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.0
This commit is contained in:
@@ -6,6 +6,7 @@ import com.mogo.map.MogoLatLng;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -52,6 +53,12 @@ public interface IMogoMarkerManager {
|
||||
* @return
|
||||
*/
|
||||
List< IMogoMarker > getMarkers( String tag );
|
||||
/**
|
||||
* 获取所有类型的marker。
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Map< String, List< IMogoMarker > > getAllMarkers( );
|
||||
|
||||
/**
|
||||
* 仅保留指定类型的tag
|
||||
|
||||
@@ -77,6 +77,11 @@ public class MogoMarkersHandler implements IMogoMarkerClickListener, IMogoMarker
|
||||
}
|
||||
|
||||
|
||||
public synchronized Map< String, List< IMogoMarker > > getAllMarkers() {
|
||||
return mServicesMarkers;
|
||||
}
|
||||
|
||||
|
||||
public synchronized void add( String tag, IMogoMarker marker ) {
|
||||
if ( marker == null ) {
|
||||
return;
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.mogo.map.marker.MogoMarkersHandler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -78,6 +79,11 @@ public class MogoMarkerManager implements IMogoMarkerManager {
|
||||
return MogoMarkersHandler.getInstance().getMarkers( tag );
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map< String, List< IMogoMarker > > getAllMarkers() {
|
||||
return MogoMarkersHandler.getInstance().getAllMarkers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMarkersExcept( String tag ) {
|
||||
MogoMarkersHandler.getInstance().deleteAllExcept( tag );
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
|
||||
package com.mogo.module.common.entity;
|
||||
|
||||
/**
|
||||
* 新鲜事儿Marker数据
|
||||
*/
|
||||
public class MarkerNoveltyInfo {
|
||||
|
||||
private ContentData contentData;
|
||||
private MarkerLocation location;
|
||||
private String poiType;
|
||||
private String type;
|
||||
private MarkerLocation location;
|
||||
private MarkerUserInfo userInfo;
|
||||
/**
|
||||
* @see MarkerPoiTypeEnum
|
||||
*/
|
||||
private String poiType;
|
||||
private ContentData contentData;
|
||||
|
||||
|
||||
public ContentData getContentData() {
|
||||
return contentData;
|
||||
@@ -50,7 +56,6 @@ public class MarkerNoveltyInfo {
|
||||
}
|
||||
|
||||
public class ContentData {
|
||||
|
||||
private String content;
|
||||
private String iconUrl;
|
||||
private String imgUrl;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.mogo.module.common.entity;
|
||||
|
||||
/**
|
||||
* author : donghongyu
|
||||
* e-mail : 1358506549@qq.com
|
||||
* date : 2020-01-1514:47
|
||||
* desc : 车机启动状态
|
||||
* version: 1.0
|
||||
*/
|
||||
public interface MarkerPoiTypeEnum {
|
||||
//加油站
|
||||
public String GAS_STATION = "10001";
|
||||
//交通检查
|
||||
public String TRAFFIC_CHECK = "10002";
|
||||
//封路
|
||||
public String ROAD_CLOSED = "10003";
|
||||
//商场打折
|
||||
public String SHOP_DISCOUNT = "10004";
|
||||
//4S店
|
||||
public String FOURS_SHOP = "10005";
|
||||
}
|
||||
@@ -92,9 +92,7 @@ public class MarkerShowEntity {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
MarkerShowEntity that = (MarkerShowEntity) o;
|
||||
return isChecked == that.isChecked &&
|
||||
isHighlighted == that.isHighlighted &&
|
||||
Objects.equals(iconUrl, that.iconUrl) &&
|
||||
return Objects.equals(iconUrl, that.iconUrl) &&
|
||||
Objects.equals(textContent, that.textContent) &&
|
||||
Objects.equals(markerType, that.markerType) &&
|
||||
Objects.equals(bindObj, that.bindObj) &&
|
||||
@@ -103,7 +101,7 @@ public class MarkerShowEntity {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(isChecked, isHighlighted, iconUrl, textContent, markerType, bindObj, markerLocation);
|
||||
return Objects.hash(iconUrl, textContent, markerType, bindObj, markerLocation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,8 +30,8 @@ import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* author : donghongyu
|
||||
@@ -155,7 +155,7 @@ public class MarkerServiceHandler {
|
||||
lastMarkerShowEntity.setChecked(false);
|
||||
lastMarkerShowEntity.setHighlighted(false);
|
||||
|
||||
drawMapMarkerItem(lastMarkerShowEntity);
|
||||
drawMapMarker(lastMarkerShowEntity);
|
||||
|
||||
lastMarker.remove();
|
||||
}
|
||||
@@ -167,38 +167,38 @@ public class MarkerServiceHandler {
|
||||
markerShowEntity.setChecked(true);
|
||||
markerShowEntity.setHighlighted(true);
|
||||
|
||||
lastMarker = drawMapMarkerItem(markerShowEntity);
|
||||
lastMarker = drawMapMarker(markerShowEntity);
|
||||
if (lastMarker != null) {
|
||||
lastMarker.setAlpha(1f);
|
||||
}
|
||||
|
||||
marker.remove();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 记录所有的Marker
|
||||
private static List<MarkerShowEntity> markerShowEntities;
|
||||
|
||||
// 对指定类型高亮处理
|
||||
public static void highlightedMarker(String typeTag) {
|
||||
if (markerShowEntities != null) {
|
||||
if (lastMarker != null) {
|
||||
// 将上次选中 Marker 设置为未选中状态
|
||||
MarkerShowEntity lastMarkerShowEntity = (MarkerShowEntity) lastMarker.getObject();
|
||||
lastMarkerShowEntity.setChecked(false);
|
||||
lastMarkerShowEntity.setHighlighted(false);
|
||||
drawMapMarkerItem(lastMarkerShowEntity);
|
||||
}
|
||||
lastMarker = null;
|
||||
getMarkerManager().removeMarkers();
|
||||
try {
|
||||
Map<String, List<IMogoMarker>> allMarker = getMarkerManager().getAllMarkers();
|
||||
for (Map.Entry<String, List<IMogoMarker>> entry : allMarker.entrySet()) {
|
||||
String keyStr = entry.getKey();
|
||||
List<IMogoMarker> markerList = entry.getValue();
|
||||
|
||||
for (MarkerShowEntity markerShowEntity : markerShowEntities) {
|
||||
if (markerShowEntity.getMarkerType().equals(typeTag)) {
|
||||
markerShowEntity.setHighlighted(true);
|
||||
if (keyStr.equals(typeTag)) {
|
||||
for (IMogoMarker marker : markerList) {
|
||||
marker.setAlpha(1f);
|
||||
}
|
||||
} else {
|
||||
markerShowEntity.setHighlighted(false);
|
||||
for (IMogoMarker marker : markerList) {
|
||||
marker.setAlpha(0.7f);
|
||||
}
|
||||
}
|
||||
drawMapMarkerItem(markerShowEntity);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,11 +207,6 @@ public class MarkerServiceHandler {
|
||||
public static void drawMapMarker(MarkerResponse response) {
|
||||
lastMarker = null;
|
||||
getMarkerManager().removeMarkers();
|
||||
if (markerShowEntities == null) {
|
||||
markerShowEntities = new ArrayList<>();
|
||||
} else {
|
||||
markerShowEntities.clear();
|
||||
}
|
||||
|
||||
// 解析不同的Marker类型,然后对应的进行绘制
|
||||
if (response != null && response.getResult() != null) {
|
||||
@@ -299,7 +294,7 @@ public class MarkerServiceHandler {
|
||||
}
|
||||
|
||||
}
|
||||
// getMapUIController().changeZoom(8);
|
||||
getMapUIController().changeZoom(12);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -316,15 +311,11 @@ public class MarkerServiceHandler {
|
||||
.latitude(markerShowEntity.getMarkerLocation().getLat())
|
||||
.longitude(markerShowEntity.getMarkerLocation().getLon());
|
||||
options.icon(markerView);
|
||||
options.alpha(0.8f);
|
||||
|
||||
IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options);
|
||||
marker.setOnMarkerClickListener(mogoMarkerClickListener);
|
||||
marker.setObject(markerShowEntity);
|
||||
|
||||
if (markerShowEntities != null) {
|
||||
markerShowEntities.add(markerShowEntity);
|
||||
}
|
||||
marker.setAlpha(0.7f);
|
||||
return marker;
|
||||
} else {
|
||||
Logger.e(TAG, "Location 必须进行初始化!!!!!");
|
||||
@@ -335,37 +326,4 @@ public class MarkerServiceHandler {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绘制Marker,这里绘制的不会添加到队列中
|
||||
*/
|
||||
public static IMogoMarker drawMapMarkerItem(MarkerShowEntity markerShowEntity) {
|
||||
Logger.e(TAG, "绘制Marker====drawMapMarkerItem:" + markerShowEntity);
|
||||
try {
|
||||
if (markerShowEntity.getMarkerLocation() != null) {
|
||||
View markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity);
|
||||
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.owner(markerShowEntity.getMarkerType())
|
||||
.latitude(markerShowEntity.getMarkerLocation().getLat())
|
||||
.longitude(markerShowEntity.getMarkerLocation().getLon());
|
||||
options.icon(markerView);
|
||||
if (markerShowEntity.isHighlighted()) {
|
||||
options.alpha(1f);
|
||||
} else {
|
||||
options.alpha(0.8f);
|
||||
}
|
||||
|
||||
IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options);
|
||||
marker.setOnMarkerClickListener(mogoMarkerClickListener);
|
||||
marker.setObject(markerShowEntity);
|
||||
|
||||
return marker;
|
||||
} else {
|
||||
Logger.e(TAG, "Location 必须进行初始化!!!!!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,9 @@ import android.widget.TextView;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.mogo.module.common.entity.MarkerNoveltyInfo;
|
||||
import com.mogo.module.common.entity.MarkerOnlineCar;
|
||||
import com.mogo.module.common.entity.MarkerPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.MarkerShareMusic;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.service.R;
|
||||
@@ -68,6 +70,9 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
case ServiceConst.CARD_TYPE_USER_DATA:
|
||||
ivUserHead.setVisibility(View.VISIBLE);
|
||||
ivIcon.setVisibility(View.INVISIBLE);
|
||||
loadImageWithMarker(markerShowEntity);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_car_blue);
|
||||
ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
|
||||
|
||||
if (bindObj instanceof MarkerOnlineCar) {
|
||||
if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) {
|
||||
@@ -78,15 +83,13 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_purple);
|
||||
}
|
||||
}
|
||||
loadImageWithMarker(markerShowEntity);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_car_blue);
|
||||
ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
|
||||
|
||||
break;
|
||||
case ServiceConst.CARD_TYPE_ROAD_CONDITION:
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
ivIcon.setVisibility(View.VISIBLE);
|
||||
|
||||
ivUserHead.setImageResource(R.drawable.icon_map_marker_road_block_up);
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_block_up);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
@@ -94,16 +97,47 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
case ServiceConst.CARD_TYPE_NOVELTY:
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
ivIcon.setVisibility(View.VISIBLE);
|
||||
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_green_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_green);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
|
||||
if (bindObj instanceof MarkerNoveltyInfo) {
|
||||
switch (((MarkerNoveltyInfo) bindObj).getPoiType()) {
|
||||
case MarkerPoiTypeEnum.GAS_STATION:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_refuel);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_orange_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_orange);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_green_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_green);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.ROAD_CLOSED:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_block_off);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_blue_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_dark_blue);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.SHOP_DISCOUNT:
|
||||
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_SHOP:
|
||||
|
||||
break;
|
||||
default:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_green_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_green);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ServiceConst.CARD_TYPE_SHARE_MUSIC:
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
ivIcon.setVisibility(View.VISIBLE);
|
||||
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_purple_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_purple);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
|
||||
if (bindObj instanceof MarkerShareMusic) {
|
||||
// 2 为书籍听书,3 为新闻,1 为qq音乐,int
|
||||
switch (((MarkerShareMusic) bindObj).getShareType()) {
|
||||
@@ -119,13 +153,16 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
|
||||
}
|
||||
}
|
||||
|
||||
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_purple_info);
|
||||
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_purple);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
break;
|
||||
}
|
||||
if (!TextUtils.isEmpty(markerShowEntity.getTextContent())) {
|
||||
tvMarkerContent.setText(markerShowEntity.getTextContent());
|
||||
String content;
|
||||
if (markerShowEntity.getTextContent().length() > 8) {
|
||||
content = markerShowEntity.getTextContent().substring(0, 7) + "...";
|
||||
} else {
|
||||
content = markerShowEntity.getTextContent();
|
||||
}
|
||||
tvMarkerContent.setText(content);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -8,7 +8,9 @@ import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.module.common.entity.MarkerNoveltyInfo;
|
||||
import com.mogo.module.common.entity.MarkerOnlineCar;
|
||||
import com.mogo.module.common.entity.MarkerPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.MarkerShareMusic;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.service.R;
|
||||
@@ -59,6 +61,9 @@ public class MapMarkerView extends MapMarkerBaseView {
|
||||
case ServiceConst.CARD_TYPE_USER_DATA:
|
||||
ivUserHead.setVisibility(View.VISIBLE);
|
||||
ivIcon.setVisibility(View.INVISIBLE);
|
||||
loadImageWithMarker(markerShowEntity);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_car_blue);
|
||||
ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
|
||||
|
||||
if (bindObj instanceof MarkerOnlineCar) {
|
||||
if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) {
|
||||
@@ -67,9 +72,6 @@ public class MapMarkerView extends MapMarkerBaseView {
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_purple);
|
||||
}
|
||||
}
|
||||
loadImageWithMarker(markerShowEntity);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_car_blue);
|
||||
ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
|
||||
break;
|
||||
case ServiceConst.CARD_TYPE_ROAD_CONDITION:
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
@@ -83,13 +85,41 @@ public class MapMarkerView extends MapMarkerBaseView {
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
ivIcon.setVisibility(View.VISIBLE);
|
||||
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_green);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
|
||||
if (bindObj instanceof MarkerNoveltyInfo) {
|
||||
switch (((MarkerNoveltyInfo) bindObj).getPoiType()) {
|
||||
case MarkerPoiTypeEnum.GAS_STATION:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_refuel);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_oragne);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_green);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.ROAD_CLOSED:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_block_off);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_dark_blue);
|
||||
break;
|
||||
case MarkerPoiTypeEnum.SHOP_DISCOUNT:
|
||||
|
||||
break;
|
||||
case MarkerPoiTypeEnum.FOURS_SHOP:
|
||||
|
||||
break;
|
||||
default:
|
||||
ivIcon.setImageResource(R.drawable.icon_map_marker_road_check);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_green);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ServiceConst.CARD_TYPE_SHARE_MUSIC:
|
||||
ivUserHead.setVisibility(View.INVISIBLE);
|
||||
ivIcon.setVisibility(View.VISIBLE);
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_purple);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
|
||||
if (bindObj instanceof MarkerShareMusic) {
|
||||
// 2 为书籍听书,3 为新闻,1 为qq音乐,int
|
||||
@@ -105,9 +135,6 @@ public class MapMarkerView extends MapMarkerBaseView {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ivBg.setImageResource(R.drawable.bg_map_marker_purple);
|
||||
ivCar.setImageResource(R.drawable.icon_map_marker_location_blue);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -47,11 +47,11 @@
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_14"
|
||||
android:src="@drawable/icon_map_marker_road_block_up"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_map_marker_road_block_up"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</merge >
|
||||
@@ -44,11 +44,11 @@
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="@dimen/dp_14"
|
||||
android:src="@drawable/icon_map_marker_road_block_up"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_map_marker_road_block_up"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
@@ -58,7 +58,6 @@
|
||||
android:layout_marginLeft="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLength="8"
|
||||
android:singleLine="true"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="@dimen/sp_32"
|
||||
@@ -66,7 +65,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivUserHead"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivUserHead"
|
||||
tools:text="诗一样的女子诗诗一样的女子诗诗一样的女子诗" />
|
||||
tools:text="诗一样的女子" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout >
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -11,4 +11,8 @@ public class TanluConstants {
|
||||
public static final String TAG = "/tanlu/ui";
|
||||
public static final String NAVI_INFO = "navi_info";
|
||||
public static final String MODEL_NAME = "CARD_TYPE_ROAD_CONDITION";
|
||||
|
||||
|
||||
public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition";
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
@@ -15,10 +16,21 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.amap.api.services.core.LatLonPoint;
|
||||
import com.amap.api.services.core.PoiItem;
|
||||
import com.amap.api.services.geocoder.GeocodeAddress;
|
||||
import com.amap.api.services.geocoder.GeocodeQuery;
|
||||
import com.amap.api.services.geocoder.GeocodeResult;
|
||||
import com.amap.api.services.geocoder.GeocodeSearch;
|
||||
import com.amap.api.services.geocoder.RegeocodeResult;
|
||||
import com.amap.api.services.poisearch.PoiResult;
|
||||
import com.amap.api.services.poisearch.PoiSearch;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
@@ -35,9 +47,11 @@ import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.entity.MarkerExploreWay;
|
||||
import com.mogo.module.common.entity.MarkerResponse;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.service.receiver.MogoReceiver;
|
||||
import com.mogo.module.tanlu.R;
|
||||
import com.mogo.module.tanlu.callback.AlongTheWayCallback;
|
||||
import com.mogo.module.tanlu.callback.RoadLineCallback;
|
||||
import com.mogo.module.tanlu.callback.VoiceSearchCallback;
|
||||
@@ -48,23 +62,22 @@ import com.mogo.module.tanlu.model.InformationAndLiveCarResult;
|
||||
import com.mogo.module.tanlu.model.PathLineResult;
|
||||
import com.mogo.module.tanlu.model.TanluModelData;
|
||||
import com.mogo.module.tanlu.model.VoiceSearchResult;
|
||||
import com.mogo.module.tanlu.util.Utils;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.cardmanager.IMogoCardManager;
|
||||
import com.mogo.service.connection.IMogoOnMessageListener;
|
||||
import com.mogo.service.connection.IMogoSocketManager;
|
||||
import com.mogo.service.imageloader.IMogoImageLoaderListener;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.module.tanlu.R;
|
||||
import com.mogo.module.tanlu.model.event.MarkerInfo;
|
||||
import com.mogo.module.tanlu.util.Utils;
|
||||
import com.mogo.module.tanlu.video.FullMediaActivity;
|
||||
import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer;
|
||||
import com.mogo.module.tanlu.view.AutoZoomInImageView;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.cardmanager.IMogoCardManager;
|
||||
import com.mogo.service.connection.IMogoSocketManager;
|
||||
import com.mogo.service.imageloader.IMogoImageLoaderListener;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.intent.IMogoIntentListener;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
import com.mogo.service.voice.IMogoVoiceListener;
|
||||
import com.mogo.service.voice.IMogoVoiceManager;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
|
||||
@@ -105,7 +118,10 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
private IMogoSocketManager mMogoSocketManager;
|
||||
private IMogoLocationClient mLocationClient;
|
||||
private IMogoCardManager iMogoCardManager;
|
||||
private IMogoVoiceManager mMogoVoiceManager;
|
||||
private IMogoStatusManager mMogoStatusManager;
|
||||
private IMogoIntentManager mogoIntentManager; //免唤醒
|
||||
private IMogoMapUIController mMApUIController;
|
||||
private GeocodeSearch mGeocodeSearch;
|
||||
|
||||
//声音控制文字
|
||||
private String voiceGetInfoMationTts;
|
||||
@@ -131,9 +147,11 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
private List<MarkerExploreWay> markerExploreWayList = new ArrayList<>();
|
||||
private int currentPosition = 0; //卡片媒体当前位置
|
||||
private Bitmap mMarkerIcon;
|
||||
private Bitmap multiMarkerIcon;
|
||||
private TanluModelData mTanluModelData;
|
||||
private List<MogoLatLng> passedByPoints;
|
||||
private IMogoRegisterCenter mMogoRegisterCenter;
|
||||
private String mKeywords;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -180,18 +198,96 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
mogoImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation();
|
||||
//地图marker
|
||||
mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getActivity());
|
||||
mMarkerManager = mMogoMapService.getMarkerManager(getContext());
|
||||
|
||||
//切换卡片操作
|
||||
iMogoCardManager = (IMogoCardManager) ARouter.getInstance().build(MogoServicePaths.PATH_CARD_MANAGER).navigation(getActivity());
|
||||
|
||||
mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(getContext());
|
||||
|
||||
|
||||
mMogoRegisterCenter.registerMogoModuleLifecycle(TanluConstants.MODEL_NAME, this);
|
||||
mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(getContext());
|
||||
//语音操作
|
||||
mMogoVoiceManager = (IMogoVoiceManager) ARouter.getInstance().build(MogoServicePaths.PATH_VOICE_MANAGER).navigation(getContext());
|
||||
}
|
||||
//唤醒
|
||||
mogoIntentManager = (IMogoIntentManager) ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation(getContext());
|
||||
|
||||
//地图操作
|
||||
mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getContext());
|
||||
mMApUIController = mMogoMapService.getMapUIController();
|
||||
mGeocodeSearch = new GeocodeSearch(getContext());
|
||||
|
||||
mMogoStatusManager = (IMogoStatusManager) ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_MANAGER).navigation(getContext());
|
||||
|
||||
//poi查询
|
||||
mGeocodeSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {
|
||||
@Override
|
||||
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {
|
||||
Logger.d(TAG, "onRegeocodeSearched -----> ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGeocodeSearched(GeocodeResult p0, int p1) {
|
||||
Logger.d(TAG, "onGeocodeSearched ------mKeywords =" + mKeywords + ">>p1 =" + p1);
|
||||
if (p1 == 1000) {
|
||||
if (p0.getGeocodeAddressList() != null && p0.getGeocodeAddressList().size() != 0) {
|
||||
GeocodeAddress geocodeAddress = p0.getGeocodeAddressList().get(0);
|
||||
LatLonPoint latLon = geocodeAddress.getLatLonPoint();
|
||||
Double longit; //经度
|
||||
Double lat; //维度
|
||||
if (mKeywords.equals("附近")) {
|
||||
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
|
||||
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
|
||||
} else {
|
||||
longit = latLon.getLongitude();
|
||||
lat = latLon.getLatitude();
|
||||
}
|
||||
Log.d(TAG, "geoSearch keywords = $keywords --cityCode = $cityCode " +
|
||||
"--longitude= longit --latitude = $lat");
|
||||
getVoiceControlRoadData(mKeywords, lat, longit);
|
||||
} else {
|
||||
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
|
||||
PoiSearch.Query query = new PoiSearch.Query(mKeywords, "", cityCode);
|
||||
PoiSearch poiSearch = new PoiSearch(getContext(), query);
|
||||
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
|
||||
@Override
|
||||
public void onPoiSearched(PoiResult p0, int p1) {
|
||||
Logger.d(TAG, "setOnPoiSearchListener ------mKeywords =" + mKeywords + ">>p1 =" + p1);
|
||||
if (p1 == 1000) {
|
||||
if (p0.getPois() != null && p0.getPois().size() != 0) {
|
||||
PoiItem poi = p0.getPois().get(0);
|
||||
LatLonPoint latLon = poi.getLatLonPoint();
|
||||
|
||||
Double longit; //经度
|
||||
Double lat; //维度
|
||||
if (mKeywords.equals("附近")) {
|
||||
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
|
||||
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
|
||||
} else {
|
||||
longit = latLon.getLongitude();
|
||||
lat = latLon.getLatitude();
|
||||
}
|
||||
getVoiceControlRoadData(mKeywords, lat, longit);
|
||||
Logger.d(TAG, "poi search keywords = $keywords --cityCode = $cityCode " +
|
||||
"--longitude= $long --latitude = $lat");
|
||||
} else {
|
||||
Logger.e(TAG, "poi == null");
|
||||
}
|
||||
} else {
|
||||
Logger.e(TAG, "poi search result code = $p1");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPoiItemSearched(PoiItem poiItem, int i) {
|
||||
|
||||
}
|
||||
});
|
||||
poiSearch.searchPOIAsyn();
|
||||
}
|
||||
} else {
|
||||
speakFailVoice(searchfaileVoiceStrings[2]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
@@ -236,9 +332,9 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi() {
|
||||
// initModelData();
|
||||
// getNavigationLineData();
|
||||
public void onStartNavi() { //开始导航
|
||||
initModelData();
|
||||
getNavigationLineData();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -287,20 +383,85 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理关键词搜索
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private void handleActionFoo(String keywords) {
|
||||
Logger.d(TAG, "handleActionFoo keywords = " + keywords);
|
||||
speakSearchingVoice();
|
||||
GeocodeQuery geocodeQuery;
|
||||
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
|
||||
|
||||
geocodeQuery = new GeocodeQuery(keywords, cityCode);
|
||||
geocodeQuery.setLocationName(keywords);
|
||||
mGeocodeSearch.getFromLocationNameAsyn(geocodeQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册listener监听
|
||||
*/
|
||||
private void initListener() {
|
||||
//某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况
|
||||
//上报路况,上报拥堵
|
||||
mMogoVoiceManager.registerIntentListener("", new IMogoVoiceListener() {
|
||||
@Override
|
||||
public void onIntentReceived(String command, Intent intent) {
|
||||
|
||||
}
|
||||
});
|
||||
//某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO
|
||||
//唤醒
|
||||
mogoIntentManager.registerIntentListener(MogoReceiver.ADAS_ACTION, mogoIntentListener);
|
||||
//免唤醒
|
||||
AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* 唤醒语音
|
||||
*/
|
||||
private IMogoIntentListener mogoIntentListener = new IMogoIntentListener() {
|
||||
@Override
|
||||
public void onIntentReceived(String intentStr, Intent intent) {
|
||||
String data = intent.getStringExtra("data");
|
||||
Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data);
|
||||
|
||||
JsonObject jsonObject = new JsonObject();
|
||||
mKeywords = jsonObject.get("location").toString();
|
||||
handleActionFoo(mKeywords);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 免唤醒语音监听
|
||||
*/
|
||||
private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() {
|
||||
@Override
|
||||
public void onCmdSelected(String cmd) {
|
||||
Logger.e(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd);
|
||||
if (cmd.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) {
|
||||
//
|
||||
Logger.d(TAG, "");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCmdAction(String speakText) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCmdCancel(String speakText) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpeakEnd(String speakText) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpeakSelectTimeOut(String speakText) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private MarkerExploreWay extractFromMarker(IMogoMarker marker) {
|
||||
if (marker == null) {
|
||||
return null;
|
||||
@@ -333,7 +494,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
// });
|
||||
|
||||
|
||||
//TODO 更加广播类型判断
|
||||
//TODO 广播类型判断
|
||||
// getNavigationLineData();
|
||||
// getRoadLineData();
|
||||
|
||||
@@ -514,7 +675,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
*/
|
||||
@Override
|
||||
public void onPerform() {
|
||||
Logger.d(TAG, "tanlu卡片 有效 ---->");
|
||||
Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->");
|
||||
mMarkerManager = mMogoMapService.getMarkerManager(getActivity());
|
||||
List<IMogoMarker> markers = mMarkerManager.getMarkers(TanluConstants.MODEL_NAME);
|
||||
if (markers != null && markers.size() > 0) {
|
||||
@@ -658,9 +819,10 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
.owner(TanluConstants.MODEL_NAME)
|
||||
.longitude(event.lon);
|
||||
|
||||
mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getContext());
|
||||
mMarkerManager = mMogoMapService.getMarkerManager(getContext());
|
||||
IMogoMarker marker = mMarkerManager.addMarker(TanluConstants.MODEL_NAME, options);
|
||||
|
||||
//TODO 请求分享接口
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -759,11 +921,9 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
/**
|
||||
* 声音控制道路数据
|
||||
*/
|
||||
public void getVoiceControlRoadData(String keywords) {
|
||||
Double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
|
||||
Double lon = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
|
||||
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
|
||||
public void getVoiceControlRoadData(String keywords, final double lat, final double lon) {
|
||||
String adCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getAdCode();
|
||||
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
|
||||
Logger.d(TAG, "getVoiceControlRoadData lat =" + lat + ">>>lon =" + lon + ">>>cityCode=" + cityCode + ">>>adCode =" + adCode);
|
||||
mTanluModelData.getVoiceControlRoadData(keywords, cityCode, lon, lat, adCode, new VoiceSearchCallback() {
|
||||
@Override
|
||||
@@ -772,6 +932,41 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
Logger.d(TAG, "getVoiceControlRoadData discription = " + discription);
|
||||
if (o.getInformations() != null && o.getInformations().size() > 0) {
|
||||
speakSuccessVoice(o.getInformations(), discription == null ? "" : discription);
|
||||
|
||||
List<Information> informationList = o.getInformations();
|
||||
|
||||
//移动
|
||||
MogoLatLng latLng = new MogoLatLng(lat, lon);
|
||||
mMApUIController.moveToCenter(latLng);
|
||||
|
||||
//清除探路之前的数据
|
||||
mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME);
|
||||
mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false);
|
||||
|
||||
//打点 TODO
|
||||
ArrayList<MogoMarkerOptions> optionList = new ArrayList<>();
|
||||
for (int i = 0; i < informationList.size(); i++) {
|
||||
//根据type确定添加的图片
|
||||
if (informationList.get(i).type == 0) { //图片
|
||||
multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_poi_location);
|
||||
} else if (informationList.get(i).type == 1) { //视频
|
||||
|
||||
}
|
||||
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.icon(multiMarkerIcon)
|
||||
.latitude(informationList.get(i).lat)
|
||||
.owner(TanluConstants.MODEL_NAME)
|
||||
.longitude(informationList.get(i).lon);
|
||||
|
||||
optionList.add(options);
|
||||
}
|
||||
|
||||
|
||||
mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true);
|
||||
//直接使用当前数据list,作为切换的数据源
|
||||
|
||||
|
||||
} else {
|
||||
if (!TextUtils.isEmpty(discription)) {
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice(discription, null);
|
||||
@@ -780,11 +975,6 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
}
|
||||
}
|
||||
|
||||
//TODO 展示数据
|
||||
//清除探路之前的数据
|
||||
|
||||
//直接使用当前数据list,作为切换的数据源
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -797,7 +987,8 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
|
||||
Random random = new Random();
|
||||
|
||||
private void speakSuccessVoice(List<Information> informations, String trafficStatus) {
|
||||
private void speakSuccessVoice(List<Information> informations, String
|
||||
trafficStatus) {
|
||||
switch (informations.size()) {
|
||||
case 0:
|
||||
Logger.d(TAG, "speakSuccessVoice ----> " + random.nextInt(3));
|
||||
@@ -850,6 +1041,10 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice(string, null);
|
||||
}
|
||||
|
||||
private void speakSearchingVoice() {
|
||||
AIAssist.getInstance(getContext()).speakTTSVoice(searchingVoiceStrings[random.nextInt(3)], null);
|
||||
}
|
||||
|
||||
//上报语音搜索
|
||||
private void trackVoiceSearch(int type) {
|
||||
|
||||
|
||||
@@ -13,16 +13,16 @@ import java.util.ArrayList;
|
||||
* @since 2020-01-05
|
||||
*/
|
||||
public class Information extends BaseData implements Parcelable {
|
||||
private int type;
|
||||
private Double lon;
|
||||
private Double lat;
|
||||
private String addr;
|
||||
private Long generateTime;
|
||||
private String cityName;
|
||||
private ArrayList<Items> items;
|
||||
private int distance;
|
||||
private String nickName;
|
||||
private String headImgUrl;
|
||||
public int type;
|
||||
public Double lon;
|
||||
public Double lat;
|
||||
public String addr;
|
||||
public Long generateTime;
|
||||
public String cityName;
|
||||
public ArrayList<Items> items;
|
||||
public int distance;
|
||||
public String nickName;
|
||||
public String headImgUrl;
|
||||
|
||||
|
||||
@Override
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Reference in New Issue
Block a user