Search in sources :

Example 66 with SQLException

use of android.database.SQLException in project aware-client by denzilferreira.

the class Keyboard_Provider method insert.

/**
 * Insert entry to the database
 */
@Override
public synchronized Uri insert(Uri uri, ContentValues initialValues) {
    initialiseDatabase();
    ContentValues values = (initialValues != null) ? new ContentValues(initialValues) : new ContentValues();
    database.beginTransaction();
    switch(sUriMatcher.match(uri)) {
        case KEYBOARD:
            long keyboard_id = database.insertWithOnConflict(DATABASE_TABLES[0], Keyboard_Data.PACKAGE_NAME, values, SQLiteDatabase.CONFLICT_IGNORE);
            database.setTransactionSuccessful();
            database.endTransaction();
            if (keyboard_id > 0) {
                Uri installationsUri = ContentUris.withAppendedId(Keyboard_Data.CONTENT_URI, keyboard_id);
                getContext().getContentResolver().notifyChange(installationsUri, null, false);
                return installationsUri;
            }
            database.endTransaction();
            throw new SQLException("Failed to insert row into " + uri);
        default:
            database.endTransaction();
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
}
Also used : ContentValues(android.content.ContentValues) SQLException(android.database.SQLException) Uri(android.net.Uri)

Example 67 with SQLException

use of android.database.SQLException in project aware-client by denzilferreira.

the class Light_Provider method bulkInsert.

/**
 * Batch insert for high performance sensors (e.g., accelerometer, etc)
 *
 * @param uri
 * @param values
 * @return values.length
 */
@Override
public synchronized int bulkInsert(Uri uri, ContentValues[] values) {
    initialiseDatabase();
    database.beginTransaction();
    int count = 0;
    switch(sUriMatcher.match(uri)) {
        case SENSOR_DEV:
            for (ContentValues v : values) {
                long id;
                try {
                    id = database.insertOrThrow(DATABASE_TABLES[0], Light_Sensor.DEVICE_ID, v);
                } catch (SQLException e) {
                    id = database.replace(DATABASE_TABLES[0], Light_Sensor.DEVICE_ID, v);
                }
                if (id <= 0) {
                    Log.w(Barometer.TAG, "Failed to insert/replace row into " + uri);
                } else {
                    count++;
                }
            }
            break;
        case SENSOR_DATA:
            for (ContentValues v : values) {
                long id;
                try {
                    id = database.insertOrThrow(DATABASE_TABLES[1], Light_Data.DEVICE_ID, v);
                } catch (SQLException e) {
                    id = database.replace(DATABASE_TABLES[1], Light_Data.DEVICE_ID, v);
                }
                if (id <= 0) {
                    Log.w(Barometer.TAG, "Failed to insert/replace row into " + uri);
                } else {
                    count++;
                }
            }
            break;
        default:
            database.endTransaction();
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
    database.setTransactionSuccessful();
    database.endTransaction();
    getContext().getContentResolver().notifyChange(uri, null, false);
    return count;
}
Also used : ContentValues(android.content.ContentValues) SQLException(android.database.SQLException)

Example 68 with SQLException

use of android.database.SQLException in project aware-client by denzilferreira.

the class Linear_Accelerometer_Provider method insert.

/**
 * Insert entry to the database
 */
@Override
public synchronized Uri insert(Uri uri, ContentValues initialValues) {
    initialiseDatabase();
    ContentValues values = (initialValues != null) ? new ContentValues(initialValues) : new ContentValues();
    database.beginTransaction();
    switch(sUriMatcher.match(uri)) {
        case ACCEL_DEV:
            long accel_id = database.insertWithOnConflict(DATABASE_TABLES[0], Linear_Accelerometer_Sensor.DEVICE_ID, values, SQLiteDatabase.CONFLICT_IGNORE);
            database.setTransactionSuccessful();
            database.endTransaction();
            if (accel_id > 0) {
                Uri accelUri = ContentUris.withAppendedId(Linear_Accelerometer_Sensor.CONTENT_URI, accel_id);
                getContext().getContentResolver().notifyChange(accelUri, null, false);
                return accelUri;
            }
            database.endTransaction();
            throw new SQLException("Failed to insert row into " + uri);
        case ACCEL_DATA:
            long accelData_id = database.insertWithOnConflict(DATABASE_TABLES[1], Linear_Accelerometer_Data.DEVICE_ID, values, SQLiteDatabase.CONFLICT_IGNORE);
            database.setTransactionSuccessful();
            database.endTransaction();
            if (accelData_id > 0) {
                Uri accelDataUri = ContentUris.withAppendedId(Linear_Accelerometer_Data.CONTENT_URI, accelData_id);
                getContext().getContentResolver().notifyChange(accelDataUri, null, false);
                return accelDataUri;
            }
            database.endTransaction();
            throw new SQLException("Failed to insert row into " + uri);
        default:
            database.endTransaction();
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
}
Also used : ContentValues(android.content.ContentValues) SQLException(android.database.SQLException) Uri(android.net.Uri)

Example 69 with SQLException

use of android.database.SQLException in project aware-client by denzilferreira.

the class Linear_Accelerometer_Provider method bulkInsert.

/**
 * Batch insert for high performance sensors (e.g., accelerometer, etc)
 *
 * @param uri
 * @param values
 * @return values.length
 */
@Override
public synchronized int bulkInsert(Uri uri, ContentValues[] values) {
    initialiseDatabase();
    database.beginTransaction();
    int count = 0;
    switch(sUriMatcher.match(uri)) {
        case ACCEL_DEV:
            for (ContentValues v : values) {
                long id;
                try {
                    id = database.insertOrThrow(DATABASE_TABLES[0], Linear_Accelerometer_Sensor.DEVICE_ID, v);
                } catch (SQLException e) {
                    id = database.replace(DATABASE_TABLES[0], Linear_Accelerometer_Sensor.DEVICE_ID, v);
                }
                if (id <= 0) {
                    Log.w(Accelerometer.TAG, "Failed to insert/replace row into " + uri);
                } else {
                    count++;
                }
            }
            break;
        case ACCEL_DATA:
            for (ContentValues v : values) {
                long id;
                try {
                    id = database.insertOrThrow(DATABASE_TABLES[1], Linear_Accelerometer_Data.DEVICE_ID, v);
                } catch (SQLException e) {
                    id = database.replace(DATABASE_TABLES[1], Linear_Accelerometer_Data.DEVICE_ID, v);
                }
                if (id <= 0) {
                    Log.w(Accelerometer.TAG, "Failed to insert/replace row into " + uri);
                } else {
                    count++;
                }
            }
            break;
        default:
            database.endTransaction();
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
    database.setTransactionSuccessful();
    database.endTransaction();
    getContext().getContentResolver().notifyChange(uri, null, false);
    return count;
}
Also used : ContentValues(android.content.ContentValues) SQLException(android.database.SQLException)

Example 70 with SQLException

use of android.database.SQLException in project aware-client by denzilferreira.

the class Locations_Provider method insert.

/**
 * Insert entry to the database
 */
@Override
public synchronized Uri insert(Uri uri, ContentValues initialValues) {
    initialiseDatabase();
    ContentValues values = (initialValues != null) ? new ContentValues(initialValues) : new ContentValues();
    database.beginTransaction();
    switch(sUriMatcher.match(uri)) {
        case LOCATIONS:
            long location_id = database.insertWithOnConflict(DATABASE_TABLES[0], Locations_Data.PROVIDER, values, SQLiteDatabase.CONFLICT_IGNORE);
            database.setTransactionSuccessful();
            database.endTransaction();
            if (location_id > 0) {
                Uri locationUri = ContentUris.withAppendedId(Locations_Data.CONTENT_URI, location_id);
                getContext().getContentResolver().notifyChange(locationUri, null, false);
                return locationUri;
            }
            database.endTransaction();
            throw new SQLException("Failed to insert row into " + uri);
        default:
            database.endTransaction();
            throw new IllegalArgumentException("Unknown URI " + uri);
    }
}
Also used : ContentValues(android.content.ContentValues) SQLException(android.database.SQLException) Uri(android.net.Uri)

Aggregations

SQLException (android.database.SQLException)224 ContentValues (android.content.ContentValues)114 Uri (android.net.Uri)60 Cursor (android.database.Cursor)57 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)39 SQLiteException (android.database.sqlite.SQLiteException)18 Intent (android.content.Intent)16 ArrayList (java.util.ArrayList)14 SQLiteStatement (android.database.sqlite.SQLiteStatement)13 HandlerThread (android.os.HandlerThread)10 DatabaseUtils (android.database.DatabaseUtils)8 Gson (com.google.gson.Gson)8 RAction (io.github.mthli.Bitocle.Database.Repo.RAction)7 Repo (io.github.mthli.Bitocle.Database.Repo.Repo)6 SQLiteOpenHelper (android.database.sqlite.SQLiteOpenHelper)5 ContactDetail (com.vodafone360.people.datatypes.ContactDetail)5 IOException (java.io.IOException)5 BAction (io.github.mthli.Bitocle.Database.Bookmark.BAction)4 Test (org.junit.Test)4 Activity (android.app.Activity)3