Files
MoGoEagleEye/libraries/mogo-map/src/main/java/com/mogo/map/MogoLocationClient.java

89 lines
2.2 KiB
Java

package com.mogo.map;
import android.content.Context;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.eagle.core.data.map.MogoLocation;
import com.mogo.map.location.MogoLocationListenerRegister;
/**
* @author congtaowang
* @since 2019-12-19
* <p>
*/
public class MogoLocationClient implements IMogoLocationClient {
private static volatile MogoLocationClient sInstance;
public MogoLocationClient( Context context ) {
mDelegate = MogoMapDelegateFactory.getLocationClientDelegate( context );
}
public static MogoLocationClient getInstance( Context context ) {
if ( sInstance == null ) {
synchronized ( MogoLocationClient.class ) {
if ( sInstance == null ) {
sInstance = new MogoLocationClient( context );
}
}
}
return sInstance;
}
private IMogoLocationClient mDelegate;
@Override
public void start() {
if ( mDelegate != null ) {
mDelegate.start();
}
}
@Override
public void start( long interval ) {
if ( mDelegate != null ) {
mDelegate.start( interval );
}
}
@Override
public void stop() {
if ( mDelegate != null ) {
mDelegate.stop();
}
}
@Override
public void addLocationListener( IMogoLocationListener listener ) {
MogoLocationListenerRegister.getInstance().addLocationListener( listener );
}
@Override
public void removeLocationListener( IMogoLocationListener listener ) {
MogoLocationListenerRegister.getInstance().removeLocationListener( listener );
}
@Override
public MogoLocation getLastKnowLocation() {
if ( mDelegate != null ) {
return mDelegate.getLastKnowLocation();
}
return null;
}
@Override
public void destroy() {
if ( mDelegate != null ) {
mDelegate.destroy();
}
}
@Override
public void updateLocation(Object locationToUpdate) {
if (mDelegate != null) {
mDelegate.updateLocation(locationToUpdate);
}
}
}