diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 69b22338c6..bd09796588 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,4 +3,7 @@
#008577
#00574B
#D81B60
+
+
+ #1C1C1C
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 9c9e1a512e..2eead786b7 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -14,7 +14,7 @@
- @null
- @null
- @null
- - @android:color/transparent
+ - @color/app_window_background
- false
- @style/Animation
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
index a5f406a8ac..9ffd4fe117 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
@@ -20,13 +20,17 @@ import com.zhidao.account.sdk.AccountClientManager;
import com.zhidao.account.sdk.callback.TicketInfoCallback;
import com.zhidao.account.sdk.network.NetEnvironManager;
+import java.io.IOException;
import java.io.InputStream;
import java.security.SecureRandom;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
+import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
/**
* @author congtaowang
@@ -86,6 +90,17 @@ public class AbsMogoApplication extends Application {
NetConfig.instance().setSignaturePrefix( Constants.SIGN_PREFIX )
.setPublicParams( ParamsUtil.getStaticParams() )
.setHostnameVerifier( new AllAllowedHostnameVerifier() )
+ .addNetworkInterceptor( new Interceptor() {
+ @Override
+ public Response intercept( Chain chain ) throws IOException {
+ Request original = chain.request();
+ Request request = original.newBuilder()
+ .header( "token", SpStorage.getTicket() )
+ .method( original.method(), original.body() )
+ .build();
+ return chain.proceed( request );
+ }
+ } )
.setLoggable( DebugConfig.isDebug() );
}
@@ -103,11 +118,12 @@ public class AbsMogoApplication extends Application {
}
private static void initAccountSdk() {
- AccountClientManager.init( sApp, NetEnvironManager.QA, NetEnvironManager.OS_2C, "os2.0-launcher" );
+ AccountClientManager.init( sApp, DebugConfig.getNetMode(), NetEnvironManager.OS_2C, "os2.0-launcher" );
AccountClientManager.getTicket( new TicketInfoCallback() {
@Override
public void onSuccess( String ticket ) {
SpStorage.setTicket( ticket );
+ Logger.w( TAG, "request ticket success" );
}
@Override
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
index 8fcf202aa0..c9c93cc5b9 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java
@@ -33,6 +33,13 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
}
public synchronized void release() {
+ if ( mCmdMap != null && !mCmdMap.isEmpty() && mVoiceClient != null ) {
+ for ( String cmd : mCmdMap.keySet() ) {
+ mVoiceClient.unRegisterCustomWakeupCmd( cmd );
+ }
+ }
+ mVoiceMap.clear();
+ mVoiceClient.release();
sInstance = null;
}
@@ -204,7 +211,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
callBacks.remove( callBack );
}
- public static void startAssistant(Context context) {
+ public static void startAssistant( Context context ) {
final Intent intent = new Intent();
intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES );
intent.setAction( "pvetec.intent.action.txz.switch" );
diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
index 20a38ba132..6370c5abda 100644
--- a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
+++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
@@ -49,7 +49,7 @@
android:layout_marginBottom="@dimen/module_apps_indicator_marginBottom"
app:lineWidth="@dimen/module_apps_indicator_width"
app:selectedColor="#ffffffff"
- app:strokeWidth="@dimen/module_apps_indicator_heigt"
+ app:strokeWidth="@dimen/module_apps_indicator_height"
app:unselectedColor="#33ffffff" />
117px
- 2.7px
+ 2.7px
16px
54.9px
64px
diff --git a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml
index da464ff5de..0a30fed7cc 100644
--- a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml
@@ -1,12 +1,12 @@
260px
- 5px
+ 5px
30px
103px
120px
120px
- 61px
+ 60px
60px
32px
32px
diff --git a/modules/mogo-module-apps/src/main/res/values/dimens.xml b/modules/mogo-module-apps/src/main/res/values/dimens.xml
index da464ff5de..0a30fed7cc 100644
--- a/modules/mogo-module-apps/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-apps/src/main/res/values/dimens.xml
@@ -1,12 +1,12 @@
260px
- 5px
+ 5px
30px
103px
120px
120px
- 61px
+ 60px
60px
32px
32px
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java
index 9d8995fa9c..5d39c13bfb 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/ModuleType.java
@@ -27,30 +27,36 @@ public interface ModuleType {
/**
* APP 列表模块
*/
+ @Deprecated
int TYPE_APP_LIST = 4;
/**
* 小智语音形象
*/
+ @Deprecated
int TYPE_VOICE = 5;
/**
* 地图模块
*/
+ @Deprecated
int TYPE_MAP = 6;
/**
* 导航模块
*/
+ @Deprecated
int TYPE_NAVI = 7;
/**
* 小智、天气、时间等
*/
+ @Deprecated
int TYPE_EXTENSION = 8;
/**
* 操作快捷入口
*/
+ @Deprecated
int TYPE_ENTRANCE = 9;
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
index e9bbd2e69f..404bdcf42b 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
@@ -13,6 +13,7 @@ import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.analytics.AnalyticsUtils;
import com.mogo.commons.mvp.MvpFragment;
+import com.mogo.commons.storage.SpStorage;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationClient;
@@ -53,6 +54,8 @@ import java.util.HashMap;
*/
public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView,
IMogoNaviListener, IMogoMapListener {
+
+ private static final String TAG = "EntranceFragment";
private View mSearch;
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png
old mode 100644
new mode 100755
index ec0f007df5..09af5d28bd
Binary files a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
index c621f1fdeb..d4824c6446 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
@@ -4,7 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/module_ext_height"
- android:background="@drawable/module_ext_dw_shadow_frame_bkg"
android:orientation="vertical"
android:paddingLeft="@dimen/module_ext_paddingLeft"
android:paddingRight="@dimen/module_ext_paddingRight">
diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml
index eca441b69d..3c219b149b 100644
--- a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml
@@ -41,7 +41,7 @@
58px
58px
21px
- 14px
+ 20px
34.5px
20px
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index 769c5d535b..ed6729816a 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -10,6 +10,7 @@ import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.MvpActivity;
+import com.mogo.commons.voice.AIAssist;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
@@ -18,7 +19,6 @@ import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
-import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.main.cards.CardModulesAdapter;
import com.mogo.module.main.cards.MogoModulesHandler;
import com.mogo.module.main.cards.MogoModulesManager;
@@ -31,7 +31,6 @@ import com.mogo.service.MogoServicePaths;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
-import com.mogo.service.impl.fragmentmanager.FragmentStack;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.utils.logger.Logger;
@@ -66,7 +65,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
private View mApps;
private View mEntrance;
private FrameLayout mFloatingLayout;
- private View mShadowFrame;
+ private View mLeftShadowFrame;
+ private View mTopShadowFrame;
/**
* 主模块管控定位,可以向各个模块发送统一定位信息
@@ -104,7 +104,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mCurrentPosition = position;
provider = mCardModulesAdapter.getProvider( mCurrentPosition );
- mMogoModuleHandler.setEnable( provider.getModuleName() );
+ mMogoModuleHandler.setModuleEnable( provider.getModuleName() );
if ( !isClickMarker ) {
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
}
@@ -163,9 +163,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment );
mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> {
if ( size == 0 ) {
- show();
+ showLayout();
} else if ( size == 1 ) {
- hide();
+ hideLayout();
}
} );
mHeader = findViewById( R.id.module_main_id_header_fragment_container );
@@ -173,38 +173,37 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mApps = findViewById( R.id.module_main_id_apps_fragment_container );
mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container );
mFloatingLayout = findViewById( R.id.module_main_id_floating_view );
- mShadowFrame = findViewById( R.id.module_main_id_map_shadow_frame );
+ mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame );
+ mTopShadowFrame = findViewById( R.id.module_main_id_map_top_shadow_frame );
WindowViewHandler.init( mFloatingLayout );
}
- private void hide() {
+ // 隐藏布局
+ private void hideLayout() {
mHeader.setVisibility( View.GONE );
mCards.setVisibility( View.GONE );
mApps.setVisibility( View.GONE );
mEntrance.setVisibility( View.GONE );
mFloatingLayout.setVisibility( View.GONE );
- mShadowFrame.setVisibility( View.GONE );
+ mLeftShadowFrame.setVisibility( View.GONE );
}
- private void show() {
+ // 显示布局
+ private void showLayout() {
mHeader.setVisibility( View.VISIBLE );
mCards.setVisibility( View.VISIBLE );
mApps.setVisibility( View.VISIBLE );
mEntrance.setVisibility( View.VISIBLE );
mFloatingLayout.setVisibility( View.VISIBLE );
- mShadowFrame.setVisibility( View.VISIBLE );
+ mLeftShadowFrame.setVisibility( View.VISIBLE );
}
@Override
protected void onCreate( @Nullable Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
- MogoModulePaths.addModule( new MogoModule( MogoModulePaths.PATH_MODULE_APPS, MogoModulePaths.PATH_MODULE_APPS ) );
- MogoModulePaths.addModule( new MogoModule( MogoModulePaths.PATH_MODULE_MAP, MogoModulePaths.PATH_MODULE_MAP ) );
MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) );
- MogoModulePaths.addModule( new MogoModule( ExtensionsModuleConst.PATH_EXTENSION, ExtensionsModuleConst.TYPE ) );
- MogoModulePaths.addModule( new MogoModule( ExtensionsModuleConst.PATH_ENTRANCE, ExtensionsModuleConst.TYPE_ENTRANCE ) );
mMogoModuleHandler = new MogoModulesManager( this );
mMogoMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation();
@@ -214,30 +213,43 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
}
- mMogoMapUIController = mMogoMapService.getMapUIController();
-
- mMogoModuleHandler.loadModules();
- mMogoModuleHandler.onMapLoadedCallback( () -> {
+ mMogoModuleHandler.setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
- loadModules();
- mShadowFrame.setVisibility( View.VISIBLE );
- mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 );
- } );
- // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
- mMogoModuleHandler.loadMap( R.id.module_main_id_map_fragment_container );
- mMogoModuleHandler.loadAppsList( R.id.module_main_id_apps_fragment_container );
- mMogoModuleHandler.loadExtensions( R.id.module_main_id_header_fragment_container );
- mMogoModuleHandler.loadEntrances( R.id.module_main_id_entrance_fragment_container );
+ // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
+ mMogoModuleHandler.loadModules();
+ loadContainerModules();
+ loadCardModules();
- mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() );
- mLocationClient.addLocationListener( this );
- mLocationClient.start();
+ // 显示左边遮罩
+ mLeftShadowFrame.setVisibility( View.VISIBLE );
+ mTopShadowFrame.setVisibility( View.VISIBLE );
+
+ // 右移地图中心点
+ mMogoMapUIController = mMogoMapService.getMapUIController();
+ mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 );
+
+ // 开启定位
+ startLocation();
+ } );
+ mMogoModuleHandler.loadMapModule( R.id.module_main_id_map_fragment_container );
mMogoCardManager = ( IMogoCardManager ) ARouter.getInstance().build( MogoServicePaths.PATH_CARD_MANAGER ).navigation( this );
mAnalytics = ( IMogoAnalytics ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_ANALYTICS ).navigation( this );
}
- private void loadModules() {
+ private void startLocation() {
+ mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() );
+ mLocationClient.addLocationListener( this );
+ mLocationClient.start();
+ }
+
+ private void loadContainerModules() {
+ mMogoModuleHandler.loadAppsListModule( R.id.module_main_id_apps_fragment_container );
+ mMogoModuleHandler.loadExtensionsModule( R.id.module_main_id_header_fragment_container );
+ mMogoModuleHandler.loadEntrancesModule( R.id.module_main_id_entrance_fragment_container );
+ }
+
+ private void loadCardModules() {
List< IMogoModuleProvider > providers = mMogoModuleHandler.loadCardsModule();
mCardModulesAdapter = new CardModulesAdapter( this, providers );
@@ -268,7 +280,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
isClickMarker = true;
switch2( marker.getOwner() );
if ( mMogoModuleHandler != null ) {
- mMogoModuleHandler.onMarkerReceive( marker );
+ mMogoModuleHandler.onMarkerClicked( marker );
}
isClickMarker = false;
return false;
@@ -291,10 +303,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
public void onBackPressed() {
- if ( FragmentStack.getInstance().isEmpty() ) {
+ if ( mMogoFragmentManager.getStackSize() == 0 ) {
return;
}
- FragmentStack.getInstance().pop();
+ if ( mMogoFragmentManager != null ) {
+ mMogoFragmentManager.pop();
+ }
}
@Override
@@ -305,10 +319,15 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mLocationClient.destroy();
}
mLocationClient = null;
- mMogoMapService = null;
if ( mMogoModuleHandler != null ) {
mMogoModuleHandler.destroy();
- mMogoModuleHandler = null;
}
+ mMogoModuleHandler = null;
+ mMogoMapService = null;
+ mMogoMapUIController = null;
+ mMogoCardManager = null;
+ mMogoFragmentManager = null;
+
+ AIAssist.getInstance( this ).release();
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
index 1ca561946f..ad09d2b998 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
@@ -21,10 +21,19 @@ import javax.security.auth.callback.Callback;
*/
public interface MogoModulesHandler extends IMogoMapListener,
IMogoNaviListener,
- IMogoLocationListener {
+ IMogoLocationListener,
+ IMogoMarkerClickListener {
- void onMapLoadedCallback( Runnable callback );
+ /**
+ * 地图加载完成回调
+ *
+ * @param callback
+ */
+ void setMapLoadedCallback( Runnable callback );
+ /**
+ * 加载模块
+ */
void loadModules();
/**
@@ -39,49 +48,41 @@ public interface MogoModulesHandler extends IMogoMapListener,
*
* @param containerId 容器id
*/
- void loadMap( int containerId );
+ void loadMapModule( int containerId );
/**
* 加载所有应用
*
* @param containerId 容器id
*/
- void loadAppsList( int containerId );
+ void loadAppsListModule( int containerId );
/**
* 加载头部信息
*
* @param containerId
*/
- void loadExtensions( int containerId );
+ void loadExtensionsModule( int containerId );
/**
* 加载快捷操作
*
* @param containerId
*/
- void loadEntrances( int containerId );
+ void loadEntrancesModule( int containerId );
/**
* 设置某一个module可用
*
* @param module
*/
- void setEnable( String module );
+ void setModuleEnable( String module );
/**
* 销毁
*/
void destroy();
-
- /**
- * 卡片接收到Marker传入数据
- *
- * @param marker marker
- */
- void onMarkerReceive( IMogoMarker marker );
-
/**
* 当前卡片名称
*
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
index 6cc2f7d8ee..56be72374f 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.text.TextUtils;
+import android.util.Log;
import android.view.MotionEvent;
import androidx.fragment.app.Fragment;
@@ -23,6 +24,7 @@ import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
+import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.main.MainActivity;
import com.mogo.module.main.registercenter.MogoRegisterCenterHandler;
import com.mogo.service.module.IMogoModuleLifecycle;
@@ -36,7 +38,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
* @author congtaowang
@@ -90,7 +91,7 @@ public class MogoModulesManager implements MogoModulesHandler,
}
@Override
- public void onMapLoadedCallback( Runnable callback ) {
+ public void setMapLoadedCallback( Runnable callback ) {
mMapLoadedCallback = callback;
}
@@ -111,35 +112,27 @@ public class MogoModulesManager implements MogoModulesHandler,
}
@Override
- public void loadMap( int containerId ) {
- loadModuleByType( ModuleType.TYPE_MAP, containerId );
+ public void loadMapModule( int containerId ) {
+ IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( MogoModulePaths.PATH_MODULE_MAP ).navigation( getContext() );
+ addFragment( provider, containerId );
}
@Override
- public void loadAppsList( int containerId ) {
- loadModuleByType( ModuleType.TYPE_APP_LIST, containerId );
+ public void loadAppsListModule( int containerId ) {
+ IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( MogoModulePaths.PATH_MODULE_APPS ).navigation( getContext() );
+ addFragment( provider, containerId );
}
@Override
- public void loadExtensions( int containerId ) {
- loadModuleByType( ModuleType.TYPE_EXTENSION, containerId );
+ public void loadExtensionsModule( int containerId ) {
+ IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( ExtensionsModuleConst.PATH_EXTENSION ).navigation( getContext() );
+ addFragment( provider, containerId );
}
@Override
- public void loadEntrances( int containerId ) {
- loadModuleByType( ModuleType.TYPE_ENTRANCE, containerId );
- }
-
- private void loadModuleByType( int type, int containerId ) {
- if ( mModuleProviders.isEmpty() ) {
- return;
- }
- for ( IMogoModuleProvider value : mModuleProviders.values() ) {
- if ( value.getType() == type ) {
- addFragment( value, containerId );
- return;
- }
- }
+ public void loadEntrancesModule( int containerId ) {
+ IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance().build( ExtensionsModuleConst.PATH_ENTRANCE ).navigation( getContext() );
+ addFragment( provider, containerId );
}
private IMogoModuleProvider load( String path ) {
@@ -162,8 +155,9 @@ public class MogoModulesManager implements MogoModulesHandler,
}
@Override
- public void setEnable( String module ) {
+ public void setModuleEnable( String module ) {
+ // 仅操作上一个模块和当前模块
Iterator< IMogoModuleProvider > iterator = mModuleProviders.values().iterator();
int counter = 0;
while ( iterator.hasNext() ) {
@@ -178,7 +172,9 @@ public class MogoModulesManager implements MogoModulesHandler,
final IMogoModuleLifecycle lifecycle = MogoRegisterCenterHandler.getInstance().getLifecycleListener( mEnableModuleName );
if ( lifecycle != null ) {
try {
+ final long start = System.currentTimeMillis();
lifecycle.onDisable();
+ Logger.i(TAG, "set %s module disable event cost " + (System.currentTimeMillis() - start) + "ms", mEnableModuleName);
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
@@ -190,7 +186,9 @@ public class MogoModulesManager implements MogoModulesHandler,
final IMogoModuleLifecycle lifecycle = MogoRegisterCenterHandler.getInstance().getLifecycleListener( module );
if ( lifecycle != null ) {
try {
+ final long start = System.currentTimeMillis();
lifecycle.onPerform();
+ Logger.i(TAG, "set %s module perform event cost " + (System.currentTimeMillis() - start) + "ms", module);
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
@@ -212,20 +210,6 @@ public class MogoModulesManager implements MogoModulesHandler,
mMapLoadedCallback.run();
mMapLoadedCallback = null;
}
- Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
- if ( iterator == null ) {
- return;
- }
- while ( iterator.hasNext() ) {
- IMogoMapListener listener = iterator.next();
- if ( listener != null ) {
- try {
- listener.onMapLoaded();
- } catch ( Exception e ) {
- Logger.e( TAG, e, "error." );
- }
- }
- }
}
@Override
@@ -426,7 +410,6 @@ public class MogoModulesManager implements MogoModulesHandler,
}
}
-
@Override
public void onCalculateSuccess() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
@@ -473,7 +456,7 @@ public class MogoModulesManager implements MogoModulesHandler,
IMogoNaviListener listener = iterator.next();
if ( listener != null ) {
try {
- listener.onUpdateTraffic(traffic);
+ listener.onUpdateTraffic( traffic );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
@@ -541,15 +524,16 @@ public class MogoModulesManager implements MogoModulesHandler,
}
@Override
- public void onMarkerReceive( IMogoMarker marker ) {
+ public boolean onMarkerClicked( IMogoMarker marker ) {
IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() );
if ( listener != null ) {
try {
- listener.onMarkerClicked( marker );
+ return listener.onMarkerClicked( marker );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
+ return false;
}
@Override
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java
index b91b2d4a5f..97ec68e2b7 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/VerticalStackTransformer.java
@@ -10,8 +10,8 @@ import com.mogo.utils.WindowUtils;
public class VerticalStackTransformer extends VerticalBaseTransformer {
private Context context;
- private int spaceBetweenFirAndSecWith = 5 * 2;//第一张卡片和第二张卡片宽度差 dp单位
- private int spaceBetweenFirAndSecHeight = 5;//第一张卡片和第二张卡片高度差 dp单位
+ private int spaceBetweenFirAndSecWith;//第一张卡片和第二张卡片宽度差
+ private int spaceBetweenFirAndSecHeight;//第一张卡片和第二张卡片高度差
public VerticalStackTransformer( Context context ) {
this.context = context;
diff --git a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml
index 64196e581f..b9d160ac66 100644
--- a/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml
+++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_left_frame_bkg.xml
@@ -2,7 +2,7 @@
-
-
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
similarity index 56%
rename from modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml
rename to modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
index 234266fcaf..5f95c7f50f 100644
--- a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_shadow_frame_bkg.xml
+++ b/modules/mogo-module-main/src/main/res/drawable/module_main_dw_top_frame_bkg.xml
@@ -2,7 +2,7 @@
-
-
+
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
index 30d62c2164..23343b9186 100644
--- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
+++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
@@ -14,7 +14,14 @@
app:layout_constraintRight_toRightOf="parent" />
+
+ 384px
8px
352px
+ 370px
32px
140.5px
18px
20px
10px
+ 144px
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
index 3fe82f9cb8..bfcbccdc2b 100644
--- a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
@@ -1,12 +1,14 @@
-
+
720px
10px
660px
+ 690px
60px
211px
30px
30px
15px
+ 270px
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values/colors.xml b/modules/mogo-module-main/src/main/res/values/colors.xml
new file mode 100644
index 0000000000..1a06e26bf7
--- /dev/null
+++ b/modules/mogo-module-main/src/main/res/values/colors.xml
@@ -0,0 +1,4 @@
+
+
+ #1D1D1D
+
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml
index 3fe82f9cb8..6a4570d3cc 100644
--- a/modules/mogo-module-main/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-main/src/main/res/values/dimens.xml
@@ -4,9 +4,11 @@
720px
10px
660px
+ 690px
60px
211px
30px
30px
15px
+ 270px
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values/styles.xml b/modules/mogo-module-main/src/main/res/values/styles.xml
index 381d44621e..4b9d268b74 100644
--- a/modules/mogo-module-main/src/main/res/values/styles.xml
+++ b/modules/mogo-module-main/src/main/res/values/styles.xml
@@ -7,7 +7,7 @@
- @null
- @null
- @null
- - @android:color/transparent
+ - @color/module_main_window_background_color
- false
- @style/MainAnimation
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java
index f7fb47463f..ae02f4ce15 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/ModuleType.java
@@ -27,30 +27,36 @@ public interface ModuleType {
/**
* APP 列表模块
*/
+ @Deprecated
int TYPE_APP_LIST = 4;
/**
* 小智语音形象
*/
+ @Deprecated
int TYPE_VOICE = 5;
/**
* 地图模块
*/
+ @Deprecated
int TYPE_MAP = 6;
/**
* 导航模块
*/
+ @Deprecated
int TYPE_NAVI = 7;
/**
* 小智、天气、时间等
*/
+ @Deprecated
int TYPE_EXTENSION = 8;
/**
* 操作快捷入口
*/
+ @Deprecated
int TYPE_ENTRANCE = 9;
}