From 592ed900a6d8a54469aadda5978db3596c89c4c6 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 8 Jun 2020 16:47:42 +0800 Subject: [PATCH 1/5] opt --- app/build.gradle | 4 ++ app/src/launcher/AndroidManifest.xml | 10 +-- .../com/mogo/launcher/MogoApplication.java | 6 +- config.gradle | 2 +- .../com/mogo/commons/debug/DebugConfig.java | 13 ++++ .../java/com/mogo/commons/device/Devices.java | 43 +++++++++++ .../java/com/mogo/commons/voice/AIAssist.java | 18 +++-- .../impl/automap/navi/AutoNaviReceiver.java | 9 ++- .../module/apps/AppNavigatorFragment.java | 3 +- .../module/apps/AppNavigatorPresenter.java | 26 +++---- .../com/mogo/module/apps/model/AppInfo.java | 12 +++- .../mogo/module/apps/model/NavigatorApps.java | 16 ++--- .../service/marker/MapMarkerManager.java | 72 +++++++++++++++++-- .../service/network/RefreshCallback.java | 2 +- .../module/service/network/RefreshModel.java | 50 +------------ .../service/impl/adas/MogoADASController.java | 2 +- 16 files changed, 194 insertions(+), 94 deletions(-) create mode 100644 foudations/mogo-commons/src/main/java/com/mogo/commons/device/Devices.java diff --git a/app/build.gradle b/app/build.gradle index 1b929b16dc..88b199e4e5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,6 +76,8 @@ android { buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'false' // 是否使用自定义导航 buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' + // 是否作为 launcher 运行 + buildConfigField 'boolean', 'IS_LAUNCHER', 'false' } // launcher app launcher{ @@ -85,6 +87,8 @@ android { buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'true' // 是否使用自定义导航 buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false' + // 是否作为 launcher 运行 + buildConfigField 'boolean', 'IS_LAUNCHER', 'true' } // f系列-分体机全系列,未细分 f8xx{ diff --git a/app/src/launcher/AndroidManifest.xml b/app/src/launcher/AndroidManifest.xml index 034c96f343..759d90f0e5 100644 --- a/app/src/launcher/AndroidManifest.xml +++ b/app/src/launcher/AndroidManifest.xml @@ -14,11 +14,11 @@ android:supportsRtl="true" android:theme="@style/AppTheme.App" tools:replace="android:label"> - + + + + + iterator = null; try { - List< IMogoVoiceCmdCallBack > cmdCallBacks = mCmdMap.get( cmd ); + List< IMogoVoiceCmdCallBack > cmdCallBacks = mCmdMap.get( cmd ); iterator = new ArrayList<>( cmdCallBacks ).iterator(); - } catch( Exception e ){ + } catch ( Exception e ) { } while ( iterator != null && iterator.hasNext() ) { @@ -348,10 +348,18 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack, OnTtsListener { } public static void startAssistant( Context context ) { + startAssistant( context, 1 ); + } + + /** + * @param context + * @param status window_start_cancel 0 - 结束, 1 - 显示, 2 - 未激活调试进入 + */ + public static void startAssistant( Context context, int status ) { final Intent intent = new Intent(); intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES ); intent.setAction( "pvetec.intent.action.txz.switch" ); - intent.putExtra( "window_start_cancel", 1 ); + intent.putExtra( "window_start_cancel", status ); intent.putExtra( "extra_switch_type", "window_start_cancel" ); context.sendBroadcast( intent ); } @@ -462,12 +470,12 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack, OnTtsListener { try { mSpeakVoiceMap.remove( text ); mogoVoiceManager.shutUp( ttsId ); - } catch( Exception e ){ + } catch ( Exception e ) { } } - public void clearTTSCallback(String text){ + public void clearTTSCallback( String text ) { try { mSpeakVoiceMap.remove( text ); } catch ( Exception e ) { diff --git a/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java b/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java index 2ea104b75d..eb51047a36 100644 --- a/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java +++ b/libraries/map-autonavi/src/main/java/com/mogo/map/impl/automap/navi/AutoNaviReceiver.java @@ -117,13 +117,18 @@ public class AutoNaviReceiver extends BroadcastReceiver { switch ( state ) { case MapStateValue.START_NAVI: case MapStateValue.START_EMULATOR_NAVI: + if ( MapState.getInstance().isNaving() ) { + return; + } MapState.getInstance().setNaving( true ); MogoNaviListenerHandler.getInstance().onStartNavi(); break; case MapStateValue.STOP_NAVI: case MapStateValue.STOP_EMULATOR_NAVI: - MapState.getInstance().setNaving( false ); - MogoNaviListenerHandler.getInstance().onStopNavi(); + if ( MapState.getInstance().isNaving() ) { + MapState.getInstance().setNaving( false ); + MogoNaviListenerHandler.getInstance().onStopNavi(); + } break; case MapStateValue.START_AIMLESS_NAVI: MapState.getInstance().setAimless( true ); diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java index f3d240be7b..a275d6545e 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java @@ -56,6 +56,7 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi mAppIndicatorAdapter = new AppIndicatorAdapter( getContext(), NavigatorApps.getApps() ); mAppIndicatorAdapter.setOnItemClickedListener( ( data, position ) -> { mLauncher.launch( getContext(), data ); + trackNavigatorClickEvent( data.getTrackType() ); } ); mNavigatorAppsList.setAdapter( mAppIndicatorAdapter ); @@ -64,7 +65,7 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi mAnim.initAnim( mAIAssist ); mAIAssist.setOnClickListener( view -> { AIAssist.startAssistant( getContext() ); - AppServiceHandler.getApis().getAnalyticsApi().track( "Launcher_xiaozhi_Click", null ); + trackNavigatorClickEvent( 5 ); } ); mAIAssistContainer.setOnClickListener( view -> { mAIAssist.performClick(); diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java index 24119d559c..c42230cbca 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java @@ -6,6 +6,7 @@ import androidx.annotation.NonNull; import androidx.lifecycle.LifecycleOwner; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; @@ -33,9 +34,6 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme private static final String TAG = "AppNavigatorPresenter"; - IMogoIntentManager mIntentManager; - IMogoStatusManager mMogoStatusManager; - public AppNavigatorPresenter( AppNavigatorView view ) { super( view ); } @@ -43,11 +41,11 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme @Override public void onCreate( @NonNull LifecycleOwner owner ) { super.onCreate( owner ); - mIntentManager = AppServiceHandler.getApis().getIntentManagerApi(); - mMogoStatusManager = AppServiceHandler.getApis().getStatusManagerApi(); AppServiceHandler.getApis().getRegisterCenterApi().registerMogoNaviListener( TAG, this ); - // 预加载应用列表,空间换时间 - AppsModel.getInstance( getContext() ).load( null ); + if ( DebugConfig.isLauncher() ) { + // 预加载应用列表,空间换时间 + AppsModel.getInstance( getContext() ).load( null ); + } } @Override @@ -55,13 +53,13 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme super.onResume( owner ); AIAssist.getInstance( getContext() ).registerUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_APP_LIST, AppsConst.CMD_UN_WAKE_WORDS_OPEN_APP_LIST, this ); AIAssist.getInstance( getContext() ).registerUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_CAR_SETTINGS, AppsConst.CMD_UN_WAKE_WORDS_OPEN_CAR_SETTINGS, this ); - mIntentManager.registerIntentListener( AppsConst.COMMAND_OPERATION, this ); + AppServiceHandler.getApis().getIntentManagerApi().registerIntentListener( AppsConst.COMMAND_OPERATION, this ); } @Override public void onPause( @NonNull LifecycleOwner owner ) { super.onPause( owner ); - mIntentManager.unregisterIntentListener( AppsConst.COMMAND_OPERATION, this ); + AppServiceHandler.getApis().getIntentManagerApi().unregisterIntentListener( AppsConst.COMMAND_OPERATION, this ); AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_APP_LIST ); AIAssist.getInstance( getContext() ).unregisterUnWakeupCommand( AppsConst.CMD_UN_WAKE_OPEN_CAR_SETTINGS ); } @@ -76,10 +74,14 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme String app = object.optString( "object" ); String operation = object.optString( "operation" ); - if( !AppsConst.OBJECT_ADAS.equals( app ) ){ + if ( !AppsConst.OBJECT_ADAS.equals( app ) ) { AppServiceHandler.getApis().getAdasControllerApi().closeADAS(); } + if ( !DebugConfig.isLauncher() ) { + return; + } + if ( AppsConst.OBJECT_ALL_APPS.equals( app ) ) { if ( AppsConst.OPERATION_OPEN.equals( operation ) ) { mView.openAppsPanel(); @@ -116,10 +118,8 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme @Override public void onDestroy( @NonNull LifecycleOwner owner ) { - if ( mIntentManager != null ) { - mIntentManager.unregisterIntentListener( AppsConst.COMMAND_OPERATION, this ); - } super.onDestroy( owner ); + AppServiceHandler.getApis().getIntentManagerApi().unregisterIntentListener( AppsConst.COMMAND_OPERATION, this ); } @Override diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java index 134cb0b33f..d9fddafb98 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java @@ -16,14 +16,20 @@ public class AppInfo { private final int mVersionCode; private final Drawable mIcon; private final int mIconResId; + private final int mTrackType; // 埋点类型 - public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId ) { + public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId, int mTrackType ) { this.mName = mName; this.mPackageName = mPackageName; this.mVersionName = mVersionName; this.mVersionCode = mVersionCode; this.mIcon = mIcon; this.mIconResId = mIconResId; + this.mTrackType = mTrackType; + } + + public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId ) { + this(mName, mPackageName, mVersionName, mVersionCode, mIcon, mIconResId, 0); } public int getIconResId() { @@ -50,6 +56,10 @@ public class AppInfo { return mIcon; } + public int getTrackType() { + return mTrackType; + } + @Override public String toString() { return "AppInfo{" + diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java index 1b64ff1bb8..820d46c5a4 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/NavigatorApps.java @@ -13,26 +13,26 @@ import java.util.List; */ public class NavigatorApps { - private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi ); - private static AppInfo app_ = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable ); - private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media ); - private static AppInfo app3 = new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_navigator_personcenter ); - private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist ); + private static AppInfo app = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi, 1 ); + private static AppInfo app_ = new AppInfo( "导航", "com.mogo.launcher.navi.search", "", 0, null, R.drawable.module_apps_ic_navigator_navi_disable, 1 ); + private static AppInfo app2 = new AppInfo( "音乐", "com.pvetec.musics", "", 0, null, R.drawable.module_apps_ic_navigator_media, 2 ); + private static AppInfo app3 = new AppInfo( "个人中心", "com.zhidao.auto.personal", "", 0, null, R.drawable.module_apps_ic_navigator_personcenter, 3 ); + private static AppInfo app4 = new AppInfo( "全部应用", "com.mogo.launcher.applist", "", 0, null, R.drawable.module_apps_ic_navigator_applist, 4 ); public static List< AppInfo > getApps() { List< AppInfo > sApps = new ArrayList<>(); sApps.add( app ); sApps.add( app2 ); - sApps.add( app3 ); +// sApps.add( app3 ); sApps.add( app4 ); return sApps; } public static List< AppInfo > getAppsWithoutNavigation() { List< AppInfo > sApps = new ArrayList<>(); - sApps.add( app_ ); + sApps.add( app ); sApps.add( app2 ); - sApps.add( app3 ); +// sApps.add( app3 ); sApps.add( app4 ); return sApps; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index e695e6470d..1e6c812512 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -16,6 +16,7 @@ import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerNoveltyInfo; import com.mogo.module.common.entity.MarkerOnlineCar; +import com.mogo.module.common.entity.MarkerPoiTypeEnum; import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; @@ -110,6 +111,20 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if ( !result ) { return false; } + + Map< String, Object > properties = new HashMap<>(); + + if ( marker.getObject() instanceof MarkerShowEntity ) { + properties.put( "sn", getCarSnFromMarker( marker ) ); + if ( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() instanceof MarkerExploreWay ) { + MarkerExploreWay exploreWay = ( MarkerExploreWay ) ( ( MarkerShowEntity ) marker.getObject() ).getBindObj(); + properties.put( "dbid", exploreWay.getInfoId() ); + properties.put( "type", exploreWay.getPoiType() ); + } else if ( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() instanceof MarkerOnlineCar ) { + properties.put( "type", "10000" ); + } + } + MarkerServiceHandler.getMogoAnalytics().track( "v2x_road_click", properties ); } catch ( Exception e ) { e.printStackTrace(); } @@ -479,12 +494,38 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if ( markerCardResult == null ) { return; } - JSONArray array = new JSONArray(); List< MarkerExploreWay > exploreWayList = markerCardResult.getExploreWay(); + JSONArray array = new JSONArray(); int size = 0; size = exploreWayList == null ? 0 : exploreWayList.size(); - fillPoiTypeTrackBody( array, ModuleNames.CARD_TYPE_ROAD_CONDITION, size ); + final Map< String, Integer > typeCounterMap = new HashMap<>(); + for ( int i = 0; i < size; i++ ) { + MarkerExploreWay exploreWay = exploreWayList.get( i ); + String poiType = exploreWay.getPoiType(); + int counter = 0; + if ( !typeCounterMap.containsKey( poiType ) ) { + counter = 0; + } else { + counter = typeCounterMap.get( poiType ); + } + typeCounterMap.put( poiType, counter + 1 ); + } + if ( !typeCounterMap.isEmpty() ) { + for ( Map.Entry< String, Integer > entry : typeCounterMap.entrySet() ) { + if ( entry == null || entry.getKey() == null ) { + continue; + } + JSONObject object = new JSONObject(); + try { + object.put( "type", entry.getKey() ); + object.put( "num", entry.getValue() ); + array.put( object ); + } catch ( JSONException e ) { + e.printStackTrace(); + } + } + } try { if ( array.length() == 0 ) { @@ -492,7 +533,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } final Map< String, Object > properties = new HashMap<>(); properties.put( "data", array.toString() ); - MarkerServiceHandler.getMogoAnalytics().track( "Launcher_Data_Get", properties ); + MarkerServiceHandler.getMogoAnalytics().track( "v2x_data_get", properties ); } catch ( Exception e ) { e.printStackTrace(); } @@ -650,6 +691,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener, int limit, int radius ) { + if ( latLng == null ) { + return; + } + if ( ignoreOnlineCarRequest() ) { removeCarMarkers(); return; @@ -668,14 +713,31 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) { return; } + int size = onlineCarList == null ? 0 : onlineCarList.size(); + trackData( size ); + runOnTargetThread( () -> { drawOnlineCarMarkers( onlineCarList, Integer.MAX_VALUE ); } ); } - @Override - public void onFail() { + private void trackData( int size ) { + JSONArray array = new JSONArray(); + JSONObject object = new JSONObject(); + try { + object.put( "type", "10000" ); + object.put( "num", size ); + array.put( object ); + } catch ( JSONException e ) { + e.printStackTrace(); + } + if ( array.length() == 0 ) { + return; + } + final Map< String, Object > properties = new HashMap<>(); + properties.put( "data", array.toString() ); + MarkerServiceHandler.getMogoAnalytics().track( "v2x_data_get", properties ); } } ); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java index 34a46cd615..64c691498c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshCallback.java @@ -10,5 +10,5 @@ public interface RefreshCallback { void onSuccess(T o); - void onFail(); + default void onFail(){} } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index 3c1bfcd220..e6c3f1cde1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -101,55 +101,6 @@ public class RefreshModel { } } - /** - * 查询在线车辆 - * - * @param latLng 经纬度 - * @param radius 半径 - * @param onlyFocus 是否仅查询已关注的好友 - * @param onlySameCity 是否仅查询注册城市相同的同城用户 - * @param callback - */ - public void queryOnLineCar( MogoLatLng latLng, - int radius, - boolean onlyFocus, - boolean onlySameCity, - final RefreshCallback callback ) { - if ( mRefreshApiService != null ) { - final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build(); - final RefreshBody refreshBody = new RefreshBody(); - refreshBody.limit = 100; - refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng ); - refreshBody.radius = radius; - refreshBody.onlyFocus = onlyFocus; - refreshBody.onlySameCity = onlySameCity; - refreshBody.dataType.add( ServiceConst.CARD_TYPE_USER_DATA ); - - query.put( "data", GsonUtil.jsonFromObject( refreshBody ) ); - mRefreshApiService.refreshData( query ) - .subscribeOn( Schedulers.io() ) - .observeOn( AndroidSchedulers.mainThread() ) - .subscribe( new SubscribeImpl< BaseData >( RequestOptions.create( mContext ) ) { - @Override - public void onSuccess( BaseData o ) { - super.onSuccess( o ); - if ( callback != null ) { - callback.onSuccess( o ); - } - } - - @Override - public void onError( String message, int code ) { - super.onError( message, code ); - if ( callback != null ) { - callback.onFail(); - } - } - } ); - } - } - - /** * 查询车辆 及路线 * @@ -171,6 +122,7 @@ public class RefreshModel { if ( limit > 0 ) { refreshBody.limit = limit; } + refreshBody.radius = radius; refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng ); refreshBody.onlyFocus = onlyFocus; refreshBody.onlySameCity = onlySameCity; diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index aa344adc0b..f44ab838d0 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -67,8 +67,8 @@ public class MogoADASController implements IMogoADASController { Logger.d( TAG, "show adas" ); if ( !isProcessRunning( AbsMogoApplication.getApp(), getPackageUid( AbsMogoApplication.getApp(), "com.zhidiao.autopilot" ) ) ) { - init( AbsMogoApplication.getApp() ); } + init( AbsMogoApplication.getApp() ); if ( mStatusManager.isSearchUIShow() ) { return; From ee0ffc11a86f616c04c1ba7816616f91d2ca0888 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 8 Jun 2020 17:29:36 +0800 Subject: [PATCH 2/5] opt --- .idea/misc.xml | 2 +- gradle.properties | 52 ++++++++++++++--------------- libraries/map-autonavi/build.gradle | 4 ++- upload.sh | 5 +-- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 707ee6e613..2dc54c489f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d93260870c..3e167a99d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,33 +27,33 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.1.0.15 -MOGO_UTILS_VERSION=1.1.0.15 -MAP_AMAP_VERSION=1.1.0.15 -MAP_AUTONAVI_VERSION=1.1.0.15 -MOGO_MAP_VERSION=1.1.0.15 -MOGO_MAP_API_VERSION=1.1.0.15 -MOGO_SERVICE_VERSION=1.1.0.15 -MOGO_SERVICE_API_VERSION=1.1.0.15 -MOGO_CONNECTION_VERSION=1.1.0.15 -MOGO_MODULE_APPS_VERSION=1.1.0.15 -MOGO_MODULE_NAVI_VERSION=1.1.0.15 -MOGO_MODULE_SHARE_VERSION=1.1.0.15 -MOGO_MODULE_COMMON_VERSION=1.1.0.15 -MOGO_MODULE_MAIN_VERSION=1.1.0.15 -MOGO_MODULE_MAP_VERSION=1.1.0.15 -MOGO_MODULE_SERVICE_VERSION=1.1.0.15 -MOGO_MODULE_EXTENSIONS_VERSION=1.1.0.15 -MOGO_MODULE_SEARCH_VERSION=1.1.0.15 -MOGO_MODULE_BACK_VERSION=1.1.0.15 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.1.0.15 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.1.0.15 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.1.0.15 -MOGO_MODULE_AUTHORIZE_VERSION=1.1.0.15 -MOGO_MODULE_GUIDE_VERSION=1.1.0.15 +MOGO_COMMONS_VERSION=1.2.0 +MOGO_UTILS_VERSION=1.2.0 +MAP_AMAP_VERSION=1.2.0 +MAP_AUTONAVI_VERSION=1.2.0 +MOGO_MAP_VERSION=1.2.0 +MOGO_MAP_API_VERSION=1.2.0 +MOGO_SERVICE_VERSION=1.2.0 +MOGO_SERVICE_API_VERSION=1.2.0 +MOGO_CONNECTION_VERSION=1.2.0 +MOGO_MODULE_APPS_VERSION=1.2.0 +MOGO_MODULE_NAVI_VERSION=1.2.0 +MOGO_MODULE_SHARE_VERSION=1.2.0 +MOGO_MODULE_COMMON_VERSION=1.2.0 +MOGO_MODULE_MAIN_VERSION=1.2.0 +MOGO_MODULE_MAP_VERSION=1.2.0 +MOGO_MODULE_SERVICE_VERSION=1.2.0 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.0 +MOGO_MODULE_SEARCH_VERSION=1.2.0 +MOGO_MODULE_BACK_VERSION=1.2.0 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.0 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.0 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.0 +MOGO_MODULE_AUTHORIZE_VERSION=1.2.0 +MOGO_MODULE_GUIDE_VERSION=1.2.0 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.0 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.0 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.1 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.1 ## 工程外部模块 diff --git a/libraries/map-autonavi/build.gradle b/libraries/map-autonavi/build.gradle index 941f9b2ff5..fe07d63360 100644 --- a/libraries/map-autonavi/build.gradle +++ b/libraries/map-autonavi/build.gradle @@ -42,4 +42,6 @@ dependencies { implementation project(':libraries:map-amap') } -} \ No newline at end of file +} + +apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/upload.sh b/upload.sh index 1b56049a7e..f2d05856f2 100755 --- a/upload.sh +++ b/upload.sh @@ -6,7 +6,7 @@ ./gradlew :services:mogo-service-api:clean :services:mogo-service-api:uploadArchives ./gradlew :foudations:mogo-connection:clean :foudations:mogo-connection:uploadArchives ./gradlew :libraries:map-amap:clean :libraries:map-amap:uploadArchives -./gradlew :libraries:map-autommap:clean :libraries:map-autommap:uploadArchives +./gradlew :libraries:map-autonavi:clean :libraries:map-autonavi:uploadArchives ./gradlew :libraries:mogo-map:clean :libraries:mogo-map:uploadArchives ./gradlew :services:mogo-service:clean :services:mogo-service:uploadArchives ./gradlew :modules:mogo-module-common:clean :modules:mogo-module-common:uploadArchives @@ -18,8 +18,9 @@ ./gradlew :modules:mogo-module-extensions:clean :modules:mogo-module-extensions:uploadArchives ./gradlew :modules:mogo-module-gps-simulator:clean :modules:mogo-module-gps-simulator:uploadArchives ./gradlew :modules:mogo-module-search:clean :modules:mogo-module-search:uploadArchives -./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives +./gradlew :modules:mogo-module-media:clean :modules:mogo-module-media:uploadArchives ./gradlew :modules:mogo-module-back:clean :modules:mogo-module-back:uploadArchives +./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives ./gradlew :modules:mogo-module-guide:clean :modules:mogo-module-guide:uploadArchives ./gradlew :modules:mogo-module-gps-simulator-debug:clean :modules:mogo-module-gps-simulator-debug:uploadArchives ./gradlew :modules:mogo-module-gps-simulator-noop:clean :modules:mogo-module-gps-simulator-noop:uploadArchives From 34ef0c4baef62f77a0d7d76c6329033968084773 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 17:48:29 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/extensions/ExtensionsFragment.java | 6 ++++++ .../model_ext_default_user_head.png | Bin 0 -> 3861 bytes .../res/drawable/model_ext_default_user_head.png | Bin 0 -> 1604 bytes .../res/layout/module_ext_layout_extensions.xml | 14 ++++++++++++-- .../src/main/res/values-xhdpi/dimens.xml | 3 +++ .../src/main/res/values/dimens.xml | 3 +++ 6 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png create mode 100644 modules/mogo-module-extensions/src/main/res/drawable/model_ext_default_user_head.png diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java index 551ec8e41c..7a43fcb30c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java @@ -12,6 +12,7 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; import com.mogo.module.extensions.userinfo.UserInfo; +import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; /** @@ -35,6 +36,8 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP private View mMsgContainer; private TextView mMsgCounter; + private ImageView mUserHeadImg; + @Override protected int getLayoutId() { return R.layout.module_ext_layout_extensions; @@ -47,6 +50,8 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP mWeatherIcon = findViewById( R.id.module_ext_id_weather_icon ); mWeatherTemp = findViewById( R.id.module_ext_id_weather_temp ); + mUserHeadImg = findViewById(R.id.ivUserHeadImg); + mMsgContainer = findViewById( R.id.module_ext_id_msg ); mMsgContainer.setOnClickListener( view -> { ARouter.getInstance().build( "/push/ui/message" ).navigation( getContext() ); @@ -100,5 +105,6 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP @Override public void renderUserInfo(UserInfo userInfo) { Logger.d(TAG, "renderUserInfo: " + userInfo); + GlideApp.with(getContext()).load(userInfo.getHeadImgurl()).circleCrop().into(mUserHeadImg); } } diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/model_ext_default_user_head.png new file mode 100644 index 0000000000000000000000000000000000000000..baa717be4d7f7fc48d907b1518fb1120a769ca25 GIT binary patch literal 3861 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 + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index c9ef02f98b..631cd4f0d8 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -73,6 +73,9 @@ 30px 20px + 103px + 103px + 1058px 210px diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml index 05bb2387f9..161772cb13 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -76,6 +76,9 @@ 15px 11.73px + 56px + 56px + 544px 117px From cde6591e80d5cac2bf51bc72d0186bf88ea5e4a2 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 17:53:27 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E8=B7=B3=E8=BD=AC=E4=B8=AA=E4=BA=BA=E4=B8=AD?= =?UTF-8?q?=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/extensions/ExtensionsFragment.java | 8 +++++ .../module/extensions/utils/LaunchUtils.java | 29 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java index 7a43fcb30c..e5254a81c6 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java @@ -12,6 +12,7 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; import com.mogo.module.extensions.userinfo.UserInfo; +import com.mogo.module.extensions.utils.LaunchUtils; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; @@ -57,6 +58,13 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP ARouter.getInstance().build( "/push/ui/message" ).navigation( getContext() ); } ); mMsgCounter = findViewById( R.id.module_ext_id_msg_counter ); + mUserHeadImg.setOnClickListener(view ->{ + try { + LaunchUtils.launchByPkg(getContext(), "com.zhidao.auto.personal"); + } catch (Exception e) { + Logger.e(TAG, e, "打开个人中心Exception"); + } + }); } @NonNull diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java new file mode 100644 index 0000000000..14ff5c58d8 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/LaunchUtils.java @@ -0,0 +1,29 @@ +package com.mogo.module.extensions.utils; + +import android.content.Context; +import android.content.Intent; + +/** + * @author congtaowang + * @since 2020-02-03 + *

+ * 描述 + */ +public class LaunchUtils { + + /** + * 通过包名启动app + * + * @param context + * @param pkg 包名 + */ + public static void launchByPkg( Context context, String pkg ) throws Exception { + Intent intent = getLaunchIntentForPackage( context, pkg ); + intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + context.startActivity( intent ); + } + + public static Intent getLaunchIntentForPackage( Context context, String pkg ) { + return context.getPackageManager().getLaunchIntentForPackage( pkg ); + } +} From 8f20329b337b9923c55e588bf5529beeb9e529ed Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 19:03:48 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9B=BF=E6=8D=A2qq=E9=9F=B3=E4=B9=90?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=AF=AD=E9=9F=B3=E4=B8=BA=E7=88=B1=E8=B6=A3?= =?UTF-8?q?=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/media/MediaWindow2.java | 18 +++++++- .../media/receiver/MediaSpeechReceiver.java | 41 +++++++++++-------- 2 files changed, 40 insertions(+), 19 deletions(-) diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java index 2c89aead5d..69c9f8068a 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaWindow2.java @@ -7,6 +7,9 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import com.mogo.commons.debug.DebugConfig; +import com.mogo.commons.voice.AIAssist; +import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.module.media.constants.MusicConstant; import com.mogo.module.media.listener.NoDoubleClickListener; import com.mogo.module.media.model.MediaInfoData; @@ -21,6 +24,7 @@ import com.mogo.module.media.widget.ScrollingTextView; import com.mogo.utils.TipToast; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; +import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl; /** * 适配爱趣听的window @@ -54,7 +58,19 @@ public class MediaWindow2 implements IMusicView { mPresenter = new WeCarFlowPresenter(this); mPresenter.init(context); - isFirstPlay = true; + if(DebugConfig.isLauncher()) { + AIAssist.getInstance(context).registerUnWakeupCommand("flow_we_car_stop", new String[]{"停止播放", "暂停播放"}, new IMogoVoiceCmdCallBack() { + @Override + public void onCmdSelected(String cmd) { + // 简单添加暂停播放全局免唤醒词 + if ("flow_we_car_stop".equals(cmd)) { + FlowPlayControl.getInstance().doPause(); + } + } + }); + } + + isFirstPlay = true; } private void addWindowView() { diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java index 5fecc7468d..fd35cc5bb6 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/receiver/MediaSpeechReceiver.java @@ -9,6 +9,9 @@ import com.mogo.module.media.utils.MusicControlBroadCast; import com.mogo.utils.ActivityLifecycleManager; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; +import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl; + +import io.reactivex.processors.FlowableProcessor; /** * 我要听{歌手/歌名}: @@ -35,30 +38,32 @@ public class MediaSpeechReceiver extends BroadcastReceiver { //我要听{歌手/歌名} Logger.d("MediaSpeechReceiver"," "+"type qq "); String musicModel = intent.getStringExtra("music_model"); - if (appActive){ - MusicControlBroadCast.playSomeBodyMusic(musicModel); - MusicControlBroadCast.mediaCenterBroadcast(); - }else { - MusicControlBroadCast.playSomeBodyMusic(musicModel); - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - MusicControlBroadCast.qqOpenQQMusic(); - } - },300); - } + FlowPlayControl.getInstance().semanticSearch(context, "launcher", musicModel); +// if (appActive){ +// MusicControlBroadCast.playSomeBodyMusic(musicModel); +// MusicControlBroadCast.mediaCenterBroadcast(); +// }else { +// MusicControlBroadCast.playSomeBodyMusic(musicModel); +// UiThreadHandler.postDelayed(new Runnable() { +// @Override +// public void run() { +// MusicControlBroadCast.qqOpenQQMusic(); +// } +// },300); +// } }else if (cmdAction.equals("com.zhidao.speech.awake.notify")){ //播放音乐 String musicCmd = intent.getStringExtra("command"); Logger.d("MediaSpeechReceiver"," "+"qq book"+musicCmd==null?"":musicCmd); if (musicCmd.equals("com.ileja.music.playapp")){ //QQ音乐 - if (appActive){ - MusicControlBroadCast.qqPlayQQMusic(); - MusicControlBroadCast.mediaCenterBroadcast(); - }else{ - MusicControlBroadCast.qqOpenQQMusic(); - } + FlowPlayControl.getInstance().doPlay(); +// if (appActive){ +// MusicControlBroadCast.qqPlayQQMusic(); +// MusicControlBroadCast.mediaCenterBroadcast(); +// }else{ +// MusicControlBroadCast.qqOpenQQMusic(); +// } }else if (musicCmd.equals("com.zhidao.book.play")){ //懒人听书 if (appActive){