Use Koin java module.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
This commit is contained in:
parent
48acc64ee3
commit
c2924df25f
|
@ -63,6 +63,7 @@ dependencies {
|
||||||
|
|
||||||
implementation other.kotlinStdlib
|
implementation other.kotlinStdlib
|
||||||
implementation other.koinAndroid
|
implementation other.koinAndroid
|
||||||
|
implementation other.koinJava
|
||||||
|
|
||||||
testImplementation other.kotlinReflect
|
testImplementation other.kotlinReflect
|
||||||
testImplementation testing.junit
|
testImplementation testing.junit
|
||||||
|
|
|
@ -38,15 +38,17 @@ import android.view.View.OnTouchListener;
|
||||||
import android.widget.*;
|
import android.widget.*;
|
||||||
import net.simonvt.menudrawer.MenuDrawer;
|
import net.simonvt.menudrawer.MenuDrawer;
|
||||||
import net.simonvt.menudrawer.Position;
|
import net.simonvt.menudrawer.Position;
|
||||||
|
import org.koin.java.standalone.KoinJavaComponent;
|
||||||
import org.moire.ultrasonic.R;
|
import org.moire.ultrasonic.R;
|
||||||
import org.moire.ultrasonic.app.UApp;
|
|
||||||
import org.moire.ultrasonic.domain.MusicDirectory;
|
import org.moire.ultrasonic.domain.MusicDirectory;
|
||||||
import org.moire.ultrasonic.domain.MusicDirectory.Entry;
|
import org.moire.ultrasonic.domain.MusicDirectory.Entry;
|
||||||
import org.moire.ultrasonic.domain.PlayerState;
|
import org.moire.ultrasonic.domain.PlayerState;
|
||||||
import org.moire.ultrasonic.domain.Share;
|
import org.moire.ultrasonic.domain.Share;
|
||||||
import org.moire.ultrasonic.featureflags.Feature;
|
import org.moire.ultrasonic.featureflags.Feature;
|
||||||
|
import org.moire.ultrasonic.featureflags.FeatureStorage;
|
||||||
import org.moire.ultrasonic.service.*;
|
import org.moire.ultrasonic.service.*;
|
||||||
import org.moire.ultrasonic.subsonic.SubsonicImageLoaderProxy;
|
import org.moire.ultrasonic.subsonic.SubsonicImageLoaderProxy;
|
||||||
|
import org.moire.ultrasonic.subsonic.loader.image.SubsonicImageLoader;
|
||||||
import org.moire.ultrasonic.util.*;
|
import org.moire.ultrasonic.util.*;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -808,12 +810,12 @@ public class SubsonicTabActivity extends ResultActivity implements OnClickListen
|
||||||
Util.getImageLoaderConcurrency(this)
|
Util.getImageLoaderConcurrency(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
boolean isNewImageLoaderEnabled = ((UApp) getApplication()).getFeaturesStorage()
|
boolean isNewImageLoaderEnabled = KoinJavaComponent.get(FeatureStorage.class)
|
||||||
.isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER);
|
.isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER);
|
||||||
if (isNewImageLoaderEnabled) {
|
if (isNewImageLoaderEnabled) {
|
||||||
IMAGE_LOADER = new SubsonicImageLoaderProxy(
|
IMAGE_LOADER = new SubsonicImageLoaderProxy(
|
||||||
legacyImageLoader,
|
legacyImageLoader,
|
||||||
((UApp) getApplication()).getSubsonicImageLoader()
|
KoinJavaComponent.get(SubsonicImageLoader.class)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
IMAGE_LOADER = legacyImageLoader;
|
IMAGE_LOADER = legacyImageLoader;
|
||||||
|
|
|
@ -9,10 +9,10 @@ import android.provider.SearchRecentSuggestions;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import org.koin.java.standalone.KoinJavaComponent;
|
||||||
import org.moire.ultrasonic.R;
|
import org.moire.ultrasonic.R;
|
||||||
import org.moire.ultrasonic.activity.ServerSettingsActivity;
|
import org.moire.ultrasonic.activity.ServerSettingsActivity;
|
||||||
import org.moire.ultrasonic.activity.SubsonicTabActivity;
|
import org.moire.ultrasonic.activity.SubsonicTabActivity;
|
||||||
import org.moire.ultrasonic.app.UApp;
|
|
||||||
import org.moire.ultrasonic.featureflags.Feature;
|
import org.moire.ultrasonic.featureflags.Feature;
|
||||||
import org.moire.ultrasonic.featureflags.FeatureStorage;
|
import org.moire.ultrasonic.featureflags.FeatureStorage;
|
||||||
import org.moire.ultrasonic.provider.SearchSuggestionProvider;
|
import org.moire.ultrasonic.provider.SearchSuggestionProvider;
|
||||||
|
@ -175,7 +175,7 @@ public class SettingsFragment extends PreferenceFragment
|
||||||
CheckBoxPreference ffImageLoader = (CheckBoxPreference) findPreference(
|
CheckBoxPreference ffImageLoader = (CheckBoxPreference) findPreference(
|
||||||
Constants.PREFERENCES_KEY_FF_IMAGE_LOADER);
|
Constants.PREFERENCES_KEY_FF_IMAGE_LOADER);
|
||||||
|
|
||||||
final FeatureStorage featureStorage = ((UApp) getActivity().getApplication()).getFeaturesStorage();
|
final FeatureStorage featureStorage = KoinJavaComponent.get(FeatureStorage.class);
|
||||||
if (ffImageLoader != null) {
|
if (ffImageLoader != null) {
|
||||||
ffImageLoader.setChecked(featureStorage.isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER));
|
ffImageLoader.setChecked(featureStorage.isFeatureEnabled(Feature.NEW_IMAGE_DOWNLOADER));
|
||||||
ffImageLoader.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
ffImageLoader.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package org.moire.ultrasonic.app
|
package org.moire.ultrasonic.app
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import org.koin.android.ext.android.get
|
|
||||||
import org.koin.android.ext.android.startKoin
|
import org.koin.android.ext.android.startKoin
|
||||||
import org.moire.ultrasonic.di.DiProperties
|
import org.moire.ultrasonic.di.DiProperties
|
||||||
import org.moire.ultrasonic.di.appPermanentStorage
|
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.directoriesModule
|
||||||
import org.moire.ultrasonic.di.featureFlagsModule
|
import org.moire.ultrasonic.di.featureFlagsModule
|
||||||
import org.moire.ultrasonic.di.musicServiceModule
|
import org.moire.ultrasonic.di.musicServiceModule
|
||||||
import org.moire.ultrasonic.featureflags.FeatureStorage
|
|
||||||
import org.moire.ultrasonic.subsonic.loader.image.SubsonicImageLoader
|
|
||||||
|
|
||||||
class UApp : Application() {
|
class UApp : Application() {
|
||||||
override fun onCreate() {
|
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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,4 +7,4 @@ const val SP_NAME = "Default_SP"
|
||||||
|
|
||||||
val appPermanentStorage = module {
|
val appPermanentStorage = module {
|
||||||
single(name = SP_NAME) { Util.getPreferences(getProperty(DiProperties.APP_CONTEXT)) }
|
single(name = SP_NAME) { Util.getPreferences(getProperty(DiProperties.APP_CONTEXT)) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,4 +2,4 @@ package org.moire.ultrasonic.di
|
||||||
|
|
||||||
object DiProperties {
|
object DiProperties {
|
||||||
const val APP_CONTEXT = "app_context"
|
const val APP_CONTEXT = "app_context"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue