This commit is contained in:
wangcongtao
2020-02-26 12:40:03 +08:00
parent c8c903bf67
commit 57356211b1
15 changed files with 228 additions and 26 deletions

View File

@@ -5,11 +5,16 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoUiSettings;
import com.mogo.map.MogoMapView;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.statusmanager.StatusDescriptor;
/**
* @author congtaowang
@@ -17,12 +22,15 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
* <p>
* 地图图层,地图操作都在这个图层完成
*/
public class MapFragment extends MvpFragment< MapView, MapPresenter > implements MapView {
public class MapFragment extends MvpFragment< MapView, MapPresenter > implements MapView, IMogoStatusChangedListener {
private static final String TAG = "MapFragment";
private MogoMapView mMogoMapView;
private IMogoMap mMogoMap;
private IMogoStatusManager mMogoStatusManager;
private boolean mIsControllerByOthersStatus = false;
@Override
protected int getLayoutId() {
@@ -36,8 +44,9 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
//mMogoMap.getUIController().showMyLocation( true );
}
@Override protected void initViews(Bundle savedInstanceState) {
super.initViews(savedInstanceState);
@Override
protected void initViews( Bundle savedInstanceState ) {
super.initViews( savedInstanceState );
mMogoMapView = findViewById( R.id.module_map_id_map );
mMogoMapView.onCreate( savedInstanceState );
mMogoMap = mMogoMapView.getMap();
@@ -58,11 +67,16 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
// mMogoMapView.onCreate( savedInstanceState );
//}
initMapView();
mMogoStatusManager = ( IMogoStatusManager ) ARouter.getInstance().build( MogoServicePaths.PATH_STATUS_MANAGER ).navigation( getContext() );
mMogoStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.APP_LIST_UI, this );
}
@Override
public void onPause() {
super.onPause();
if ( mIsControllerByOthersStatus ) {
return;
}
if ( mMogoMapView != null ) {
mMogoMapView.onPause();
}
@@ -71,6 +85,9 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
@Override
public void onResume() {
super.onResume();
if ( mIsControllerByOthersStatus ) {
return;
}
if ( mMogoMapView != null ) {
mMogoMapView.onResume();
}
@@ -117,6 +134,18 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
return mMogoMap.getUIController();
}
@Override
public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
if ( descriptor == StatusDescriptor.APP_LIST_UI ) {
mIsControllerByOthersStatus = isTrue;
if ( isTrue ) {
mMogoMapView.onPause();
} else {
mMogoMapView.onResume();
}
}
}
@Override
public void onDestroyView() {
super.onDestroyView();

View File

@@ -64,7 +64,7 @@ public class MapPresenter extends Presenter<MapView> implements
int type = intent.getIntExtra("EXTRA_TYPE", -1);
int opera_type = intent.getIntExtra("EXTRA_OPERA", -1);
Logger.d("NaviManager", "key_type" + key_type, null);
Logger.d("NaviManager", "key_type" + key_type);
if (key_type == 10027) {
if (type == 0) {
@@ -211,7 +211,7 @@ public class MapPresenter extends Presenter<MapView> implements
@Override
public void onCmdSelected(String cmd) {
Logger.d(TAG, cmd, null);
Logger.d(TAG, cmd);
switch (cmd) {
case VoiceConstants.CMD_MAP_TRAFFIC_MODE_UN_WAKEUP:
case VoiceConstants.CMD_MAP_TRAFFIC_MODE: