add new module of location and update version
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package com.mogo.cloud.location;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* 位置服务:上报位置信息和车机状态
|
||||
*/
|
||||
public interface IMogoLocationInfoService {
|
||||
|
||||
/**
|
||||
* 初始化
|
||||
*
|
||||
* @param context 上下文
|
||||
*/
|
||||
void init(Context context);
|
||||
|
||||
void start();
|
||||
|
||||
void stop();
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.mogo.cloud.location;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.location.internal.InternalLocationManager;
|
||||
import com.mogo.cloud.location.third.ThirdLocationManager;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
|
||||
public class LocationManager implements IMogoLocationInfoService {
|
||||
|
||||
private static volatile LocationManager mInstance;
|
||||
private MoGoAiCloudClientConfig cloudClientConfig;
|
||||
|
||||
private LocationManager() {
|
||||
cloudClientConfig = MoGoAiCloudClient.getInstance().getAiCloudClientConfig();
|
||||
}
|
||||
|
||||
public static LocationManager getInstance() {
|
||||
if (mInstance == null) {
|
||||
synchronized (LocationManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new LocationManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
if (cloudClientConfig.isThirdLogin()) {
|
||||
ThirdLocationManager.getInstance().init(context);
|
||||
} else {
|
||||
InternalLocationManager.getInstance().init(context);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
if (cloudClientConfig.isThirdLogin()) {
|
||||
ThirdLocationManager.getInstance().start();
|
||||
} else {
|
||||
InternalLocationManager.getInstance().start();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
if (cloudClientConfig.isThirdLogin()) {
|
||||
ThirdLocationManager.getInstance().stop();
|
||||
} else {
|
||||
InternalLocationManager.getInstance().stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.mogo.cloud.location.internal;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
public class InternalLocationManager {
|
||||
|
||||
private static volatile InternalLocationManager mInstance;
|
||||
|
||||
public static InternalLocationManager getInstance() {
|
||||
if (mInstance == null) {
|
||||
synchronized (InternalLocationManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new InternalLocationManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public void init(Context context) {
|
||||
|
||||
}
|
||||
|
||||
public void start() {
|
||||
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.mogo.cloud.location.third;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.cloud.utils.logger.Logger;
|
||||
import com.zhidao.locupload.LocUploadConfig;
|
||||
import com.zhidao.locupload.LocUploadManager;
|
||||
|
||||
public class ThirdLocationManager {
|
||||
|
||||
private static final String TAG = "ThirdLocationManager";
|
||||
private static volatile ThirdLocationManager mInstance;
|
||||
private MoGoAiCloudClientConfig cloudClientConfig;
|
||||
|
||||
private ThirdLocationManager() {
|
||||
cloudClientConfig = MoGoAiCloudClient.getInstance().getAiCloudClientConfig();
|
||||
}
|
||||
|
||||
public static ThirdLocationManager getInstance() {
|
||||
if (mInstance == null) {
|
||||
synchronized (ThirdLocationManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new ThirdLocationManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public void init(Context context) {
|
||||
LocUploadConfig.instance().
|
||||
setAppId(cloudClientConfig.getServiceAppId()).
|
||||
setContext(context.getApplicationContext()).
|
||||
setLoggable(cloudClientConfig.isShowDebugLog()).
|
||||
setLocInterval(2000L);
|
||||
Logger.d(TAG, "location sdk - init");
|
||||
}
|
||||
|
||||
public void start() {
|
||||
LocUploadManager.getInstance().startUpload();
|
||||
Logger.d( TAG, "sdk - start" );
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
LocUploadManager.getInstance().stopUpload();
|
||||
Logger.d( TAG, "sdk - stop" );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user