package com.letv.ads.db;
import android.content.ContentProvider;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
public class AdsContentProviderForWB extends ContentProvider {
public static final String AUTHORITY = "com.letv.ads.db.AdsContentProviderForWB";
public static final Uri URI_ADS = Uri.parse("content://" + AUTHORITY + "/" + DBConstant.TABLE_NAME);
private static final int ADS = 100;
private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
private SQLiteDataBase sqliteDataBase;
static {
URI_MATCHER.addURI(AUTHORITY, DBConstant.TABLE_NAME, ADS);
}
@Override
public boolean onCreate() {
sqliteDataBase = new SQLiteDataBase(getContext());
return true;
}
@Override
public String getType(Uri uri) {
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
long rowId;
Uri newUri = null;
int match = URI_MATCHER.match(uri);
SQLiteDatabase db = sqliteDataBase.getWritableDatabase();
switch (match) {
case ADS:
rowId = db.insert(DBConstant.TABLE_NAME , DBConstant.AD, values);
if (rowId > 0) {
newUri = ContentUris.withAppendedId(URI_ADS, rowId);
}
break;
default:
throw new UnsupportedOperationException("Unknown or unsupported URL: " + uri.toString());
}
if (newUri != null) {
getContext().getContentResolver().notifyChange(uri, null);
}
return newUri;
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
int count;
int match = URI_MATCHER.match(uri);
SQLiteDatabase db = sqliteDataBase.getWritableDatabase();
switch (match) {
case ADS:
count = db.delete(DBConstant.TABLE_NAME, selection, selectionArgs);
break;
default:
throw new UnsupportedOperationException("Unknown or unsupported URL: " + uri.toString());
}
this.getContext().getContentResolver().notifyChange(uri, null);
return count;
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int count;
int match = URI_MATCHER.match(uri);
SQLiteDatabase db = sqliteDataBase.getWritableDatabase();
switch (match) {
case ADS:
count = db.update(DBConstant.TABLE_NAME, values, selection, selectionArgs);
break;
default:
throw new UnsupportedOperationException("Unknown or unsupported URL: " + uri.toString());
}
this.getContext().getContentResolver().notifyChange(uri, null);
return count;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder) {
Cursor cursor = null;
int match = URI_MATCHER.match(uri);
SQLiteDatabase db = sqliteDataBase.getWritableDatabase();
switch (match) {
case ADS:
cursor = db.query(DBConstant.TABLE_NAME, null, selection, selectionArgs,null, null, sortOrder);
cursor.setNotificationUri(getContext().getContentResolver(), uri);
break;
default:
throw new UnsupportedOperationException("Unknown or unsupported URL: " + uri.toString());
}
return cursor;
}
}