Allow to choose the conflict algorithm when adding DB entries
This commit is contained in:
@@ -92,7 +92,7 @@ public class UpdatesDbHelper extends SQLiteOpenHelper {
|
||||
return db.insert(UpdateEntry.TABLE_NAME, null, values);
|
||||
}
|
||||
|
||||
public long addUpdateWithOnConflict(UpdateDownload update) {
|
||||
public long addUpdateWithOnConflict(UpdateDownload update, int conflictAlgorithm) {
|
||||
SQLiteDatabase db = getWritableDatabase();
|
||||
ContentValues values = new ContentValues();
|
||||
values.put(UpdateEntry.COLUMN_NAME_STATUS, update.getPersistentStatus());
|
||||
@@ -104,8 +104,7 @@ public class UpdatesDbHelper extends SQLiteOpenHelper {
|
||||
values.put(UpdateEntry.COLUMN_NAME_TYPE, update.getType());
|
||||
values.put(UpdateEntry.COLUMN_NAME_VERSION, update.getVersion());
|
||||
values.put(UpdateEntry.COLUMN_NAME_SIZE, update.getFileSize());
|
||||
return db.insertWithOnConflict(UpdateEntry.TABLE_NAME, null, values,
|
||||
SQLiteDatabase.CONFLICT_IGNORE);
|
||||
return db.insertWithOnConflict(UpdateEntry.TABLE_NAME, null, values, conflictAlgorithm);
|
||||
}
|
||||
|
||||
public boolean removeUpdate(String downloadId) {
|
||||
|
@@ -17,6 +17,7 @@ package org.lineageos.updater.controller;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.os.PowerManager;
|
||||
import android.os.SystemClock;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
@@ -147,7 +148,8 @@ public class UpdaterController implements UpdaterControllerInt {
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mUpdatesDbHelper.addUpdateWithOnConflict(update);
|
||||
mUpdatesDbHelper.addUpdateWithOnConflict(update,
|
||||
SQLiteDatabase.CONFLICT_IGNORE);
|
||||
}
|
||||
}).start();
|
||||
notifyUpdateChange(downloadId);
|
||||
|
Reference in New Issue
Block a user