From c712b6f03b73ef26842baeecedde2ae1d96bb472 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 15:30:42 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=BA=86=E8=87=AA?= =?UTF-8?q?=E8=BA=AB=E7=9A=84broadcast=20receiver?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mogo-module-share/build.gradle | 2 + .../src/main/AndroidManifest.xml | 5 - .../com/mogo/module/share/ShareControl.java | 134 +++++++++++++++++- .../module/share/ShareVoiceCmdReceiver.kt | 75 ---------- 4 files changed, 134 insertions(+), 82 deletions(-) delete mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt diff --git a/modules/mogo-module-share/build.gradle b/modules/mogo-module-share/build.gradle index e355181036..5a6e9d9be2 100644 --- a/modules/mogo-module-share/build.gradle +++ b/modules/mogo-module-share/build.gradle @@ -46,10 +46,12 @@ dependencies { implementation rootProject.ext.dependencies.mogoutils implementation rootProject.ext.dependencies.mogocommons implementation rootProject.ext.dependencies.modulecommon + implementation rootProject.ext.dependencies.mogomoduleauth } else { implementation project(":foudations:mogo-utils") api project(":foudations:mogo-commons") implementation project(':modules:mogo-module-common') + implementation project(':modules:mogo-module-authorize') } } diff --git a/modules/mogo-module-share/src/main/AndroidManifest.xml b/modules/mogo-module-share/src/main/AndroidManifest.xml index 8ca40a6422..d170d3f9cd 100644 --- a/modules/mogo-module-share/src/main/AndroidManifest.xml +++ b/modules/mogo-module-share/src/main/AndroidManifest.xml @@ -2,10 +2,5 @@ package="com.mogo.module.share" > - - - - - diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index a5b5aba610..c05b188587 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -1,31 +1,66 @@ package com.mogo.module.share; import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; +import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; +import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener; +import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener; +import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; +import com.mogo.module.authorize.model.bean.Agreement; +import com.mogo.module.share.constant.ShareConstants; import com.mogo.module.share.dialog.LaucherShareDialog; import com.mogo.module.share.manager.ServiceApisManager; +import com.mogo.module.share.manager.UploadHelper; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; +import com.mogo.service.intent.IMogoIntentListener; +import com.mogo.service.intent.IMogoIntentManager; import com.mogo.service.share.IMogoShareManager; +import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; +import org.jetbrains.annotations.NotNull; +import org.json.JSONException; +import org.json.JSONObject; + +import static com.mogo.module.share.constant.ShareConstants.TYPE_ACCIDENT; +import static com.mogo.module.share.constant.ShareConstants.TYPE_DENSE_FOG; +import static com.mogo.module.share.constant.ShareConstants.TYPE_REAL_TIME_TRAFFIC; +import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_CONSTRUCTION; +import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_ICY; +import static com.mogo.module.share.constant.ShareConstants.TYPE_STAGNANT_WATER; +import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_GO_TO_SHARE; +import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_ROAD_CONDITION; +import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBLE_HELP; + /** + * 分享框的逻辑都放到这里吧 + * * @author lixiaopeng * @description 分享弹框接口 * @since 2020-01-10 */ @Route(path = MogoServicePaths.PATH_SHARE) public class ShareControl implements IMogoShareManager { + private static final String TAG = "ShareControl"; private Context mContext; private LaucherShareDialog mShareDialog; + private IMogoAuthorizeModuleManager authorizeModuleManager; + @Override public void showShareDialog() { - mShareDialog = new LaucherShareDialog(mContext); - mShareDialog.show(); + if (authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE)) { + authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); + }else{ + realShowDialog(); + } } @Override @@ -35,9 +70,104 @@ public class ShareControl implements IMogoShareManager { } } + private void realShowDialog(){ + if (mShareDialog == null) { + mShareDialog = new LaucherShareDialog(mContext); + } + mShareDialog.show(); + } + @Override public void init(Context context) { mContext = context; ServiceApisManager.INSTANCE.init(context); + authorizeModuleManager = + (IMogoAuthorizeModuleManager) ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation(context); + authorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE, new IMogoAcquireAuthorizeListener() { + @Override + public void authorizeSuccess() { + realShowDialog(); + } + + @Override + public void authorizeFailed(@NotNull String errorMsg) { + TipToast.tip("未授权,无法分享"); + } + + @Override + public void forbiddenVoiceWhenAuthorize(@NotNull String cmd) { + TipToast.tip("未授权,无法分享"); + } + }); + ServiceApisManager.serviceApis.getIntentManagerApi().registerIntentListener("ShareDialog", new IMogoIntentListener() { + @Override + public void onIntentReceived(String intentStr, Intent intent) { + // 此处只接受处理语音相关广播 + String command = intent.getStringExtra("command"); + Logger.d(TAG, "收到唤醒词指令: " + command); + try { + switch (command) { + case VOICE_CMD_PUB_TROUBLE_HELP: { + // 开启服务,准备上报求助 + Intent seekHelp = new Intent(mContext, VoiceCmdService.class); + seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY, + ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP); + mContext.startService(seekHelp); + dismissShareDialog(); + break; + } + case VOICE_CMD_GO_TO_SHARE: { + String ob = new JSONObject(intent.getStringExtra("data")).opt("ob").toString(); + Logger.d(TAG, "ob: $ob"); + switch (ob) { + case "积水": { + UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); + dismissShareDialog(); + break; + } + case "积冰": { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); + dismissShareDialog(); + break; + } + case "雾": { + UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); + dismissShareDialog(); + break; + } + case "交通事故": { + UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); + dismissShareDialog(); + break; + } + case "施工": { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); + dismissShareDialog(); + break; + } + default: + break; + } + } + case VOICE_CMD_PUB_ROAD_CONDITION: { + String ob = + new JSONObject(intent.getStringExtra("data")).opt("obj").toString(); + Logger.d(TAG, "ob:" + ob); + if ("路况".equals(ob)) { + // 上报实时路况 + Logger.d(TAG, "分享框准备触发上报实时路况"); + UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC); + dismissShareDialog(); + break; + } + } + default: + break; + } + } catch (Exception e) { + Logger.e(TAG, e, "ShareControl exception"); + } + } + }); } } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt deleted file mode 100644 index b8695ceb5d..0000000000 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareVoiceCmdReceiver.kt +++ /dev/null @@ -1,75 +0,0 @@ -package com.mogo.module.share - -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import com.mogo.module.share.constant.ShareConstants -import com.mogo.module.share.constant.ShareConstants.* -import com.mogo.module.share.manager.ServiceApisManager -import com.mogo.module.share.manager.UploadHelper -import com.mogo.utils.logger.Logger -import org.json.JSONObject - -/** - * 用于接收唤醒词指令,现在只接收 com.zhidao.speech.awake.notify 这一条广播 - */ -class ShareVoiceCmdReceiver : BroadcastReceiver() { - private val TAG = "ShareVoiceCmdReceiver" - override fun onReceive(context: Context, intent: Intent) { - // 接收唤醒词指令 - val command = intent.getStringExtra("command")?:"" - Logger.d(TAG, "收到唤醒词指令: $command") - when (command) { - VOICE_CMD_PUB_TROUBLE_HELP -> { - // 开启服务,准备上报求助 - val seekHelp = Intent(context, VoiceCmdService::class.java) - seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY, ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP) - context.startService(seekHelp) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - VOICE_CMD_GO_TO_SHARE ->{ - val ob = JSONObject(intent.getStringExtra("data") ?: "").opt("ob") - Logger.d(TAG, "ob: $ob") - when (ob) { - "积水"->{ - UploadHelper.upload(context, TYPE_STAGNANT_WATER) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - "积冰"->{ - UploadHelper.upload(context, TYPE_ROAD_ICY) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - "雾"->{ - UploadHelper.upload(context, TYPE_DENSE_FOG) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - "交通事故"->{ - UploadHelper.upload(context, TYPE_ACCIDENT) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - "施工"->{ - UploadHelper.upload(context, TYPE_ROAD_CONSTRUCTION) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - } - } - VOICE_CMD_PUB_ROAD_CONDITION->{ - val ob = JSONObject(intent.getStringExtra("data") ?: "").opt("obj") - Logger.d(TAG, "ob: $ob") - if(ob == "路况") { - // 上报实时路况 - Logger.d(TAG, "分享框准备触发上报实时路况") - UploadHelper.upload(context, TYPE_REAL_TIME_TRAFFIC) - ServiceApisManager.serviceApis.shareManager.dismissShareDialog() -// ShareControl.getInstance(context).dismissDialog() - } - } - } - } -} \ No newline at end of file From c0dd5d3161d1083151649066f7e42270b1126c02 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 17:12:15 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E5=AE=8C=E6=AF=95=EF=BC=8C=E5=BE=85=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/commons/debug/DebugConfig.java | 23 ++ modules/mogo-module-extensions/build.gradle | 4 +- .../extensions/entrance/EntranceFragment.java | 385 ++++++++---------- .../entrance/EntrancePresenter.java | 373 +---------------- .../net/UserInfoNetApiServices.java | 2 - .../com/mogo/module/share/ShareControl.java | 378 +++++++++++++---- .../mogo/module/share/bean/StepAfterAuth.kt | 10 + .../module/share/constant/ShareConstants.java | 68 +++- 8 files changed, 585 insertions(+), 658 deletions(-) create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 1e404bf945..46fbd55dd2 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -51,6 +51,17 @@ public class DebugConfig { private static int sNetMode = NET_MODE_RELEASE; + /** + * 语音使用同行者 + */ + public static final int AI_TYPE_TXZ = 1; + /** + * 语音使用思必驰 + */ + public static final int AI_TYPE_SPEECH = 2; + + private static int sAIType = AI_TYPE_TXZ; + /** * 获取网络环境类型 * @@ -99,4 +110,16 @@ public class DebugConfig { public static void setUseCustomNavi( boolean sUseCustomNavi ) { DebugConfig.sUseCustomNavi = sUseCustomNavi; } + + /** + * 设置使用哪个语音助手 + * @param aiType AI_TYPE_TXZ AI_TYPE_SPEECH + */ + public static void setAIType(int aiType){ + sAIType = aiType; + } + + public static int getAIType(){ + return sAIType; + } } diff --git a/modules/mogo-module-extensions/build.gradle b/modules/mogo-module-extensions/build.gradle index 165459ff0d..4ced0877b8 100644 --- a/modules/mogo-module-extensions/build.gradle +++ b/modules/mogo-module-extensions/build.gradle @@ -51,7 +51,7 @@ dependencies { api rootProject.ext.dependencies.mogoserviceapi implementation rootProject.ext.dependencies.modulecommon implementation rootProject.ext.dependencies.moduleshare - implementation rootProject.ext.dependencies.mogomoduleauth +// implementation rootProject.ext.dependencies.mogomoduleauth } else { api project(":libraries:mogo-map") api project(":libraries:mogo-map-api") @@ -60,7 +60,7 @@ dependencies { api project(':services:mogo-service-api') implementation project(':modules:mogo-module-common') implementation project(':modules:mogo-module-share') - implementation project(':modules:mogo-module-authorize') +// implementation project(':modules:mogo-module-authorize') } } 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 341cda917f..43c603bbf7 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 @@ -6,7 +6,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; -import android.util.Log; import android.util.TypedValue; import android.view.View; import android.widget.ImageView; @@ -30,9 +29,6 @@ import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; -import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; -import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener; -import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; import com.mogo.module.common.dialog.WMDialog; import com.mogo.module.common.map.CustomNaviInterrupter; import com.mogo.module.common.map.MapCenterPointStrategy; @@ -40,9 +36,7 @@ import com.mogo.module.common.map.Scene; import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.module.extensions.R; import com.mogo.module.extensions.navi.NaviInfoView; -import com.mogo.module.extensions.userinfo.UserInfo; import com.mogo.module.extensions.utils.TopViewAnimHelper; -import com.mogo.module.share.ShareControl; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; @@ -56,14 +50,12 @@ import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.UiThreadHandler; -import com.mogo.utils.logger.Logger; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE; /** * @author congtaowang @@ -71,12 +63,11 @@ import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerCons *

* 描述 */ -public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > +public class EntranceFragment extends MvpFragment implements EntranceView, IMogoNaviListener, IMogoMapListener, IMogoAimlessModeListener, - IMogoAcquireAuthorizeListener, IMogoStatusChangedListener { private static final String TAG = "EntranceFragment"; @@ -107,7 +98,6 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private IMogoAnalytics mAnalytics; private IMogoStatusManager mMogoStatusManager; private EntrancePresenter mEntrancePresenter; - private IMogoAuthorizeModuleManager mIMogoAuthorizeModuleManager; private IMogoStatusManager mStatusManager; @@ -176,10 +166,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private Runnable mLockCarRunnable = new Runnable() { @Override public void run() { - if ( !mStatusManager.isDisplayOverview() ) { + if (!mStatusManager.isDisplayOverview()) { return; } - mStatusManager.setDisplayOverview( TAG, false ); + mStatusManager.setDisplayOverview(TAG, false); mMApUIController.recoverLockMode(); } }; @@ -189,23 +179,21 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent return R.layout.module_ext_layout_entrance; } - private List< View > demoCache = new ArrayList<>(); + private List demoCache = new ArrayList<>(); @Override protected void initViews() { - mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() ); - mIMogoAuthorizeModuleManager = ( IMogoAuthorizeModuleManager ) ARouter.getInstance().build( AuthorizeConstant.PROVIDER_MODULE ).navigation( getContext() ); - mIMogoAuthorizeModuleManager.registerAuthorizeListener( AUTHORIZE_TYPE_LAUNCHER_SHARE, this ); + mApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(getContext()); - mEntrancePresenter = new EntrancePresenter( getContext(), this, mIMogoAuthorizeModuleManager ); + mEntrancePresenter = new EntrancePresenter(getContext(), this); mMogoFragmentManager = mApis.getFragmentManagerApi(); mStatusManager = mApis.getStatusManagerApi(); - mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); - mUpload = findViewById( R.id.module_entrance_id_upload ); - mUploading = findViewById( R.id.module_entrance_id_uploading ); - mUploadRoadCondition.setOnClickListener( view -> { + mUploadRoadCondition = findViewById(R.id.module_entrance_id_upload_road_condition); + mUpload = findViewById(R.id.module_entrance_id_upload); + mUploading = findViewById(R.id.module_entrance_id_uploading); + mUploadRoadCondition.setOnClickListener(view -> { // // todo 测试动画 // View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); // TextView tv = v.findViewById(R.id.tvIndex); @@ -224,25 +212,25 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent // }); // 原始逻辑 showShareDialog(); - } ); + }); - mDisplayOverview = findViewById( R.id.module_ext_id_display_overview ); - mDisplayOverviewText = findViewById( R.id.module_ext_id_display_overview_text ); - mDisplayOverviewIcon = findViewById( R.id.module_ext_id_display_overview_icon ); - mDisplayOverview.setOnClickListener( view -> { - if ( !mStatusManager.isDisplayOverview() ) { - mMApUIController.displayOverview( mDisplayOverviewBounds ); - UiThreadHandler.removeCallbacks( mLockCarRunnable ); - UiThreadHandler.postDelayed( mLockCarRunnable, 20_000 ); + mDisplayOverview = findViewById(R.id.module_ext_id_display_overview); + mDisplayOverviewText = findViewById(R.id.module_ext_id_display_overview_text); + mDisplayOverviewIcon = findViewById(R.id.module_ext_id_display_overview_icon); + mDisplayOverview.setOnClickListener(view -> { + if (!mStatusManager.isDisplayOverview()) { + mMApUIController.displayOverview(mDisplayOverviewBounds); + UiThreadHandler.removeCallbacks(mLockCarRunnable); + UiThreadHandler.postDelayed(mLockCarRunnable, 20_000); } else { mMApUIController.recoverLockMode(); - UiThreadHandler.removeCallbacks( mLockCarRunnable ); + UiThreadHandler.removeCallbacks(mLockCarRunnable); } - mStatusManager.setDisplayOverview( TAG, !mStatusManager.isDisplayOverview() ); - } ); + mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview()); + }); - mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location ); - mMove2CurrentLocation.setOnClickListener( view -> { + mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location); + mMove2CurrentLocation.setOnClickListener(view -> { // // todo 测试动画 // if(!toggle) { // TopViewAnimHelper.getInstance().showNaviView(); @@ -258,102 +246,109 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent // } // 原始逻辑 final MogoLocation location = mMogoLocationClient.getLastKnowLocation(); - if ( location != null ) { - if ( !mMogoStatusManager.isV2XShow() ) { - mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); - mMApUIController.setLockZoom( 16 ); - mMApUIController.changeZoom( 16.0f ); + if (location != null) { + if (!mMogoStatusManager.isV2XShow()) { + mMogoStatusManager.setUserInteractionStatus(TAG, true, false); + mMApUIController.setLockZoom(16); + mMApUIController.changeZoom(16.0f); } - if ( mStatusManager.isDisplayOverview() ) { - mMogoStatusManager.setDisplayOverview( TAG, false ); - UiThreadHandler.removeCallbacks( mLockCarRunnable ); + if (mStatusManager.isDisplayOverview()) { + mMogoStatusManager.setDisplayOverview(TAG, false); + UiThreadHandler.removeCallbacks(mLockCarRunnable); } - mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); + mMogoStatusManager.setUserInteractionStatus(TAG, true, false); mMApUIController.recoverLockMode(); } - } ); + }); // mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel ); - ConstraintLayout rootView = findViewById( R.id.module_entrance_id_top_motion_layout ); - if ( rootView != null ) { - TopViewAnimHelper.getInstance().init( rootView ); + ConstraintLayout rootView = findViewById(R.id.module_entrance_id_top_motion_layout); + if (rootView != null) { + TopViewAnimHelper.getInstance().init(rootView); } - mExitNavi = findViewById( R.id.module_entrance_id_exit_navi ); - mExitNavi.setOnClickListener( view -> { - if ( mMogoNavi != null ) { - if ( mIsLock ) { - new WMDialog.Builder( getContext() ) - .setOkButton( R.string.module_commons_button_ok, ( dlg, which ) -> { + mExitNavi = findViewById(R.id.module_entrance_id_exit_navi); + mExitNavi.setOnClickListener(view -> { + if (mMogoNavi != null) { + if (mIsLock) { + new WMDialog.Builder(getContext()) + .setOkButton(R.string.module_commons_button_ok, (dlg, which) -> { dlg.dismiss(); mMogoNavi.stopNavi(); - } ) - .setCancelButton( R.string.module_commons_button_cancel, ( dlg, which ) -> { + }) + .setCancelButton(R.string.module_commons_button_cancel, + (dlg, which) -> { dlg.dismiss(); - } ) - .setContent( R.string.module_commons_exit_navi_content ) + }) + .setContent(R.string.module_commons_exit_navi_content) .build() .show(); } else { - MapCenterPointStrategy.setMapCenterPointByScene( mMApUIController, Scene.NAVI ); + MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.NAVI); mMApUIController.recoverLockMode(); } } - } ); + }); - mCameraMode = findViewById( R.id.module_ext_id_north ); - mCameraMode.setOnClickListener( view -> { - if ( mCameraMode.isSelected() ) { - mMApUIController.changeMapMode( EnumMapUI.CarUp_2D ); + mCameraMode = findViewById(R.id.module_ext_id_north); + mCameraMode.setOnClickListener(view -> { + if (mCameraMode.isSelected()) { + mMApUIController.changeMapMode(EnumMapUI.CarUp_2D); } else { - mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D ); + mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D); } - mCameraMode.setSelected( !mCameraMode.isSelected() ); - mCameraMode.setText( getString( mCameraMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) ); - } ); + mCameraMode.setSelected(!mCameraMode.isSelected()); + mCameraMode.setText(getString(mCameraMode.isSelected() ? R.string.mode_car_up : + R.string.mode_north_up)); + }); - mApis.getIntentManagerApi().registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, new IMogoIntentListener() { + mApis.getIntentManagerApi().registerIntentListener(AUTONAVI_STANDARD_BROADCAST_RECV, + new IMogoIntentListener() { @Override - public void onIntentReceived( String intentStr, Intent intent ) { - int key_type = intent.getIntExtra( "KEY_TYPE", 0 ); - int type = intent.getIntExtra( "EXTRA_TYPE", -1 ); - int opera_type = intent.getIntExtra( "EXTRA_OPERA", -1 ); - if ( key_type == 10027 ) { - if ( opera_type == 0 ) { - mCameraMode.setSelected( false ); - } else if ( opera_type == 1 ) { - mCameraMode.setSelected( true ); + public void onIntentReceived(String intentStr, Intent intent) { + int key_type = intent.getIntExtra("KEY_TYPE", 0); + int type = intent.getIntExtra("EXTRA_TYPE", -1); + int opera_type = intent.getIntExtra("EXTRA_OPERA", -1); + if (key_type == 10027) { + if (opera_type == 0) { + mCameraMode.setSelected(false); + } else if (opera_type == 1) { + mCameraMode.setSelected(true); } - mCameraMode.setText( getString( mCameraMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) ); + mCameraMode.setText(getString(mCameraMode.isSelected() ? + R.string.mode_car_up : R.string.mode_north_up)); } } - } ); - MogoEntranceButtons.save( ButtonIndex.BUTTON1, findViewById( R.id.module_entrance_id_button1 ) ); - MogoEntranceButtons.save( ButtonIndex.BUTTON2, findViewById( R.id.module_entrance_id_button2 ) ); + }); + MogoEntranceButtons.save(ButtonIndex.BUTTON1, + findViewById(R.id.module_entrance_id_button1)); + MogoEntranceButtons.save(ButtonIndex.BUTTON2, + findViewById(R.id.module_entrance_id_button2)); mDisplayOverviewBounds = new Rect( - ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_left_margin ), - ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_top_margin ), - ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_right_margin ), - ResourcesHelper.getDimensionPixelSize( getContext(), R.dimen.module_map_display_overview_bottom_margin ) + ResourcesHelper.getDimensionPixelSize(getContext(), + R.dimen.module_map_display_overview_left_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), + R.dimen.module_map_display_overview_top_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), + R.dimen.module_map_display_overview_right_margin), + ResourcesHelper.getDimensionPixelSize(getContext(), + R.dimen.module_map_display_overview_bottom_margin) ); mNaviInfo = new NaviInfoView(); - mNaviInfo.inflate( rootView ); + mNaviInfo.inflate(rootView); } public void showShareDialog() { isClickShare = true; - if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) { - mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE ); - } else { - mApis.getShareManager().showShareDialog(); - traceData( "1" ); - } + mApis.getShareManager().showShareDialog(); + traceData("1"); } - private static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV"; + private static final String AUTONAVI_STANDARD_BROADCAST_RECV = + "AUTONAVI_STANDARD_BROADCAST_RECV"; @NonNull @Override @@ -362,165 +357,142 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent } @Override - public void onActivityCreated( @Nullable Bundle savedInstanceState ) { - super.onActivityCreated( savedInstanceState ); + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); mService = mApis.getMapServiceApi(); mMogoRegisterCenter = mApis.getRegisterCenterApi(); mMApUIController = mService.getMapUIController(); - mMogoLocationClient = mService.getSingletonLocationClient( getContext() ); - mMogoNavi = mService.getNavi( getContext() ); + mMogoLocationClient = mService.getSingletonLocationClient(getContext()); + mMogoNavi = mService.getNavi(getContext()); mAnalytics = mApis.getAnalyticsApi(); mMogoStatusManager = mApis.getStatusManagerApi(); - mMogoRegisterCenter.registerMogoNaviListener( ExtensionsModuleConst.TYPE_ENTRANCE, this ); - mMogoRegisterCenter.registerMogoMapListener( ExtensionsModuleConst.TYPE_ENTRANCE, this ); - mMogoRegisterCenter.registerMogoAimlessModeListener( TAG, this ); + mMogoRegisterCenter.registerMogoNaviListener(ExtensionsModuleConst.TYPE_ENTRANCE, this); + mMogoRegisterCenter.registerMogoMapListener(ExtensionsModuleConst.TYPE_ENTRANCE, this); + mMogoRegisterCenter.registerMogoAimlessModeListener(TAG, this); - mMogoMarkerManager = mService.getMarkerManager( getContext() ); + mMogoMarkerManager = mService.getMarkerManager(getContext()); - mMogoStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.UPLOADING, this ); - mMogoStatusManager.registerStatusChangedListener( TAG, StatusDescriptor.DISPLAY_OVERVIEW, this ); + mMogoStatusManager.registerStatusChangedListener(TAG, StatusDescriptor.UPLOADING, this); + mMogoStatusManager.registerStatusChangedListener(TAG, StatusDescriptor.DISPLAY_OVERVIEW, + this); - TopViewAnimHelper.getInstance().setIMogoMapUIController( mMApUIController ); + TopViewAnimHelper.getInstance().setIMogoMapUIController(mMApUIController); } @Override public void onDestroyView() { super.onDestroyView(); - if ( mEntrancePresenter != null ) { - mEntrancePresenter.unregisterUnWake(); - } - isClickShare = false; - mIMogoAuthorizeModuleManager.unregisterAuthorizeListener( AUTHORIZE_TYPE_LAUNCHER_SHARE ); - } - - - @Override - public void authorizeSuccess() { - Log.d( TAG, "authorizeSuccess --------> isClickShare = " + isClickShare ); - if ( isClickShare ) { - mApis.getShareManager().showShareDialog(); - traceData( "1" ); - } else { - mEntrancePresenter.handleNeedAuthorizeCmd(); - } } @Override - public void authorizeFailed( String errorMsg ) { - Log.e( TAG, "authorizeFailed --------> errorMsg = " + errorMsg + " >> isClickShare = " + isClickShare ); - } - - @Override - public void forbiddenVoiceWhenAuthorize( String cmd ) { - Log.d( TAG, "forbiddenVoiceWhenAuthorize --------> cmd = " + cmd ); - - } - - @Override - public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) { - if ( naviinfo == null ) { + public void onNaviInfoUpdate(MogoNaviInfo naviinfo) { + if (naviinfo == null) { return; } - if ( mExitNavi.getVisibility() == View.GONE ) { + if (mExitNavi.getVisibility() == View.GONE) { // 避免先导航,后启动app导致无法显示控件 onStartNavi(); } - mNaviInfo.notifyChanged( naviinfo ); + mNaviInfo.notifyChanged(naviinfo); } @Override public void onStartNavi() { TopViewAnimHelper.getInstance().showNaviView(); - mMApUIController.changeMapMode( mCameraMode.isSelected() ? EnumMapUI.NorthUP_2D : EnumMapUI.CarUp_2D ); - MapCenterPointStrategy.setMapCenterPointBySceneAndDelay( mMApUIController, Scene.NAVI, 500, () -> { + mMApUIController.changeMapMode(mCameraMode.isSelected() ? EnumMapUI.NorthUP_2D : + EnumMapUI.CarUp_2D); + MapCenterPointStrategy.setMapCenterPointBySceneAndDelay(mMApUIController, Scene.NAVI, 500 + , () -> { return !mMogoNavi.isNaviing(); - } ); - if(CustomNaviInterrupter.getInstance().interrupt()){ + }); + if (CustomNaviInterrupter.getInstance().interrupt()) { mDisplayOverview.setVisibility(View.GONE); mCameraMode.setVisibility(View.GONE); - mExitNavi.setVisibility( View.GONE ); - }else { - mExitNavi.setVisibility( View.VISIBLE ); + mExitNavi.setVisibility(View.GONE); + } else { + mExitNavi.setVisibility(View.VISIBLE); mDisplayOverview.setVisibility(View.VISIBLE); - mCameraMode.setVisibility( View.VISIBLE ); + mCameraMode.setVisibility(View.VISIBLE); } - mApis.getAnalyticsApi().track( "Navigation_begin", new HashMap<>() ); + mApis.getAnalyticsApi().track("Navigation_begin", new HashMap<>()); } @Override public void onStopNavi() { TopViewAnimHelper.getInstance().hideNaviView(); - mExitNavi.setVisibility( View.GONE ); - mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D ); - mDisplayOverview.setVisibility( View.GONE ); - mCameraMode.setVisibility( View.GONE ); - MapCenterPointStrategy.setMapCenterPointByScene( mMApUIController, Scene.AIMLESS ); + mExitNavi.setVisibility(View.GONE); + mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D); + mDisplayOverview.setVisibility(View.GONE); + mCameraMode.setVisibility(View.GONE); + MapCenterPointStrategy.setMapCenterPointByScene(mMApUIController, Scene.AIMLESS); } @Override - public void onUpdateTraffic2( MogoTraffic traffic ) { - if ( traffic == null ) { + public void onUpdateTraffic2(MogoTraffic traffic) { + if (traffic == null) { return; } } @Override - public void onLockMap( boolean isLock ) { + public void onLockMap(boolean isLock) { mIsLock = isLock; - if ( isLock ) { - mExitNavi.setText( R.string.module_ext_str_exit_navi ); - if ( mMogoStatusManager.isDisplayOverview() ) { - mMogoStatusManager.setDisplayOverview( TAG, false ); + if (isLock) { + mExitNavi.setText(R.string.module_ext_str_exit_navi); + if (mMogoStatusManager.isDisplayOverview()) { + mMogoStatusManager.setDisplayOverview(TAG, false); } } else { - mExitNavi.setText( R.string.module_ext_str_continue_navi ); + mExitNavi.setText(R.string.module_ext_str_continue_navi); } } - private void traceData( String from ) { - Map< String, Object > properties = new HashMap<>(); - properties.put( "from", from ); - mAnalytics.track( "Launcher_Share_Click", properties ); + private void traceData(String from) { + Map properties = new HashMap<>(); + properties.put("from", from); + mAnalytics.track("Launcher_Share_Click", properties); } @Override - public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { - if ( mUploadRoadCondition == null ) { + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (mUploadRoadCondition == null) { return; } - if ( descriptor == StatusDescriptor.UPLOADING ) { - if ( isTrue ) { - mUploading.setVisibility( View.VISIBLE ); - mUpload.setVisibility( View.GONE ); - if ( mUploadFrameAnimHandler != null ) { - mUploadFrameAnimHandler.removeMessages( MSG_STOP_ANIM ); - mUploadFrameAnimHandler.removeMessages( MSG_FRAME_ANIM ); + if (descriptor == StatusDescriptor.UPLOADING) { + if (isTrue) { + mUploading.setVisibility(View.VISIBLE); + mUpload.setVisibility(View.GONE); + if (mUploadFrameAnimHandler != null) { + mUploadFrameAnimHandler.removeMessages(MSG_STOP_ANIM); + mUploadFrameAnimHandler.removeMessages(MSG_FRAME_ANIM); } doFrameAnimOnUploadButton(); } else { mCurrentUploadFrame = 0; - if ( mUploadFrameAnimHandler != null ) { - mUploadFrameAnimHandler.removeMessages( MSG_FRAME_ANIM ); + if (mUploadFrameAnimHandler != null) { + mUploadFrameAnimHandler.removeMessages(MSG_FRAME_ANIM); } - mUploading.setVisibility( View.GONE ); - mUpload.setVisibility( View.VISIBLE ); + mUploading.setVisibility(View.GONE); + mUpload.setVisibility(View.VISIBLE); } - } else if ( descriptor == StatusDescriptor.DISPLAY_OVERVIEW ) { - if ( !mMogoNavi.isNaviing() ) { + } else if (descriptor == StatusDescriptor.DISPLAY_OVERVIEW) { + if (!mMogoNavi.isNaviing()) { return; } - if ( isTrue ) { - mDisplayOverviewText.setText( "退出全览" ); - mDisplayOverviewText.setTextSize( TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize( R.dimen.module_ext_display_overview_textSize ) ); - mCameraMode.setVisibility( View.GONE ); + if (isTrue) { + mDisplayOverviewText.setText("退出全览"); + mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize)); + mCameraMode.setVisibility(View.GONE); } else { - mDisplayOverviewText.setText( "全览" ); - mDisplayOverviewText.setTextSize( TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize( R.dimen.module_ext_display_overview_textSize_large ) ); - if(CustomNaviInterrupter.getInstance().interrupt()){ + mDisplayOverviewText.setText("全览"); + mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large)); + if (CustomNaviInterrupter.getInstance().interrupt()) { mCameraMode.setVisibility(View.GONE); - }else { + } else { mCameraMode.setVisibility(View.VISIBLE); } } @@ -528,40 +500,41 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent } private void doFrameAnimOnUploadButton() { - if ( mUploadFrameAnimHandler == null ) { - mUploadFrameAnimHandler = new Handler( Looper.getMainLooper() ) { + if (mUploadFrameAnimHandler == null) { + mUploadFrameAnimHandler = new Handler(Looper.getMainLooper()) { @Override - public void handleMessage( Message msg ) { - super.handleMessage( msg ); - if ( msg.what == MSG_FRAME_ANIM ) { - if ( mUploadingFrameRes == null || mUploadingFrameRes.length == 0 ) { - if ( mUploading != null ) { - mUploading.setVisibility( View.GONE ); + public void handleMessage(Message msg) { + super.handleMessage(msg); + if (msg.what == MSG_FRAME_ANIM) { + if (mUploadingFrameRes == null || mUploadingFrameRes.length == 0) { + if (mUploading != null) { + mUploading.setVisibility(View.GONE); } - if ( mUpload != null ) { - mUpload.setVisibility( View.VISIBLE ); + if (mUpload != null) { + mUpload.setVisibility(View.VISIBLE); } return; } - if ( !mMogoStatusManager.isUploading() ) { + if (!mMogoStatusManager.isUploading()) { mCurrentUploadFrame = 0; return; } - if ( mUploading != null ) { - if ( mCurrentUploadFrame == mUploadingFrameRes.length ) { + if (mUploading != null) { + if (mCurrentUploadFrame == mUploadingFrameRes.length) { mCurrentUploadFrame = 12; } - mUploading.setImageResource( mUploadingFrameRes[mCurrentUploadFrame++ % mUploadingFrameRes.length] ); + mUploading.setImageResource(mUploadingFrameRes[mCurrentUploadFrame++ % mUploadingFrameRes.length]); } - mUploadFrameAnimHandler.sendEmptyMessageDelayed( MSG_FRAME_ANIM, TIME_FRAME_INTERVAL_TIME ); - } else if ( msg.what == MSG_STOP_ANIM ) { - mStatusManager.setUploadingStatus( TAG, false ); + mUploadFrameAnimHandler.sendEmptyMessageDelayed(MSG_FRAME_ANIM, + TIME_FRAME_INTERVAL_TIME); + } else if (msg.what == MSG_STOP_ANIM) { + mStatusManager.setUploadingStatus(TAG, false); } } }; } - mUploadFrameAnimHandler.sendEmptyMessage( MSG_FRAME_ANIM ); + mUploadFrameAnimHandler.sendEmptyMessage(MSG_FRAME_ANIM); // 30s 后无论成功与否,停止动画 - mUploadFrameAnimHandler.sendEmptyMessageDelayed( MSG_STOP_ANIM, 30_000 ); + mUploadFrameAnimHandler.sendEmptyMessageDelayed(MSG_STOP_ANIM, 30_000); } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index 80e64a0dd2..e93ab8a7b9 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -1,51 +1,11 @@ package com.mogo.module.extensions.entrance; import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; -import android.util.ArrayMap; -import android.util.Log; import androidx.annotation.NonNull; import androidx.lifecycle.LifecycleOwner; -import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; -import com.mogo.commons.voice.AIAssist; -import com.mogo.commons.voice.IMogoVoiceCmdCallBack; -import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; -import com.mogo.module.extensions.ExtensionsModuleConst; -import com.mogo.module.extensions.net.UserInfoNetApiServices; -import com.mogo.module.extensions.userinfo.UserInfo; -import com.mogo.module.extensions.userinfo.UserInfoConstant; -import com.mogo.module.extensions.userinfo.UserInfoResponse; -import com.mogo.module.extensions.utils.ExtensionsConfig; -import com.mogo.module.share.ShareControl; -import com.mogo.module.share.manager.ServiceApisManager; -import com.mogo.module.share.manager.UploadHelper; -import com.mogo.service.IMogoServiceApis; -import com.mogo.service.MogoServicePaths; -import com.mogo.service.analytics.IMogoAnalytics; -import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.service.intent.IMogoIntentManager; -import com.mogo.service.network.IMogoNetwork; -import com.mogo.service.statusmanager.IMogoStatusManager; -import com.mogo.utils.digest.DigestUtils; -import com.mogo.utils.logger.Logger; -import com.zhidao.auto.platform.util.DeviceUtil; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.HashMap; -import java.util.Map; - -import io.reactivex.SingleObserver; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; - -import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE; /** * @author congtaowang @@ -54,353 +14,22 @@ import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerCons * 描述 */ public class EntrancePresenter extends Presenter { - private static final String REPORT_TANLU_BLOCK = "10007"; - private static final String REPORT_TANLU_TRAFFIC_CHECK = "10002"; - private static final String REPORT_TANLU_CLOSURE = "10003"; - private Context mContext; - private IMogoAnalytics mAnalytics; - private static final String TAG = "EntranceFragment"; - private IMogoIntentManager mogoIntentManager; - private IMogoAuthorizeModuleManager mIMogoAuthorizeModuleManager; - private String mVoiceCmdType; //一级命令 - private String mVoiceCmdShareType; //对某些一级命令里面细分的类型做处理 - private IMogoStatusManager mStatusManager; - - public EntrancePresenter(Context context, EntranceView view, - IMogoAuthorizeModuleManager authorizeModuleManager) { + public EntrancePresenter(Context context, EntranceView view) { super(view); - mContext = context; - IMogoServiceApis apis = - (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(mContext); - mAnalytics = apis.getAnalyticsApi(); - mogoIntentManager = apis.getIntentManagerApi(); - mIMogoAuthorizeModuleManager = authorizeModuleManager; - mStatusManager = apis.getStatusManagerApi(); - - registerUnWake(); - registerAwakeVoice(); } - private void registerUnWake() { -// AIAssist.getInstance( mContext ).registerUnWakeupCommand( ExtensionsModuleConst.CLOSE, -// ExtensionsModuleConst.CMD_CLOSE, mogoVoiceListener ); - AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.CANCLE_SHARE - , ExtensionsModuleConst.CMD_CANCLE_SHARE, mogoVoiceListener); - //探路相关上报 - AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK, ExtensionsModuleConst.CMD_UPLOAD_BLOCK, mogoVoiceListener); - AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK, ExtensionsModuleConst.CMD_TRAFFIC_CHECK, mogoVoiceListener); - AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE, ExtensionsModuleConst.CMD_ROAD_CLOSURE, mogoVoiceListener); - } @Override public void onResume(@NonNull LifecycleOwner owner) { super.onResume(owner); } - /** - * 免唤醒语音监听 - */ - private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() { - @Override - public void onCmdSelected(String cmd) { - Log.d(TAG, - "免唤醒 mogoVoiceListener needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE) + " >>>cmd = " + cmd); - mVoiceCmdType = cmd; - if (cmd.equals(ExtensionsModuleConst.CANCLE_SHARE) - /*|| cmd.equals( ExtensionsModuleConst.CLOSE ) */) { //取消分享,关闭页面 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } - } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK)) { //上报拥堵 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - uploadRoadCondition(); - } - } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - uploadTrfficCheck(); - } - } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - uploadRoadClosed(); - } - } - } - - @Override - public void onCmdAction(String speakText) { - } - - @Override - public void onCmdCancel(String speakText) { - } - - @Override - public void onSpeakEnd(String speakText) { - } - - @Override - public void onSpeakSelectTimeOut(String speakText) { - } - }; @Override public void onCreate(@NonNull LifecycleOwner owner) { super.onCreate(owner); } - /** - * 注册唤醒命令 - */ - private void registerAwakeVoice() { - mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION, - mogoIntentListener); - mogoIntentManager.registerIntentListener(ExtensionsModuleConst.GO_TO_SHARE, - mogoIntentListener); - mogoIntentManager.registerIntentListener(ExtensionsModuleConst.SHARE_DIALOG_CLOSE, - mogoIntentListener); - mogoIntentManager.registerIntentListener(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN, mogoIntentListener); - mogoIntentManager.registerIntentListener(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE, mogoIntentListener); - } - - /** - * 唤醒语音 - */ - private IMogoIntentListener mogoIntentListener = new IMogoIntentListener() { - @Override - public void onIntentReceived(String intentStr, Intent intent) { - mVoiceCmdType = intentStr; - EntranceFragment.isClickShare = false; - - String data = intent.getStringExtra("data"); - Log.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data + " " + - ">>> needAuthorize = " + mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)); - if (intentStr.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //我要分享 --ok - String conditionData = intent.getStringExtra("data"); - Log.d(TAG, - "唤醒 mogoIntentListener intentStr =" + intentStr + ">>conditionData =" + conditionData); - try { - JSONObject jsonObject = new JSONObject(data); - String typeString = jsonObject.get("ob").toString(); - Log.d(TAG, "mogoIntentListener specified typeString = " + typeString); - mVoiceCmdShareType = typeString; - if (!TextUtils.isEmpty(typeString)) { - if (typeString.equals("封路")) { - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - Log.d(TAG, "mogoIntentListener 封路 -------> "); - uploadRoadClosed(); - } - } else if (typeString.equals("油价")) { - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - Log.d(TAG, "mogoIntentListener 油价 -------> "); - shareOilPrice(); - } - } else if (typeString.equals("交通检查")) { - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - Log.d(TAG, "mogoIntentListener 交通检查 -------> "); - uploadTrfficCheck(); - } - } - } else { - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - Log.d(TAG, "mogoIntentListener 我要分享 ----> "); - traceData("2"); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN)) { - //分享路况/上报路况/上报拥堵 唤醒 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - JSONObject jsonObject = null; - try { - jsonObject = new JSONObject(data); - String typeString = jsonObject.get("obj").toString(); - Logger.d(TAG, "mogiIntentListener 准备上报拥堵: " + typeString); - if ("拥堵".equals(typeString)) { - uploadRoadCondition(); - Log.d(TAG, "mogoIntentListener 上报拥堵 唤醒 ----> "); - } - } catch (JSONException e) { - e.printStackTrace(); - } - - } - } else if (intentStr.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE)) { //关闭分享框 唤醒 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - Log.d(TAG, "mogoIntentListener 关闭分享框 唤醒 ----> "); - } - } else if (intentStr.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) { - // 两次未回复关闭对话框 - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - Logger.d(TAG, "mogoIntentListener 两次未回复关闭对话框"); - } - } else if (intentStr.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { //上报路况 - // 免唤醒 --ok - if (mIMogoAuthorizeModuleManager.needAuthorize(AUTHORIZE_TYPE_LAUNCHER_SHARE)) { - mIMogoAuthorizeModuleManager.invokeAuthorization(AUTHORIZE_TYPE_LAUNCHER_SHARE); - } else { - uploadRoadCondition(); - } - } - } - }; - - - /** - * 处理需要授权的命令 TODO - */ - public void handleNeedAuthorizeCmd() { - Log.e(TAG, "handleNeedAuthorizeCmd mVoiceCmdType = " + mVoiceCmdType + " >>> " + - "mVoiceCmdShareType = " + mVoiceCmdShareType); - if (!TextUtils.isEmpty(mVoiceCmdType)) { - if (mVoiceCmdType.equals(ExtensionsModuleConst.CANCLE_SHARE) || mVoiceCmdType.equals(ExtensionsModuleConst.CLOSE) - || mVoiceCmdType.equals(ExtensionsModuleConst.SHARE_DIALOG_CLOSE) || mVoiceCmdType.equals(ExtensionsModuleConst.NO_REPLY_SHARE_DIALOG_CLOSE)) { //关闭分享弹框 - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } else if (mVoiceCmdType.equals(ExtensionsModuleConst.GO_TO_SHARE)) { //打开分享弹框 - if (!TextUtils.isEmpty(mVoiceCmdShareType)) { - if (mVoiceCmdShareType.equals("封路")) { - Log.d(TAG, "handleNeedAuthorizeCmd 封路 -------> "); - uploadRoadClosed(); - } else if (mVoiceCmdShareType.equals("油价")) { - Log.d(TAG, "handleNeedAuthorizeCmd 油价 -------> "); - shareOilPrice(); - } else if (mVoiceCmdShareType.equals("交通检查")) { - Log.d(TAG, "handleNeedAuthorizeCmd 交通检查 -------> "); - uploadTrfficCheck(); - } - } else { - ServiceApisManager.serviceApis.getShareManager().showShareDialog(); - Log.d(TAG, "handleNeedAuthorizeCmd 我要分享 ----> "); - traceData("2"); - } - } else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK)) { //上报交通检查 - Log.d(TAG, "handleNeedAuthorizeCmd 上报交通检查 ----> "); - uploadTrfficCheck(); - } else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路 - Log.d(TAG, "handleNeedAuthorizeCmd 上报封路 ----> "); - uploadRoadClosed(); - } else if (mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK) - || mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION_AWAKEN) - || mVoiceCmdType.equals(ExtensionsModuleConst.UPLOAD_ROAD_CONDITION)) { - //上报拥堵, 分享路况, 上报路况 - Log.d(TAG, "handleNeedAuthorizeCmd 上报路况 ----> "); - uploadRoadCondition(); - } - } else { - Log.e(TAG, "handleNeedAuthorizeCmd mVoiceCmdType == null "); - } - } - - private void uploadRoadCondition() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); - - traceTanluData("2"); - sendShareReceiver(REPORT_TANLU_BLOCK); - Logger.d("EntrancePresenter", "mogoIntentListener 上报路况 ----> "); - traceTypeData("1"); - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } - - private void uploadTrfficCheck() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); - sendShareReceiver(REPORT_TANLU_TRAFFIC_CHECK); - Logger.d("EntrancePresenter", "mogoIntentListener 分享交通检查 ----> "); - traceTypeData("3"); - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } - - private void uploadRoadClosed() { - mStatusManager.setUploadingStatus("CARD_TYPE_ROAD_CONDITION", true); - sendShareReceiver(REPORT_TANLU_CLOSURE); - Logger.d("EntrancePresenter", "mogoIntentListener 分享封路 ----> "); - traceTypeData("4"); - ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } - - /** - * 分享/上报按钮点击 from=1 手动点击 from=2 语音打开 - * - * @param from - */ - private void traceData(String from) { - Map properties = new HashMap<>(); - properties.put("from", from); - mAnalytics.track(ExtensionsModuleConst.LAUNCHER_SHARE_CLICK, properties); - } - - private void shareOilPrice() { -// Intent intent = new Intent(); -// intent.setData(Uri.parse("freshthing://com.zhidao.fresh.things/shareOilPrice")); -// getContext().startActivity(intent); -// traceTypeData("2"); -// ServiceApisManager.serviceApis.getShareManager().dismissShareDialog(); - } - - /** - * 发送广播 上报路况 - */ - private void sendShareReceiver(String type) { - Logger.d("EntrancePresenter", "TanluCardViewFragment sendShareReceiver ---->"); - UploadHelper.INSTANCE.upload(getContext(),type); - } - - /** - * type=1 路况 - *

- * type=2 油价 - *

- * type=3 交通检查 - *

- * type=4 封路 - * - * @param type - */ - private void traceTypeData(String type) { - Map properties = new HashMap<>(); - properties.put("type", type); - mAnalytics.track(ExtensionsModuleConst.LAUNCHER_SHARE_TYPE, properties); - } - - private void traceTanluData(String type) { - Map properties = new HashMap<>(); - properties.put("type", type); - mAnalytics.track(ExtensionsModuleConst.CARNET_USER_UPLOAD, properties); - } - - - public void unregisterUnWake() { - AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.CANCLE_SHARE); - AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.CLOSE); - AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_BLOCK); - AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_TRAFFIC_CHECK); - AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE); - } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java index ea1e864391..c551dff37f 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java @@ -1,7 +1,5 @@ package com.mogo.module.extensions.net; -import com.mogo.module.authorize.model.BaseResponse; -import com.mogo.module.extensions.userinfo.UserInfo; import com.mogo.module.extensions.userinfo.UserInfoResponse; import java.util.Map; diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index c05b188587..0b812c91bd 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -2,21 +2,22 @@ package com.mogo.module.share; import android.content.Context; import android.content.Intent; -import android.content.ServiceConnection; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; +import com.mogo.commons.voice.AIAssist; +import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; -import com.mogo.module.authorize.authprovider.invoke.IMogoAuthorizeContentListener; import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener; import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; -import com.mogo.module.authorize.model.bean.Agreement; +import com.mogo.module.share.bean.StepAfterAuth; +import com.mogo.module.share.bean.StepAfterAuthKt; import com.mogo.module.share.constant.ShareConstants; import com.mogo.module.share.dialog.LaucherShareDialog; import com.mogo.module.share.manager.ServiceApisManager; import com.mogo.module.share.manager.UploadHelper; -import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; @@ -25,18 +26,48 @@ import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import org.jetbrains.annotations.NotNull; -import org.json.JSONException; import org.json.JSONObject; +import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SEEK_HELP; +import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SHOW_DIALOG; +import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_UPLOAD; +import static com.mogo.module.share.constant.ShareConstants.CMD_CANCEL_SHARE; +import static com.mogo.module.share.constant.ShareConstants.CMD_ROAD_CLOSURE; +import static com.mogo.module.share.constant.ShareConstants.CMD_TRAFFIC_CHECK; +import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_ACCIDENT; +import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_BLOCK; import static com.mogo.module.share.constant.ShareConstants.TYPE_ACCIDENT; +import static com.mogo.module.share.constant.ShareConstants.TYPE_BLOCK; +import static com.mogo.module.share.constant.ShareConstants.TYPE_CLOSURE; import static com.mogo.module.share.constant.ShareConstants.TYPE_DENSE_FOG; import static com.mogo.module.share.constant.ShareConstants.TYPE_REAL_TIME_TRAFFIC; import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_CONSTRUCTION; import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_ICY; import static com.mogo.module.share.constant.ShareConstants.TYPE_STAGNANT_WATER; +import static com.mogo.module.share.constant.ShareConstants.TYPE_TRAFFIC_CHECK; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_CANCEL_SHARE; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ACCIDENT; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_DENSE_FOG; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_REAL_TIME_TRAFFIC; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_BLOCK; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CLOSURE; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CONDITION; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_CONSTRUCTION; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_ICY; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_SEEK_HELP; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_STAGNANT_WATER; +import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_TRAFFIC_CHECK; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_DENSE_FOG; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_REAL_TIME_TRAFFIC; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_ROAD_CONSTRUCTION; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_ROAD_ICY; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_SEEK_HELP; +import static com.mogo.module.share.constant.ShareConstants.UPLOAD_STAGNANT_WATER; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_GO_TO_SHARE; +import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_ROAD_CONDITION; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBLE_HELP; +import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_SHARE_DIALOG_CLOSE; /** * 分享框的逻辑都放到这里吧 @@ -46,19 +77,20 @@ import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBL * @since 2020-01-10 */ @Route(path = MogoServicePaths.PATH_SHARE) -public class ShareControl implements IMogoShareManager { +public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMogoVoiceCmdCallBack { private static final String TAG = "ShareControl"; private Context mContext; private LaucherShareDialog mShareDialog; private IMogoAuthorizeModuleManager authorizeModuleManager; + private IMogoIntentManager intentManager; @Override public void showShareDialog() { if (authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE)) { authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); - }else{ + } else { realShowDialog(); } } @@ -70,15 +102,18 @@ public class ShareControl implements IMogoShareManager { } } - private void realShowDialog(){ + private void realShowDialog() { if (mShareDialog == null) { mShareDialog = new LaucherShareDialog(mContext); } mShareDialog.show(); } + private StepAfterAuth stepAfterAuth = new StepAfterAuth(-1, ""); + @Override public void init(Context context) { + Logger.d(TAG,"start init===="); mContext = context; ServiceApisManager.INSTANCE.init(context); authorizeModuleManager = @@ -86,7 +121,21 @@ public class ShareControl implements IMogoShareManager { authorizeModuleManager.registerAuthorizeListener(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE, new IMogoAcquireAuthorizeListener() { @Override public void authorizeSuccess() { - realShowDialog(); + switch (stepAfterAuth.getType()) { + case STEP_AFTER_AUTH_TYPE_SHOW_DIALOG: + realShowDialog(); + break; + case STEP_AFTER_AUTH_TYPE_UPLOAD: + UploadHelper.INSTANCE.upload(mContext, stepAfterAuth.getUploadType()); + dismissShareDialog(); + break; + case STEP_AFTER_AUTH_TYPE_SEEK_HELP: + seekHelp(); + dismissShareDialog(); + break; + default: + break; + } } @Override @@ -99,75 +148,264 @@ public class ShareControl implements IMogoShareManager { TipToast.tip("未授权,无法分享"); } }); - ServiceApisManager.serviceApis.getIntentManagerApi().registerIntentListener("ShareDialog", new IMogoIntentListener() { - @Override - public void onIntentReceived(String intentStr, Intent intent) { - // 此处只接受处理语音相关广播 - String command = intent.getStringExtra("command"); - Logger.d(TAG, "收到唤醒词指令: " + command); - try { - switch (command) { - case VOICE_CMD_PUB_TROUBLE_HELP: { - // 开启服务,准备上报求助 - Intent seekHelp = new Intent(mContext, VoiceCmdService.class); - seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY, - ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP); - mContext.startService(seekHelp); - dismissShareDialog(); - break; - } - case VOICE_CMD_GO_TO_SHARE: { - String ob = new JSONObject(intent.getStringExtra("data")).opt("ob").toString(); - Logger.d(TAG, "ob: $ob"); - switch (ob) { - case "积水": { - UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); - dismissShareDialog(); - break; - } - case "积冰": { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); - dismissShareDialog(); - break; - } - case "雾": { - UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); - dismissShareDialog(); - break; - } - case "交通事故": { - UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); - dismissShareDialog(); - break; - } - case "施工": { - UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); - dismissShareDialog(); - break; - } - default: - break; + intentManager = ServiceApisManager.serviceApis.getIntentManagerApi(); + intentManager.registerIntentListener(VOICE_CMD_GO_TO_SHARE, this); + intentManager.registerIntentListener(VOICE_CMD_PUB_TROUBLE_HELP, this); + intentManager.registerIntentListener(VOICE_CMD_PUB_ROAD_CONDITION, this); + intentManager.registerIntentListener(VOICE_CMD_SHARE_DIALOG_CLOSE, this); + intentManager.registerIntentListener(VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE, this); + intentManager.registerIntentListener(UNWAKE_UPLOAD_ROAD_CONDITION, this); + + // 免唤醒词注册 + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_BLOCK, + CMD_UPLOAD_BLOCK, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_TRAFFIC_CHECK, + CMD_TRAFFIC_CHECK, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_CLOSURE, + CMD_ROAD_CLOSURE, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_CANCEL_SHARE, + CMD_CANCEL_SHARE, this); + if (DebugConfig.getAIType() == DebugConfig.AI_TYPE_TXZ) { + // 使用同行者语义你的话,增加如下免唤醒词 + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ACCIDENT, + CMD_UPLOAD_ACCIDENT, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_REAL_TIME_TRAFFIC, + UPLOAD_REAL_TIME_TRAFFIC, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_SEEK_HELP, + UPLOAD_SEEK_HELP, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_STAGNANT_WATER, + UPLOAD_STAGNANT_WATER, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_ICY, + UPLOAD_ROAD_ICY, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_DENSE_FOG, + UPLOAD_DENSE_FOG, this); + AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_CONSTRUCTION, + UPLOAD_ROAD_CONSTRUCTION, this); + } + + Logger.d(TAG,"init over===="); + } + + @Override + public void onCmdSelected(String cmd) { + switch (cmd) { + case UNWAKE_CANCEL_SHARE: + dismissShareDialog(); + break; + case UNWAKE_UPLOAD_ROAD_BLOCK: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + } + break; + case UNWAKE_UPLOAD_TRAFFIC_CHECK: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK); + } + break; + case UNWAKE_UPLOAD_ROAD_CLOSURE: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE); + } + break; + case UNWAKE_UPLOAD_ACCIDENT: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); + } + break; + case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC); + } + break; + case UNWAKE_UPLOAD_SEEK_HELP: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_BLOCK); + } else { + seekHelp(); + } + break; + case UNWAKE_UPLOAD_STAGNANT_WATER: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); + } + break; + case UNWAKE_UPLOAD_ROAD_ICY: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); + } + break; + case UNWAKE_UPLOAD_DENSE_FOG: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); + } + break; + case UNWAKE_UPLOAD_ROAD_CONSTRUCTION: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); + } + break; + default: + break; + } + } + + @Override + public void onIntentReceived(String intentStr, Intent intent) { + // 此处只接受处理语音相关广播 + Logger.d(TAG, "收到唤醒词指令: " + intentStr); + try { + switch (intentStr) { + case VOICE_CMD_PUB_TROUBLE_HELP: + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_SEEK_HELP, TYPE_DENSE_FOG); + } else { + // 开启服务,准备上报求助 + seekHelp(); + dismissShareDialog(); + } + break; + case VOICE_CMD_GO_TO_SHARE: + String ob = + new JSONObject(intent.getStringExtra("data")).opt("ob").toString(); + Logger.d(TAG, "ob: " + ob); + switch (ob) { + case "积水": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER); + dismissShareDialog(); } - } - case VOICE_CMD_PUB_ROAD_CONDITION: { - String ob = - new JSONObject(intent.getStringExtra("data")).opt("obj").toString(); - Logger.d(TAG, "ob:" + ob); - if ("路况".equals(ob)) { - // 上报实时路况 + break; + case "积冰": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY); + dismissShareDialog(); + } + break; + case "雾": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG); + dismissShareDialog(); + } + break; + case "交通事故": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT); + dismissShareDialog(); + } + break; + case "施工": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION); + dismissShareDialog(); + } + break; + case "封路": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE); + dismissShareDialog(); + } + break; + case "交通检查": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK); + } else { + UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK); + dismissShareDialog(); + } + break; + default: + showShareDialog(); + break; + } + case VOICE_CMD_PUB_ROAD_CONDITION: + String obCondition = + new JSONObject(intent.getStringExtra("data")).opt("obj").toString(); + Logger.d(TAG, "ob:" + obCondition); + switch (obCondition) { + case "路况": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC); + } else { Logger.d(TAG, "分享框准备触发上报实时路况"); UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC); dismissShareDialog(); - break; } - } + break; + case "拥堵": + if (needAuth()) { + goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK); + } else { + Logger.d(TAG, "分享框准备触发上报拥堵"); + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + dismissShareDialog(); + } + break; default: break; } - } catch (Exception e) { - Logger.e(TAG, e, "ShareControl exception"); - } + case VOICE_CMD_SHARE_DIALOG_CLOSE: + dismissShareDialog(); + break; + case VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE: + dismissShareDialog(); + break; + case UNWAKE_UPLOAD_ROAD_CONDITION: + Logger.d(TAG, "免唤醒准备触发上报拥堵"); + UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK); + dismissShareDialog(); + break; + default: + break; } - }); + } catch (Exception e) { + Logger.e(TAG, e, "ShareControl exception"); + } + } + + private void seekHelp() { + Intent seekHelp = new Intent(mContext, VoiceCmdService.class); + seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY, + ShareConstants.VOICE_CMD_SERVICE_SEEK_HELP); + mContext.startService(seekHelp); + } + + private boolean needAuth() { + return authorizeModuleManager.needAuthorize(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); + } + + private void goAuth(int type, String uploadType) { + stepAfterAuth.setType(type); + stepAfterAuth.setUploadType(uploadType); + authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt new file mode 100644 index 0000000000..d35dbaab2e --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/StepAfterAuth.kt @@ -0,0 +1,10 @@ +package com.mogo.module.share.bean + +/** + * 授权完成后,下一步要做的事情 + */ +class StepAfterAuth(var type:Int,var uploadType:String) + +const val STEP_AFTER_AUTH_TYPE_SHOW_DIALOG = 1 +const val STEP_AFTER_AUTH_TYPE_UPLOAD = 2 +const val STEP_AFTER_AUTH_TYPE_SEEK_HELP = 3 \ No newline at end of file diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java index 30d347f4a6..2e49900c62 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/ShareConstants.java @@ -8,24 +8,80 @@ package com.mogo.module.share.constant; */ public class ShareConstants { - //埋点数据 - //分享分类 + /** + * 分享分类 + */ public static final String LAUNCHER_SHARE_TYPE = "Launcher_Share_type"; - //分享/上报按钮点击 + /** + * 分享/上报按钮点击 + */ public static final String LAUNCHER_SHARE_CLICK = "Launcher_Share_Click"; - // public static final String CARNET_USER_UPLOAD = "CarNet_user_upload"; public static final String VOICE_CMD_SERVICE_EVENT_KEY = "type"; public static final int VOICE_CMD_SERVICE_SEEK_HELP = 1; // 此处只记录了事故、实时路况、道路积水、道路结冰、浓雾,至于拥堵、交通检查和封路是在extention模块里面管理 - public static final String VOICE_CMD_PUB_TROUBLE_HELP = "com.zhidao.auxiliaryDriving.pubTroubleHelp"; + + public static final String VOICE_CMD_PUB_TROUBLE_HELP = "com.zhidao.auxiliaryDriving" + + ".pubTroubleHelp"; public static final String VOICE_CMD_GO_TO_SHARE = "com.zhidao.share"; + + /** + * 免唤醒词上报拥堵 + */ + public static final String UNWAKE_UPLOAD_ROAD_CONDITION = "command_upload_roadcondition"; + + /** + * 关闭分享框 唤醒 + */ + public static final String VOICE_CMD_SHARE_DIALOG_CLOSE = "com.zhidao.share.close"; + /** + * 两次未回复关闭分享对话框 + */ + public static final String VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE = "com.zhidao.share.dialog" + + ".close"; + + /** + * 免唤醒上报拥堵 + */ + public static final String UNWAKE_UPLOAD_ROAD_BLOCK = "command_upload_block"; + /** + * 免唤醒上报交通检查 + */ + public static final String UNWAKE_UPLOAD_TRAFFIC_CHECK = "command_upload_traffic_check"; + /** + * 免唤醒上报封路 + */ + public static final String UNWAKE_UPLOAD_ROAD_CLOSURE = "command_upload_road_closure"; + + public static final String UNWAKE_UPLOAD_ACCIDENT = "command_upload_accident"; + public static final String UNWAKE_UPLOAD_REAL_TIME_TRAFFIC = "command_upload_real_time_traffic"; + public static final String UNWAKE_UPLOAD_SEEK_HELP = "command_upload_seek_help"; + public static final String UNWAKE_UPLOAD_STAGNANT_WATER = "command_upload_stagnant_water"; + public static final String UNWAKE_UPLOAD_ROAD_ICY = "command_upload_road_icy"; + public static final String UNWAKE_UPLOAD_DENSE_FOG = "command_upload_dense_fog"; + public static final String UNWAKE_UPLOAD_ROAD_CONSTRUCTION = "command_upload_road_construction"; + + public static final String[] CMD_UPLOAD_BLOCK = {"上报拥堵"}; + public static final String[] CMD_TRAFFIC_CHECK = {"上报交通检查"}; + public static final String[] CMD_ROAD_CLOSURE = {"上报封路"}; + public static final String[] CMD_UPLOAD_ACCIDENT = {"上报事故", "上报交通事故"}; + public static final String[] UPLOAD_REAL_TIME_TRAFFIC = {"上报实时路况", "上报路况"}; + public static final String[] UPLOAD_SEEK_HELP = {"故障求助","发起故障求助"}; + public static final String[] UPLOAD_STAGNANT_WATER = {"上报积水"}; + public static final String[] UPLOAD_ROAD_ICY = {"上报积冰","上报道路积冰","上报结冰","上报道路结冰"}; + public static final String[] UPLOAD_DENSE_FOG = {"上报大雾", "上报浓雾"}; + public static final String[] UPLOAD_ROAD_CONSTRUCTION = {"上报施工", "上报道路施工"}; + + public static final String[] CMD_CANCEL_SHARE = {"取消分享"}; + public static final String UNWAKE_CANCEL_SHARE = "com.zhidao.launcher.cancle.share"; + /** * 这个是实时路况,不是拥堵,拥堵放在了extention模块里面处理 */ - public static final String VOICE_CMD_PUB_ROAD_CONDITION = "com.zhidao.pathfinder.report.roadCondition"; + public static final String VOICE_CMD_PUB_ROAD_CONDITION = "com.zhidao.pathfinder.report" + + ".roadCondition"; public static final String TYPE_BLOCK = "10007"; public static final String TYPE_TRAFFIC_CHECK = "10002"; From 4f7f1dfe6261b163e47f63b886452a514ca262c1 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 9 Jun 2020 10:13:35 +0800 Subject: [PATCH 03/11] =?UTF-8?q?bug=20fix=20UI-2.0/=20UI-744=20=E6=89=A9?= =?UTF-8?q?=E5=A4=A7=E4=BA=86=E9=9F=B3=E9=A2=91=E6=82=AC=E6=B5=AE=E6=A1=86?= =?UTF-8?q?=E7=9A=84=E7=82=B9=E5=87=BB=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/media/MediaWindow2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 69c9f8068a..e2a4e51276 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 @@ -100,7 +100,7 @@ public class MediaWindow2 implements IMusicView { getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x); ServiceMediaHandler.getMogoWindowManager().addView(mWindowView, xPos, yPos, false); updateWindowUI(true); - mWindowMediaCenter.setOnClickListener(new NoDoubleClickListener() { + mWindowView.setOnClickListener(new NoDoubleClickListener() { @Override public void onClicks(View view) { openAqtApp(); From a88e5d670e067ed3ff8637568b8948c75a54932c Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 9 Jun 2020 12:31:41 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=9A=E5=AA=92?= =?UTF-8?q?=E4=BD=93=E6=B5=AE=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../extensions/ExtensionsPresenter.java | 8 +- .../module/media/MediaCardViewFragment.java | 4 +- .../com/mogo/module/media/MediaWindow.java | 4 +- .../com/mogo/module/media/MediaWindow2.java | 13 +- .../drawable-ldpi/module_media_next_song.png | Bin 459 -> 0 bytes .../module_media_window_pop_pause.png | Bin 440 -> 0 bytes .../module_media_window_pop_play.png | Bin 288 -> 0 bytes .../drawable-mdpi/ic_search_choice_point.png | Bin 1179 -> 0 bytes .../module_media_next_bg_selector.xml | 14 ++ .../ic_search_choice_point.png | Bin .../ic_search_poi_location.png | Bin .../ic_search_unshadow.png | Bin .../module_media_blur_default_icon.png | Bin .../module_media_default_music_img.png | Bin 0 -> 1283 bytes .../module_media_full_screen.png | Bin .../module_media_have_heart.png | Bin .../module_media_head_default_img.png | Bin .../module_media_last_song.png | Bin .../res/drawable/module_media_next_song.png | Bin 0 -> 384 bytes .../module_media_no_heart.png | Bin .../module_media_no_img_default_icon.png | Bin .../module_media_play.png | Bin .../module_media_play_bg_selector.xml | 13 ++ .../module_media_share_default_icon.png | Bin .../module_media_share_default_icon2.png | Bin .../module_media_share_default_rect_icon.png | Bin .../module_media_share_fail.png | Bin .../module_media_share_normal.png | Bin .../module_media_share_success.png | Bin .../module_media_suspend.png | Bin .../drawable/module_media_window_alert_bg.xml | 2 +- .../module_media_window_pop_pause.png | Bin 0 -> 355 bytes .../drawable/module_media_window_pop_play.png | Bin 0 -> 181 bytes ...module_media_music_window_alert_layout.xml | 171 +++++++------- .../src/main/res/values-ldpi/colors.xml | 6 - .../src/main/res/values-ldpi/dimens.xml | 123 ---------- .../src/main/res/values-ldpi/strings.xml | 3 - .../src/main/res/values-ldpi/styles.xml | 11 - .../src/main/res/values/dimens.xml | 214 +++++++++--------- 40 files changed, 242 insertions(+), 346 deletions(-) delete mode 100644 modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_next_song.png delete mode 100644 modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_pause.png delete mode 100644 modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_window_pop_play.png delete mode 100644 modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_choice_point.png create mode 100644 modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_bg_selector.xml rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/ic_search_choice_point.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/ic_search_poi_location.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-mdpi => drawable}/ic_search_unshadow.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_blur_default_icon.png (100%) create mode 100644 modules/mogo-module-media/src/main/res/drawable/module_media_default_music_img.png rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_full_screen.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_have_heart.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_head_default_img.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_last_song.png (100%) create mode 100644 modules/mogo-module-media/src/main/res/drawable/module_media_next_song.png rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_no_heart.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_no_img_default_icon.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_play.png (100%) create mode 100644 modules/mogo-module-media/src/main/res/drawable/module_media_play_bg_selector.xml rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_default_icon.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_default_icon2.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_default_rect_icon.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_fail.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_normal.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_share_success.png (100%) rename modules/mogo-module-media/src/main/res/{drawable-ldpi => drawable}/module_media_suspend.png (100%) create mode 100644 modules/mogo-module-media/src/main/res/drawable/module_media_window_pop_pause.png create mode 100644 modules/mogo-module-media/src/main/res/drawable/module_media_window_pop_play.png delete mode 100644 modules/mogo-module-media/src/main/res/values-ldpi/colors.xml delete mode 100644 modules/mogo-module-media/src/main/res/values-ldpi/dimens.xml delete mode 100644 modules/mogo-module-media/src/main/res/values-ldpi/strings.xml delete mode 100644 modules/mogo-module-media/src/main/res/values-ldpi/styles.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java index 85d0463965..cef726c5b2 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java @@ -125,8 +125,12 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements @Override public void onSuccess(UserInfoResponse userInfoBaseResponse) { userInfo = userInfoBaseResponse.getResult(); - Logger.d(TAG, "获取个人信息成功: " + userInfo); - mView.renderUserInfo(userInfo); + if(userInfo!=null) { + Logger.d(TAG, "获取个人信息成功: " + userInfo); + mView.renderUserInfo(userInfo); + }else{ + Logger.e(TAG,"获取个人信息失败"); + } } @Override diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java index b79e64f3d9..7708d29202 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewFragment.java @@ -141,7 +141,6 @@ public class MediaCardViewFragment extends MvpFragment|~#@Y*~D0c)qUmo1ACIg+H*^F!~<=QvZsX6kC$7*1b%>(6cnFcG}X-ZeNXl z1nga<=hivV`{j0ZC*9rmcC~y^u33HS?92{JMfdz`7giiSUo~$A`xcjTo>$dAX0rTI zt(j}YaqFb;vhU4te7fDiDG$?&GfW!7U+E{YT{*VH^}C7G!Tq~-2fyW=8EAcE<)!5l z8TWS-UrYDNyTJ%_ggIsRH_sCpRieA>+E??cP1-_K3Y@X@qFp# zWl=w3yW>oKKZoop*fcMGso?$Y@++o`wpE9Jo$Ds}XW8%5ip5#&7NNg@R_$F`#F%w+ zeP8C4X7}KyMprh)%U)j5ym)1iBt$f+cvVbW@eQB?l{r(irazSVwmMm|cGae!r$)hg zHCmf3&lYb;^ZBf9l5Tmuf@xlZ`U6f7W!h-pPx$a!Eu%R7ef&ma$3$K@f&>K@cr$d<9!88y~>Dg=nLqq_a`%B@d87OTpJr!9qw1 zD+L?%3A7OeLG=9oz`=0rp1XG&Q^bKU*`2wYe`juQxh&7~tTh2^Pe5}d`7c~_ew)EH z?7>*}K<3$8?+DI;YydlOuSqKNJ>x=DI;(IC$1n>?%vbTZC;KD*UAXeZgWbN0eF>Hb zT)-JDLT!r`E`&B1JivP4i2aXkwJX0mp!Pqzf<9l}ifz6%CUjZ3 zt1`7!?QLYCt^P!%2RfM=i)zKbirML5XglJrd!l^4vwBqO iIDbN)aq=}xpYRXTB%N1One8wD0000Px#+DSw~R7eeD{Qv(yBf|gyrU9@MY~`rMbPIVxK^+Tp$zmWbA;Co;wIDqpy*L3Q zo>a{O)b$03*`T^rfb=~m8yBSvl(-F*`~{?WfcOuTk3!+|G00+=r65gQC_1roIFW=w zdO>Dj1^6t+s)1U9qZU&uBng@`8q@@Xh*}CpgPK|)Nzk0ppe7hZ)KV}S)W{(Ts=z^& zIShP*G4Rmek>o&nu{HugYH(K6P)(^o+6{;=0x_Z12T%#aT_7$4VtpXq1;jWl#@F-# m>Z2VPO&)A?-}}GcJHFZd*@xn3ptnm8 zK@bD-NjG2gZHYcdbhe;==WWwB2%;hO@%D4~O!TJ5!G9JDfpHKJ13{>df}mKS(SU}B zC_o|sJr+x$_JKzkwL%HU#dxertpp?jl7p8-W2xYH%m<-B43Khw7Kw*=H;j+P$N-!{ z4;UE-IVgr7J}6jo+)m-;s2+?q$9c2_K_D;&0@dXx7LCL4KsyHvHk|qYA}Fuk5G|qO z6C=@X_yP;y$ZoEFj?%1>2>RK> zhI!P>c2mBSoTT)0db%Qy<5VYa>(*;gvXXzhvA^QruYY7zdE1jybdAnGdYQd;r88@G zAa}|koF)^S>*P(k>^pu_tY6;tC6xv-pW4>fUsRQ7kG+r_dGn<3uD^kG-#^D@s_6^qa9-AZeQ$14ohNpg_51ESo1ebN=8e~sM1qcQcU<><0-axU!V_(o=B0sl17xR!K4*1GL*;5EG+`6U7Zv9yk~N0!Fd zAR1d|XXwfZd|TpkhLF@W7HPb=JxM$nQFn4x;A-^AF{_1I{eB8TSe)(Dzu!h`TN~m> zX{g#=^U==Ul;tdqVbeo9(pK+%BPkCa;J%C-vKt^t*IUagl-F3HnG|kedb4Eex=~Zp z%J}+}SB7Ij8tHO!N3?5$#iJ0x(Ql0sL@FLj^h4ap_K{5wMMAoWyUZupil$qvsd+QM zx1HFsx6AXE*=BUG$0;^b#Aa7)n2DCPy5Bl*84bI=avDul;|IL}v2ftJTxu^K=JQ1zM> zMi|?ct*rXnHu9;eRhVL~)Rufz&RryXyn6lMZ2R#EUFJ&Bvs`=ox(c@!oe!4 nL7nUI*MHyq(}@Rjm8Xkpcusxyx01jP{aq2VJH@T}YbNhsQKxm> diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_bg_selector.xml b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_bg_selector.xml new file mode 100644 index 0000000000..3141e1a44a --- /dev/null +++ b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_bg_selector.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_choice_point.png b/modules/mogo-module-media/src/main/res/drawable/ic_search_choice_point.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_choice_point.png rename to modules/mogo-module-media/src/main/res/drawable/ic_search_choice_point.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_poi_location.png b/modules/mogo-module-media/src/main/res/drawable/ic_search_poi_location.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/ic_search_poi_location.png rename to modules/mogo-module-media/src/main/res/drawable/ic_search_poi_location.png diff --git a/modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_unshadow.png b/modules/mogo-module-media/src/main/res/drawable/ic_search_unshadow.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-mdpi/ic_search_unshadow.png rename to modules/mogo-module-media/src/main/res/drawable/ic_search_unshadow.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_blur_default_icon.png b/modules/mogo-module-media/src/main/res/drawable/module_media_blur_default_icon.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_blur_default_icon.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_blur_default_icon.png diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_default_music_img.png b/modules/mogo-module-media/src/main/res/drawable/module_media_default_music_img.png new file mode 100644 index 0000000000000000000000000000000000000000..d8de3c1ef31a1cc633cce300ca8e03e2d07adaef GIT binary patch literal 1283 zcmV+e1^oJnP)Zq6xap<24v_mmKlxCY(^sZLbAn(8*SYa5A)SgjDNED7o4x| zfhR4HNtU>{Xq1H+acVOEY?!zW83;xgY=8ka+OpDKb4y!FDTUwt{dnko?LFW7`JJA7 z&bjvzG>pc^Q|9|V-!lYukO-9wR7MOrAXvk)4EGpeiogaK!*vGg%~F)hZEdH#qRWzq zp~G>qmPvG+7}bHGsM28YF=7`e#6IolIQ^|ETL7wn8(htY3G8hEd(|$q#{518dZ*LV za(<(F8v?F>7)d1aJt_m!W(KsM*}!x4DWZgx4yNO#+twmSMw(TJE3854W@La!_)F=GJ&MP z5zoGXIZGijoPF$pl%JR=@=w1TZr@s}`8g zzu4hvt%(}OfFniW3lT+bW3$&5i+w2(Xl9f=l~n7YH|z9w41?Ah7K z&COkciRWd@e4}Gy@Op(?h`tU_YgJ61_Xd!pZ-hP{Kxt_SEN1hX=6CMi#l*xNQTZji zQ0N8TdxZVb;A;AuK=q=E)+`J1^YdV}E*C>y0p{nu7@wHHtXS->z+qrrot}?gCa3c? z3xhnVy6Z~#x&{Azm@+b8$+Ch$hTrc;C=?R)!D>4OA0hY<9do*CB!cQTFHw>IRTi@X zQ-%q_5W~!zP)11kfgy%kYH&7vKt!+W;R<`U9R+ziU@#alFxU^DUwD%x#bJznNDf!i zmjKo20n9Zj$|_;avSIGtEdIK6LoeBg4!b}NF856WD)ds$%v7-F(JIK2jGF`3F*Ea@ zUeaJdKRKLkzTt9oQw5Npw;jbrrSSQ@xZ3wC7+*?{!7xP*m)j4(q=#O-M%AAE$hO&W zYp5S%1*&^&lZ z=(*|4iW%Dr3SqZzL549S%*Vrmd%5?g9+CDkq1y3Hr&C%hE3H8JuHE3xI@sz>HhTMC z{NDGAMkn*MrbFR)ta2}Qm6WH1;l0Ioz1^7APyxe*Lu+Y%IQJ18eEPX1SYDq~WU#+S z2JzdqE5cq5mu9Wa&!Gd=$jd8;L8Q7j;CcD{SLeil8GL3%$G{4J!~d*%eU?mOQY&mgnThd@ir$B4z8AZFqd&li0bV5Sb+B_^K tg7eli2>F1Tr&}4pAKTkMo)^r`_#d(Q0)&U`ONamf002ovPDHLkV1k^meLVmG literal 0 HcmV?d00001 diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_full_screen.png b/modules/mogo-module-media/src/main/res/drawable/module_media_full_screen.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_full_screen.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_full_screen.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_have_heart.png b/modules/mogo-module-media/src/main/res/drawable/module_media_have_heart.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_have_heart.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_have_heart.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_head_default_img.png b/modules/mogo-module-media/src/main/res/drawable/module_media_head_default_img.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_head_default_img.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_head_default_img.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_last_song.png b/modules/mogo-module-media/src/main/res/drawable/module_media_last_song.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_last_song.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_last_song.png diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_next_song.png b/modules/mogo-module-media/src/main/res/drawable/module_media_next_song.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb18e202fb75663fc62bf7e83dc59833fc19c71 GIT binary patch literal 384 zcmV-`0e}99P)k5t)ZF>r(^N4*Y)y%xnr6mDCwDF=jRbOhfmOcO=i1Tmapl2WEiT zVWyy80zIa4z(Q((k098T^p<)H{HF9cUKG}(0`UDl05&8&r;gzruq^2$$4z(|;^q)N zN7Y;K0E`1}b3@Yp0Nt?CX5?*k5?GVu2QE6y% + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_default_icon.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_default_icon.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon2.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_default_icon2.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_icon2.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_default_icon2.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_rect_icon.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_default_rect_icon.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_default_rect_icon.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_default_rect_icon.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_fail.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_fail.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_fail.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_fail.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_normal.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_normal.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_normal.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_normal.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_success.png b/modules/mogo-module-media/src/main/res/drawable/module_media_share_success.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_share_success.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_share_success.png diff --git a/modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_suspend.png b/modules/mogo-module-media/src/main/res/drawable/module_media_suspend.png similarity index 100% rename from modules/mogo-module-media/src/main/res/drawable-ldpi/module_media_suspend.png rename to modules/mogo-module-media/src/main/res/drawable/module_media_suspend.png diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_window_alert_bg.xml b/modules/mogo-module-media/src/main/res/drawable/module_media_window_alert_bg.xml index 7a098d5118..372926f342 100644 --- a/modules/mogo-module-media/src/main/res/drawable/module_media_window_alert_bg.xml +++ b/modules/mogo-module-media/src/main/res/drawable/module_media_window_alert_bg.xml @@ -1,7 +1,7 @@ diff --git a/modules/mogo-module-media/src/main/res/drawable/module_media_window_pop_pause.png b/modules/mogo-module-media/src/main/res/drawable/module_media_window_pop_pause.png new file mode 100644 index 0000000000000000000000000000000000000000..6d35054284be963cf7775466d87536c17f1801ff GIT binary patch literal 355 zcmV-p0i6DcP)pr8G6asdR%!u5O;8{F0n1?ZHl3up*Hlw>6Uk|fIk z@PZ}uk}L6;lmMbm@3--1?j1uN!}+%eK|Vc&**~;h{F$hQ=cYIL - - + android:background="@drawable/module_media_window_alert_bg" + tools:layout_marginLeft="@dimen/module_media_music_state_location_x"> - + - - + - - - + + - - - + - + + + - - - \ No newline at end of file + app:layout_constraintBottom_toBottomOf="parent" + android:thumbOffset="0dp" /> + diff --git a/modules/mogo-module-media/src/main/res/values-ldpi/colors.xml b/modules/mogo-module-media/src/main/res/values-ldpi/colors.xml deleted file mode 100644 index 69b22338c6..0000000000 --- a/modules/mogo-module-media/src/main/res/values-ldpi/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - #008577 - #00574B - #D81B60 - diff --git a/modules/mogo-module-media/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-media/src/main/res/values-ldpi/dimens.xml deleted file mode 100644 index 6a2e0256b5..0000000000 --- a/modules/mogo-module-media/src/main/res/values-ldpi/dimens.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - 483px - 573px - - - 352px - 352px - 10.67px - 12px - 36px - 36px - 36px - 5px - 12px - 62px - 16px - 78px - 10.6px - 16px - 48px - 48px - 11px - 12px - 12px - 14px - 16px - 8px - 36px - 36px - 12px - 18px - 30px - 30px - 67.2px - 3px - 62px - 62px - 12px - 20px - 15px - - - - 421px - 280px - 28px - 32.5px - 11.5px - 72.5px - 10.7px - 72.5px - 10px - 22px - 16px - 18px - 22px - 32px - 51px - 68px - 2px - 3.2px - - 322px - 66.7px - 60px - 12px - 48px - 123px - 13px - 18px - 14px - 30px - 21px - 4px - 8px - 7px - - 267px - 187px - 10px - 64px - 18px - 11px - - 352px - 352px - 10.5px - 11px - 11.5px - 175px - 175px - 114px - 114px - 20px - 15px - 4px - 2px - 6px - 12px - 11px - 4px - 1px - - 8px - 44px - 62px - 28px - 1px - 35px - 3.2px - 6.4px - 3px - 4px - 96px - - 32px - 400px - 80px - 150px - 16px - - \ No newline at end of file diff --git a/modules/mogo-module-media/src/main/res/values-ldpi/strings.xml b/modules/mogo-module-media/src/main/res/values-ldpi/strings.xml deleted file mode 100644 index 952949198b..0000000000 --- a/modules/mogo-module-media/src/main/res/values-ldpi/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - mogo-module-media - diff --git a/modules/mogo-module-media/src/main/res/values-ldpi/styles.xml b/modules/mogo-module-media/src/main/res/values-ldpi/styles.xml deleted file mode 100644 index 5885930df6..0000000000 --- a/modules/mogo-module-media/src/main/res/values-ldpi/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/modules/mogo-module-media/src/main/res/values/dimens.xml b/modules/mogo-module-media/src/main/res/values/dimens.xml index 2ecf743e04..257216648f 100644 --- a/modules/mogo-module-media/src/main/res/values/dimens.xml +++ b/modules/mogo-module-media/src/main/res/values/dimens.xml @@ -1,123 +1,123 @@ - 881px - 1067px + 483px + 573px - 660px - 660px - 20px - 23px - 67.5px - 67.5px - 67.5px - 10px - 23px - 116px - 30px - 145px - 20px - 30px - 90px - 90px - 21px - 24px - 23px - 26px - 30px - 16px - 68px - 68px - 23px - 35px - 56px - 56px - 126px + 352px + 352px + 10.67px + 12px + 36px + 36px + 36px + 5px + 12px + 62px + 16px + 78px + 10.6px + 16px + 48px + 48px + 11px + 12px + 12px + 14px + 16px + 8px + 36px + 36px + 12px + 18px + 30px + 30px + 67.2px 3px - 116px - 116px - 22px - 37.5px - 28px + 62px + 62px + 12px + 20px + 15px - 790px - 525px - 55px - 61px - 20px - 136px - 20px - 136px - 34px - 40px - 30px - 34px - 40px - 60px - 96px - 130px - 4px - 6px + 421px + 280px + 28px + 32.5px + 11.5px + 72.5px + 10.7px + 72.5px + 10px + 22px + 16px + 18px + 22px + 32px + 51px + 68px + 2px + 3.2px - 580px - 120px - 112px - 20px - 90px - 230px - 20px - 35px - 24px - 56px - 40px - 8px - 16px - 16px - 500px - 350px - 20px - 120px - 36px - 20px + 322px + 66.7px + 60px + 12px + 48px + 123px + 13px + 18px + 14px + 30px + 21px + 4px + 8px + 7px - 660px - 660px - 20px - 22px - 22px - 348px - 348px - 226px - 226px - 36px - 28px + 267px + 187px + 10px + 64px + 18px + 11px + + 352px + 352px + 10.5px + 11px + 11.5px + 175px + 175px + 114px + 114px + 20px + 15px 4px 2px - 11px - 22px - 21px - 4px - 6px - 2px + 6px + 12px + 11px + 4px + 1px - 15px - 78px - 107px - 53px - 2px - 64px - 6px - 12px - 6px - 8px - 180px + 8px + 44px + 62px + 28px + 1px + 35px + 3.2px + 6.4px + 3px + 4px + 96px - 60px - 750px - 120px - 270px - 30px + 32px + 400px + 80px + 150px + 16px \ No newline at end of file From 64c9c61770aec900e1d9f4e6b7dfa9faf53c7ac9 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 9 Jun 2020 15:47:07 +0800 Subject: [PATCH 05/11] =?UTF-8?q?1.=20=E5=88=86=E4=BA=AB=E9=80=82=E9=85=8D?= =?UTF-8?q?=E5=90=8C=E8=A1=8C=E8=80=85=E8=AF=AD=E9=9F=B3=E7=9A=84=E5=85=8D?= =?UTF-8?q?=E5=94=A4=E9=86=92=E8=AF=8D=202.=20=E4=BC=98=E5=8C=96=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E6=A1=86ui=203.=20=E4=BC=98=E5=8C=96=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- app/build.gradle | 6 ++ .../com/mogo/launcher/MogoApplication.java | 3 + .../com/mogo/commons/debug/DebugConfig.java | 8 ++- .../java/com/mogo/commons/voice/AIAssist.java | 3 + .../module/extensions/ExtensionsFragment.java | 4 ++ .../com/mogo/module/share/ShareControl.java | 66 ++++++++++++++++++ .../module_share_title_icon_left.png | Bin 0 -> 1545 bytes .../module_share_title_icon_right.png | Bin 0 -> 1553 bytes .../drawable/module_share_title_icon_left.png | Bin 0 -> 765 bytes .../module_share_title_icon_right.png | Bin 0 -> 767 bytes .../res/layout/launcher_dialog_share_2.xml | 4 +- .../mogo/service/share/IMogoShareManager.java | 4 +- 13 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 modules/mogo-module-share/src/main/res/drawable-xhdpi/module_share_title_icon_left.png create mode 100644 modules/mogo-module-share/src/main/res/drawable-xhdpi/module_share_title_icon_right.png create mode 100644 modules/mogo-module-share/src/main/res/drawable/module_share_title_icon_left.png create mode 100644 modules/mogo-module-share/src/main/res/drawable/module_share_title_icon_right.png diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index d8ebdb280d..c99236b077 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -93,14 +93,20 @@ android { // f系列-分体机全系列,未细分 f8xx{ dimension "product" + // 使用思必驰语音 + buildConfigField 'int', 'AIType','2' } // e系列 e8xx { dimension "product" + // 使用思必驰语音 + buildConfigField 'int', 'AIType','2' } // d系列 d8xx { dimension "product" + // 使用同行者语音 + buildConfigField 'int', 'AIType','1' } qa { dimension "env" diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 5ea39f1189..50d1702b89 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -18,6 +18,7 @@ import com.mogo.module.media.MediaConstants; import com.mogo.module.push.PushUIConstants; import com.mogo.module.tanlu.constant.TanluConstants; import com.mogo.module.v2x.V2XConst; +import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoSocketManager; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; @@ -36,6 +37,7 @@ public class MogoApplication extends AbsMogoApplication { public void onCreate() { DebugConfig.setNetMode(BuildConfig.NET_ENV); DebugConfig.setDebug(BuildConfig.DEBUG); + DebugConfig.setAIType(BuildConfig.AIType); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); @@ -55,6 +57,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); MogoModulePaths.addModule(new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); + MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SHARE, "ShareControl")); // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 7feeff35ac..216d52d588 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -1,5 +1,7 @@ package com.mogo.commons.debug; +import com.mogo.utils.logger.Logger; + /** * @author congtaowang * @since 2019-12-23 @@ -113,12 +115,16 @@ public class DebugConfig { /** * 设置使用哪个语音助手 - * @param aiType AI_TYPE_TXZ AI_TYPE_SPEECH + * @param aiType {@link #AI_TYPE_TXZ} {@link #AI_TYPE_SPEECH} */ public static void setAIType(int aiType){ + Logger.d("DebugConfig", "setAiType: " + aiType); sAIType = aiType; } + /** + * 使用哪个语音助手 {@link #AI_TYPE_TXZ} {@link #AI_TYPE_SPEECH} + */ public static int getAIType(){ return sAIType; } 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 b5ab14af70..655a831c92 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 @@ -380,6 +380,9 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack, OnTtsListener { if ( isProcessRunning( context, getPackageUid( context, "com.zhidao.speech" ) ) && isProcessRunning( context, getPackageUid( context, "com.zhidao.speech.adapter" ) ) ) { return true; + } else if (isProcessRunning(context, getPackageUid(context, "com.txznet.txz")) && isProcessRunning(context, getPackageUid(context, "com.txznet.adapter"))) { + Logger.d(TAG, "txz is voiceServiceReady"); + return true; } return false; } 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 e5254a81c6..c5914114d4 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 @@ -10,6 +10,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.MvpFragment; import com.mogo.module.extensions.userinfo.UserInfo; import com.mogo.module.extensions.utils.LaunchUtils; @@ -54,6 +55,7 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP mUserHeadImg = findViewById(R.id.ivUserHeadImg); mMsgContainer = findViewById( R.id.module_ext_id_msg ); + mMsgContainer.setOnClickListener( view -> { ARouter.getInstance().build( "/push/ui/message" ).navigation( getContext() ); } ); @@ -65,6 +67,8 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP Logger.e(TAG, e, "打开个人中心Exception"); } }); + + mUserHeadImg.setVisibility(DebugConfig.isLauncher()?View.VISIBLE:View.GONE); } @NonNull diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 0b812c91bd..33ab9ac337 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -2,12 +2,21 @@ package com.mogo.module.share; import android.content.Context; import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; +import com.mogo.map.listener.IMogoMapListener; +import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; +import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener; @@ -21,6 +30,7 @@ import com.mogo.module.share.manager.UploadHelper; import com.mogo.service.MogoServicePaths; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; +import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.share.IMogoShareManager; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; @@ -408,4 +418,60 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo stepAfterAuth.setUploadType(uploadType); authorizeModuleManager.invokeAuthorization(AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE); } + + @Override + public Fragment createFragment(Context context, Bundle data) { + return null; + } + + @Override + public View createView(Context context) { + return null; + } + + @NonNull + @Override + public String getModuleName() { + return "ShareControl"; + } + + @Override + public IMogoModuleLifecycle getCardLifecycle() { + return null; + } + + @Override + public IMogoMapListener getMapListener() { + return null; + } + + @Override + public int getType() { + return 0; + } + + @Override + public IMogoNaviListener getNaviListener() { + return null; + } + + @Override + public IMogoLocationListener getLocationListener() { + return null; + } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } + + @Override + public String getAppPackage() { + return ""; + } + + @Override + public String getAppName() { + return ""; + } } diff --git a/modules/mogo-module-share/src/main/res/drawable-xhdpi/module_share_title_icon_left.png b/modules/mogo-module-share/src/main/res/drawable-xhdpi/module_share_title_icon_left.png new file mode 100644 index 0000000000000000000000000000000000000000..2285d6206017dfc813960c58e3f6444af6ed3abf GIT binary patch literal 1545 zcmV+k2KM=hP)Px)!%0LzRA>e5n){1YRTRf(v`l+BWu*fRVTxl9X(+*d(V6N8qaT8v5co?FQ4tX( zB$ZLn6CwyfBB);+=xzT&1R_K~MUskHieR8+YN=xnn?9d2XI=I=bMM@_Gjs3MbryW@ z+I#KS+TXMGeO+Zlyae2Vm9@CCRN41wL?H}E6)`5b=iakffy zc6NS_7Lycu9RQog>SmUesGyHWNq=Z%^kA-^$n`3<1zC^id6}W!4;8!fMow_Tl2K}B z^w0}KUy_#EE^s9{fbB(eLozF`eOOJ04<@aB6pOJ<%4<8F4diSin41jnA4=vP4ot?S z;L<7E(KfJ%^g9#nH0vu(fG zrYJ|p^MD*rt7Olm>;aBtdq-|J2n+xz{~Bsf=!;d6n`K96pyWCth%xiQ2*3rKq`EC~ZT z3f1Q&_GQ$4Idzo$O3I%Bf8;ns`Lof6@};EjO3IH?p6(y+FRtKdf3p0zJyuo&#l7Pm zAj>+o5Xh(uo&nk(Wq?!Yrb@xd7>U`Y&N`#}fUFMz9o>L)re~ym7~rw@fCbY%qpC5f zQ#dz}ICqQ~{3gk_G?^XT;BHV69N$XjPY`GCVfw9H zLMY#mmmAmCap(99oeAZ)kVxB~%9zCXi#4dwuSU`fMdY>VXvE{+7F3al-zfSZ61nzi zr1DjoA+3X{913=Hu#Xbo8+685-T=Hr#0A3`^oHUE!#b|^{jl&Hx~URO`l#KkT^u^@ zC1MWEH_*S|J4|9kAr6@ex68@x@A&{$?}Lvj9O&;^@DG5@FNW~GQ&V~7^oSNV+}{RE~0!HNY|a`!7f79#eddG zLqtMgHw^XGVaelQ$Js{cxQMJlpzjqsC5-YbNc+jbDD}IHS1XUJ?O-c)ya=?lj7elY z0%e9eF7MkxAMlnmA83=zSo+_S-UOj>ypnA%sY+x61l|T6D}bbV#q=G`wAasz^1L>o z>;-SOBcTN%A<#o)xie0rvV^te5$G$MOIgyYAxM=_Kerm0lBpI(=<5*L^bdxN(-Nr= z2|+!KxFi|1K%jQ&tU^hkL{%fOmd%$Wmwieo*(^dgLTJsCo-tQa?-AgZVLjjc)RETD zLHhU(JxXZ56ysXpL-n?9`?L@LV7#672hpR1_LpOH?>7))%yfKTb$@bVA?4_}l!D6V zK03USyd74^C+&ffN}7+f^(8))C^PzBN(-u_AH!DhBPowQy0ATv*vrW~Fu2VqwuyF` zfge}Q&5^01ufb*@lqLExcowFl7;&<`0_a?b4R!(R`edyWOV>^!t&WJa&K%$bqFkE~ z&ZsaQb+-@=Q}AB`^f--DATs=@LufDcjHDnabdaj{?L6#~CtMC{%O!Fjcoh=MD*^NW zPpT3b)2KtJ_r>c#M3xcgcA%E9h(Nz8IF7_xcR%ptZVLjLOD1Cy8I|e~>S3@NxR0a+ zdS^@tJV5?!2yDx{Px)%Sl8*RA>e5nMr7!RTRgQ7`3UhagG&Zw8oY~P!~$omTp8>>PCc8iUUGHMReh? zu}%x=Mxm{!2o9hK;!06LC<%%M!Ah*AVhvivT3d|DNY?Q?d30~0)cB2B;Vz#`G;I^tP?Dn%8|NfJyoYODZ{Z<)Efr|%g>+_v{YlTp-$ph2Yze>|AH~F8~g<} z;M_Rn9tIW8HpEE=cb9$<=$tEKAJDmSyin%sIO+a&I`DMu2FE5$Q1B6UA(VGvTnCN; z)-kAMqY%nH67B)few6Y%CQD1duVU$tQtSnjX6ZNbR+IBG@I+7ygZfvZjb|fF=27aO z3-*JflHP;Qd+BAU9C_cdxK`?1vRR=Aw@|+8f8ZvjLf!um@PKHlO_M7Mm z2FWX=Ax=6Hj>@8!V;%f0X&wC-)O3)txsOQ)$%PnoCs+?;bPEWgN-;>@5t+9PxNXf# zN!#}&O#ZZt01v~jSmV31ycwDEj>try-$_oMhM}783Dw%o3nJ6T>{aY4;GDfDegSr< ziNHOHU{93dLlin>Muavsk&xq+@GjuLNzTm{@)iA)6g zLMnmYWh6-g#VC-#Al2y99t0oMOK4LO34seC;{hOnl9v+nONuZn)k@CGWvb}&yeKQB}W?Yqca4o(2kMjf^jc#rm9qbr2=ekE89 z+?%3JKE6xvS=xVst}66l{l~zCsX`E_c6?u^f~e4v>D(e+uD3JhR>})WW0dcqJE^nF z3f_j#1WrK7Ux+4iCJFYMP)n|$;J8|aanV#vER^{LX2_=X?ZKBPj*JB$3oN;BabaCi-fs4~(Fl8DTRJm33#-8Vf| zL|SHF?*j=okaDg@NDmT?_ESh+7Lk$ooKO#<0pMXaYXWIgNYfG-6NFGdH+fiff!ISWb}RT6Y%@_N6?Px%w@E}nR7ef&mQRSyQ547DZ@giKLL(W4)ufc7hZrm-7GgQEk&>qTSxDA4w)TV- zvyg0+QWlETETlA1wibF#i3ZbnGv4$0T=$OW`OV=bwim83(}7pHg)gNYH1{%lJ0hLLLXH0)ZOyovF$tVvc}~S(cq~!JNX%rE>=0 z44G393%VHZ0h8=7lI+duP;Qfg0g`+JHE@vmH89M$X-PGaZ3S!vtH4UI8mt4I;36j} zvzhTdpvwFM+F~191ryk+%q8ra5RCpIIMOC3uy~5+EVvili%T_rP?`HtM_@cTZ&WP_ zC;>0tRdBS`+G8*Bh3F0$wpx+w`YCxM;eb(hKen8~9yojB(BsVoub1Kz@xC6r~h zEN+HxQ}n;(Bt8*~LUM^i*zfD_l6pKcwSkJ@H3xVXZEaJ(5YHhz3dt$#2Vl4l*yY{8 zo_dV$4!SK8h{u*F!5~#Q5%${d0L!8;X@5=#Z=V(^LClIX|!+95X!Ik6&NSV_#dEy5aVm@e#vj_ zrPx%xk*GpR7efgmEVhuQ5eT(*6i%ca$&t=w$>0=XHjNQ+Qfsil-!S<Y4g4fRIH?e&os9vx3WCk)u7(4t>5JcP3q9wvi- zrjCqju+MA-Dt-BU{t4wN{8`uxdx@PVHb#94`l;s%cErh1-n4A6ulQ@=1w3zPOS@!T z3q@P<>E@+JNY>3)F7Z4HC*lm5l9Tidi4MU#m?iOLVlH0MK{{|eGF{;4!KnAZYFJ@_ z(uH=qy_FszHctI0{D7Z8b99dKHFQ%iW>QWPGhVU8JjW)UK=r(VziOG4s}A*UrpsEV zy2HjSM&e<<_llQc0Kc|(nUa%egoJM9MmPX<19%E{5?lpyY{WBsADbPp68}2BOLqzE zbC1{{&7!<6y z87L$44sD&(_dwGLv_&|g&LZdtDA?oh5fm=|W6L8ZP;N2-;|o3-+vwB-UEmp$x<6U^ z93!?N(Qe-v65OElo$+>Ffc4-?#d+N3i}=ClSEAzctXTgV75Euq!EqUjw;Zpw$E*LA zoKwrb;)wUH8-n=a`4B76$F@=UBr$g-bzGKRI3j{E0nhhAa02d_JD~9Q@BqA|DZ#{o xwM}>|fC(I@J_xS-G`s}ONi=;?LhJwf^9w7;Kz@dVc_aV;002ovPDHLkV1l1+YI^_x literal 0 HcmV?d00001 diff --git a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml index c21f932227..290602f73e 100644 --- a/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml +++ b/modules/mogo-module-share/src/main/res/layout/launcher_dialog_share_2.xml @@ -25,8 +25,8 @@ android:layout_marginTop="@dimen/share_module_title_margin_top" android:text="我要分享" android:textColor="@color/white" - android:drawableLeft="@drawable/module_share_title_icon" - android:drawableRight="@drawable/module_share_title_icon" + android:drawableLeft="@drawable/module_share_title_icon_left" + android:drawableRight="@drawable/module_share_title_icon_right" android:drawablePadding="@dimen/dp_40" android:textSize="@dimen/share_module_title_content" android:textStyle="bold" diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java index 2ed5841ad8..8d16700dfc 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/share/IMogoShareManager.java @@ -1,12 +1,12 @@ package com.mogo.service.share; -import com.alibaba.android.arouter.facade.template.IProvider; +import com.mogo.service.module.IMogoModuleProvider; /** * 分享框管理接口 * @author tongchenfei */ -public interface IMogoShareManager extends IProvider { +public interface IMogoShareManager extends IMogoModuleProvider { /** * 显示分享框 */ From 596fbdda1f3ce8d987f0b96df9711a8555643527 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 9 Jun 2020 15:53:28 +0800 Subject: [PATCH 06/11] opt --- app/build.gradle | 4 +- app/src/independent/AndroidManifest.xml | 5 +- app/src/launcher/AndroidManifest.xml | 5 +- .../drawable-v24/ic_launcher_foreground.xml | 34 ---- .../main/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 22256 bytes app/src/main/res/drawable/ic_launcher.png | Bin 0 -> 7603 bytes .../res/drawable/ic_launcher_background.xml | 170 ------------------ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 - app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2963 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4905 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2060 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2783 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4490 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6895 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6387 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10413 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9128 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15132 -> 0 bytes config.gradle | 6 +- .../java/com/mogo/commons/device/Devices.java | 2 +- gradle.properties | 2 +- .../apps/view/OnAiAssistClickListener.java | 7 +- 23 files changed, 16 insertions(+), 229 deletions(-) delete mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100755 app/src/main/res/drawable-xhdpi/ic_launcher.png create mode 100755 app/src/main/res/drawable/ic_launcher.png delete mode 100644 app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/app/build.gradle b/app/build.gradle index 3514a787b4..3d1e8f9784 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -71,7 +71,7 @@ android { //独立app independent{ dimension "basic" - applicationId rootProject.ext.android.applicationId + applicationId rootProject.ext.android.independentApplicationId // 是否启动位置服务 buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'false' // 是否使用自定义导航 @@ -82,7 +82,7 @@ android { // launcher app launcher{ dimension "basic" - applicationId rootProject.ext.android.applicationId + applicationId rootProject.ext.android.launcherApplicationId // 是否启动位置服务 buildConfigField 'boolean', 'LAUNCH_LOCATION_SERVICE', 'true' // 是否使用自定义导航 diff --git a/app/src/independent/AndroidManifest.xml b/app/src/independent/AndroidManifest.xml index 543d0ea0f7..57d7908a59 100644 --- a/app/src/independent/AndroidManifest.xml +++ b/app/src/independent/AndroidManifest.xml @@ -6,9 +6,8 @@ @@ -16,7 +15,7 @@ + android:value="1c3fbc5f5e183619ffb1e7bc01e6751f" /> diff --git a/app/src/launcher/AndroidManifest.xml b/app/src/launcher/AndroidManifest.xml index 759d90f0e5..fa7c043148 100644 --- a/app/src/launcher/AndroidManifest.xml +++ b/app/src/launcher/AndroidManifest.xml @@ -8,9 +8,8 @@ @@ -21,7 +20,7 @@ diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 1f6bb29060..0000000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png new file mode 100755 index 0000000000000000000000000000000000000000..56c238207f02c36b6273580f834c07bf4a26e2bc GIT binary patch literal 22256 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 Tn@8T8Yylc@9n~6To6!FOaN?xc literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher.png b/app/src/main/res/drawable/ic_launcher.png new file mode 100755 index 0000000000000000000000000000000000000000..9c5190b88ac39ae77576105788b8b74955a45320 GIT binary patch literal 7603 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 VhsbqSH;4cL002ovPDHLkV1goVS&IMw literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 0d025f9bf6..0000000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index eca70cfe52..0000000000 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index eca70cfe52..0000000000 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 898f3ed59ac9f3248734a00e5902736c9367d455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2963 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 JPDHLkV1g@XpTGbB diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index dffca3601eba7bf5f409bdd520820e2eb5122c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4905 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 lV%Z2*hu);6rydA(}wUDXPCF_W1vnaRBK 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 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 14ed0af35023e4f1901cf03487b6c524257b8483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6895 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index b0907cac3bfd8fbfdc46e1108247f0a1055387ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6387 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index d8ae03154975f397f8ed1b84f2d4bf9783ecfa26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10413 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 XdJ+W}DiIkV00000NkvXXu0mjfKBlg6 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 2c18de9e66108411737e910f5c1972476f03ddbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9128 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 I20H400LcNok^lez diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index beed3cdd2c32af5114a7dc70b9ef5b698eb8797e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15132 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 diff --git a/config.gradle b/config.gradle index d1845f3435..db122db547 100644 --- a/config.gradle +++ b/config.gradle @@ -1,7 +1,9 @@ ext { android = [ - applicationId : "com.mogo.launcher", - zhidadoApplicationId: "com.zhidao.launcher", +// applicationId : "com.mogo.launcher", +// zhidadoApplicationId: "com.zhidao.launcher", + launcherApplicationId: "com.mogo.launcher", + independentApplicationId: "com.mogo.launcher.app", compileSdkVersion : 28, buildToolsVersion : "29.0.2", minSdkVersion : 19, diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/device/Devices.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/device/Devices.java index 87a8aab2d2..f9c5470fce 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/device/Devices.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/device/Devices.java @@ -44,6 +44,6 @@ class Devices { } public static boolean isBind() { - return false; + return sIsBind; } } diff --git a/gradle.properties b/gradle.properties index 3d49348d27..d0ca0fd0cf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -58,7 +58,7 @@ MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.1 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.0.6.6 +MOGO_MODULE_TANLU_VERSION=1.1.0.1-SNAPSHOT # 车聊聊 CARCHATTING_VERSION=1.0.4-SNAPSHOT # 车聊聊接口 diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java index 7d73d05ea1..393f3d9a6f 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/view/OnAiAssistClickListener.java @@ -2,6 +2,7 @@ package com.mogo.module.apps.view; import android.view.View; +import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.device.Devices; import com.mogo.commons.voice.AIAssist; import com.mogo.module.apps.AppServiceHandler; @@ -34,7 +35,7 @@ class OnAiAssistClickListener implements View.OnClickListener { trackNavigatorClickEvent( 5 ); } else { if ( mDebugModeOpen ) { - AIAssist.startAssistant( v.getContext(), 2 ); + AIAssist.startAssistant( v.getContext(), 1 ); trackNavigatorClickEvent( 5 ); return; } @@ -42,7 +43,7 @@ class OnAiAssistClickListener implements View.OnClickListener { mLastClickTime = System.currentTimeMillis(); mClickCounter++; } else { - if ( mClickCounter == TOTAL_CLICK_AMOUNT && !mDebugModeOpen ) { + if ( mClickCounter == TOTAL_CLICK_AMOUNT ) { AIAssist.startAssistant( v.getContext(), 2 ); TipToast.shortTip( "开启语音调试" ); mClickCounter = 0; @@ -50,7 +51,7 @@ class OnAiAssistClickListener implements View.OnClickListener { mDebugModeOpen = true; } else if ( System.currentTimeMillis() - mLastClickTime > INTERVAL ) { mClickCounter = 0; - TipToast.shortTip( "请在2秒内打开调试模式" ); + TipToast.shortTip( "请在2秒内连续点击5次打开语音调试模式" ); } else { mClickCounter++; } From e3e584775a746166140e2552bb6cbafeada588aa Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 9 Jun 2020 16:09:16 +0800 Subject: [PATCH 07/11] =?UTF-8?q?[rm]=E5=88=A0=E9=99=A4=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=BF=AB=E6=8D=B7=E5=85=A5=E5=8F=A3=E5=8F=8A?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/apps/model/NavigatorApps.java | 3 --- .../module_apps_ic_navigator_personcenter.png | Bin 10390 -> 0 bytes .../module_apps_ic_navigator_personcenter.png | Bin 4218 -> 0 bytes 3 files changed, 3 deletions(-) delete mode 100755 modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png delete mode 100644 modules/mogo-module-apps/src/main/res/drawable/module_apps_ic_navigator_personcenter.png 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 820d46c5a4..7c9565f081 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 @@ -16,14 +16,12 @@ public class NavigatorApps { 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( app4 ); return sApps; } @@ -32,7 +30,6 @@ public class NavigatorApps { List< AppInfo > sApps = new ArrayList<>(); sApps.add( app ); sApps.add( app2 ); -// sApps.add( app3 ); sApps.add( app4 ); return sApps; } diff --git a/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png b/modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_navigator_personcenter.png deleted file mode 100755 index f6ad6f732ad52df0393b2bcaf76f45725d2103d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10390 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 Q+W-In07*qoM6N<$f)jWjbpQYW From 2292bb7ec9dd4d779558f26ab568cee186dcb013 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 9 Jun 2020 16:26:13 +0800 Subject: [PATCH 08/11] opt --- app/src/main/AndroidManifest.xml | 3 +-- .../src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java | 6 ------ 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ef8371d58e..88bec3f449 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,9 +8,8 @@ diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java index c4ae31a0c9..0840157652 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/hook/BnHooker.java @@ -53,14 +53,8 @@ public class BnHooker implements InvocationHandler { @Override public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable { if ( method.getName().equals( "setRenderFps" ) ) { - Logger.d( TAG, "setRenderFps" ); - if ( !NaviClient.getInstance( mContext ).isNaviing() ) { - } return method.invoke( host, 10 ); } - if ( method.getName().equals( "drawFrame" ) ) { - Logger.d( TAG, "drawFrame" ); - } return method.invoke( host, args ); } } From f71b7dcc0803bb53e64fe0ac9d68a3c44bc297be Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 9 Jun 2020 16:28:13 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=A4=9A=E5=AA=92?= =?UTF-8?q?=E4=BD=93=E6=B5=AE=E6=A1=86=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/media/MediaWindow2.java | 2 +- .../module_media_default_music_img.png | Bin 0 -> 2803 bytes .../drawable-xhdpi/module_media_next_song.png | Bin 872 -> 644 bytes .../module_media_window_pop_pause.png | Bin 629 -> 453 bytes .../module_media_window_pop_play.png | Bin 343 -> 337 bytes .../src/main/res/values-xhdpi/dimens.xml | 4 ++-- .../src/main/res/values/dimens.xml | 4 ++-- 7 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png 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 f8638830d4..d5d9568953 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 @@ -170,7 +170,7 @@ public class MediaWindow2 implements IMusicView { if (mCircleImg != null) { com.bumptech.glide.request.RequestOptions options = new com.bumptech.glide.request.RequestOptions() - .placeholder(R.drawable.module_media_share_default_icon); + .placeholder(R.drawable.module_media_default_music_img); GlideApp.with(mContext).applyDefaultRequestOptions(options).load(mMediaInfoData.getMediaImg()).into(mCircleImg); } diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_default_music_img.png new file mode 100644 index 0000000000000000000000000000000000000000..4aab1a19b36fe0955b2a16d0cda1163263bbd62a GIT binary patch literal 2803 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 FV1i0PJqG{) literal 0 HcmV?d00001 diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_next_song.png index d692431fa8c4f0c85f7676607789293f2d9995af..a3898c582733a602f45bfb55e8f9a20b3e906103 100644 GIT binary patch literal 644 zcmV-~0(y?-atj! z6>lXaJu)25IWs+HcD8%yh7)adcYXEOPE~h{kq?cWj{=yx!bQQNVB!%dDVn%IjqVi% z8$*=1K~XSqfg0WGq@bBC0lR?Hk{&hg5@}#&mw-L+zm+s#P14@TrMmT^X7&r%4r~A? zC0&T!c%HqP{i(rKrY31y>^@x;^oZ8S8gNw7mskg;*_+wq`v1%%Mf)2)!8e-WzzblX zqKY+8qilnJ3w1H0@$=W?!Pq7AS&1LuKLlD=0H#*m_u@DD?q_jFDxxaGZQ8^z|?d;)ez`Zh)d z9sDh@Q_}hv0j~o`B)uA2iu!^146s^1eT+rH`=Nb%GPW||*B#5i(yVSKX9b@Dha}yZ z_c_fG&Bq$^EeId(D*bxhLxws5(WiLW6YJuRb0>M43Vd`O;0 zlZ6SX0{WGqU+FJP^1GPMBSpZ+p=dwoOjVnh0$}wv;a3o=-fq>;bBjWz@HXL4yTd{C z#-cz|TD7fxUFsWXGuP|%__CP}^}Tih>^q`EuU8ZtI^uorR}}0!qC>A&6dXF@eeYKk e>^q`EulE-S^+QM(ceHo_0000q7@r2Jv%W~cbV#;5B2T;mzEp4 ztz-WxCwb|`K3^_X!TI00rxmmmS8|5m7nQys1_q=$=cd_1Y&d0ZACAepK#YWpT*pyR7PSe%2?F3uLFWTtC0HWWuG^^&jVL?=QS89$vIB*l1?4-pfPf3>L4I?`B0Q zc`%l9G%R1+A$881IWkmStdcR6|9Qn9r!{|X99sJa6!!U@GalFHTg>08kmzrPAUbX%GDn99(y8@aym!JE0das`1-EA%h{<9`u+Gns$ zYjxWVi_Po!J2Wn}MwKjR>-Ap0@}ApK`>7L>Vpkko@kcfo#DA)9V3)XO*6N5SasT#9 wJ!@M2nd!-=|LKcaFRC#LDG)*uDj)b?EuCG?xpK{UVAf&qboFyt=akR{0RLl*f&c&j diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_pause.png index 967dfe701d392ca1f1327c55fdf348ef7e01256c..a908c23da5e667ba3926caded7c3de4b99e970c5 100644 GIT binary patch delta 428 zcmV;d0aO0<1jPf8BYy#mNkl`BV(3g@> zOQ3VT0>{7w@Ld9G4fLjaV7EksaseH*NQ80%{WM*K_JP|Rw`>WZcV&rCNnn-;l?M80 z-T`|S5mEt~MMw!~5+Oz4q!CgEP7)z?U~+_N0Y*otCSX*AY6N-tM5oO>c5m5wA8WAO+NkmkDW)Ue3G>=G0V3vqj0zZJ21t-WF5lf)kF4&wq zL6L}90{wR~>%ime^O2^$lL;-J#PO7eZ3#f=B04a%LM7_Q`vlb|6uQ1X!O#k+AO8j2 WNiEnVL9<){0000Px%FG)l}RA>e5n!heYK@`Rm254V4N-ar{~kc45wV4ah^Tl1TCVSGoMf}f&dl9A=ghgAndHmN&WxG! zn=|{_e~qFj8Y4qoMu(WKgO&m7p5dIqoI&F!Q09uxf#nK%g@4YWX~=wOl=wgR1e&ET zqHnaD&>8gG)o-d93OI|X-}^-Vi2iM;-Df;$cjy(Jazwd;v3sZmO*rNy843mT1viEX zd(bnq;hU^E9t)6Toj6*D0#fSgS>p$l|G zc_m~GkU_W5i1JFvDjy)CG{4R=E*c*A4I? z6pZK91@H#}A3}E=cxXKyIx*qAN*`)j&LDj(xeu*D?SDZJ*lGr^0ki{s4hqJ9XASV< zAMAz$tXf;SqGTec&>|EKjt<8{1}m8eLAXlF3`Q{#7aWbH%3w4Tu?863M0|i+S5(YI ze1IBPRMbR#fRY(hF%ci2R0h>dL>o}uM0|j;u4pn7@d1Wj(J#kBNlnBNS7#_RgKwDq z(z6(u2v&V385BQa;SK%(BOhSPymB#p00000NkvXXu0mjfXh8)J diff --git a/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play.png b/modules/mogo-module-media/src/main/res/drawable-xhdpi/module_media_window_pop_play.png index 21a77a0c44d978dba895c372fc6ad40cd3632d7d..ab6f5e4d7c53ac040325d408879455368ad6f96a 100644 GIT binary patch delta 311 zcmV-70m%N>0?`7HBYy!HNklCgI0~G!OIA_(#t?{oiJ$Ch<_Tq&%E%(%=5-hvua?l zD6zG=70Ol(2tsgtpAj+>Da$?hEY7T5LdXy@giLs7BV-7fmrX;8lA@$2DOy&5HbI-9 zP1JM2dVlavW;%d*9vte!sK%(qsK%(qs8-nnw24pJg!SWOg^X1r+6S$lmn#OX8c~DR zKL}I|S~a2u!!ViOdI1Jo6UgdAFk8Xa>mk^hKvo}u*$TE^{{R%k2iV3GGK)J|9n5dM(P2J??bl=Dmw8 zAM6)4a}>T)$^5VToy>)2AALS}yIwcjzy0;jxI%g3D@`w_KUp2cVpX0gms|fb?WV4e zy|lrJ-fKouYH0?wR~m&RP5LbsEK8r)&G~89RgKxyVR}zXsCo0|dd9W?&#wRV$Tqos z580px 120px 112px - 20px + 30px 90px 230px - 20px + 14px 35px 24px 56px diff --git a/modules/mogo-module-media/src/main/res/values/dimens.xml b/modules/mogo-module-media/src/main/res/values/dimens.xml index 257216648f..430d3312f0 100644 --- a/modules/mogo-module-media/src/main/res/values/dimens.xml +++ b/modules/mogo-module-media/src/main/res/values/dimens.xml @@ -64,10 +64,10 @@ 322px 66.7px 60px - 12px + 18px 48px 123px - 13px + 10px 18px 14px 30px From d3d4a713c3df6b98ad60b004073b3df8e1d5aa2f Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 9 Jun 2020 17:50:49 +0800 Subject: [PATCH 10/11] =?UTF-8?q?1.=20=E8=B0=83=E6=95=B49832=E5=A4=9A?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E6=B5=AE=E6=A1=86=E4=BD=8D=E7=BD=AE=202.=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=A4=9A=E6=B8=A0=E9=81=93=E5=A4=9A=E5=AA=92?= =?UTF-8?q?=E4=BD=93=E6=A8=A1=E5=9D=97=E7=9A=84=E5=8A=A0=E8=BD=BD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=203.=20=E8=B0=83=E6=95=B4=E7=8B=AC=E7=AB=8Bapp?= =?UTF-8?q?=E7=9A=84back=E9=94=AE=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/launcher/MogoApplication.java | 11 ++++++----- .../main/java/com/mogo/module/main/MainActivity.java | 7 ++++++- .../main/java/com/mogo/module/media/MediaWindow2.java | 4 ++++ .../mogo-module-media/src/main/res/values/dimens.xml | 2 +- .../main/java/com/mogo/module/share/ShareControl.java | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index ee645f4878..7a864b552b 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -38,6 +38,9 @@ public class MogoApplication extends AbsMogoApplication { DebugConfig.setNetMode(BuildConfig.NET_ENV); DebugConfig.setDebug(BuildConfig.DEBUG); DebugConfig.setAIType(BuildConfig.AIType); + DebugConfig.setLaunchLocationService( BuildConfig.LAUNCH_LOCATION_SERVICE ); + DebugConfig.setUseCustomNavi( BuildConfig.USE_CUSTOM_NAVI ); + DebugConfig.setLauncher( BuildConfig.IS_LAUNCHER ); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); @@ -52,7 +55,9 @@ public class MogoApplication extends AbsMogoApplication { //运营位卡片,需要默认显示,放在第一个加载 MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); - MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); + if(DebugConfig.isLauncher()) { + MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); + } MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); @@ -61,10 +66,6 @@ public class MogoApplication extends AbsMogoApplication { // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); - - DebugConfig.setLaunchLocationService( BuildConfig.LAUNCH_LOCATION_SERVICE ); - DebugConfig.setUseCustomNavi( BuildConfig.USE_CUSTOM_NAVI ); - DebugConfig.setLauncher( BuildConfig.IS_LAUNCHER ); } @Override 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 8ebdda3bdb..43a0b53ef9 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 @@ -11,6 +11,7 @@ import androidx.annotation.Nullable; import androidx.viewpager.widget.ViewPager; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.MvpActivity; import com.mogo.commons.voice.AIAssist; import com.mogo.map.location.IMogoLocationClient; @@ -242,7 +243,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override public void onBackPressed() { if ( mMogoFragmentManager.getStackSize() == 0 ) { - return; + if(DebugConfig.isLauncher()) { + return; + }else{ + super.onBackPressed(); + } } if ( mMogoFragmentManager != null ) { mMogoFragmentManager.pop(); 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 d5d9568953..21898f15df 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 @@ -21,6 +21,7 @@ import com.mogo.module.media.widget.AnimCircleImageView; import com.mogo.module.media.widget.NoScrollSeekBar; import com.mogo.module.media.widget.ScrollingTextView; import com.mogo.utils.LaunchUtils; +import com.mogo.utils.WindowUtils; import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl; @@ -95,6 +96,9 @@ public class MediaWindow2 implements IMusicView { getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location); int xPos = getContext().getResources().getDimensionPixelOffset(R.dimen.module_media_music_state_location_x); + int statusBarHeight = WindowUtils.getStatusBarHeight(mContext); + Logger.d(TAG, + "yPos: " + yPos + " xPos: " + xPos + " statusBarHeight: " + statusBarHeight); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams((int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_width), (int) mContext.getResources().getDimension(R.dimen.module_media_pop_window_height)); params.leftMargin = xPos; diff --git a/modules/mogo-module-media/src/main/res/values/dimens.xml b/modules/mogo-module-media/src/main/res/values/dimens.xml index 430d3312f0..372e5babff 100644 --- a/modules/mogo-module-media/src/main/res/values/dimens.xml +++ b/modules/mogo-module-media/src/main/res/values/dimens.xml @@ -1,6 +1,6 @@ - 483px + 470px 573px diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index 33ab9ac337..a549613d66 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -354,7 +354,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo } break; default: - showShareDialog(); +// showShareDialog(); break; } case VOICE_CMD_PUB_ROAD_CONDITION: From b1b208576923295610278c8beebc7e08eafcf19d Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 9 Jun 2020 20:12:19 +0800 Subject: [PATCH 11/11] opt --- .idea/misc.xml | 2 +- config.gradle | 13 +++++++------ gradle.properties | 2 ++ modules/mogo-module-main/build.gradle | 1 + .../java/com/mogo/module/main/MainActivity.java | 7 ------- .../java/com/mogo/module/main/MainPresenter.java | 11 +---------- .../main/java/com/mogo/module/main/MainView.java | 7 ------- .../impl/statusmanager/MogoStatusManager.java | 4 +++- 8 files changed, 15 insertions(+), 32 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/config.gradle b/config.gradle index db122db547..ab1742056a 100644 --- a/config.gradle +++ b/config.gradle @@ -2,12 +2,12 @@ ext { android = [ // applicationId : "com.mogo.launcher", // zhidadoApplicationId: "com.zhidao.launcher", - launcherApplicationId: "com.mogo.launcher", - independentApplicationId: "com.mogo.launcher.app", - compileSdkVersion : 28, - buildToolsVersion : "29.0.2", - minSdkVersion : 19, - targetSdkVersion : 22, +launcherApplicationId : "com.mogo.launcher", +independentApplicationId: "com.mogo.launcher.app", +compileSdkVersion : 28, +buildToolsVersion : "29.0.2", +minSdkVersion : 19, +targetSdkVersion : 22, ] dependencies = [ @@ -151,5 +151,6 @@ ext { // 个人中心的SDK personalsdk : "com.zhidaoauto.person.info:data:1.0.1", + tanluupload : "com.mogo.module:module-tanlu-upload:${TANLULIB_VERSION}", ] } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d0ca0fd0cf..d5b80c7423 100644 --- a/gradle.properties +++ b/gradle.properties @@ -77,6 +77,8 @@ MOGO_MODULE_MEDIA_VERSION=1.0.4.11 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 +# 探路上报和分享模块 +TANLULIB_VERSION=1.0.2-SNAPSHOT ## 产品库必备配置 applicationId=com.mogo.launcer diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index 69449eb0f9..e06cc617ba 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -39,6 +39,7 @@ dependencies { implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter + implementation rootProject.ext.dependencies.tanluupload annotationProcessor rootProject.ext.dependencies.aroutercompiler if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogoutils 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 8ebdda3bdb..04a70217ea 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 @@ -213,16 +213,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override public boolean onMarkerClicked( IMogoMarker marker ) { EventDispatchCenter.getInstance().onMarkerClicked( marker ); - if ( !mMogoStatusManager.isADASShow() ) { - switch2Card( marker.getOwner(), false ); - } return false; } - @Override - public void switch2Card( String cardType, boolean lockCar ) { - } - @Override protected void onResume() { super.onResume(); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java index 9d15afb925..66fbdfc738 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java @@ -16,6 +16,7 @@ import com.mogo.module.main.livedata.CardSwitchLiveData; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.module.IMogoModuleProvider; +import com.zhidao.roadcondition.service.MainService; import java.util.HashMap; import java.util.Map; @@ -28,9 +29,6 @@ import java.util.Map; */ public class MainPresenter extends Presenter< MainView > { - // 埋点接口 - private IMogoAnalytics mAnalytics; - private Handler mMsgHandler = new Handler( Looper.getMainLooper() ) { @Override public void handleMessage( Message msg ) { @@ -57,13 +55,6 @@ public class MainPresenter extends Presenter< MainView > { @Override public void onCreate( @NonNull LifecycleOwner owner ) { super.onCreate( owner ); - CardSwitchLiveData.getInstance().observeForever( cardInfo -> { - if ( TextUtils.isEmpty( cardInfo.mCardName ) ) { - return; - } - mView.switch2Card( cardInfo.mCardName, cardInfo.mLockCar ); - } ); - mAnalytics = ( IMogoAnalytics ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_ANALYTICS ).navigation( getContext() ); } /** diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainView.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainView.java index ec93570a23..e2b33db244 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainView.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainView.java @@ -11,13 +11,6 @@ import com.mogo.service.IMogoServiceApis; */ public interface MainView extends IView { - /** - * 切换卡片 - * - * @param cardType - */ - void switch2Card( String cardType, boolean lockCar ); - /** * 加载卡片 */ diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index 7def67c3e6..3d4940d28b 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -168,7 +168,9 @@ public class MogoStatusManager implements IMogoStatusManager { @Override public void setMainPageResumeStatus( String tag, boolean resume ) { + final long start = System.currentTimeMillis(); doSetStatus( tag, StatusDescriptor.MAIN_PAGE_RESUME, resume ); + Logger.i( TAG, "setMainPageResumeStatus " + resume + " cost " + ( System.currentTimeMillis() - start ) + "ms" ); } @Override @@ -191,7 +193,7 @@ public class MogoStatusManager implements IMogoStatusManager { doSetStatus( tag, StatusDescriptor.UPLOADING, uploading ); } - private void doSetStatus(String tag, StatusDescriptor target, boolean value){ + private void doSetStatus( String tag, StatusDescriptor target, boolean value ) { mStatus.put( target, value ); invokeStatusChangedListener( target, value ); recordStatusModifier( tag, target );