class MainActivity : AppCompatActivity(), IConnectionCallback {
// Remember instance or you can call IgniteServiceSdk.instance()
lateinit var igniteService: IIgniteService
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
igniteService = IgniteService(applicationContext)
igniteService.connect(this)
// Call remote function on button click
findViewById<Button>(R.id.version).setOnClickListener {
val result = igniteService.version()
Toast.makeText(applicationContext, "SDK version: ${result?.sdkVersion}, Ignite version: ${result?.igniteVersion}", Toast.LENGTH_SHORT).show()
}
findViewById<Button>(R.id.install).setOnClickListener {
val file = File("${requireContext().filesDir}", "myfungame.apk")
val data = file.toUri().toString()
igniteService.install(data, object : IResponseCallback<InstallationResponse, Error, InstallationProgress> {
override fun onSuccess(result: InstallationResponse) {
Log.d("InstallApp","onSuccess(): taskId=${result.taskId}, appId=${result.applicationId}, package=${result.packageName}, partnerMetadata=${result.partnerMetaData}")
}
override fun onError(error: Error) {
Log.d("InstallApp","onError(): message=${error.message}, code=${error.code}, partnerMetadata=${error.partnerMetadata}")
}
})
}
// Other API methods
}
override fun onConnected() {
Toast.makeText(applicationContext, "Connected to Ignite Service", Toast.LENGTH_SHORT).show()
}
override fun onDisconnected(message: String?) {
Toast.makeText(applicationContext, "Disconnected from Ignite Service: $message", Toast.LENGTH_SHORT).show()
}
override fun onDestroy() {
super.onDestroy()
igniteService.disconnect(this)
}
}