add card sort logic

This commit is contained in:
wangcongtao
2020-02-10 20:48:20 +08:00
parent 94a7dc4d0c
commit 8355c1d4f0
2 changed files with 300 additions and 231 deletions

View File

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

View File

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