From c712b6f03b73ef26842baeecedde2ae1d96bb472 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 8 Jun 2020 15:30:42 +0800 Subject: [PATCH 1/6] =?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 2/6] =?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 3/6] =?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 4/6] =?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 5/6] =?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 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 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 e3e584775a746166140e2552bb6cbafeada588aa Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 9 Jun 2020 16:09:16 +0800 Subject: [PATCH 6/6] =?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