View on GitHub

sensibill-android-documentation

Migration Guide

  1. Migration from 1.20.0 to 1.21.1
  2. Migration from 1.20.x to 1.21.0
  3. Migration from 1.19.x to 1.20.x
  4. Migration from 1.14.x to 1.20.x
  5. Migration from 1.16.x to 1.19.x
  6. Migration from 1.14.x to 1.16.x
  7. Migration from 1.13.x to 1.14.x

1.21.0 to 1.21.1

1.20.x to 1.21.0

1.19.x to 1.20.x

1.14.x to 1.20.x

Build Dependency Changes

Package / Class Name Change

Deprecated Function

1.16.x to 1.19.x

1.14.x to 1.16.x

Build Dependency Changes

Package / Class Name Change

1.14.x 1.16.x
com.getsensibill.oauthclient.OauthUser com.getsensibill.oauthclient.OauthSession

Deprecated Function

Deprecated function Reason
InitializationBuilder.transactionDataObserver Transaction Data Observer is no longer added to the InitializationBuilder. Added to SensibillSDK directly (SensibillSDK.addTransactionDataObserver())
InitializationBuilder.receiptDataObserver Receipt Data Observer is no longer added to the InitializationBuilder. Added to SensibillSDK directly (SensibillSDK.addReceiptDataObserver())

Notes for Migration

before:

        // Create Observers
        myTransactionDataObserver = MyTransactionDataObserver()
        myReceiptDataObserver = MyReceiptDataObserver()

        // Add to initializer
        initializationBuilder.transactionDataObserver(myTransactionDataObserver)
        initializationBuilder.receiptDataObserver(myReceiptDataObserver)

        // Initialize
        mInitializer = initializationBuilder.build()
        SensibillSDK.getInstance().initialize(mInitializer)

after:

        // Create Observers
        myTransactionDataObserver = MyTransactionDataObserver()
        myReceiptDataObserver = MyReceiptDataObserver()

        // Initialize
        SensibillSDK.getInstance().initialize(mInitializer)

        // Add to SDK
        SensibillSDK.addTransactionDataObserver(myTransactionDataObserver)
        SensibillSDK.addReceiptDataObserver(myReceiptDataObserver)
SensibillSDK.removeTransactionDataObserver(myTransactionDataObserver)
SensibillSDK.removeReceiptDataObserver(myReceiptDataObserver)

1.13.x to 1.14.x

Feature Added

ReceiptCaptureActivityBuilder used to create intent for ReceiptCapture

Function Name Change

Old Function Name New Function Name
OAuthSettings.getApikey() OAuthSettings.getApiKey()
SensibillSDK.getInstance() SensibillSDK.INSTANCE (in Java)

Package / Class Name Change

Migration to core module

1.13.x 1.14.x
com.getsensibill.sensibillsdk.interfaces.OnTrackEventListener com.getsensibill.core.analytic.OnTrackEventListener
com.getsensibill.sensibillsdk.tracker.events.AnalyticsEvent com.getsensibill.core.analytic.OnTrackEventListener
com.getsensibill.sensibillsdk.utilities.base.ActivityLifecycleListener com.getsensibill.core.ActivityLifecycleListener
com.getsensibill.sensibillsdk.interfaces.TokenProvider com.getsensibill.tokenprovider.TokenProvider
com.getsensibill.sensibillsdk.utilities.Transaction com.getsensibill.core.analytic.Transaction
com.getsensibill.sensibillsdk.utilities.TransactionDataObserver com.getsensibill.core.TransactionDataObserver
com.getsensibill.sensibillsdk.InitializationBuilder com.getsensibill.core.InitializationBuilder
com.getsensibill.sensibillsdk.Initializer com.getsensibill.core.Initializer
com.getsensibill.sensibillsdk.SensibillSDK com.getsensibill.core.SensibillSDK
com.getsensibill.sensibillsdk.interfaces.LoginError com.getsensibill.core.LoginError
com.getsensibill.sensibillsdk.interfaces.SDKStartup com.getsensibill.core.SDKStartup

Migration to UI module

1.13.x 1.14.x
com.getsensibill.sensibillsdk.SBMainTabsFragment com.getsensibill.ui.SBMainTabsFragment
com.getsensibill.sensibillsdk.receipt.capture.ReceiptCaptureActivity com.getsensibill.ui.receipt.capture.ReceiptCaptureActivity
com.getsensibill.sensibillsdk.receipt.controllers.detail.ReceiptDetailActivity com.getsensibill.ui.receipt.controllers.detail.ReceiptDetailActivity
com.getsensibill.sensibillsdk.receipt.controllers.detail.ReceiptDetailActivity com.getsensibill.ui.receipt.controllers.detail.ReceiptDetailActivity

Deprecated Function

SensibillSDK.isInitialized() - removed, now use SensibillSDK.state() to check state of SDK. Check migration notes for details

SensibillSDK.login() - removed, replaced to use SensibillSDK.start(). Check migration notes for details

Notes for migration

Update Package Names
SensibillSDK object
SensibillSDK.verifyToken removed
SensibillSDK.login(accessToken, username, cb) -> ‌SensibillSDK.start(username, cb)
SensibillAuth.startLibrary()
Authentication
TokenProvider is the only way to Initialization

before:

     mSensibillAuth.startLibrary(mInitializer, username, listener)

after:

     if (SensibillSDK.getState() == CoreState.INITIALIZED) {
         SensibillSDK.start(username, listener)
     }