From 03ab0370e87c366ff483e89cf5b62dcdcc50702f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 23 Sep 2017 16:46:05 -0500 Subject: [PATCH] Textview fill parent --- src/lib/sync.js | 6 ++--- src/screens/Compose.js | 4 +-- src/screens/Filter.js | 8 ++++++ src/screens/Notes.js | 8 +++--- .../standardnotes/sntextview/SNTextView.java | 25 ++++++++----------- 5 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/lib/sync.js b/src/lib/sync.js index caf96293..dc19fdd1 100644 --- a/src/lib/sync.js +++ b/src/lib/sync.js @@ -289,7 +289,7 @@ export default class Sync { var omitFields = ["content", "auth_hash"]; var saved = await this.handleItemsResponse(response.saved_items, omitFields); - await this.handleUnsavedItemsResponse(response.unsaved) + var unsaved = await this.handleUnsavedItemsResponse(response.unsaved) this.writeItemsToStorage(saved, false, null); this.syncStatus.syncOpInProgress = false; @@ -318,9 +318,7 @@ export default class Sync { this.syncObservers.forEach(function(mapping){ var changesMade = retrieved.length > 0 || response.unsaved.length > 0; - var retreivedIds = retreived.map((item) => {return item.uuid}); - var savedIds = saved.map((item) => {return item.uuid}); - mapping.callback(changesMade, retreivedIds, savedIds); + mapping.callback(changesMade, retrieved, saved, unsaved); }) } }.bind(this); diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 341407d5..004eeaf9 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -45,8 +45,8 @@ export default class Compose extends Abstract { this.loadStyles(); - this.syncObserver = Sync.getInstance().registerSyncObserver((changesMade, retreivedIds, savedIds) => { - if(retreivedIds && this.note.uuid && retreivedIds.includes(this.note.uuid)) { + this.syncObserver = Sync.getInstance().registerSyncObserver((changesMade, retreived, saved) => { + if(retreived && this.note.uuid && retreived.map((i) => i.uuid).includes(this.note.uuid)) { this.forceUpdate(); } }); diff --git a/src/screens/Filter.js b/src/screens/Filter.js index 673dfa13..05d77962 100644 --- a/src/screens/Filter.js +++ b/src/screens/Filter.js @@ -78,12 +78,20 @@ export default class Filter extends Abstract { } }.bind(this)) + this.syncObserver = Sync.getInstance().registerSyncObserver((changesMade, retreived, saved) => { + if(retreived && _.find(retreived, {content_type: "Tag"})) { + console.log("Reloading tags list"); + this.forceUpdate(); + } + }); + } componentWillUnmount() { super.componentWillUnmount(); App.get().removeApplicationReadyObserver(this.readyObserver); Sync.getInstance().removeDataLoadObserver(this.dataLoadObserver); + Sync.getInstance().removeSyncObserver(this.syncObserver); } notifyParentOfOptionsChange() { diff --git a/src/screens/Notes.js b/src/screens/Notes.js index a46433c8..abaa0718 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -74,7 +74,7 @@ export default class Notes extends Abstract { // Refresh every 30s this.syncTimer = setInterval(function () { Sync.getInstance().sync(null); - }, 30000); + }, 3000); } registerObservers() { @@ -88,9 +88,9 @@ export default class Notes extends Abstract { } }) - this.syncObserver = Sync.getInstance().registerSyncObserver(function(changesMade){ - if(changesMade) { - console.log("===Changes Made==="); + this.syncObserver = Sync.getInstance().registerSyncObserver(function(changesMade, retrieved, saved, unsaved){ + if(_.find(retrieved, {content_type: "Note"}) || _.find(unsaved, {content_type: "Note"})) { + console.log("===Note Changes Pulled==="); this.reloadList(); } this.mergeState({refreshing: false, loading: false}); diff --git a/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java b/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java index 373e3f96..8dd62022 100644 --- a/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java +++ b/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java @@ -30,6 +30,7 @@ import com.facebook.react.uimanager.events.RCTEventEmitter; import java.lang.reflect.Field; +import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static java.security.AccessController.getContext; /** @@ -46,26 +47,22 @@ public class SNTextView extends LinearLayout { public SNTextView(Context context) { super(context); - LayoutParams lp = new LayoutParams(MATCH_PARENT, MATCH_PARENT); - + LayoutParams scrollParams = new LayoutParams(MATCH_PARENT, MATCH_PARENT); scrollView = new ScrollView(context); - scrollView.setBackgroundColor(android.R.color.transparent); - scrollView.setLayoutParams(lp); + scrollView.setLayoutParams(scrollParams); + scrollView.setFillViewport(true); editText = new EditText(this.getContext()); - LayoutParams textLayout = new LayoutParams(MATCH_PARENT, MATCH_PARENT); + LayoutParams textLayout = new LayoutParams(MATCH_PARENT, WRAP_CONTENT); editText.setLayoutParams(textLayout); + editText.setGravity(Gravity.TOP); + editText.addTextChangedListener(new TextWatcher() { + @Override + public void afterTextChanged(Editable s) {} @Override - public void afterTextChanged(Editable s) { - - } - - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } + public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) { @@ -77,7 +74,7 @@ public class SNTextView extends LinearLayout { } }); - scrollView.addView(editText); + scrollView.addView(editText, new LayoutParams(MATCH_PARENT, 1000)); this.addView(scrollView); }