[dev_arch_opt_3.0]
[Change] [ 1、关闭一些狂刷的日志 2、增加EB5获取SN的方法,但系统有限制,需要先adb root ;setenforce 0 ,需要等系统厂商修改下 ] Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
@@ -158,6 +158,12 @@ android {
|
|||||||
storePassword 'ZDauto123456'
|
storePassword 'ZDauto123456'
|
||||||
keyPassword 'ZDauto123456'
|
keyPassword 'ZDauto123456'
|
||||||
}
|
}
|
||||||
|
releaseEB5 {
|
||||||
|
keyAlias = 'android_platform'
|
||||||
|
storeFile file('../keystore/EB5/car_launcher.jks')
|
||||||
|
storePassword 'ZDauto123456'
|
||||||
|
keyPassword 'ZDauto123456'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
debug {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class V2XAlarmServer {
|
|||||||
CopyOnWriteArrayList<V2XRoadEventEntity> v2XRoadEventEntityList,
|
CopyOnWriteArrayList<V2XRoadEventEntity> v2XRoadEventEntityList,
|
||||||
MogoLocation currentLocation) {
|
MogoLocation currentLocation) {
|
||||||
try {
|
try {
|
||||||
Logger.d(TAG, "getDriveFrontAlarmEvent --- 1 ---" + currentLocation );
|
//Logger.d(TAG, "getDriveFrontAlarmEvent --- 1 ---" + currentLocation );
|
||||||
if (!showedEvents.isEmpty()) {
|
if (!showedEvents.isEmpty()) {
|
||||||
Iterator<V2XRoadEventEntity> iterator = showedEvents.iterator();
|
Iterator<V2XRoadEventEntity> iterator = showedEvents.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -54,18 +54,18 @@ public class V2XAlarmServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Logger.d(TAG, "getDriveFrontAlarmEvent --- 2 ---" + currentLocation);
|
//Logger.d(TAG, "getDriveFrontAlarmEvent --- 2 ---" + currentLocation);
|
||||||
if (currentLocation != null && v2XRoadEventEntityList != null) {
|
if (currentLocation != null && v2XRoadEventEntityList != null) {
|
||||||
// 因为集合是按照距离排序后的所以这里检索出来第一个就发出警告
|
// 因为集合是按照距离排序后的所以这里检索出来第一个就发出警告
|
||||||
for (V2XRoadEventEntity v2XRoadEventEntity : v2XRoadEventEntityList) {
|
for (V2XRoadEventEntity v2XRoadEventEntity : v2XRoadEventEntityList) {
|
||||||
// 0、道路事件必须有朝向,角度>=0;
|
// 0、道路事件必须有朝向,角度>=0;
|
||||||
Logger.d(TAG, "entity:" + v2XRoadEventEntity.getLocation());
|
//Logger.d(TAG, "entity:" + v2XRoadEventEntity.getLocation());
|
||||||
if (v2XRoadEventEntity.getLocation().getAngle() >= 0) {
|
if (v2XRoadEventEntity.getLocation().getAngle() >= 0) {
|
||||||
// 计算车辆距离指定气泡的距离
|
// 计算车辆距离指定气泡的距离
|
||||||
MarkerLocation eventLocation = v2XRoadEventEntity.getLocation();
|
MarkerLocation eventLocation = v2XRoadEventEntity.getLocation();
|
||||||
// 1、判断是否到达了触发距离,20 ~ 500,
|
// 1、判断是否到达了触发距离,20 ~ 500,
|
||||||
double distance = v2XRoadEventEntity.getDistance();
|
double distance = v2XRoadEventEntity.getDistance();
|
||||||
Logger.d(TAG, "distance:" + distance);
|
//Logger.d(TAG, "distance:" + distance);
|
||||||
if (distance <= 500) {
|
if (distance <= 500) {
|
||||||
if (EventTypeEnumNew.GHOST_PROBE.getPoiType().equals(v2XRoadEventEntity.getPoiType())) {
|
if (EventTypeEnumNew.GHOST_PROBE.getPoiType().equals(v2XRoadEventEntity.getPoiType())) {
|
||||||
if (distance > 25) {
|
if (distance > 25) {
|
||||||
@@ -76,7 +76,7 @@ public class V2XAlarmServer {
|
|||||||
double carBearing = currentLocation.getHeading();
|
double carBearing = currentLocation.getHeading();
|
||||||
double eventBearing = eventLocation.getAngle();
|
double eventBearing = eventLocation.getAngle();
|
||||||
double diffAngle = DrivingDirectionUtils.getAngleDiff(carBearing, eventBearing);
|
double diffAngle = DrivingDirectionUtils.getAngleDiff(carBearing, eventBearing);
|
||||||
Logger.d(TAG, "car_bearing:" + carBearing + ",eventBearing:" + eventBearing + ",diffAngle:" + diffAngle);
|
//Logger.d(TAG, "car_bearing:" + carBearing + ",eventBearing:" + eventBearing + ",diffAngle:" + diffAngle);
|
||||||
if (diffAngle <= 20) {
|
if (diffAngle <= 20) {
|
||||||
// 3、计算当前车辆行驶方向与事件位置之间夹角《20度,保证道路事件在车辆前方
|
// 3、计算当前车辆行驶方向与事件位置之间夹角《20度,保证道路事件在车辆前方
|
||||||
double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi(
|
double eventAngle = DrivingDirectionUtils.getDegreeOfCar2Poi(
|
||||||
@@ -87,12 +87,12 @@ public class V2XAlarmServer {
|
|||||||
(int) currentLocation.getHeading()
|
(int) currentLocation.getHeading()
|
||||||
);
|
);
|
||||||
|
|
||||||
Logger.d(TAG, "eventAngle:" + eventAngle);
|
//Logger.d(TAG, "eventAngle:" + eventAngle);
|
||||||
if (0 <= eventAngle && eventAngle <= 20) {
|
if (0 <= eventAngle && eventAngle <= 20) {
|
||||||
if (showedEvents.contains(v2XRoadEventEntity)) {
|
if (showedEvents.contains(v2XRoadEventEntity)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Logger.d(TAG, "showed---");
|
//Logger.d(TAG, "showed---");
|
||||||
showedEvents.add(v2XRoadEventEntity);
|
showedEvents.add(v2XRoadEventEntity);
|
||||||
return v2XRoadEventEntity;
|
return v2XRoadEventEntity;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ object V2XManager {
|
|||||||
if (!started.get()) {
|
if (!started.get()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
V2XLogger.d(TAG, "--- onLocationChanged --[longitude: $longitude, latitude: $latitude]")
|
//V2XLogger.d(TAG, "--- onLocationChanged --[longitude: $longitude, latitude: $latitude]")
|
||||||
realLongitude.set(longitude)
|
realLongitude.set(longitude)
|
||||||
realLatitude.set(latitude)
|
realLatitude.set(latitude)
|
||||||
val oldLon = lastLongitude.get()
|
val oldLon = lastLongitude.get()
|
||||||
|
|||||||
@@ -15,26 +15,26 @@ import java.lang.reflect.Method;
|
|||||||
public class DevicesUtils {
|
public class DevicesUtils {
|
||||||
|
|
||||||
private static final String PROPERTIES = "android.os.SystemProperties";
|
private static final String PROPERTIES = "android.os.SystemProperties";
|
||||||
private static final String GSM_SERIAL = "gsm.serial";
|
private static final String GSM_SERIAL = "persist.device.sn";
|
||||||
private static final String GET = "get";
|
private static final String GET = "get";
|
||||||
|
|
||||||
public static String getSn(){
|
public static String getSn() {
|
||||||
return getSystemProperties(GSM_SERIAL);
|
return getSystemProperties(GSM_SERIAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getSystemProperties(String name ) {
|
public static String getSystemProperties(String name) {
|
||||||
String value = "";
|
String value = "";
|
||||||
try {
|
try {
|
||||||
Class< ? > c = Class.forName( PROPERTIES );
|
Class<?> c = Class.forName(PROPERTIES);
|
||||||
Method get = c.getMethod( GET, String.class );
|
Method get = c.getMethod(GET, String.class);
|
||||||
value = (String) get.invoke( c, name );
|
value = (String) get.invoke(c, name);
|
||||||
} catch ( ClassNotFoundException var3 ) {
|
} catch (ClassNotFoundException var3) {
|
||||||
var3.printStackTrace();
|
var3.printStackTrace();
|
||||||
} catch ( NoSuchMethodException var4 ) {
|
} catch (NoSuchMethodException var4) {
|
||||||
var4.printStackTrace();
|
var4.printStackTrace();
|
||||||
} catch ( InvocationTargetException var5 ) {
|
} catch (InvocationTargetException var5) {
|
||||||
var5.printStackTrace();
|
var5.printStackTrace();
|
||||||
} catch ( IllegalAccessException var6 ) {
|
} catch (IllegalAccessException var6) {
|
||||||
var6.printStackTrace();
|
var6.printStackTrace();
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import android.os.Build;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
|
||||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@@ -154,6 +153,10 @@ public class TelephoneUtil {
|
|||||||
if (TextUtils.isEmpty(serial)) {
|
if (TextUtils.isEmpty(serial)) {
|
||||||
serial = (String) get.invoke(c, "ro.serialno");
|
serial = (String) get.invoke(c, "ro.serialno");
|
||||||
}
|
}
|
||||||
|
if (TextUtils.isEmpty(serial)) {
|
||||||
|
serial = (String) get.invoke(c, "persist.device.sn");
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ public final class DeviceUtils {
|
|||||||
* @return 当前EB5设备SN
|
* @return 当前EB5设备SN
|
||||||
*/
|
*/
|
||||||
public static String getEB5DevicesSN() {
|
public static String getEB5DevicesSN() {
|
||||||
ShellUtils.CommandResult result = UtilsBridge.execCmd("getprop persist.device.sn", false);
|
ShellUtils.CommandResult result = UtilsBridge.execCmd("adb shell getprop persist.device.sn", false);
|
||||||
if (result.result == 0) {
|
if (result.result == 0) {
|
||||||
LogUtils.d("", result.toString());
|
LogUtils.d("", result.toString());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.mogo.eagle.core.utilcode.util;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Android API从21后开始,不再直接支持通过SystemProperties.get/set方式来获取/设置系统属性。
|
||||||
|
* 通过反射方式来进行系统属性操作,代码如下:
|
||||||
|
*/
|
||||||
|
public final class SystemPropertiesUtils {
|
||||||
|
private static final String CLASS_NAME = "android.os.SystemProperties";
|
||||||
|
|
||||||
|
public static String getProperty(String key, String defaultValue) {
|
||||||
|
String value = defaultValue;
|
||||||
|
|
||||||
|
try {
|
||||||
|
Class<?> c = Class.forName(CLASS_NAME);
|
||||||
|
Method get = c.getMethod("get", String.class, String.class);
|
||||||
|
value = (String) (get.invoke(c, key, defaultValue));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setProperty(String key, String value) {
|
||||||
|
try {
|
||||||
|
Class<?> c = Class.forName(CLASS_NAME);
|
||||||
|
Method set = c.getMethod("set", String.class, String.class);
|
||||||
|
set.invoke(c, key, value);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
keystore/EB5/car_launcher.jks
Normal file
BIN
keystore/EB5/car_launcher.jks
Normal file
Binary file not shown.
28
keystore/EB5/key
Normal file
28
keystore/EB5/key
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCceAWSrA1dOBze
|
||||||
|
qmXsyKYAbjZIDG1yB7EgEb5Qhjqr4rVdAJrfcUbW8iAigMfNTXvbJiQ7ioBsJrNL
|
||||||
|
E3UjpJJoIkkE3AFJPnwKzxoFyHT2mwN7YDCdkHTSQoDha60qhzQ2GVHq9ypILQmy
|
||||||
|
BLGHXhKsmMGqdz1oALnq/eVtWL7Y6NoW+aNgCZw3qDSm3+23trRKBJ4Homn8zyxU
|
||||||
|
lvLPNtZN+Qo7jY80o7qrTPUzcasncZs7pYdUrQxT/BTh20XVHiNPu+k8m6Tt+c5U
|
||||||
|
JhNQ7FNWB79pov9KoH219+ogDQmmwbSeIUAvie0RkIk6q1qRgPFS6C+FpFdTz1/B
|
||||||
|
kHHF7sgnAgEDAoIBAGhQA7cdXj4laJRxmUiFxABJeYVdnkwFIMAL1DWu0cfseOir
|
||||||
|
EepLhI9MFWxV2ojeUpIZbX0HAEgZzNy3o20YYZrBhgM9VjDUUrHfZq6Fo08SAlJA
|
||||||
|
IGkK+IwsVeudHhxaIs67i/H6HDAeBnaty6+UDHMQgRxPfkVV0UdT7kjl1JCaMTTc
|
||||||
|
hXxr+oGsH5d5EHCPBfEU4v8BqOBSEgkUFJ1Y6Y5AQqbSe2nSZ6bKZpE8YY27Ipvq
|
||||||
|
BrZEN0j7SKcHKuJDm81DGfLrh3vOmW6U0ZWy7o9qv7INYXNDvtKUMQigXYYANKUp
|
||||||
|
KvveUSgKJ+ixfFP8Ye92j8mp+d/+16i4Wa7Wu5sCgYEAyCd3wu4wsRAu/8q1abL1
|
||||||
|
4/V8M95+dlfhJBl3H9VwUbsH+CP2VRQ9KYkaYdPwOb8hz1h8gqr74ASbEvz+ixMH
|
||||||
|
zI6zel07VDCew+6OUZOBiOxGc8p7SpZuCeDsL+GEZxkOMQ7PXUpDI/p8nx84eEJU
|
||||||
|
ZrHc2kv1VcpdAXLhtrpiicUCgYEAyCA3GDc282T3BXj061vqR2rpFaqhdlRy7S2B
|
||||||
|
tA3BJj2Qrh1bgQGq9agC+YWm3xO3F/lJ+phK2WHoFOpR+m6w7Q0jx/L/BYOlJD+4
|
||||||
|
h1zeZJKhLBQToodM1ZktcLGYFkSzNJeUImt5T1sErj5op9Ex97nZfYswCrl0GtGa
|
||||||
|
NIVKJPsCgYEAhW+lLJ7LILV0qocjm8yj7U5SzT7++Y/rbWZPao5K4SdapW1O42LT
|
||||||
|
cQYRlo1K0SoWijr9rHH9QAMSDKipsgyv3bR3pujSOCBp1/Re4Q0BBfLZoob83GRJ
|
||||||
|
W+tIH+utmhC0ILSKPjGCF/xTFL96+tbi7yE95t1OOTGTVkyWedGXBoMCgYEAhWrP
|
||||||
|
ZXokokNPWPtN8j1G2kdGDnHA+Y2h83OrzV6AxCkLHr49AKvHTnAB+65vP2J6D/uG
|
||||||
|
pxAx5kFFY0bhUZ8gngjChUyqA60YwtUlr5M+7bcWHWK3wa+IjmYeSyEQDth3eGUN
|
||||||
|
bEemNOdYdCmbGot2pSaQ/lzKsdD4EeEReFjcGKcCgYA+JeOt5WFENpv4LT+7P+j1
|
||||||
|
k3xvOZ9sJGuXRXk9HXzsJvRCnc5oScwqku6i5HjzG8gyNVZg1sQGbVbWWmcNtaS8
|
||||||
|
I3XalYAHYQyb8SGxlQP4ctKAN4j2Hbk1OHAMW84dfAQYQwFcBdaJTtMXQlbbX5Rh
|
||||||
|
x90wE4qFuIapx6IKOmDxRw==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
BIN
keystore/EB5/p12
Normal file
BIN
keystore/EB5/p12
Normal file
Binary file not shown.
@@ -189,10 +189,10 @@ public class AMapViewWrapper implements IMogoMapView,
|
|||||||
public void onRoadIdInfo(@androidx.annotation.Nullable String roadId) {
|
public void onRoadIdInfo(@androidx.annotation.Nullable String roadId) {
|
||||||
|
|
||||||
if (roadId != null && !TextUtils.isEmpty(roadId)) {
|
if (roadId != null && !TextUtils.isEmpty(roadId)) {
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::" + roadId);
|
// CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::" + roadId);
|
||||||
CallerMapRoadListenerManager.INSTANCE.invokeListenersOnRoadIdGet(roadId);
|
CallerMapRoadListenerManager.INSTANCE.invokeListenersOnRoadIdGet(roadId);
|
||||||
} else {
|
} else {
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::null");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "onRoadIdInfo::null");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,27 +210,27 @@ public class AMapViewWrapper implements IMogoMapView,
|
|||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
String provider = carLoc.getProvider();
|
String provider = carLoc.getProvider();
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "car_loc: " + carLoc + "");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "car_loc: " + carLoc + "");
|
||||||
if (!MapAutoApi.GPS_FLAG.equals(provider)) {
|
if (!MapAutoApi.GPS_FLAG.equals(provider)) {
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "convert before: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "convert before: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}");
|
||||||
LonLatPoint p = new LonLatPoint(carLoc.getLongitude(), carLoc.getLatitude());
|
LonLatPoint p = new LonLatPoint(carLoc.getLongitude(), carLoc.getLatitude());
|
||||||
p = MapTools.INSTANCE.switchLonLatWGS84(p);
|
p = MapTools.INSTANCE.switchLonLatWGS84(p);
|
||||||
carLoc.setLongitude(p.longitude);
|
carLoc.setLongitude(p.longitude);
|
||||||
carLoc.setLatitude(p.latitude);
|
carLoc.setLatitude(p.latitude);
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "convert after: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "convert after: car_loc: {lon: " + carLoc.getLongitude() + ", lat: " + carLoc.getLatitude() + "}");
|
||||||
}
|
}
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo:stop_line" + stopLine + ", car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}");
|
||||||
MapRoadInfo.StopLine stopInfo = convert(stopLine);
|
MapRoadInfo.StopLine stopInfo = convert(stopLine);
|
||||||
LonLatPoint p1 = points.get(0);
|
LonLatPoint p1 = points.get(0);
|
||||||
LonLatPoint p2 = points.get(points.size() - 1);
|
LonLatPoint p2 = points.get(points.size() - 1);
|
||||||
double distanceOfCarToStopLine = MapDataApi.INSTANCE.getNearstFromPointToSegment(carLoc.getLongitude(), carLoc.getLatitude(), p1.longitude, p1.latitude, p2.longitude, p2.latitude) * 10_0000;
|
double distanceOfCarToStopLine = MapDataApi.INSTANCE.getNearstFromPointToSegment(carLoc.getLongitude(), carLoc.getLatitude(), p1.longitude, p1.latitude, p2.longitude, p2.latitude) * 10_0000;
|
||||||
stopInfo.setDistanceOfCarToStopLine(distanceOfCarToStopLine);
|
stopInfo.setDistanceOfCarToStopLine(distanceOfCarToStopLine);
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo: --- distance: " + distanceOfCarToStopLine);
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo: --- distance: " + distanceOfCarToStopLine);
|
||||||
CallerMapRoadListenerManager.INSTANCE.invokeListenersOnStopLineGet(stopInfo);
|
CallerMapRoadListenerManager.INSTANCE.invokeListenersOnStopLineGet(stopInfo);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (carLoc != null) {
|
if (carLoc != null) {
|
||||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo::null, car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}");
|
//CallerLogger.INSTANCE.d(M_MAP + TAG, "onStopLineInfo::null, car_loc:{lon: " + carLoc.getLatitude() + ", lat: " + carLoc.getLongitude() + "}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user