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);
|
return db.insert(UpdateEntry.TABLE_NAME, null, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
public long addUpdateWithOnConflict(UpdateDownload update) {
|
public long addUpdateWithOnConflict(UpdateDownload update, int conflictAlgorithm) {
|
||||||
SQLiteDatabase db = getWritableDatabase();
|
SQLiteDatabase db = getWritableDatabase();
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
values.put(UpdateEntry.COLUMN_NAME_STATUS, update.getPersistentStatus());
|
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_TYPE, update.getType());
|
||||||
values.put(UpdateEntry.COLUMN_NAME_VERSION, update.getVersion());
|
values.put(UpdateEntry.COLUMN_NAME_VERSION, update.getVersion());
|
||||||
values.put(UpdateEntry.COLUMN_NAME_SIZE, update.getFileSize());
|
values.put(UpdateEntry.COLUMN_NAME_SIZE, update.getFileSize());
|
||||||
return db.insertWithOnConflict(UpdateEntry.TABLE_NAME, null, values,
|
return db.insertWithOnConflict(UpdateEntry.TABLE_NAME, null, values, conflictAlgorithm);
|
||||||
SQLiteDatabase.CONFLICT_IGNORE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean removeUpdate(String downloadId) {
|
public boolean removeUpdate(String downloadId) {
|
||||||
|
@@ -17,6 +17,7 @@ package org.lineageos.updater.controller;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
@@ -147,7 +148,8 @@ public class UpdaterController implements UpdaterControllerInt {
|
|||||||
new Thread(new Runnable() {
|
new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
mUpdatesDbHelper.addUpdateWithOnConflict(update);
|
mUpdatesDbHelper.addUpdateWithOnConflict(update,
|
||||||
|
SQLiteDatabase.CONFLICT_IGNORE);
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
notifyUpdateChange(downloadId);
|
notifyUpdateChange(downloadId);
|
||||||
|
Reference in New Issue
Block a user