• Christopher Tate's avatar
    First real cut of bookmarks backup agent · 9c0dd8ca
    Christopher Tate authored
    The agent now does backup/restore of the bookmarks table.  Whether to back up is
    determined by flattening the bookmark table, CRCing the flattened
    representation, and comparing the CRC with the previous backup pass's version.
    If they differ (or if the file size differs), the table is deemed to have
    changed and we send the flattened file off to the server as a single key.
    
    On restore, the bookmark records are read individually from the flattened
    representation, the existing bookmarks table is queried for a matching URL, and
    if none exists the bookmark is inserted into the table.
    
    Bookmarks.addBookmark() now takes a boolean argument "retainIcon."  When false,
    the implementation will not call into the web icon database.  This is necessary
    during restore because the web icon database is only available from the Browser
    app's main thread, but restore happens without the app proper being involved.
    The other call points for addBookmark() have been updated to pass 'true,' i.e.
    preserving the current behavior.
    9c0dd8ca
Bookmarks.java 8.67 KB