add two settings to configure image caching
This commit is contained in:
parent
14e1d9bb80
commit
ee6fd61d43
7 changed files with 93 additions and 0 deletions
|
|
@ -0,0 +1,32 @@
|
|||
package com.dkanada.gramophone.glide;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Environment;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.GlideBuilder;
|
||||
import com.bumptech.glide.load.engine.cache.DiskLruCacheFactory;
|
||||
import com.bumptech.glide.module.GlideModule;
|
||||
import com.dkanada.gramophone.App;
|
||||
import com.dkanada.gramophone.util.PreferenceUtil;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class CustomGlideModule implements GlideModule {
|
||||
@Override
|
||||
public void applyOptions(Context context, GlideBuilder builder) {
|
||||
builder.setDiskCache(new DiskLruCacheFactory(new DiskLruCacheFactory.CacheDirectoryGetter() {
|
||||
@Override
|
||||
public File getCacheDirectory() {
|
||||
String folder = "/Gelli/images";
|
||||
return PreferenceUtil.getInstance(App.getInstance()).getImagesExternalDirectory()
|
||||
? new File(Environment.getExternalStorageDirectory() + folder)
|
||||
: new File(App.getInstance().getApplicationInfo().dataDir + folder);
|
||||
}
|
||||
}, PreferenceUtil.getInstance(App.getInstance()).getImagesCacheSize()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerComponents(Context context, Glide glide) {
|
||||
}
|
||||
}
|
||||
|
|
@ -121,6 +121,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
addPreferencesFromResource(R.xml.pref_now_playing_screen);
|
||||
addPreferencesFromResource(R.xml.pref_lockscreen);
|
||||
addPreferencesFromResource(R.xml.pref_audio);
|
||||
addPreferencesFromResource(R.xml.pref_images);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ public final class PreferenceUtil {
|
|||
public static final String REMEMBER_SHUFFLE = "remember_shuffle";
|
||||
public static final String REMEMBER_QUEUE = "remember_queue";
|
||||
|
||||
public static final String IMAGES_CACHE_SIZE = "images_cache_size";
|
||||
public static final String IMAGES_EXTERNAL_DIRECTORY = "images_external_directory";
|
||||
|
||||
public static final String SLEEP_TIMER_LAST_VALUE = "sleep_timer_last_value";
|
||||
public static final String SLEEP_TIMER_ELAPSED_REALTIME = "sleep_timer_elapsed_real_time";
|
||||
public static final String SLEEP_TIMER_FINISH_SONG = "sleep_timer_finish_music";
|
||||
|
|
@ -118,6 +121,14 @@ public final class PreferenceUtil {
|
|||
return Integer.parseInt(mPreferences.getString(MAXIMUM_LIST_SIZE, "100"));
|
||||
}
|
||||
|
||||
public final int getImagesCacheSize() {
|
||||
return Integer.parseInt(mPreferences.getString(IMAGES_CACHE_SIZE, "400000000"));
|
||||
}
|
||||
|
||||
public final boolean getImagesExternalDirectory() {
|
||||
return mPreferences.getBoolean(IMAGES_EXTERNAL_DIRECTORY, false);
|
||||
}
|
||||
|
||||
public final int getLastTab() {
|
||||
return mPreferences.getInt(LAST_TAB, 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue