add card sort logic
This commit is contained in:
@@ -5,6 +5,8 @@ import android.content.SharedPreferences;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class SharedPrefsMgr {
|
||||
|
||||
private static final String File_Name = "app_shared_pref";
|
||||
@@ -128,4 +130,17 @@ public class SharedPrefsMgr {
|
||||
}
|
||||
}
|
||||
|
||||
public void putStringSet( String key, Set< String > values ) {
|
||||
try {
|
||||
SharedPreferences.Editor editor = sSharedPrefs.edit();
|
||||
editor.putStringSet( key, values );
|
||||
editor.apply();
|
||||
} catch ( Exception e ) {
|
||||
}
|
||||
}
|
||||
|
||||
public Set<String> getStringSet( String key ) {
|
||||
return sSharedPrefs.getStringSet( key, null );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,8 +5,8 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.MotionEvent;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
@@ -36,6 +36,11 @@ import com.mogo.service.module.IMogoModuleProvider;
|
||||
import com.mogo.service.module.ModuleType;
|
||||
import com.mogo.utils.ResourcesHelper;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.mogo.utils.storage.SharedPrefsMgr;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -50,15 +55,15 @@ import java.util.Map;
|
||||
* 卡片加载
|
||||
*/
|
||||
public class MogoModulesManager implements MogoModulesHandler,
|
||||
IMogoMapListener,
|
||||
IMogoNaviListener,
|
||||
IMogoLocationListener {
|
||||
IMogoMapListener,
|
||||
IMogoNaviListener,
|
||||
IMogoLocationListener {
|
||||
|
||||
private static final String TAG = "MogoModulesManager";
|
||||
|
||||
private MainActivity mActivity;
|
||||
|
||||
private Map<MogoModule, IMogoModuleProvider> mModuleProviders = new HashMap<>();
|
||||
private Map< MogoModule, IMogoModuleProvider > mModuleProviders = new HashMap<>();
|
||||
private IMogoAnalytics mTrackManager;
|
||||
private IMogoMapService mapService;
|
||||
|
||||
@@ -67,17 +72,20 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
private BroadcastReceiver mReceiver;
|
||||
|
||||
public MogoModulesManager(MainActivity activity) {
|
||||
if (activity == null) {
|
||||
throw new NullPointerException("activity can't be null.");
|
||||
public static final String KEY_SORTED_CARD_MODULES = "sortedCards";
|
||||
private List< String > mSortedCards = new ArrayList<>();
|
||||
|
||||
public MogoModulesManager( MainActivity activity ) {
|
||||
if ( activity == null ) {
|
||||
throw new NullPointerException( "activity can't be null." );
|
||||
}
|
||||
this.mActivity = activity;
|
||||
mTrackManager = (IMogoAnalytics) ARouter.getInstance()
|
||||
.build(MogoServicePaths.PATH_UTILS_ANALYTICS)
|
||||
.navigation();
|
||||
mTrackManager = ( IMogoAnalytics ) ARouter.getInstance()
|
||||
.build( MogoServicePaths.PATH_UTILS_ANALYTICS )
|
||||
.navigation();
|
||||
|
||||
mapService = (IMogoMapService) ARouter.getInstance().build(
|
||||
MogoServicePaths.PATH_SERVICES_MAP
|
||||
mapService = ( IMogoMapService ) ARouter.getInstance().build(
|
||||
MogoServicePaths.PATH_SERVICES_MAP
|
||||
).navigation();
|
||||
|
||||
registerReceiver();
|
||||
@@ -93,264 +101,310 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void loadModules() {
|
||||
final List<MogoModule> modules = MogoModulePaths.getModules();
|
||||
if (modules != null && !modules.isEmpty()) {
|
||||
for (MogoModule module : modules) {
|
||||
IMogoModuleProvider provider = load(module.getPath());
|
||||
if (provider != null) {
|
||||
mModuleProviders.put(module, provider);
|
||||
final List< MogoModule > modules = MogoModulePaths.getModules();
|
||||
if ( modules != null && !modules.isEmpty() ) {
|
||||
for ( MogoModule module : modules ) {
|
||||
IMogoModuleProvider provider = load( module.getPath() );
|
||||
if ( provider != null ) {
|
||||
mModuleProviders.put( module, provider );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMapLoadedCallback(Runnable callback) {
|
||||
public void setMapLoadedCallback( Runnable callback ) {
|
||||
mMapLoadedCallback = callback;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IMogoModuleProvider> loadCardsModule() {
|
||||
final List<MogoModule> modules = MogoModulePaths.getModules();
|
||||
final ArrayList<IMogoModuleProvider> providers = new ArrayList<>();
|
||||
for (MogoModule module : modules) {
|
||||
IMogoModuleProvider provider = mModuleProviders.get(module);
|
||||
if (provider.getType() == ModuleType.TYPE_CARD_FRAGMENT) {
|
||||
if (mEnableModuleName == null) {
|
||||
public List< IMogoModuleProvider > loadCardsModule() {
|
||||
|
||||
String sortedJson = SharedPrefsMgr.getInstance( getContext() ).getString( KEY_SORTED_CARD_MODULES );
|
||||
try {
|
||||
JSONArray array = new JSONArray( sortedJson );
|
||||
mSortedCards = new ArrayList<>( array.length() );
|
||||
for ( int i = 0; i < array.length(); i++ ) {
|
||||
mSortedCards.add( array.getString( i ) );
|
||||
}
|
||||
Logger.d( TAG, "Last cache card: %s", mSortedCards );
|
||||
} catch ( JSONException e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
final List< MogoModule > modules = MogoModulePaths.getModules();
|
||||
final ArrayList< IMogoModuleProvider > providers = new ArrayList<>();
|
||||
for ( MogoModule module : modules ) {
|
||||
IMogoModuleProvider provider = mModuleProviders.get( module );
|
||||
if ( provider.getType() == ModuleType.TYPE_CARD_FRAGMENT ) {
|
||||
if ( mEnableModuleName == null ) {
|
||||
mEnableModuleName = provider.getModuleName();
|
||||
}
|
||||
providers.add(provider);
|
||||
providers.add( provider );
|
||||
}
|
||||
}
|
||||
return providers;
|
||||
return sort( providers );
|
||||
}
|
||||
|
||||
private List< IMogoModuleProvider > sort( List< IMogoModuleProvider > modules ) {
|
||||
if ( modules == null || modules.size() == 0 ) {
|
||||
return modules;
|
||||
}
|
||||
if ( mSortedCards == null ) {
|
||||
mSortedCards = new ArrayList<>();
|
||||
}
|
||||
List< IMogoModuleProvider > sortedList = new ArrayList<>( modules.size() );
|
||||
|
||||
for ( String sortedCard : mSortedCards ) {
|
||||
for ( IMogoModuleProvider module : modules ) {
|
||||
if ( TextUtils.equals( module.getModuleName(), sortedCard ) ) {
|
||||
sortedList.add( module );
|
||||
Logger.d( TAG, "%s sorted.", sortedCard );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
for ( IMogoModuleProvider module : modules ) {
|
||||
if ( !sortedList.contains( module ) ) {
|
||||
sortedList.add( module );
|
||||
}
|
||||
}
|
||||
mSortedCards.clear();
|
||||
for ( IMogoModuleProvider provider : sortedList ) {
|
||||
mSortedCards.add( provider.getModuleName() );
|
||||
}
|
||||
return sortedList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadMapModule(int containerId) {
|
||||
IMogoModuleProvider provider = (IMogoModuleProvider) ARouter.getInstance()
|
||||
.build(MogoModulePaths.PATH_MODULE_MAP)
|
||||
.navigation(getContext());
|
||||
addFragment(provider, containerId);
|
||||
public void loadMapModule( int containerId ) {
|
||||
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
|
||||
.build( MogoModulePaths.PATH_MODULE_MAP )
|
||||
.navigation( getContext() );
|
||||
addFragment( provider, containerId );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadAppsListModule(int containerId) {
|
||||
IMogoModuleProvider provider = (IMogoModuleProvider) ARouter.getInstance()
|
||||
.build(MogoModulePaths.PATH_MODULE_APPS)
|
||||
.navigation(getContext());
|
||||
addFragment(provider, containerId);
|
||||
public void loadAppsListModule( int containerId ) {
|
||||
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
|
||||
.build( MogoModulePaths.PATH_MODULE_APPS )
|
||||
.navigation( getContext() );
|
||||
addFragment( provider, containerId );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtensionsModule(int containerId) {
|
||||
IMogoModuleProvider provider = (IMogoModuleProvider) ARouter.getInstance()
|
||||
.build(ExtensionsModuleConst.PATH_EXTENSION)
|
||||
.navigation(getContext());
|
||||
addFragment(provider, containerId);
|
||||
public void loadExtensionsModule( int containerId ) {
|
||||
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
|
||||
.build( ExtensionsModuleConst.PATH_EXTENSION )
|
||||
.navigation( getContext() );
|
||||
addFragment( provider, containerId );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadEntrancesModule(int containerId) {
|
||||
IMogoModuleProvider provider = (IMogoModuleProvider) ARouter.getInstance()
|
||||
.build(ExtensionsModuleConst.PATH_ENTRANCE)
|
||||
.navigation(getContext());
|
||||
addFragment(provider, containerId);
|
||||
public void loadEntrancesModule( int containerId ) {
|
||||
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
|
||||
.build( ExtensionsModuleConst.PATH_ENTRANCE )
|
||||
.navigation( getContext() );
|
||||
addFragment( provider, containerId );
|
||||
}
|
||||
|
||||
private IMogoModuleProvider load(String path) {
|
||||
return (IMogoModuleProvider) ARouter.getInstance().build(path).navigation(getContext());
|
||||
private IMogoModuleProvider load( String path ) {
|
||||
return ( IMogoModuleProvider ) ARouter.getInstance().build( path ).navigation( getContext() );
|
||||
}
|
||||
|
||||
private void addFragment(IMogoModuleProvider provider, int containerId) {
|
||||
if (provider == null) {
|
||||
Logger.e(TAG, "add fragment fail cause provider == null, container is %s",
|
||||
ResourcesHelper.getResNameById(getApplicationContext(), containerId));
|
||||
private void addFragment( IMogoModuleProvider provider, int containerId ) {
|
||||
if ( provider == null ) {
|
||||
Logger.e( TAG, "add fragment fail cause provider == null, container is %s",
|
||||
ResourcesHelper.getResNameById( getApplicationContext(), containerId ) );
|
||||
return;
|
||||
}
|
||||
final Fragment fragment = provider.createFragment(getContext(), null);
|
||||
if (fragment == null) {
|
||||
Logger.e(TAG, "add fragment fail cause fragment == null, container is %s",
|
||||
ResourcesHelper.getResNameById(getApplicationContext(), containerId));
|
||||
final Fragment fragment = provider.createFragment( getContext(), null );
|
||||
if ( fragment == null ) {
|
||||
Logger.e( TAG, "add fragment fail cause fragment == null, container is %s",
|
||||
ResourcesHelper.getResNameById( getApplicationContext(), containerId ) );
|
||||
return;
|
||||
}
|
||||
mActivity.getSupportFragmentManager().beginTransaction()
|
||||
.add(containerId, fragment, provider.getModuleName())
|
||||
.commitAllowingStateLoss();
|
||||
.add( containerId, fragment, provider.getModuleName() )
|
||||
.commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setModuleEnable(String module) {
|
||||
public void setModuleEnable( String module ) {
|
||||
|
||||
// 仅操作上一个模块和当前模块
|
||||
Iterator<IMogoModuleProvider> iterator = mModuleProviders.values().iterator();
|
||||
Iterator< IMogoModuleProvider > iterator = mModuleProviders.values().iterator();
|
||||
int counter = 0;
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoModuleProvider provider = iterator.next();
|
||||
if (provider == null) {
|
||||
if ( provider == null ) {
|
||||
continue;
|
||||
}
|
||||
if (provider.getType() != ModuleType.TYPE_CARD_FRAGMENT) {
|
||||
if ( provider.getType() != ModuleType.TYPE_CARD_FRAGMENT ) {
|
||||
continue;
|
||||
}
|
||||
if (TextUtils.equals(mEnableModuleName, provider.getModuleName())) {
|
||||
if ( TextUtils.equals( mEnableModuleName, provider.getModuleName() ) ) {
|
||||
final IMogoModuleLifecycle lifecycle =
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListener(mEnableModuleName);
|
||||
if (lifecycle != null) {
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListener( mEnableModuleName );
|
||||
if ( lifecycle != null ) {
|
||||
try {
|
||||
final long start = System.currentTimeMillis();
|
||||
lifecycle.onDisable();
|
||||
Logger.i(TAG,
|
||||
"set %s module disable event cost " + (System.currentTimeMillis()
|
||||
- start) + "ms", mEnableModuleName);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
Logger.i( TAG,
|
||||
"set %s module disable event cost " + ( System.currentTimeMillis()
|
||||
- start ) + "ms", mEnableModuleName );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
counter++;
|
||||
continue;
|
||||
}
|
||||
if (TextUtils.equals(module, provider.getModuleName())) {
|
||||
if ( TextUtils.equals( module, provider.getModuleName() ) ) {
|
||||
final IMogoModuleLifecycle lifecycle =
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListener(module);
|
||||
if (lifecycle != null) {
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListener( module );
|
||||
if ( lifecycle != null ) {
|
||||
try {
|
||||
final long start = System.currentTimeMillis();
|
||||
lifecycle.onPerform();
|
||||
Logger.i(TAG,
|
||||
"set %s module perform event cost " + (System.currentTimeMillis()
|
||||
- start) + "ms", module);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
Logger.i( TAG,
|
||||
"set %s module perform event cost " + ( System.currentTimeMillis()
|
||||
- start ) + "ms", module );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
counter++;
|
||||
continue;
|
||||
}
|
||||
if (counter == 2) {
|
||||
if ( counter == 2 ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mEnableModuleName = module;
|
||||
mSortedCards.remove( mEnableModuleName );
|
||||
mSortedCards.add( 0, mEnableModuleName );
|
||||
SharedPrefsMgr.getInstance( getContext() ).putString( KEY_SORTED_CARD_MODULES, GsonUtil.jsonFromObject( mSortedCards ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
if (mMapLoadedCallback != null) {
|
||||
if ( mMapLoadedCallback != null ) {
|
||||
mMapLoadedCallback.run();
|
||||
mMapLoadedCallback = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouch(MotionEvent motionEvent) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onTouch( MotionEvent motionEvent ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onTouch(motionEvent);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onTouch( motionEvent );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPOIClick(MogoPoi poi) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onPOIClick( MogoPoi poi ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onPOIClick(poi);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onPOIClick( poi );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick(MogoLatLng latLng) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onMapClick( MogoLatLng latLng ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onMapClick(latLng);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onMapClick( latLng );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap(boolean isLock) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onLockMap( boolean isLock ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onLockMap(isLock);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onLockMap( isLock );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged(EnumMapUI ui) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onMapModeChanged(ui);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onMapModeChanged( ui );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapChanged(MogoLatLng location, float zoom, float tilt, float bearing) {
|
||||
Iterator<IMogoMapListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if (iterator == null) {
|
||||
public void onMapChanged( MogoLatLng location, float zoom, float tilt, float bearing ) {
|
||||
Iterator< IMogoMapListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getMapListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoMapListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onMapChanged(location, zoom, tilt, bearing);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onMapChanged( location, zoom, tilt, bearing );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -358,18 +412,18 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onInitNaviFailure() {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onInitNaviFailure();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -377,39 +431,39 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onInitNaviSuccess() {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onInitNaviSuccess();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNaviInfoUpdate(MogoNaviInfo naviinfo) {
|
||||
MapBroadCastHelper.getInstance(getApplicationContext()).notifyXiaozhi(naviinfo);
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
|
||||
MapBroadCastHelper.getInstance( getApplicationContext() ).notifyXiaozhi( naviinfo );
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
|
||||
if (iterator == null) {
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onNaviInfoUpdate(naviinfo);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onNaviInfoUpdate( naviinfo );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -417,21 +471,21 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onStartNavi() {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
mTrackManager.track("Navigation_begin", new HashMap<>());
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
mTrackManager.track( "Navigation_begin", new HashMap<>() );
|
||||
|
||||
MapBroadCastHelper.getInstance(getApplicationContext()).startNavi();
|
||||
if (iterator == null) {
|
||||
MapBroadCastHelper.getInstance( getApplicationContext() ).startNavi();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onStartNavi();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -439,20 +493,20 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onStopNavi() {
|
||||
mTrackManager.track("Navigation_end", new HashMap<>());
|
||||
MapBroadCastHelper.getInstance(getApplicationContext()).stopNavi();
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
mTrackManager.track( "Navigation_end", new HashMap<>() );
|
||||
MapBroadCastHelper.getInstance( getApplicationContext() ).stopNavi();
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onStopNavi();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -460,18 +514,18 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onCalculateSuccess() {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onCalculateSuccess();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -479,56 +533,56 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
|
||||
@Override
|
||||
public void onoCalculateFailed() {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onoCalculateFailed();
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic(MogoTraffic traffic) {
|
||||
Iterator<IMogoNaviListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if (iterator == null) {
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
Iterator< IMogoNaviListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onUpdateTraffic(traffic);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onUpdateTraffic( traffic );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(MogoLocation location) {
|
||||
Iterator<IMogoLocationListener> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getLocationListeners();
|
||||
if (iterator == null) {
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
Iterator< IMogoLocationListener > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getLocationListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while (iterator.hasNext()) {
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoLocationListener listener = iterator.next();
|
||||
if (listener != null) {
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onLocationChanged(location);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
listener.onLocationChanged( location );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -537,37 +591,37 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
public void registerReceiver() {
|
||||
mReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
public void onReceive( Context context, Intent intent ) {
|
||||
final String action = intent.getAction();
|
||||
if (TextUtils.equals(action, Intent.ACTION_POWER_CONNECTED)) {
|
||||
Iterator<IMogoModuleLifecycle> iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListeners();
|
||||
if (iterator.hasNext()) {
|
||||
if ( TextUtils.equals( action, Intent.ACTION_POWER_CONNECTED ) ) {
|
||||
Iterator< IMogoModuleLifecycle > iterator =
|
||||
MogoRegisterCenterHandler.getInstance().getLifecycleListeners();
|
||||
if ( iterator.hasNext() ) {
|
||||
iterator.next().accOn();
|
||||
}
|
||||
} else if (TextUtils.equals(action, Intent.ACTION_POWER_DISCONNECTED)) {
|
||||
} else if ( TextUtils.equals( action, Intent.ACTION_POWER_DISCONNECTED ) ) {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
IntentFilter inputFilter = new IntentFilter();
|
||||
inputFilter.addAction(Intent.ACTION_POWER_CONNECTED);
|
||||
inputFilter.addAction(Intent.ACTION_POWER_DISCONNECTED);
|
||||
getApplicationContext().registerReceiver(mReceiver, inputFilter);
|
||||
inputFilter.addAction( Intent.ACTION_POWER_CONNECTED );
|
||||
inputFilter.addAction( Intent.ACTION_POWER_DISCONNECTED );
|
||||
getApplicationContext().registerReceiver( mReceiver, inputFilter );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
if (mReceiver != null) {
|
||||
if ( mReceiver != null ) {
|
||||
try {
|
||||
getApplicationContext().unregisterReceiver(mReceiver);
|
||||
} catch (Exception e) {
|
||||
getApplicationContext().unregisterReceiver( mReceiver );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
mReceiver = null;
|
||||
mActivity = null;
|
||||
if (mModuleProviders != null) {
|
||||
if ( mModuleProviders != null ) {
|
||||
mModuleProviders.clear();
|
||||
}
|
||||
mModuleProviders = null;
|
||||
@@ -576,14 +630,14 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMarkerClicked(IMogoMarker marker) {
|
||||
public boolean onMarkerClicked( IMogoMarker marker ) {
|
||||
IMogoMarkerClickListener listener =
|
||||
MogoRegisterCenterHandler.getInstance().getMarkerListener(marker.getOwner());
|
||||
if (listener != null) {
|
||||
MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() );
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
return listener.onMarkerClicked(marker);
|
||||
} catch (Exception e) {
|
||||
Logger.e(TAG, e, "error.");
|
||||
return listener.onMarkerClicked( marker );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user