Skip to content
Snippets Groups Projects
Commit 6c4adc35 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixed messages sometimes not being saved

parent 9d132430
Branches
Tags
No related merge requests found
......@@ -78,4 +78,9 @@
#########################################
## DBFlow ##
#########################################
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
\ No newline at end of file
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
#########################################
## AppCompat SearchView ##
#########################################
-keep class android.support.v7.widget.SearchView { *; }
\ No newline at end of file
......@@ -128,26 +128,40 @@ public class HybridBacklogStorage implements BacklogStorage {
@Override
public void insertMessages(@NonNull Message... messages) {
for (Message message : messages) {
client.unbufferBuffer(message.bufferInfo);
synchronized (backlogs) {
if (backlogs.get(message.bufferInfo.id) != null)
backlogs.get(message.bufferInfo.id).add(message);
FlowManager.getDatabase(ConnectedDatabase.class).executeTransaction(new ITransaction() {
@Override
public void execute(DatabaseWrapper databaseWrapper) {
for (Message message : messages) {
client.unbufferBuffer(message.bufferInfo);
synchronized (backlogs) {
if (backlogs.get(message.bufferInfo.id) != null)
backlogs.get(message.bufferInfo.id).add(message);
message.save();
message.bufferInfo.save();
}
updateLatest(message);
}
}
updateLatest(message);
}
});
}
@Override
public void insertMessages(List<Message> messages) {
for (Message message : messages) {
client.unbufferBuffer(message.bufferInfo);
synchronized (backlogs) {
if (backlogs.get(message.bufferInfo.id) != null)
backlogs.get(message.bufferInfo.id).add(message);
FlowManager.getDatabase(ConnectedDatabase.class).executeTransaction(new ITransaction() {
@Override
public void execute(DatabaseWrapper databaseWrapper) {
for (Message message : messages) {
client.unbufferBuffer(message.bufferInfo);
synchronized (backlogs) {
if (backlogs.get(message.bufferInfo.id) != null)
backlogs.get(message.bufferInfo.id).add(message);
message.save();
message.bufferInfo.save();
}
updateLatest(message);
}
}
updateLatest(message);
}
});
}
public void setClient(Client client) {
......@@ -167,8 +181,10 @@ public class HybridBacklogStorage implements BacklogStorage {
@Override
public void clear(@IntRange(from = 0) int bufferid) {
Log.w("libquassel", String.format("Backlog gap detected, clearing backlog for buffer %d", bufferid));
SQLite.delete().from(Message.class).where(Message_Table.bufferInfo_id.eq(bufferid)).execute();
synchronized (backlogs) {
Log.w("libquassel", String.format("Backlog gap detected, clearing backlog for buffer %d", bufferid));
SQLite.delete().from(Message.class).where(Message_Table.bufferInfo_id.eq(bufferid)).execute();
}
}
private void ensureExisting(@IntRange(from = -1) int bufferId) {
......
......@@ -39,6 +39,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
......
......@@ -22,16 +22,16 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_hide_events"
android:icon="?attr/iconFilter"
android:title="@string/labelHideEvents"
app:showAsAction="never" />
<item
android:id="@+id/action_search"
android:title="@string/label_search"
app:showAsAction="never|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />
<item
android:id="@+id/action_hide_events"
android:icon="?attr/iconFilter"
android:title="@string/labelHideEvents"
app:showAsAction="never" />
<item
android:id="@+id/action_settings"
android:title="@string/label_settings"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment