From c2924df25f417692994bbfbf5d01a9e1f1891b9a Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Fri, 3 Aug 2018 22:08:30 +0200 Subject: [PATCH] Use Koin java module. Signed-off-by: Yahor Berdnikau --- ultrasonic/build.gradle | 1 + .../activity/SubsonicTabActivity.java | 8 +++++--- .../ultrasonic/fragment/SettingsFragment.java | 4 ++-- .../kotlin/org/moire/ultrasonic/app/UApp.kt | 17 ----------------- .../ultrasonic/di/AppPermanentStorageModule.kt | 2 +- .../org/moire/ultrasonic/di/DiProperties.kt | 2 +- 6 files changed, 10 insertions(+), 24 deletions(-) diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 6697dd4e..e26e6631 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -63,6 +63,7 @@ dependencies { implementation other.kotlinStdlib implementation other.koinAndroid + implementation other.koinJava testImplementation other.kotlinReflect testImplementation testing.junit diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SubsonicTabActivity.java b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SubsonicTabActivity.java index be2783af..9423d117 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SubsonicTabActivity.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/activity/SubsonicTabActivity.java @@ -38,15 +38,17 @@ import android.view.View.OnTouchListener; import android.widget.*; import net.simonvt.menudrawer.MenuDrawer; import net.simonvt.menudrawer.Position; +import org.koin.java.standalone.KoinJavaComponent; import org.moire.ultrasonic.R; -import org.moire.ultrasonic.app.UApp; import org.moire.ultrasonic.domain.MusicDirectory; import org.moire.ultrasonic.domain.MusicDirectory.Entry; import org.moire.ultrasonic.domain.PlayerState; import org.moire.ultrasonic.domain.Share; import org.moire.ultrasonic.featureflags.Feature; +import org.moire.ultrasonic.featureflags.FeatureStorage; import org.moire.ultrasonic.service.*; import org.moire.ultrasonic.subsonic.SubsonicImageLoaderProxy; +import org.moire.ultrasonic.subsonic.loader.image.SubsonicImageLoader; import org.moire.ultrasonic.util.*; import java.io.File; @@ -808,12 +810,12 @@ public class SubsonicTabActivity extends ResultActivity implements OnClickListen Util.getImageLoaderConcurrency(this) ); - boolean isNewImageLoaderEnabled = ((UApp) getApplication()).getFeaturesStorage() + boolean isNewImageLoaderEnabled = KoinJavaComponent.get(FeatureStorage.class) .isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER); if (isNewImageLoaderEnabled) { IMAGE_LOADER = new SubsonicImageLoaderProxy( legacyImageLoader, - ((UApp) getApplication()).getSubsonicImageLoader() + KoinJavaComponent.get(SubsonicImageLoader.class) ); } else { IMAGE_LOADER = legacyImageLoader; diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SettingsFragment.java b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SettingsFragment.java index 98feabc8..4dc2fe6f 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SettingsFragment.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/fragment/SettingsFragment.java @@ -9,10 +9,10 @@ import android.provider.SearchRecentSuggestions; import android.support.annotation.Nullable; import android.util.Log; import android.view.View; +import org.koin.java.standalone.KoinJavaComponent; import org.moire.ultrasonic.R; import org.moire.ultrasonic.activity.ServerSettingsActivity; import org.moire.ultrasonic.activity.SubsonicTabActivity; -import org.moire.ultrasonic.app.UApp; import org.moire.ultrasonic.featureflags.Feature; import org.moire.ultrasonic.featureflags.FeatureStorage; import org.moire.ultrasonic.provider.SearchSuggestionProvider; @@ -175,7 +175,7 @@ public class SettingsFragment extends PreferenceFragment CheckBoxPreference ffImageLoader = (CheckBoxPreference) findPreference( Constants.PREFERENCES_KEY_FF_IMAGE_LOADER); - final FeatureStorage featureStorage = ((UApp) getActivity().getApplication()).getFeaturesStorage(); + final FeatureStorage featureStorage = KoinJavaComponent.get(FeatureStorage.class); if (ffImageLoader != null) { ffImageLoader.setChecked(featureStorage.isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER)); ffImageLoader.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt index 89b92ff0..0f2bdc5f 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt @@ -1,7 +1,6 @@ package org.moire.ultrasonic.app import android.app.Application -import org.koin.android.ext.android.get import org.koin.android.ext.android.startKoin import org.moire.ultrasonic.di.DiProperties import org.moire.ultrasonic.di.appPermanentStorage @@ -9,8 +8,6 @@ import org.moire.ultrasonic.di.baseNetworkModule import org.moire.ultrasonic.di.directoriesModule import org.moire.ultrasonic.di.featureFlagsModule import org.moire.ultrasonic.di.musicServiceModule -import org.moire.ultrasonic.featureflags.FeatureStorage -import org.moire.ultrasonic.subsonic.loader.image.SubsonicImageLoader class UApp : Application() { override fun onCreate() { @@ -29,18 +26,4 @@ class UApp : Application() { ) ) } - - /** - * Temporary method to get subsonic image loader from java code. - */ - fun getSubsonicImageLoader(): SubsonicImageLoader { - return get() - } - - /** - * Temporary method to get features storage. - */ - fun getFeaturesStorage(): FeatureStorage { - return get() - } } diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/AppPermanentStorageModule.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/AppPermanentStorageModule.kt index 7a4346fc..fb9c9fb9 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/AppPermanentStorageModule.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/AppPermanentStorageModule.kt @@ -7,4 +7,4 @@ const val SP_NAME = "Default_SP" val appPermanentStorage = module { single(name = SP_NAME) { Util.getPreferences(getProperty(DiProperties.APP_CONTEXT)) } -} \ No newline at end of file +} diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DiProperties.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DiProperties.kt index 70d5860b..ac4748be 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DiProperties.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DiProperties.kt @@ -2,4 +2,4 @@ package org.moire.ultrasonic.di object DiProperties { const val APP_CONTEXT = "app_context" -} \ No newline at end of file +}