修复语音小智也走主页面的生命周期,导致会关闭EventPanel的问题
This commit is contained in:
@@ -6,14 +6,11 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.location.Location;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
@@ -48,7 +45,6 @@ import com.mogo.module.service.launchercard.LauncherCardRefresher;
|
||||
import com.mogo.module.service.marker.MapMarkerManager;
|
||||
import com.mogo.module.service.network.RefreshCallback;
|
||||
import com.mogo.module.service.network.RefreshModel;
|
||||
import com.mogo.module.service.network.bean.TtsConfigEntity;
|
||||
import com.mogo.module.service.ttsConfig.TtsConfigModleData;
|
||||
import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushData;
|
||||
import com.mogo.module.service.network.bean.HomeCompanyDistanceForPushResponse;
|
||||
@@ -63,7 +59,6 @@ import com.mogo.service.fragmentmanager.FragmentStackTransactionListener;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.service.intent.IMogoIntentListener;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
import com.mogo.service.launcher.IMogoLauncher;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoActionManager;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
@@ -78,12 +73,12 @@ import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.RequestOptions;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.zhidao.carchattingprovider.CallChattingProviderConstant;
|
||||
import com.zhidao.carchattingprovider.ICallChatResponse;
|
||||
import com.zhidao.carchattingprovider.ICallProviderResponse;
|
||||
import com.zhidao.carchattingprovider.ICarsChattingProvider;
|
||||
import com.zhidao.smartv2x.common.utils.LoggerUtils;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
@@ -256,13 +251,13 @@ public class MogoServices implements IMogoMapListener,
|
||||
/**
|
||||
* 手动刷新回调
|
||||
*/
|
||||
private RefreshCallback mCustomRefreshCallback = new RefreshCallback< MarkerResponse >() {
|
||||
private RefreshCallback mCustomRefreshCallback = new RefreshCallback<MarkerResponse>() {
|
||||
@Override
|
||||
public void onSuccess( MarkerResponse o ) {
|
||||
MapMarkerManager.getInstance().onSyncMarkerResponse( o );
|
||||
public void onSuccess(MarkerResponse o) {
|
||||
MapMarkerManager.getInstance().onSyncMarkerResponse(o);
|
||||
mLoopRequest = false;
|
||||
// 用户手动操作地图刷新成功后,设置状态为 true,引发延时策略
|
||||
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true );
|
||||
mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -338,12 +333,16 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
mIsMainPageFirstResume = false;
|
||||
LauncherCardRefresher.getInstance(mContext).stop();
|
||||
|
||||
playAppTts();
|
||||
|
||||
} else {
|
||||
unregisterInternalUnWakeupWords();
|
||||
stopAutoRefreshStrategy();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMainPageIsBackgroundStatusChanged(boolean isBackground) {
|
||||
if (isBackground) {
|
||||
closeAllPanel();
|
||||
}
|
||||
}
|
||||
@@ -402,96 +401,10 @@ public class MogoServices implements IMogoMapListener,
|
||||
*/
|
||||
private void closeAllPanel() {
|
||||
LoggerUtils.log("zy=======stop");
|
||||
// TODO @钟超 需要修改下kotlin的校验
|
||||
mCallProviderResponse = new ICallProviderResponse(){
|
||||
mCallProviderResponse = new ICallChatResponse() {
|
||||
@Override
|
||||
public void mute(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void matchInvokeResult(boolean b, @NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void match(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invokeCallData(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hangUp(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelMatch(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void call(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userWindowStatus(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userInfoCallBack(@Nullable String s, @Nullable String s1) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isOnLine(boolean b, @Nullable String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isFriend(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invisibleUser(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hideUserWindowError(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void canCall(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callInvokeError(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addFriend(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callWindowStatus( boolean b ) {
|
||||
|
||||
public void hideUserWindowError(@NotNull String errorMsg) {
|
||||
LoggerUtils.log("zy=======errorMsg:" + errorMsg);
|
||||
}
|
||||
};
|
||||
MogoApisHandler.getInstance().getApis().getShareManager().dismissShareDialog();
|
||||
@@ -582,58 +495,58 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
|
||||
private void initWorkThread() {
|
||||
mThreadHandler = new Handler( WorkThreadHandler.getInstance().getLooper() ) {
|
||||
mThreadHandler = new Handler(WorkThreadHandler.getInstance().getLooper()) {
|
||||
@Override
|
||||
public void handleMessage( Message msg ) {
|
||||
super.handleMessage( msg );
|
||||
if ( msg.what == ServiceConst.MSG_MAP_CHANGED ) {
|
||||
if ( msg.obj instanceof RefreshObject ) {
|
||||
RefreshObject ro = ( ( RefreshObject ) msg.obj );
|
||||
if ( invokeRefreshWhenTranslationByUser( ro.mLonLat ) ) {
|
||||
notifyRefreshData( ro.mLonLat, ro.mRadius, ro.mCallback );
|
||||
public void handleMessage(Message msg) {
|
||||
super.handleMessage(msg);
|
||||
if (msg.what == ServiceConst.MSG_MAP_CHANGED) {
|
||||
if (msg.obj instanceof RefreshObject) {
|
||||
RefreshObject ro = ((RefreshObject) msg.obj);
|
||||
if (invokeRefreshWhenTranslationByUser(ro.mLonLat)) {
|
||||
notifyRefreshData(ro.mLonLat, ro.mRadius, ro.mCallback);
|
||||
mLastCustomRefreshCenterLocation = ro.mLonLat;
|
||||
}
|
||||
}
|
||||
} else if ( msg.what == ServiceConst.MSG_REQUEST_DATA ) {
|
||||
if ( msg.obj instanceof RefreshObject ) {
|
||||
RefreshObject ro = ( ( RefreshObject ) msg.obj );
|
||||
if ( ro.mLonLat == null ) {
|
||||
} else if (msg.what == ServiceConst.MSG_REQUEST_DATA) {
|
||||
if (msg.obj instanceof RefreshObject) {
|
||||
RefreshObject ro = ((RefreshObject) msg.obj);
|
||||
if (ro.mLonLat == null) {
|
||||
invokeAutoRefreshStrategy();
|
||||
Logger.w( TAG, "lonLat is null." );
|
||||
Logger.w(TAG, "lonLat is null.");
|
||||
return;
|
||||
}
|
||||
mRefreshModel.refreshExplorerWayData( ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback );
|
||||
MapMarkerManager.getInstance().getOnlineCarDataByAutoRefreshStrategy( ro.mLonLat );
|
||||
mRefreshModel.refreshExplorerWayData(ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback);
|
||||
MapMarkerManager.getInstance().getOnlineCarDataByAutoRefreshStrategy(ro.mLonLat);
|
||||
|
||||
Logger.i( TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, ro.mLonLat, mLastZoomLevel, ro.mAmount );
|
||||
Logger.i(TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, ro.mLonLat, mLastZoomLevel, ro.mAmount);
|
||||
}
|
||||
} else if ( msg.what == ServiceConst.MSG_LOCK_CAR ) {
|
||||
if ( mStatusManager.isSearchUIShow() ) {
|
||||
} else if (msg.what == ServiceConst.MSG_LOCK_CAR) {
|
||||
if (mStatusManager.isSearchUIShow()) {
|
||||
return;
|
||||
}
|
||||
mStatusManager.setUserInteractionStatus( TAG, true, false );
|
||||
mStatusManager.setUserInteractionStatus(TAG, true, false);
|
||||
mUiController.recoverLockMode();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void registerMogoReceiver( Context context ) {
|
||||
if ( context == null ) {
|
||||
private void registerMogoReceiver(Context context) {
|
||||
if (context == null) {
|
||||
return;
|
||||
}
|
||||
List< MogoModule > modules = MogoModulePaths.getModules();
|
||||
if ( modules.isEmpty() || modules == null ) {
|
||||
List<MogoModule> modules = MogoModulePaths.getModules();
|
||||
if (modules.isEmpty() || modules == null) {
|
||||
return;
|
||||
}
|
||||
mAIAssistReceiver = new MogoReceiver( context );
|
||||
mAIAssistReceiver = new MogoReceiver(context);
|
||||
IntentFilter filter = new IntentFilter();
|
||||
if ( modules != null && !modules.isEmpty() ) {
|
||||
for ( MogoModule module : modules ) {
|
||||
if ( TextUtils.isEmpty( module.getBroadcastAction() ) ) {
|
||||
if (modules != null && !modules.isEmpty()) {
|
||||
for (MogoModule module : modules) {
|
||||
if (TextUtils.isEmpty(module.getBroadcastAction())) {
|
||||
continue;
|
||||
}
|
||||
filter.addAction( module.getBroadcastAction() );
|
||||
filter.addAction(module.getBroadcastAction());
|
||||
}
|
||||
}
|
||||
filter.addAction(MogoReceiver.VOICE_ACTION);
|
||||
@@ -717,30 +630,30 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
|
||||
private void stopAutoRefreshStrategy() {
|
||||
stopAutoRefreshStrategy( true );
|
||||
stopAutoRefreshStrategy(true);
|
||||
}
|
||||
|
||||
private void stopAutoRefreshStrategy( boolean stopOnlineCarRefresh ) {
|
||||
mHandler.removeMessages( ServiceConst.MSG_TYPE_REFRESH_DECREASE );
|
||||
if ( stopOnlineCarRefresh ) {
|
||||
private void stopAutoRefreshStrategy(boolean stopOnlineCarRefresh) {
|
||||
mHandler.removeMessages(ServiceConst.MSG_TYPE_REFRESH_DECREASE);
|
||||
if (stopOnlineCarRefresh) {
|
||||
MapMarkerManager.getInstance().stopAutoRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap( boolean isLock ) {
|
||||
mThreadHandler.removeMessages( ServiceConst.MSG_LOCK_CAR );
|
||||
if ( !isLock ) {
|
||||
mThreadHandler.sendEmptyMessageDelayed( ServiceConst.MSG_LOCK_CAR, ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT );
|
||||
public void onLockMap(boolean isLock) {
|
||||
mThreadHandler.removeMessages(ServiceConst.MSG_LOCK_CAR);
|
||||
if (!isLock) {
|
||||
mThreadHandler.sendEmptyMessageDelayed(ServiceConst.MSG_LOCK_CAR, ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
|
||||
public void onMapChanged(MogoLatLng latLng, float zoom, float tilt, float bearing) {
|
||||
|
||||
MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng.lat );
|
||||
MapMarkerManager.getInstance().syncLocation(latLng.lon, latLng.lat);
|
||||
|
||||
if ( mIsCameraInited ) {
|
||||
if (mIsCameraInited) {
|
||||
mLastZoomLevel = zoom;
|
||||
mLastCustomRefreshCenterLocation = latLng;
|
||||
mIsCameraInited = false;
|
||||
@@ -750,26 +663,26 @@ public class MogoServices implements IMogoMapListener,
|
||||
|
||||
// 部分非用户操作导致地图视图变化:绘线、圈点等不触发用户刷新
|
||||
// 消费状态
|
||||
if ( mStatusManager.isUserInteracted() ) {
|
||||
if (mStatusManager.isUserInteracted()) {
|
||||
mLastCustomRefreshCenterLocation = latLng;
|
||||
mLastZoomLevel = zoom;
|
||||
Logger.d( TAG, "user interacted" );
|
||||
Logger.d(TAG, "user interacted");
|
||||
return;
|
||||
}
|
||||
|
||||
// v2x // adas 状态下不做任何操作
|
||||
if ( mStatusManager.isV2XShow() ) {
|
||||
if (mStatusManager.isV2XShow()) {
|
||||
mLastCustomRefreshCenterLocation = latLng;
|
||||
mLastZoomLevel = zoom;
|
||||
Logger.d( TAG, "user v2x show" );
|
||||
Logger.d(TAG, "user v2x show");
|
||||
return;
|
||||
}
|
||||
|
||||
// 搜索页面显示时不做任何策略
|
||||
if ( mStatusManager.isSearchUIShow() ) {
|
||||
if (mStatusManager.isSearchUIShow()) {
|
||||
mLastCustomRefreshCenterLocation = latLng;
|
||||
mLastZoomLevel = zoom;
|
||||
Logger.d( TAG, "user search Ui show" );
|
||||
Logger.d(TAG, "user search Ui show");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ abstract class StatusChangedAdapter implements IMogoStatusChangedListener {
|
||||
case MAIN_PAGE_RESUME:
|
||||
onMainPageResumeStatusChanged( isTrue );
|
||||
break;
|
||||
case MAIN_PAGE_IS_BACKGROUND:
|
||||
onMainPageIsBackgroundStatusChanged( isTrue );
|
||||
break;
|
||||
case SEEK_HELPING:
|
||||
onSeekHelpingStatusChanged( isTrue );
|
||||
break;
|
||||
@@ -42,6 +45,8 @@ abstract class StatusChangedAdapter implements IMogoStatusChangedListener {
|
||||
|
||||
public abstract void onMainPageResumeStatusChanged( boolean resume );
|
||||
|
||||
public abstract void onMainPageIsBackgroundStatusChanged( boolean isBackground );
|
||||
|
||||
public abstract void onSeekHelpingStatusChanged( boolean isSeekingHelping );
|
||||
|
||||
public abstract void onAccStatusChanged( boolean accOn );
|
||||
|
||||
Reference in New Issue
Block a user