package com.madeinhk.model; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.net.Uri; /** * Created by tonymak on 24/11/14. */ public class Favourite { private static final Uri sBaseUri = Uri.parse("content://" + DictionaryContentProvider.AUTHORITY); public static final Uri CONTENT_URI = sBaseUri.buildUpon().appendPath("favourite").build(); private static final int NOT_SAVED = -1; public int mId = NOT_SAVED; public String mWord; public static final String TABLE_NAME = "favourite"; public static interface COLUMNS { public static final String ID = "_id"; public static final String WORD = "word"; } private Favourite(int id, String word) { mId = id; mWord = word; } public ContentValues toContentValues() { ContentValues cv = new ContentValues(); cv.put(COLUMNS.WORD, mWord); return cv; } public Uri save(Context context) { return context.getContentResolver().insert(CONTENT_URI, toContentValues()); } public boolean delete(Context context) { return context.getContentResolver().delete(CONTENT_URI, COLUMNS.WORD + "=?", new String[]{mWord}) == 1; } public boolean isExists(Context context) { Cursor cursor = context.getContentResolver().query(CONTENT_URI, new String[]{COLUMNS.ID}, COLUMNS.WORD + "=?", new String[]{mWord}, null); try { return cursor.moveToFirst(); } finally { cursor.close(); } } public static Favourite fromCursor(Cursor cursor) { int index = cursor.getColumnIndex(COLUMNS.WORD); String word = cursor.getString(index); return new Favourite(NOT_SAVED, word); } public static Favourite fromWord(Word word) { return new Favourite(NOT_SAVED, word.mWord); } }