Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0

This commit is contained in:
董宏宇
2020-02-03 17:46:53 +08:00
11 changed files with 79 additions and 15 deletions

View File

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

View File

@@ -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";
}

View File

@@ -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 );
}

View File

@@ -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
* <p>
* 描述
*/
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 );
}
}

View File

@@ -290,9 +290,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
public void switch2( String cardType ) {
if ( mCardModulesAdapter != null ) {
int position = mCardModulesAdapter.getProviderPosition( cardType );
if ( position != -1 ) {
mCardsContainer.setCurrentItem( position, Math.abs( mCurrentPosition - position ) == 1 );
int lastFactPosition = mCardModulesAdapter.getFactPosition( mCurrentPosition );
mCardsContainer.setCurrentItem( mCurrentPosition + position - lastFactPosition, Math.abs( lastFactPosition - position ) == 1 );
if ( !isClickMarker ) {
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
}

View File

@@ -47,8 +47,8 @@ public class CardModulesAdapter extends FragmentStatePagerAdapter {
@Override
public int getCount() {
return mProviders.size();
// return Integer.MAX_VALUE;
// return mProviders.size();
return Integer.MAX_VALUE;
}
public IMogoModuleProvider getProvider( int position ) {

View File

@@ -514,7 +514,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();