Commit ae6ef147 authored by Grisha Kruglov's avatar Grisha Kruglov
Browse files

Pre: bump a-s dependency to 0.48.1, expose migration metrics

parent 8bf3c991
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ object Versions {
    const val disklrucache = "2.0.2"
    const val leakcanary = "1.6.3"

    const val mozilla_appservices = "0.47.0"
    const val mozilla_appservices = "0.48.1"

    const val mozilla_glean = "23.0.1"

+14 −6
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import mozilla.appservices.places.PlacesReaderConnection
import mozilla.appservices.places.PlacesWriterConnection
import mozilla.components.concept.sync.SyncAuthInfo
import mozilla.components.support.sync.telemetry.SyncTelemetry
import org.json.JSONObject
import java.io.Closeable
import java.io.File

@@ -40,8 +41,15 @@ internal interface Connection : Closeable {
    fun syncHistory(syncInfo: SyncAuthInfo)
    fun syncBookmarks(syncInfo: SyncAuthInfo)

    fun importVisitsFromFennec(dbPath: String)
    fun importBookmarksFromFennec(dbPath: String)
    /**
     * @return Migration metrics wrapped in a JSON object. See libplaces for schema details.
     */
    fun importVisitsFromFennec(dbPath: String): JSONObject

    /**
     * @return Migration metrics wrapped in a JSON object. See libplaces for schema details.
     */
    fun importBookmarksFromFennec(dbPath: String): JSONObject
}

/**
@@ -94,14 +102,14 @@ internal object RustPlacesConnection : Connection {
        SyncTelemetry.processBookmarksPing(ping)
    }

    override fun importVisitsFromFennec(dbPath: String) {
    override fun importVisitsFromFennec(dbPath: String): JSONObject {
        check(api != null) { "must call init first" }
        api!!.importVisitsFromFennec(dbPath)
        return api!!.importVisitsFromFennec(dbPath)
    }

    override fun importBookmarksFromFennec(dbPath: String) {
    override fun importBookmarksFromFennec(dbPath: String): JSONObject {
        check(api != null) { "must call init first" }
        api!!.importBookmarksFromFennec(dbPath)
        return api!!.importBookmarksFromFennec(dbPath)
    }

    override fun close() = synchronized(this) {
+4 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import mozilla.components.concept.sync.SyncAuthInfo
import mozilla.components.concept.sync.SyncStatus
import mozilla.components.concept.sync.SyncableStore
import mozilla.components.support.base.log.logger.Logger
import org.json.JSONObject

/**
 * Implementation of the [BookmarksStorage] which is backed by a Rust Places lib via [PlacesApi].
@@ -191,10 +192,11 @@ open class PlacesBookmarksStorage(context: Context) : PlacesStorage(context), Bo
     * Before running this, first run [PlacesHistoryStorage.importFromFennec] to import history and visits data.
     *
     * @param dbPath Absolute path to Fennec's browser.db file.
     * @return Migration metrics wrapped in a JSON object. See libplaces for schema details.
     */
    @Throws(PlacesException::class)
    fun importFromFennec(dbPath: String) {
        places.importBookmarksFromFennec(dbPath)
    fun importFromFennec(dbPath: String): JSONObject {
        return places.importBookmarksFromFennec(dbPath)
    }

    /**
+4 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import mozilla.components.concept.sync.SyncStatus
import mozilla.components.concept.sync.SyncableStore
import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.utils.segmentAwareDomainMatch
import org.json.JSONObject

const val AUTOCOMPLETE_SOURCE_NAME = "placesHistory"

@@ -196,10 +197,11 @@ open class PlacesHistoryStorage(context: Context) : PlacesStorage(context), Hist
     * Import history and visits data from Fennec's browser.db file.
     *
     * @param dbPath Absolute path to Fennec's browser.db file.
     * @return Migration metrics wrapped in a JSON object. See libplaces for schema details.
     */
    @Throws(PlacesException::class)
    fun importFromFennec(dbPath: String) {
        places.importVisitsFromFennec(dbPath)
    fun importFromFennec(dbPath: String): JSONObject {
        return places.importVisitsFromFennec(dbPath)
    }

    /**
+17 −8
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ import mozilla.components.concept.sync.SyncAuthInfo
import mozilla.components.concept.sync.SyncStatus
import mozilla.components.support.test.mock
import mozilla.components.support.test.robolectric.testContext
import org.json.JSONObject
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
@@ -509,12 +510,14 @@ class PlacesHistoryStorageTest {
                return 0L
            }

            override fun importVisitsFromFennec(dbPath: String) {
            override fun importVisitsFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun importBookmarksFromFennec(dbPath: String) {
            override fun importBookmarksFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun close() {
@@ -554,12 +557,14 @@ class PlacesHistoryStorageTest {
                return 0L
            }

            override fun importVisitsFromFennec(dbPath: String) {
            override fun importVisitsFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun importBookmarksFromFennec(dbPath: String) {
            override fun importBookmarksFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun close() {
@@ -599,12 +604,14 @@ class PlacesHistoryStorageTest {
                return 0L
            }

            override fun importVisitsFromFennec(dbPath: String) {
            override fun importVisitsFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun importBookmarksFromFennec(dbPath: String) {
            override fun importBookmarksFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun close() {
@@ -648,12 +655,14 @@ class PlacesHistoryStorageTest {
                return 0L
            }

            override fun importVisitsFromFennec(dbPath: String) {
            override fun importVisitsFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun importBookmarksFromFennec(dbPath: String) {
            override fun importBookmarksFromFennec(dbPath: String): JSONObject {
                fail()
                return JSONObject()
            }

            override fun close() {
Loading