Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordan0xii <1926270+dan0xii@users.noreply.github.com>2018-02-11 23:48:05 +0300
committerkorelstar <korelstar@users.noreply.github.com>2018-02-11 23:48:05 +0300
commitb273eed280199a9eda599e4b7cbab7222428ccc3 (patch)
tree594cc97f138ef5cf030c7a860cb8aacc75787e18
parentcd25b82e2c831d8cba4422ce1814b90e09a5bbe5 (diff)
Moved widget update functions (#324)
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteSQLiteOpenHelper.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteServerSyncHelper.java6
3 files changed, 13 insertions, 11 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
index 43ff561e..7c92148a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
@@ -139,8 +139,6 @@ public abstract class BaseNoteFragment extends Fragment implements CategoryDialo
protected void saveNote(@Nullable ICallback callback) {
Log.d(getClass().getSimpleName(), "saveData()");
note = db.updateNoteAndSync(note, getContent(), callback);
- db.updateSingleNoteWidgets();
- db.updateNoteListWidgets();
listener.onNoteUpdated(note);
}
protected abstract String getContent();
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteSQLiteOpenHelper.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteSQLiteOpenHelper.java
index fd474d51..54692e39 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteSQLiteOpenHelper.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteSQLiteOpenHelper.java
@@ -178,6 +178,7 @@ public class NoteSQLiteOpenHelper extends SQLiteOpenHelper {
public long addNoteAndSync(CloudNote note) {
DBNote dbNote = new DBNote(0, 0, note.getModified(), note.getTitle(), note.getContent(), note.isFavorite(), note.getCategory(), note.getEtag(), DBStatus.LOCAL_EDITED);
long id = addNote(dbNote);
+ notifyNotesChanged();
getNoteServerSyncHelper().scheduleSync(true);
return id;
}
@@ -440,6 +441,7 @@ public class NoteSQLiteOpenHelper extends SQLiteOpenHelper {
int rows = db.update(table_notes, values, key_id + " = ? AND (" + key_content + " != ? OR " + key_category + " != ?)", new String[]{String.valueOf(newNote.getId()), newNote.getContent(), newNote.getCategory()});
// if data was changed, set new status and schedule sync (with callback); otherwise invoke callback directly.
if(rows > 0) {
+ notifyNotesChanged();
if(callback!=null) {
serverSyncHelper.addCallbackPush(callback);
}
@@ -518,6 +520,7 @@ public class NoteSQLiteOpenHelper extends SQLiteOpenHelper {
values,
key_id + " = ?",
new String[]{String.valueOf(id)});
+ notifyNotesChanged();
getNoteServerSyncHelper().scheduleSync(true);
return i;
}
@@ -536,12 +539,18 @@ public class NoteSQLiteOpenHelper extends SQLiteOpenHelper {
new String[]{String.valueOf(id), forceDBStatus.getTitle()});
}
+ /**
+ * Notify about changed notes.
+ */
+ void notifyNotesChanged() {
+ updateSingleNoteWidgets();
+ updateNoteListWidgets();
+ }
/**
* Update single note widget, if the note data was changed.
- * TODO This should be replaced by using the observer pattern
*/
- public void updateSingleNoteWidgets() {
+ private void updateSingleNoteWidgets() {
Intent intent = new Intent(getContext(), SingleNoteWidget.class);
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
getContext().sendBroadcast(intent);
@@ -549,9 +558,8 @@ public class NoteSQLiteOpenHelper extends SQLiteOpenHelper {
/**
* Update note list widgets, if the note data was changed.
- * TODO This should be replaced by using the observer pattern
*/
- public void updateNoteListWidgets() {
+ private void updateNoteListWidgets() {
Intent intent = new Intent(getContext(), NoteListWidget.class);
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
getContext().sendBroadcast(intent);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteServerSyncHelper.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteServerSyncHelper.java
index 21da794e..9d22d5a7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteServerSyncHelper.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NoteServerSyncHelper.java
@@ -38,8 +38,6 @@ import it.niedermann.owncloud.notes.util.NotesClientUtil.LoginStatus;
import it.niedermann.owncloud.notes.util.ServerResponse;
import it.niedermann.owncloud.notes.util.SupportUtil;
-import static android.content.ContentValues.TAG;
-
/**
* Helps to synchronize the Database to the Server.
*/
@@ -395,9 +393,7 @@ public class NoteServerSyncHelper {
for (ICallback callback : callbacks) {
callback.onFinish();
}
- Log.d(TAG, "onPostExecute: Update widgets");
- dbHelper.updateSingleNoteWidgets();
- dbHelper.updateNoteListWidgets();
+ dbHelper.notifyNotesChanged();
// start next sync if scheduled meanwhile
if(syncScheduled) {
scheduleSync(false);