package com.piusvelte.sonet.provider; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.provider.BaseColumns; import android.support.annotation.NonNull; import com.piusvelte.sonet.Sonet; import com.piusvelte.sonet.social.Client; /** * Created by bemmanuel on 3/22/15. */ public class Accounts implements BaseColumns { public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.piusvelte.accounts"; public static final long INVALID_ACCOUNT_ID = -1; public static final String USERNAME = "username"; public static final String TOKEN = "token"; public static final String SECRET = "secret"; public static final String SERVICE = "service"; public static final String EXPIRY = "expiry"; // service id for posting and linking public static final String SID = "sid"; public static final String TABLE = "accounts"; public static String ACCOUNTS_QUERY; static { ACCOUNTS_QUERY = "(case"; for (Client.Network network : Client.Network.values()) { ACCOUNTS_QUERY += " when " + SERVICE + "=" + network.ordinal() + " then '" + network.name() + ": '"; } ACCOUNTS_QUERY += " else '' end)||" + USERNAME + " as " + USERNAME; } private Accounts() { } public static Uri getContentUri(Context context) { return Uri.parse("content://" + Sonet.getAuthority(context) + "/accounts"); } public static void createTable(@NonNull SQLiteDatabase db) { db.execSQL("create table if not exists " + TABLE + " (" + Accounts._ID + " integer primary key autoincrement, " + Accounts.USERNAME + " text, " + Accounts.TOKEN + " text, " + Accounts.SECRET + " text, " + Accounts.SERVICE + " integer, " + Accounts.EXPIRY + " integer, " + Accounts.SID + " text);"); } }