mirror of
https://github.com/etesync/android
synced 2025-07-02 21:02:39 +00:00
84 lines
3.0 KiB
Java
84 lines
3.0 KiB
Java
/*
|
||
* Copyright © 2013 – 2016 Ricki Hirner (bitfire web engineering).
|
||
* All rights reserved. This program and the accompanying materials
|
||
* are made available under the terms of the GNU Public License v3.0
|
||
* which accompanies this distribution, and is available at
|
||
* http://www.gnu.org/licenses/gpl.html
|
||
*/
|
||
|
||
package at.bitfire.davdroid.model;
|
||
|
||
import android.content.ContentValues;
|
||
import android.database.Cursor;
|
||
import android.database.sqlite.SQLiteDatabase;
|
||
import android.support.annotation.Nullable;
|
||
|
||
import lombok.Cleanup;
|
||
|
||
public class Settings {
|
||
|
||
final SQLiteDatabase db;
|
||
|
||
public Settings(SQLiteDatabase db) {
|
||
this.db = db;
|
||
}
|
||
|
||
|
||
public boolean getBoolean(String name, boolean defaultValue) {
|
||
@Cleanup Cursor cursor = db.query(ServiceDB.Settings._TABLE, new String[] { ServiceDB.Settings.VALUE },
|
||
ServiceDB.Settings.NAME + "=?", new String[] { name }, null, null, null);
|
||
if (cursor.moveToNext() && !cursor.isNull(0))
|
||
return cursor.getInt(0) != 0;
|
||
else
|
||
return defaultValue;
|
||
}
|
||
|
||
public void putBoolean(String name, boolean value) {
|
||
ContentValues values = new ContentValues(2);
|
||
values.put(ServiceDB.Settings.NAME, name);
|
||
values.put(ServiceDB.Settings.VALUE, value ? 1 : 0);
|
||
db.insertWithOnConflict(ServiceDB.Settings._TABLE, null, values, SQLiteDatabase.CONFLICT_REPLACE);
|
||
}
|
||
|
||
|
||
public int getInt(String name, int defaultValue) {
|
||
@Cleanup Cursor cursor = db.query(ServiceDB.Settings._TABLE, new String[] { ServiceDB.Settings.VALUE },
|
||
ServiceDB.Settings.NAME + "=?", new String[] { name }, null, null, null);
|
||
if (cursor.moveToNext() && !cursor.isNull(0))
|
||
return cursor.isNull(0) ? defaultValue : cursor.getInt(0);
|
||
else
|
||
return defaultValue;
|
||
}
|
||
|
||
public void putInt(String name, int value) {
|
||
ContentValues values = new ContentValues(2);
|
||
values.put(ServiceDB.Settings.NAME, name);
|
||
values.put(ServiceDB.Settings.VALUE, value);
|
||
db.insertWithOnConflict(ServiceDB.Settings._TABLE, null, values, SQLiteDatabase.CONFLICT_REPLACE);
|
||
}
|
||
|
||
|
||
@Nullable
|
||
public String getString(String name, @Nullable String defaultValue) {
|
||
@Cleanup Cursor cursor = db.query(ServiceDB.Settings._TABLE, new String[] { ServiceDB.Settings.VALUE },
|
||
ServiceDB.Settings.NAME + "=?", new String[] { name }, null, null, null);
|
||
if (cursor.moveToNext())
|
||
return cursor.getString(0);
|
||
else
|
||
return defaultValue;
|
||
}
|
||
|
||
public void putString(String name, @Nullable String value) {
|
||
ContentValues values = new ContentValues(2);
|
||
values.put(ServiceDB.Settings.NAME, name);
|
||
values.put(ServiceDB.Settings.VALUE, value);
|
||
db.insertWithOnConflict(ServiceDB.Settings._TABLE, null, values, SQLiteDatabase.CONFLICT_REPLACE);
|
||
}
|
||
|
||
|
||
public void remove(String name) {
|
||
db.delete(ServiceDB.Settings._TABLE, ServiceDB.Settings.NAME + "=?", new String[] { name });
|
||
}
|
||
|
||
}
|