add mogoaction api

This commit is contained in:
wangcongtao
2020-03-12 22:35:51 +08:00
parent 89a9f33e4b
commit 325460b978
18 changed files with 285 additions and 305 deletions

View File

@@ -57,7 +57,7 @@ import java.util.List;
*/
public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView,
IMogoLocationListener,
IMogoMarkerClickListener, IMogoIntentListener, IMogoCardChangedListener {
IMogoMarkerClickListener{
private static final String TAG = "MainActivity";
@@ -91,7 +91,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
private int mCurrentPosition = 0;
private ViewPager.OnPageChangeListener mOnPageChangeListener;
private IMogoIntentManager mMogoIntentManager;
@Override
protected int getLayoutId() {
@@ -246,7 +245,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoCardManager = mServiceApis.getCardManagerApi();
mMogoCardManager.registerCardChangedListener(TAG,this);
mMogoFragmentManager = mServiceApis.getFragmentManagerApi();
mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment );
mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> {
@@ -257,19 +255,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
}
} );
mMogoIntentManager = mServiceApis.getIntentManagerApi();
mMogoStatusManager = mServiceApis.getStatusManagerApi();
registerVoiceCmd();
Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
}
private void registerVoiceCmd() {
for ( String cmd : VoiceConstants.sCmds ) {
mMogoIntentManager.registerIntentListener( cmd, this );
}
}
private void startLocation() {
mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() );
mLocationClient.addLocationListener( this );
@@ -391,62 +380,4 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoFragmentManager = null;
AIAssist.getInstance( this ).release();
}
@Override
public void onIntentReceived( String intentStr, Intent intent ) {
if ( TextUtils.isEmpty( intentStr ) ) {
return;
}
int currentItem = mCardsContainer.getCurrentItem();
int cardSize = mCardModulesAdapter.getCount();
switch ( intentStr ) {
case VoiceConstants.COMMAND_ZHIDAO_SWITCHCARD:
String data = intent.getStringExtra( "data" );
try {
JSONObject jsonObject = new JSONObject( data );
String card = jsonObject.getString( "card" );
if ( TextUtils.equals( "多媒体", card ) ) {
mCardsContainer.setCurrentItem( 1 );
} else if ( TextUtils.equals( "探路", card ) ) {
mCardsContainer.setCurrentItem( 3 );
} else if ( TextUtils.equals( "在线车辆", card ) ) {
mCardsContainer.setCurrentItem( 5 );
}
} catch ( JSONException e ) {
e.printStackTrace();
}
break;
case VoiceConstants.COMMAND_ZHIDAO_SWITCHCARD_NEXT:
currentItem++;
mCardsContainer.setCurrentItem( currentItem / cardSize );
break;
case VoiceConstants.COMMAND_ZHIDAO_SWITCHCARD_PREVIOUS:
currentItem--;
if ( currentItem < 0 ) {
currentItem += cardSize;
}
mCardsContainer.setCurrentItem( currentItem / cardSize );
break;
default:
break;
}
}
@Override public void onSwitched(int position, String moduleName) {
mCardsContainer.setCurrentItem( position );
}
}