Loading mobile/android/base/sync/CryptoRecord.java +12 −2 Original line number Diff line number Diff line Loading @@ -236,12 +236,22 @@ public class CryptoRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { public void initFromEnvelope(CryptoRecord payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override public CryptoRecord getPayload() { public CryptoRecord getEnvelope() { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override protected void populatePayload(ExtendedJSONObject payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override protected void initFromPayload(ExtendedJSONObject payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } Loading mobile/android/base/sync/middleware/Crypto5MiddlewareRepositorySession.java +1 −1 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ public class Crypto5MiddlewareRepositorySession extends RepositorySession { if (delegate == null) { throw new NoStoreDelegateException(); } CryptoRecord rec = record.getPayload(); CryptoRecord rec = record.getEnvelope(); rec.keyBundle = this.keyBundle; try { rec.encrypt(); Loading mobile/android/base/sync/repositories/domain/BookmarkRecord.java +27 −51 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ package org.mozilla.gecko.sync.repositories.domain; import org.json.simple.JSONArray; import org.mozilla.gecko.sync.CryptoRecord; import org.mozilla.gecko.sync.ExtendedJSONObject; import org.mozilla.gecko.sync.Logger; import org.mozilla.gecko.sync.NonArrayJSONException; Loading Loading @@ -143,33 +142,19 @@ public class BookmarkRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { ExtendedJSONObject p = payload.payload; // All. this.guid = payload.guid; checkGUIDs(p); final Object del = p.get("deleted"); if (del instanceof Boolean) { this.deleted = (Boolean) del; } this.collection = payload.collection; this.lastModified = payload.lastModified; this.type = (String) p.get("type"); this.title = (String) p.get("title"); this.description = (String) p.get("description"); this.parentID = (String) p.get("parentid"); this.parentName = (String) p.get("parentName"); protected void initFromPayload(ExtendedJSONObject payload) { this.type = (String) payload.get("type"); this.title = (String) payload.get("title"); this.description = (String) payload.get("description"); this.parentID = (String) payload.get("parentid"); this.parentName = (String) payload.get("parentName"); // Bookmark. if (isBookmark()) { this.bookmarkURI = (String) p.get("bmkUri"); this.keyword = (String) p.get("keyword"); this.bookmarkURI = (String) payload.get("bmkUri"); this.keyword = (String) payload.get("keyword"); try { this.tags = p.getArray("tags"); this.tags = payload.getArray("tags"); } catch (NonArrayJSONException e) { Log.e(LOG_TAG, "Got non-array tags in bookmark record " + this.guid, e); this.tags = new JSONArray(); Loading @@ -179,7 +164,7 @@ public class BookmarkRecord extends Record { // Folder. if (isFolder()) { try { this.children = p.getArray("children"); this.children = payload.getArray("children"); } catch (NonArrayJSONException e) { Log.e(LOG_TAG, "Got non-array children in bookmark record " + this.guid, e); // Let's see if we can recover later by using the parentid pointers. Loading @@ -200,38 +185,29 @@ public class BookmarkRecord extends Record { */ } public boolean isBookmark() { return AndroidBrowserBookmarksDataAccessor.TYPE_BOOKMARK.equalsIgnoreCase(this.type); } public boolean isFolder() { return AndroidBrowserBookmarksDataAccessor.TYPE_FOLDER.equalsIgnoreCase(this.type); } @Override public CryptoRecord getPayload() { CryptoRecord rec = new CryptoRecord(this); rec.payload = new ExtendedJSONObject(); rec.payload.put("id", this.guid); if (this.deleted) { rec.payload.put("deleted", true); } else { putPayload(rec, "type", this.type); putPayload(rec, "title", this.title); putPayload(rec, "description", this.description); putPayload(rec, "parentid", this.parentID); putPayload(rec, "parentName", this.parentName); protected void populatePayload(ExtendedJSONObject payload) { putPayload(payload, "type", this.type); putPayload(payload, "title", this.title); putPayload(payload, "description", this.description); putPayload(payload, "parentid", this.parentID); putPayload(payload, "parentName", this.parentName); if (isBookmark()) { rec.payload.put("bmkUri", bookmarkURI); rec.payload.put("keyword", keyword); rec.payload.put("tags", this.tags); payload.put("bmkUri", bookmarkURI); payload.put("keyword", keyword); payload.put("tags", this.tags); } else if (isFolder()) { rec.payload.put("children", this.children); payload.put("children", this.children); } } return rec; public boolean isBookmark() { return AndroidBrowserBookmarksDataAccessor.TYPE_BOOKMARK.equalsIgnoreCase(this.type); } public boolean isFolder() { return AndroidBrowserBookmarksDataAccessor.TYPE_FOLDER.equalsIgnoreCase(this.type); } private void trace(String s) { Loading mobile/android/base/sync/repositories/domain/BookmarkRecordFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class BookmarkRecordFactory extends RecordFactory { @Override public Record createRecord(Record record) { BookmarkRecord r = new BookmarkRecord(); r.initFromPayload((CryptoRecord) record); r.initFromEnvelope((CryptoRecord) record); return r; } Loading mobile/android/base/sync/repositories/domain/HistoryRecord.java +11 −33 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ import java.util.HashMap; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.mozilla.gecko.sync.CryptoRecord; import org.mozilla.gecko.sync.ExtendedJSONObject; import org.mozilla.gecko.sync.Logger; import org.mozilla.gecko.sync.NonArrayJSONException; Loading Loading @@ -109,46 +108,25 @@ public class HistoryRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { ExtendedJSONObject p = payload.payload; this.guid = payload.guid; this.checkGUIDs(p); this.lastModified = payload.lastModified; final Object del = p.get("deleted"); if (del instanceof Boolean) { this.deleted = (Boolean) del; protected void populatePayload(ExtendedJSONObject payload) { putPayload(payload, "id", this.guid); putPayload(payload, "title", this.title); putPayload(payload, "histUri", this.histURI); // TODO: encoding? payload.put("visits", this.visits); } this.histURI = (String) p.get("histUri"); this.title = (String) p.get("title"); @Override protected void initFromPayload(ExtendedJSONObject payload) { this.histURI = (String) payload.get("histUri"); this.title = (String) payload.get("title"); try { this.visits = p.getArray("visits"); this.visits = payload.getArray("visits"); } catch (NonArrayJSONException e) { Logger.error(LOG_TAG, "Got non-array visits in history record " + this.guid, e); this.visits = new JSONArray(); } } @Override public CryptoRecord getPayload() { CryptoRecord rec = new CryptoRecord(this); rec.payload = new ExtendedJSONObject(); Logger.debug(LOG_TAG, "Getting payload for history record " + this.guid + " (" + this.guid.length() + ")."); if (this.deleted) { rec.payload.put("deleted", true); } else { putPayload(rec, "id", this.guid); putPayload(rec, "title", this.title); putPayload(rec, "histUri", this.histURI); // TODO: encoding? rec.payload.put("visits", this.visits); } return rec; } /** * We consider two history records to be congruent if they represent the * same history record regardless of visits. Loading Loading
mobile/android/base/sync/CryptoRecord.java +12 −2 Original line number Diff line number Diff line Loading @@ -236,12 +236,22 @@ public class CryptoRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { public void initFromEnvelope(CryptoRecord payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override public CryptoRecord getPayload() { public CryptoRecord getEnvelope() { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override protected void populatePayload(ExtendedJSONObject payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } @Override protected void initFromPayload(ExtendedJSONObject payload) { throw new IllegalStateException("Can't do this with a CryptoRecord."); } Loading
mobile/android/base/sync/middleware/Crypto5MiddlewareRepositorySession.java +1 −1 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ public class Crypto5MiddlewareRepositorySession extends RepositorySession { if (delegate == null) { throw new NoStoreDelegateException(); } CryptoRecord rec = record.getPayload(); CryptoRecord rec = record.getEnvelope(); rec.keyBundle = this.keyBundle; try { rec.encrypt(); Loading
mobile/android/base/sync/repositories/domain/BookmarkRecord.java +27 −51 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ package org.mozilla.gecko.sync.repositories.domain; import org.json.simple.JSONArray; import org.mozilla.gecko.sync.CryptoRecord; import org.mozilla.gecko.sync.ExtendedJSONObject; import org.mozilla.gecko.sync.Logger; import org.mozilla.gecko.sync.NonArrayJSONException; Loading Loading @@ -143,33 +142,19 @@ public class BookmarkRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { ExtendedJSONObject p = payload.payload; // All. this.guid = payload.guid; checkGUIDs(p); final Object del = p.get("deleted"); if (del instanceof Boolean) { this.deleted = (Boolean) del; } this.collection = payload.collection; this.lastModified = payload.lastModified; this.type = (String) p.get("type"); this.title = (String) p.get("title"); this.description = (String) p.get("description"); this.parentID = (String) p.get("parentid"); this.parentName = (String) p.get("parentName"); protected void initFromPayload(ExtendedJSONObject payload) { this.type = (String) payload.get("type"); this.title = (String) payload.get("title"); this.description = (String) payload.get("description"); this.parentID = (String) payload.get("parentid"); this.parentName = (String) payload.get("parentName"); // Bookmark. if (isBookmark()) { this.bookmarkURI = (String) p.get("bmkUri"); this.keyword = (String) p.get("keyword"); this.bookmarkURI = (String) payload.get("bmkUri"); this.keyword = (String) payload.get("keyword"); try { this.tags = p.getArray("tags"); this.tags = payload.getArray("tags"); } catch (NonArrayJSONException e) { Log.e(LOG_TAG, "Got non-array tags in bookmark record " + this.guid, e); this.tags = new JSONArray(); Loading @@ -179,7 +164,7 @@ public class BookmarkRecord extends Record { // Folder. if (isFolder()) { try { this.children = p.getArray("children"); this.children = payload.getArray("children"); } catch (NonArrayJSONException e) { Log.e(LOG_TAG, "Got non-array children in bookmark record " + this.guid, e); // Let's see if we can recover later by using the parentid pointers. Loading @@ -200,38 +185,29 @@ public class BookmarkRecord extends Record { */ } public boolean isBookmark() { return AndroidBrowserBookmarksDataAccessor.TYPE_BOOKMARK.equalsIgnoreCase(this.type); } public boolean isFolder() { return AndroidBrowserBookmarksDataAccessor.TYPE_FOLDER.equalsIgnoreCase(this.type); } @Override public CryptoRecord getPayload() { CryptoRecord rec = new CryptoRecord(this); rec.payload = new ExtendedJSONObject(); rec.payload.put("id", this.guid); if (this.deleted) { rec.payload.put("deleted", true); } else { putPayload(rec, "type", this.type); putPayload(rec, "title", this.title); putPayload(rec, "description", this.description); putPayload(rec, "parentid", this.parentID); putPayload(rec, "parentName", this.parentName); protected void populatePayload(ExtendedJSONObject payload) { putPayload(payload, "type", this.type); putPayload(payload, "title", this.title); putPayload(payload, "description", this.description); putPayload(payload, "parentid", this.parentID); putPayload(payload, "parentName", this.parentName); if (isBookmark()) { rec.payload.put("bmkUri", bookmarkURI); rec.payload.put("keyword", keyword); rec.payload.put("tags", this.tags); payload.put("bmkUri", bookmarkURI); payload.put("keyword", keyword); payload.put("tags", this.tags); } else if (isFolder()) { rec.payload.put("children", this.children); payload.put("children", this.children); } } return rec; public boolean isBookmark() { return AndroidBrowserBookmarksDataAccessor.TYPE_BOOKMARK.equalsIgnoreCase(this.type); } public boolean isFolder() { return AndroidBrowserBookmarksDataAccessor.TYPE_FOLDER.equalsIgnoreCase(this.type); } private void trace(String s) { Loading
mobile/android/base/sync/repositories/domain/BookmarkRecordFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class BookmarkRecordFactory extends RecordFactory { @Override public Record createRecord(Record record) { BookmarkRecord r = new BookmarkRecord(); r.initFromPayload((CryptoRecord) record); r.initFromEnvelope((CryptoRecord) record); return r; } Loading
mobile/android/base/sync/repositories/domain/HistoryRecord.java +11 −33 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ import java.util.HashMap; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.mozilla.gecko.sync.CryptoRecord; import org.mozilla.gecko.sync.ExtendedJSONObject; import org.mozilla.gecko.sync.Logger; import org.mozilla.gecko.sync.NonArrayJSONException; Loading Loading @@ -109,46 +108,25 @@ public class HistoryRecord extends Record { } @Override public void initFromPayload(CryptoRecord payload) { ExtendedJSONObject p = payload.payload; this.guid = payload.guid; this.checkGUIDs(p); this.lastModified = payload.lastModified; final Object del = p.get("deleted"); if (del instanceof Boolean) { this.deleted = (Boolean) del; protected void populatePayload(ExtendedJSONObject payload) { putPayload(payload, "id", this.guid); putPayload(payload, "title", this.title); putPayload(payload, "histUri", this.histURI); // TODO: encoding? payload.put("visits", this.visits); } this.histURI = (String) p.get("histUri"); this.title = (String) p.get("title"); @Override protected void initFromPayload(ExtendedJSONObject payload) { this.histURI = (String) payload.get("histUri"); this.title = (String) payload.get("title"); try { this.visits = p.getArray("visits"); this.visits = payload.getArray("visits"); } catch (NonArrayJSONException e) { Logger.error(LOG_TAG, "Got non-array visits in history record " + this.guid, e); this.visits = new JSONArray(); } } @Override public CryptoRecord getPayload() { CryptoRecord rec = new CryptoRecord(this); rec.payload = new ExtendedJSONObject(); Logger.debug(LOG_TAG, "Getting payload for history record " + this.guid + " (" + this.guid.length() + ")."); if (this.deleted) { rec.payload.put("deleted", true); } else { putPayload(rec, "id", this.guid); putPayload(rec, "title", this.title); putPayload(rec, "histUri", this.histURI); // TODO: encoding? rec.payload.put("visits", this.visits); } return rec; } /** * We consider two history records to be congruent if they represent the * same history record regardless of visits. Loading