mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-01 01:44:34 -05:00
put back syer's implementation
This commit is contained in:
@@ -38,7 +38,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import xyz.nulldev.androidcompat.info.ApplicationInfoImpl;
|
import xyz.nulldev.androidcompat.info.ApplicationInfoImpl;
|
||||||
import xyz.nulldev.androidcompat.io.AndroidFiles;
|
import xyz.nulldev.androidcompat.io.AndroidFiles;
|
||||||
import xyz.nulldev.androidcompat.io.sharedprefs.JsonSharedPreferences;
|
import xyz.nulldev.androidcompat.io.sharedprefs.JavaSharedPreferences;
|
||||||
import xyz.nulldev.androidcompat.service.ServiceSupport;
|
import xyz.nulldev.androidcompat.service.ServiceSupport;
|
||||||
import xyz.nulldev.androidcompat.util.KodeinGlobalHelper;
|
import xyz.nulldev.androidcompat.util.KodeinGlobalHelper;
|
||||||
|
|
||||||
@@ -50,10 +50,9 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* Custom context implementation.
|
* Custom context implementation.
|
||||||
*
|
*
|
||||||
* TODO Deal with packagemanager for extension sources
|
|
||||||
*/
|
*/
|
||||||
public class CustomContext extends Context implements DIAware {
|
public class CustomContext extends Context implements DIAware {
|
||||||
private DI kodein;
|
private final DI kodein;
|
||||||
public CustomContext() {
|
public CustomContext() {
|
||||||
this(KodeinGlobalHelper.kodein());
|
this(KodeinGlobalHelper.kodein());
|
||||||
}
|
}
|
||||||
@@ -165,23 +164,22 @@ public class CustomContext extends Context implements DIAware {
|
|||||||
/** Fake shared prefs! **/
|
/** Fake shared prefs! **/
|
||||||
private Map<String, SharedPreferences> prefs = new HashMap<>(); //Cache
|
private Map<String, SharedPreferences> prefs = new HashMap<>(); //Cache
|
||||||
|
|
||||||
private File sharedPrefsFileFromString(String s) {
|
|
||||||
return new File(androidFiles.getPrefsDir(), s + ".json");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public synchronized SharedPreferences getSharedPreferences(String s, int i) {
|
public synchronized SharedPreferences getSharedPreferences(String s, int i) {
|
||||||
SharedPreferences preferences = prefs.get(s);
|
SharedPreferences preferences = prefs.get(s);
|
||||||
//Create new shared preferences if one does not exist
|
//Create new shared preferences if one does not exist
|
||||||
if(preferences == null) {
|
if(preferences == null) {
|
||||||
preferences = getSharedPreferences(sharedPrefsFileFromString(s), i);
|
preferences = new JavaSharedPreferences(s);
|
||||||
prefs.put(s, preferences);
|
prefs.put(s, preferences);
|
||||||
}
|
}
|
||||||
return preferences;
|
return preferences;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SharedPreferences getSharedPreferences(File file, int mode) {
|
@Override
|
||||||
return new JsonSharedPreferences(file);
|
public SharedPreferences getSharedPreferences(@NotNull File file, int mode) {
|
||||||
|
String path = file.getAbsolutePath().replace('\\', '/');
|
||||||
|
int firstSlash = path.indexOf("/");
|
||||||
|
return new JavaSharedPreferences(path.substring(firstSlash));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -191,8 +189,8 @@ public class CustomContext extends Context implements DIAware {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteSharedPreferences(String name) {
|
public boolean deleteSharedPreferences(String name) {
|
||||||
prefs.remove(name);
|
JavaSharedPreferences item = (JavaSharedPreferences) prefs.remove(name);
|
||||||
return sharedPrefsFileFromString(name).delete();
|
return item.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user