[V2X]V2XSDk功能代码提交

111
This commit is contained in:
renwj
2022-02-23 15:18:43 +08:00
parent 07d60fb48a
commit da609a15f5
46 changed files with 1507 additions and 339 deletions

View File

@@ -4,18 +4,27 @@ import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.elegant.log.simplelog.Logger;
import com.mogo.cloud.network.NetworkActivity;
import com.mogo.cloud.passport.IMoGoTokenCallback;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.cloud.trafficlive.api.ITrafficCarLiveCallBack;
import com.mogo.cloud.trafficlive.api.ITrafficIntersectionLiveCallBack;
import com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive;
import com.mogo.v2x.V2XManager;
import com.mogo.v2x.callback.IV2XCallback;
import com.mogo.v2x.config.V2XConfig;
import com.mogo.v2x.event.V2XEvent;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
@@ -32,6 +41,9 @@ public class MainActivity extends AppCompatActivity {
private Button btnJumpLivePlay;
private Button btnRequestXINGLive;
private Button btnRequestCarLive;
private Button btnV2XFunctionTest;
private boolean v2xHasBeenInitialized = false;
private SurfaceView surfacePreviewView;
private TextView tvSn;
@@ -192,9 +204,62 @@ public class MainActivity extends AppCompatActivity {
});
});
//V2X功能测试
btnV2XFunctionTest = findViewById(R.id.btnV2XFunctionTest);
btnV2XFunctionTest.setOnClickListener(v -> {
if (v2xHasBeenInitialized) {
return;
}
v2xHasBeenInitialized = true;
V2XConfig.Builder builder = new V2XConfig.Builder();
builder.loggable(true)
.aiCloudConfig(MoGoAiCloudClientConfig.getInstance())
.appId("com.mogo.launcher")
.context(v.getContext())
.distanceForTriggerRefresh(300)
.durationForTriggerRefresh(1, TimeUnit.MINUTES);
V2XManager.INSTANCE.init(builder.build());
V2XManager.INSTANCE.addCallback(new IV2XCallback() {
@Override
public void onAck(@NonNull V2XEvent event) {
if (event instanceof V2XEvent.ForwardsWarning) {
V2XEvent.ForwardsWarning warning = (V2XEvent.ForwardsWarning) event;
Logger.d("V2XManager", "forward-warning<->onAck::" + warning.toString());
}
if (event instanceof V2XEvent.OptimalRoute) {
V2XEvent.OptimalRoute route = (V2XEvent.OptimalRoute) event;
Logger.d("V2XManager", "route<->onAck::" + route.toString());
}
if (event instanceof V2XEvent.Warning) {
V2XEvent.Warning warning = (V2XEvent.Warning) event;
Logger.d("V2XManager", "warning<->onAck::" + warning.toString());
}
if (event instanceof V2XEvent.Road) {
V2XEvent.Road road = (V2XEvent.Road) event;
Logger.d("V2XManager", "road<-->onAck::" + road.toString());
}
if (event instanceof V2XEvent.Marker) {
V2XEvent.Marker marker = (V2XEvent.Marker) event;
Logger.d("V2XManager", "marker<-->onAck::" + marker.toString());
}
}
@Override
public void onFail(@NonNull String s) {
Logger.d("V2XManager", "onFail::" + s);
}
});
});
MoGoAiCloudClient.getInstance().addTokenCallbacks(new IMoGoTokenCallback() {
@Override
public void onTokenGot(String token, String sn) {
if (btnV2XFunctionTest.getVisibility() != View.VISIBLE) {
btnV2XFunctionTest.setVisibility(View.VISIBLE);
}
initPassportInfo();
}