From e26b2522775143e45673c24c89cf16c6dee0d29f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 3 Feb 2020 17:43:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9F=B3=E4=B9=90=E5=92=8C?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E8=AE=BE=E7=BD=AE=E6=8C=89=E9=92=AE=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/apps/AppNavigatorFragment.java | 18 +++++++++--- .../java/com/mogo/module/apps/AppsConst.java | 9 ++++++ .../com/mogo/module/apps/AppsPresenter.java | 6 ++-- .../mogo/module/apps/utils/LaunchUtils.java | 28 +++++++++++++++++++ .../module/service/MogoServiceProvider.java | 2 +- 5 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java index 249509325e..b967c5cdcc 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java @@ -8,15 +8,15 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.commons.mvp.Presenter; +import com.mogo.module.apps.utils.LaunchUtils; import com.mogo.module.common.MogoModulePaths; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.fragmentmanager.FragmentDescriptor; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.module.IMogoModuleProvider; +import com.mogo.utils.TipToast; import java.util.HashMap; import java.util.Map; @@ -63,10 +63,20 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi trackNavigatorClickEvent( 1 ); } ); mMediaCenter.setOnClickListener( view -> { - trackNavigatorClickEvent( 2 ); + try { + LaunchUtils.launchByPkg( getContext(), AppsConst.APP_PKG_MUSIC ); + trackNavigatorClickEvent( 2 ); + } catch ( Exception e ) { + TipToast.shortTip( R.string.module_apps_str_no_app ); + } } ); mCarSettings.setOnClickListener( view -> { - trackNavigatorClickEvent( 3 ); + try { + LaunchUtils.launchByPkg( getContext(), AppsConst.APP_PKG_CAR_SETTINGS ); + trackNavigatorClickEvent( 3 ); + } catch ( Exception e ) { + TipToast.shortTip( R.string.module_apps_str_no_app ); + } } ); mApps.setOnClickListener( view -> { openAppsPanel(); diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java index 48faee2f70..aea6b2cad4 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java @@ -18,4 +18,13 @@ public class AppsConst { public static final String CMD_CLOSE_APPS_PANEL = "CMD_CLOSE_APPS_PANEL"; public static final String[] CMD_CLOSE_APPS_PANEL_UN_WAKEUP_WORDS = {"关闭全部应用"}; + + /** + * 媒体跳转 + */ + public static final String APP_PKG_MUSIC = "com.pvetec.musics"; + /** + * 车辆设置跳转 + */ + public static final String APP_PKG_CAR_SETTINGS = "com.zhidao.settings"; } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java index 088d3b7ac7..eada7ed782 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java @@ -9,6 +9,7 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; import com.mogo.module.apps.model.AppInfo; import com.mogo.module.apps.model.AppsModel; +import com.mogo.module.apps.utils.LaunchUtils; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.utils.ThreadPoolService; @@ -66,11 +67,8 @@ public class AppsPresenter extends Presenter< AppsView > { } trackAppClicked( appInfo ); - try { - Intent intent = getContext().getPackageManager().getLaunchIntentForPackage( appInfo.getPackageName() ); - intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - getContext().startActivity( intent ); + LaunchUtils.launchByPkg( getContext(), appInfo.getPackageName() ); } catch ( Exception e ) { TipToast.shortTip( R.string.module_apps_str_no_app ); } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java new file mode 100644 index 0000000000..b328070501 --- /dev/null +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java @@ -0,0 +1,28 @@ +package com.mogo.module.apps.utils; + +import android.content.Context; +import android.content.Intent; + +import com.mogo.module.apps.R; +import com.mogo.utils.TipToast; + +/** + * @author congtaowang + * @since 2020-02-03 + *

+ * 描述 + */ +public class LaunchUtils { + + /** + * 通过包名启动app + * + * @param context + * @param pkg 包名 + */ + public static void launchByPkg( Context context, String pkg ) throws Exception{ + Intent intent = context.getPackageManager().getLaunchIntentForPackage( pkg ); + intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + context.startActivity( intent ); + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 4d4af9c687..d2252c3916 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -513,7 +513,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, @Override public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { switch ( descriptor ) { - case USER_INTERACTED: + case USER_INTERACTED: if ( isTrue && !mRefreshRemainingTimeStatus ) { mRefreshRemainingTimeStatus = true; mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval();