From 3e18e027eb2d4644febda5e3e139fdac8760a72f Mon Sep 17 00:00:00 2001 From: Dmitry Donskoy Date: Wed, 22 Jan 2020 12:54:29 +0300 Subject: [PATCH] [android] Fixed review notes --- .../com/mapswithme/maps/MwmApplication.java | 1 + .../content/AbstractContextualListener.java | 22 ---------- .../maplayer/AbstractMapLayerListener.java | 44 ------------------- .../OnTransitSchemeChangedListener.java | 10 ----- .../maplayer/isolines/IsolinesManager.java | 36 ++++++++++----- .../IsolinesStateChangedListener.java | 20 --------- .../OnIsolinesChangedListenerImpl.java | 22 ++++++++++ .../subway/OnIsolinesChangedListener.java | 6 +++ .../OnTransitSchemeChangedListener.java | 31 +++++++++++++ .../maps/maplayer/subway/SubwayManager.java | 42 ++++++++++++------ .../subway/SubwayStateChangedListener.java | 25 ----------- 11 files changed, 112 insertions(+), 147 deletions(-) delete mode 100644 android/src/com/mapswithme/maps/content/AbstractContextualListener.java delete mode 100644 android/src/com/mapswithme/maps/maplayer/AbstractMapLayerListener.java delete mode 100644 android/src/com/mapswithme/maps/maplayer/OnTransitSchemeChangedListener.java delete mode 100644 android/src/com/mapswithme/maps/maplayer/isolines/IsolinesStateChangedListener.java create mode 100644 android/src/com/mapswithme/maps/maplayer/isolines/OnIsolinesChangedListenerImpl.java create mode 100644 android/src/com/mapswithme/maps/maplayer/subway/OnIsolinesChangedListener.java create mode 100644 android/src/com/mapswithme/maps/maplayer/subway/OnTransitSchemeChangedListener.java delete mode 100644 android/src/com/mapswithme/maps/maplayer/subway/SubwayStateChangedListener.java diff --git a/android/src/com/mapswithme/maps/MwmApplication.java b/android/src/com/mapswithme/maps/MwmApplication.java index c8548cad33..3af087bf9a 100644 --- a/android/src/com/mapswithme/maps/MwmApplication.java +++ b/android/src/com/mapswithme/maps/MwmApplication.java @@ -291,6 +291,7 @@ public class MwmApplication extends Application implements AppBackgroundTracker. RoutingController.get().initialize(); TrafficManager.INSTANCE.initialize(); SubwayManager.from(this).initialize(); + IsolinesManager.from(this).initialize(); mPurchaseOperationObservable.initialize(); mBackgroundTracker.addListener(this); mFrameworkInitialized = true; diff --git a/android/src/com/mapswithme/maps/content/AbstractContextualListener.java b/android/src/com/mapswithme/maps/content/AbstractContextualListener.java deleted file mode 100644 index fbcf945fa7..0000000000 --- a/android/src/com/mapswithme/maps/content/AbstractContextualListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.mapswithme.maps.content; - -import android.app.Application; -import android.content.Context; -import androidx.annotation.NonNull; - -public class AbstractContextualListener -{ - @NonNull - private final Application mApp; - - public AbstractContextualListener(@NonNull Application app) - { - mApp = app; - } - - @NonNull - public Context getContext() - { - return mApp; - } -} diff --git a/android/src/com/mapswithme/maps/maplayer/AbstractMapLayerListener.java b/android/src/com/mapswithme/maps/maplayer/AbstractMapLayerListener.java deleted file mode 100644 index 11a0bcbbd5..0000000000 --- a/android/src/com/mapswithme/maps/maplayer/AbstractMapLayerListener.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.mapswithme.maps.maplayer; - -import androidx.annotation.NonNull; - -public abstract class AbstractMapLayerListener -{ - @NonNull - private final OnTransitSchemeChangedListener mSchemeChangedListener; - - public AbstractMapLayerListener(@NonNull OnTransitSchemeChangedListener listener) - { - mSchemeChangedListener = listener; - } - - public final void setEnabled(boolean isEnabled) - { - if (isEnabled == isEnabled()) - return; - - setEnabledInternal(isEnabled); - } - - public final void toggle() - { - setEnabled(!isEnabled()); - } - - public final void initialize() - { - registerListener(); - } - - @NonNull - protected OnTransitSchemeChangedListener getSchemeChangedListener() - { - return mSchemeChangedListener; - } - - public abstract boolean isEnabled(); - - protected abstract void setEnabledInternal(boolean isEnabled); - - protected abstract void registerListener(); -} diff --git a/android/src/com/mapswithme/maps/maplayer/OnTransitSchemeChangedListener.java b/android/src/com/mapswithme/maps/maplayer/OnTransitSchemeChangedListener.java deleted file mode 100644 index 865f4ed539..0000000000 --- a/android/src/com/mapswithme/maps/maplayer/OnTransitSchemeChangedListener.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.mapswithme.maps.maplayer; - -import androidx.annotation.MainThread; - -public interface OnTransitSchemeChangedListener -{ - @SuppressWarnings("unused") - @MainThread - void onTransitStateChanged(int type); -} diff --git a/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesManager.java b/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesManager.java index f1694e5a5e..98955baa49 100644 --- a/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesManager.java +++ b/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesManager.java @@ -6,32 +6,44 @@ import android.content.Context; import androidx.annotation.NonNull; import com.mapswithme.maps.Framework; import com.mapswithme.maps.MwmApplication; -import com.mapswithme.maps.maplayer.AbstractMapLayerListener; -import com.mapswithme.maps.maplayer.OnTransitSchemeChangedListener; +import com.mapswithme.maps.maplayer.subway.OnIsolinesChangedListener; -public class IsolinesManager extends AbstractMapLayerListener +public class IsolinesManager { + @NonNull + private final OnIsolinesChangedListener mListener; + public IsolinesManager(@NonNull Application application) { - super(new IsolinesStateChangedListener(application)); + mListener = new OnIsolinesChangedListenerImpl(application); } - @Override public boolean isEnabled() { return Framework.nativeIsIsolinesLayerEnabled(); } - @Override - protected void setEnabledInternal(boolean isEnabled) + private void registerListener() { + nativeAddListener(mListener); + } + + public void setEnabled(boolean isEnabled) + { + if (isEnabled == isEnabled()) + return; + Framework.nativeSetIsolinesLayerEnabled(isEnabled); } - @Override - protected void registerListener() + public void toggle() { - nativeAddListener(getSchemeChangedListener()); + setEnabled(!isEnabled()); + } + + public void initialize() + { + registerListener(); } @NonNull @@ -41,6 +53,6 @@ public class IsolinesManager extends AbstractMapLayerListener return app.getIsolinesManager(); } - private static native void nativeAddListener(@NonNull OnTransitSchemeChangedListener listener); - private static native void nativeRemoveListener(@NonNull OnTransitSchemeChangedListener listener); + private static native void nativeAddListener(@NonNull OnIsolinesChangedListener listener); + private static native void nativeRemoveListener(@NonNull OnIsolinesChangedListener listener); } diff --git a/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesStateChangedListener.java b/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesStateChangedListener.java deleted file mode 100644 index 1189451c82..0000000000 --- a/android/src/com/mapswithme/maps/maplayer/isolines/IsolinesStateChangedListener.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.mapswithme.maps.maplayer.isolines; - -import android.app.Application; - -import androidx.annotation.NonNull; -import com.mapswithme.maps.content.AbstractContextualListener; -import com.mapswithme.maps.maplayer.OnTransitSchemeChangedListener; - -class IsolinesStateChangedListener extends AbstractContextualListener implements OnTransitSchemeChangedListener -{ - IsolinesStateChangedListener(@NonNull Application app) - { - super(app); - } - - @Override - public void onTransitStateChanged(int type) - { - } -} diff --git a/android/src/com/mapswithme/maps/maplayer/isolines/OnIsolinesChangedListenerImpl.java b/android/src/com/mapswithme/maps/maplayer/isolines/OnIsolinesChangedListenerImpl.java new file mode 100644 index 0000000000..54f353aeab --- /dev/null +++ b/android/src/com/mapswithme/maps/maplayer/isolines/OnIsolinesChangedListenerImpl.java @@ -0,0 +1,22 @@ +package com.mapswithme.maps.maplayer.isolines; + +import android.app.Application; + +import androidx.annotation.NonNull; +import com.mapswithme.maps.maplayer.subway.OnIsolinesChangedListener; + +class OnIsolinesChangedListenerImpl implements OnIsolinesChangedListener +{ + @NonNull + private final Application mApp; + + OnIsolinesChangedListenerImpl(@NonNull Application app) + { + mApp = app; + } + + @Override + public void onStateChanged(int type) + { + } +} diff --git a/android/src/com/mapswithme/maps/maplayer/subway/OnIsolinesChangedListener.java b/android/src/com/mapswithme/maps/maplayer/subway/OnIsolinesChangedListener.java new file mode 100644 index 0000000000..d69e6e3f0f --- /dev/null +++ b/android/src/com/mapswithme/maps/maplayer/subway/OnIsolinesChangedListener.java @@ -0,0 +1,6 @@ +package com.mapswithme.maps.maplayer.subway; + +public interface OnIsolinesChangedListener +{ + void onStateChanged(int index); +} diff --git a/android/src/com/mapswithme/maps/maplayer/subway/OnTransitSchemeChangedListener.java b/android/src/com/mapswithme/maps/maplayer/subway/OnTransitSchemeChangedListener.java new file mode 100644 index 0000000000..d5a7158276 --- /dev/null +++ b/android/src/com/mapswithme/maps/maplayer/subway/OnTransitSchemeChangedListener.java @@ -0,0 +1,31 @@ +package com.mapswithme.maps.maplayer.subway; + +import android.app.Application; +import android.content.Context; +import androidx.annotation.MainThread; +import androidx.annotation.NonNull; + +interface OnTransitSchemeChangedListener +{ + @SuppressWarnings("unused") + @MainThread + void onTransitStateChanged(int type); + + class Default implements OnTransitSchemeChangedListener + { + @NonNull + private final Application mContext; + + Default(@NonNull Application context) + { + mContext = context; + } + + @Override + public void onTransitStateChanged(int index) + { + TransitSchemeState state = TransitSchemeState.values()[index]; + state.activate(mContext); + } + } +} diff --git a/android/src/com/mapswithme/maps/maplayer/subway/SubwayManager.java b/android/src/com/mapswithme/maps/maplayer/subway/SubwayManager.java index e22b144b8d..40f8aa31d6 100644 --- a/android/src/com/mapswithme/maps/maplayer/subway/SubwayManager.java +++ b/android/src/com/mapswithme/maps/maplayer/subway/SubwayManager.java @@ -6,29 +6,43 @@ import androidx.annotation.NonNull; import com.mapswithme.maps.Framework; import com.mapswithme.maps.MwmApplication; -import com.mapswithme.maps.maplayer.AbstractMapLayerListener; -import com.mapswithme.maps.maplayer.OnTransitSchemeChangedListener; -public class SubwayManager extends AbstractMapLayerListener +public class SubwayManager { + @NonNull + private final OnTransitSchemeChangedListener mSchemeChangedListener; + public SubwayManager(@NonNull Application application) { - super(new SubwayStateChangedListener(application)); + mSchemeChangedListener = new OnTransitSchemeChangedListener.Default(application); } - @Override - public boolean isEnabled() { - return Framework.nativeIsTransitSchemeEnabled(); - } + public void setEnabled(boolean isEnabled) + { + if (isEnabled == isEnabled()) + return; - @Override - protected void setEnabledInternal(boolean isEnabled) { Framework.nativeSetTransitSchemeEnabled(isEnabled); Framework.nativeSaveSettingSchemeEnabled(isEnabled); } - @Override - protected void registerListener() { - nativeAddListener(getSchemeChangedListener()); + public boolean isEnabled() + { + return Framework.nativeIsTransitSchemeEnabled(); + } + + public void toggle() + { + setEnabled(!isEnabled()); + } + + public void initialize() + { + registerListener(); + } + + private void registerListener() + { + nativeAddListener(mSchemeChangedListener); } @NonNull @@ -37,7 +51,7 @@ public class SubwayManager extends AbstractMapLayerListener MwmApplication app = (MwmApplication) context.getApplicationContext(); return app.getSubwayManager(); } - private static native void nativeAddListener(@NonNull OnTransitSchemeChangedListener listener); + private static native void nativeRemoveListener(@NonNull OnTransitSchemeChangedListener listener); } diff --git a/android/src/com/mapswithme/maps/maplayer/subway/SubwayStateChangedListener.java b/android/src/com/mapswithme/maps/maplayer/subway/SubwayStateChangedListener.java deleted file mode 100644 index 3c4a963b7b..0000000000 --- a/android/src/com/mapswithme/maps/maplayer/subway/SubwayStateChangedListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mapswithme.maps.maplayer.subway; - -import android.app.Application; -import android.content.Context; - -import androidx.annotation.NonNull; - -import com.mapswithme.maps.content.AbstractContextualListener; -import com.mapswithme.maps.maplayer.OnTransitSchemeChangedListener; - -public class SubwayStateChangedListener extends AbstractContextualListener implements OnTransitSchemeChangedListener -{ - SubwayStateChangedListener(@NonNull Application context) - { - super(context); - } - - @Override - public void onTransitStateChanged(int index) - { - Context app = getContext(); - TransitSchemeState state = TransitSchemeState.values()[index]; - state.activate(app); - } -}