package shts.jp.android.nogifeed.providers.dao;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.support.annotation.NonNull;
import java.util.ArrayList;
import shts.jp.android.nogifeed.models.Member;
import shts.jp.android.nogifeed.providers.NogiFeedContent;
public class ProfileWidgets extends ArrayList<ProfileWidget> {
public static ProfileWidgets all(@NonNull Context context) {
Cursor c = context.getContentResolver().query(
NogiFeedContent.ProfileWidget.CONTENT_URI,
null,
null,
null,
null
);
ProfileWidgets profileWidgets = new ProfileWidgets();
try {
while (c.moveToNext()) {
profileWidgets.add(new ProfileWidget(
c.getInt(c.getColumnIndexOrThrow(NogiFeedContent.ProfileWidget.Key.ID)),
c.getInt(c.getColumnIndexOrThrow(NogiFeedContent.ProfileWidget.Key.WIDGET_ID)),
c.getInt(c.getColumnIndexOrThrow(NogiFeedContent.ProfileWidget.Key.MEMBER_ID))));
}
return profileWidgets;
} catch (Throwable throwable) {
return null;
} finally {
if (c != null) c.close();
}
}
public static boolean exist(@NonNull Context context,
@NonNull Member member) {
String selection = NogiFeedContent.ProfileWidget.Key.MEMBER_ID + "=?";
String[] selectionArgs = new String[] { String.valueOf(member.getId()) };
Cursor c = context.getContentResolver().query(
NogiFeedContent.ProfileWidget.CONTENT_URI,
NogiFeedContent.ProfileWidget.sProjection,
selection,
selectionArgs,
null
);
if (c != null) {
if (c.moveToFirst()) {
c.close();
return true;
} else {
c.close();
return false;
}
}
return false;
}
public static void save(@NonNull Context context, Member member, int widgetId) {
ContentValues cv = new ContentValues();
cv.put(NogiFeedContent.ProfileWidget.Key.WIDGET_ID, widgetId);
cv.put(NogiFeedContent.ProfileWidget.Key.MEMBER_ID, member.getId());
context.getContentResolver().insert(
NogiFeedContent.ProfileWidget.CONTENT_URI, cv);
}
public static void delete(@NonNull Context context, int[] widgetIds) {
for (int widgetId : widgetIds) {
delete(context, widgetId);
}
}
public static void delete(@NonNull Context context, int widgetId) {
String selection = NogiFeedContent.ProfileWidget.Key.WIDGET_ID + "=?";
String[] selectionArgs = new String[] { String.valueOf(widgetId) };
context.getContentResolver().delete(
NogiFeedContent.ProfileWidget.CONTENT_URI,
selection,
selectionArgs
);
}
}