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();