Skip to content

Instantly share code, notes, and snippets.

View realdm's full-sized avatar

Dario Mungoi realdm

View GitHub Profile
class MainActivity : AppCompactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
MpesaSdk.pay(
amount = "20.0",
transactionReference = "transactin_reference",
activity = this, // Actvity
onPaymentComplete = {
if(it == null) {
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
fun <T : ViewModel> provideViewModel(scope: FragmentActivity, initializer: () -> T): T {
val vm = initializer()
return ViewModelProvider(scope, vm.factory()).get(vm.javaClass)
}
class DeviceRegistrationWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
companion object {
const val TOKEN = "token"
const val PROFILE_ID = "profile_id"
const val DEVICE_NAME = "device_name"
private val LOG_TAG = DeviceRegistrationWorker::class.java.simpleName
}
package mz.co.moovi.mpesalib.config
import android.util.Base64
import java.security.KeyFactory
import java.security.spec.X509EncodedKeySpec
import javax.crypto.Cipher
internal class KeyGenerator(config: MpesaConfig) {
val bearerToken = generateBearerToken(config)
toolbar.setNavigationOnClickListener {
val upIntent: Intent? = NavUtils.getParentActivityIntent(activity!!)
when {
upIntent == null -> throw IllegalStateException("No Parent Activity Intent")
NavUtils.shouldUpRecreateTask(activity!!, upIntent) -> {
TaskStackBuilder.create(activity!!)
.addNextIntentWithParentStack(upIntent)
.startActivities()
}
navController.navigate(R.id.activity_checkout_flow, CheckoutFlowActivity.bundleArgs(eventId))
public static void setupWithNavController(
@NonNull final BottomNavigationView bottomNavigationView,
@NonNull final NavController navController) {
//Step 1
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
return onNavDestinationSelected(item, navController, true);
fun getArgs() {
val eventId = EventDetailsArgs.fromBundle(arguments).event_id
}
fun navigateToEventDetails() {
val directions = EventListFragmenDirections.startEventDetails().setEvent_id("123456")
findNavController(this).navigate(directions)
}
dependencies {
//Other Dependencies...
implementation "android.arch.navigation:navigation-fragment:1.0.0-alpha01"
implementation "android.arch.navigation:navigation-ui:1.0.0-alpha01"
}