Use Koin java module.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
This commit is contained in:
Yahor Berdnikau 2018-08-03 22:08:30 +02:00
parent 48acc64ee3
commit c2924df25f
6 changed files with 10 additions and 24 deletions

View File

@ -63,6 +63,7 @@ dependencies {
implementation other.kotlinStdlib
implementation other.koinAndroid
implementation other.koinJava
testImplementation other.kotlinReflect
testImplementation testing.junit

View File

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

View File

@ -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() {

View File

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

View File

@ -7,4 +7,4 @@ const val SP_NAME = "Default_SP"
val appPermanentStorage = module {
single(name = SP_NAME) { Util.getPreferences(getProperty(DiProperties.APP_CONTEXT)) }
}
}

View File

@ -2,4 +2,4 @@ package org.moire.ultrasonic.di
object DiProperties {
const val APP_CONTEXT = "app_context"
}
}