From 320112dae4a6d2618f6c13006da66ce50e96040a Mon Sep 17 00:00:00 2001 From: Gabriele M Date: Tue, 4 Jul 2017 19:05:04 +0200 Subject: [PATCH] Allow to choose the conflict algorithm when adding DB entries --- src/org/lineageos/updater/UpdatesDbHelper.java | 5 ++--- src/org/lineageos/updater/controller/UpdaterController.java | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/org/lineageos/updater/UpdatesDbHelper.java b/src/org/lineageos/updater/UpdatesDbHelper.java index cdbdf207..a7b793e9 100644 --- a/src/org/lineageos/updater/UpdatesDbHelper.java +++ b/src/org/lineageos/updater/UpdatesDbHelper.java @@ -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) { diff --git a/src/org/lineageos/updater/controller/UpdaterController.java b/src/org/lineageos/updater/controller/UpdaterController.java index 3ef01463..0e036512 100644 --- a/src/org/lineageos/updater/controller/UpdaterController.java +++ b/src/org/lineageos/updater/controller/UpdaterController.java @@ -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);