Android SDK
Installation
Add catalog to your build.gradle file.
build.gradle
dependencies {
implementation 'com.getfront:catalog:1.0.0-rc02'
}
Launch Catalog
Use catalogLink
o connect a brokerage account or initiate a crypto transfer.
Catalog launch example
import com.getfront.catalog.entity.AccessTokenPayload
import com.getfront.catalog.entity.ClosePayload
import com.getfront.catalog.entity.TransferFinishedErrorPayload
import com.getfront.catalog.entity.TransferFinishedSuccessPayload
import com.getfront.catalog.store.FrontPayloads
import com.getfront.catalog.ui.launchCatalog
class CatalogExampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Launch catalog with 'catalogLink'
binding.connectBtn.setOnClickListener {
catalogLauncher.launch(
"catalogLink"
)
}
// Subscribe for immediate payloads
lifecycleScope.launch(Dispatchers.IO) {
FrontPayloads.collect { payload ->
log("Payload received. $payload")
}
}
}
private val catalogLauncher = registerForActivityResult(
FrontCatalogContract()
) { result ->
when (result) {
is FrontCatalogResult.Success -> {
handlePayloads(result.payloads)
}
is FrontCatalogResult.Cancelled -> {
// user cancelled the flow by clicking on back or close button
// probably because of an error
log("Cancelled. ${result.error?.message}")
}
}
}
private fun handlePayloads(payloads: List<FrontPayload>) {
payloads.forEach { payload ->
when (payload) {
is AccessTokenPayload -> {
log("Broker connected. $payload")
}
is TransferFinishedSuccessPayload -> {
log("Transfer succeed. $payload")
}
is TransferFinishedErrorPayload -> {
log("Transfer failed. $payload")
}
}
}
}
private fun log(msg: String) {
Log.d("FrontSDK", msg)
}
}
Account storage
You may keep accounts in built-in encrypted storage.
Get instance of FrontAccountStore
private val accountStore: FrontAccountStore = createPreferenceAccountStore(context)
Updated about 2 months ago