package com.example.ipcplayer.kvstorage;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import com.example.ipcplayer.setting.ComInterface;
public class KvStorage implements IKvStorage{
private KvStorage mInstance;
private SharedPreferences mSharedPreferences;
private Editor mEditor ;
private static volatile int mRef = 0 ;
public KvStorage(Context context){
mSharedPreferences = context.getSharedPreferences("ipc", Context.MODE_PRIVATE);
mEditor = mSharedPreferences.edit();
synchronized(this){
if(mInstance == null){
mInstance = this;
}
}
++ mRef ;
}
@Override
public void release() {
mInstance = null;
mRef = 0 ;
}
@Override
public ComInterface getInstance() {
return mInstance;
}
@Override
public boolean putString(String key, String value) {
return mEditor.putString(key, value) != null;
}
@Override
public boolean putBoolean(String key, boolean value) {
return mEditor.putBoolean(key, value) != null;
}
@Override
public boolean putInt(String key, int value) {
return mEditor.putInt(key, value) != null;
}
@Override
public boolean putFloat(String key, float value) {
return mEditor.putFloat(key, value) != null;
}
@Override
public boolean putLong(String key, long value) {
return mEditor.putLong(key, value) != null;
}
@Override
public boolean remove(String key) {
return mEditor.remove(key) != null ;
}
@Override
public boolean contains(String key) {
return mSharedPreferences.contains(key);
}
@Override
public Map<String, ?> getAll() {
return mSharedPreferences.getAll();
}
@Override
public boolean getBoolean(String key, boolean defValue) {
return mSharedPreferences.getBoolean(key, defValue);
}
@Override
public float getFloat(String key, float defValue) {
return mSharedPreferences.getFloat(key, defValue);
}
@Override
public int getInt(String key, int defValue) {
return mSharedPreferences.getInt(key, defValue);
}
@Override
public long getLong(String key, long defValue) {
return mSharedPreferences.getLong(key, defValue);
}
@Override
public String getString(String key, String defValue) {
return mSharedPreferences.getString(key, defValue);
}
@Override
public boolean clear() {
return mEditor.clear() != null ;
}
@Override
public boolean commit() {
return mEditor.commit();
}
}