Skip to content

Instantly share code, notes, and snippets.

View ralphgabrielle's full-sized avatar

ralphgabrielle

View GitHub Profile
@ralphgabrielle
ralphgabrielle / AgeCalculator.java
Last active July 17, 2020 01:25
AgeCalculator
public class AgeCalculator {
private int days;
private int months;
private int years;
AgeCalculator(int days, int months, int years) {
this.days = days;
this.months = months;
this.years = years;
@ralphgabrielle
ralphgabrielle / CodeExtension.kt
Last active October 31, 2019 05:43
Intent Extension (Kotlin)
fun fillIntentWithParams(
intent: Intent,
params: Array<out Pair<String, Any?>>
) {
params.forEach {
when (val value = it.second) {
is String -> intent.putExtra(it.first, value)
is Int -> intent.putExtra(it.first, value)
is Double -> intent.putExtra(it.first, value)
else -> throw Exception("Invalid intent parameter type for : ${it.first}")
@ralphgabrielle
ralphgabrielle / QR Code Implementation
Last active October 31, 2019 05:44
Simple QR Code
class MainActivity : BaseActivity() {
override val layoutId: Int?
get() = R.layout.activity_main
override fun viewCreated() {
bScan.setOnClickListener {
startActivityForResult<QRCodeActivity>(REQUEST_CODE_QR) // Kotlin Anko Intent Library
}
}
private void replaceFragment(FragmentManager fragmentManager, Fragment fragment, String backStackName, String lastAddedStackName) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
BaseNavigationFragment baseFragment;
Fragment fragmentByTag = fragmentManager.findFragmentByTag(backStackName);
if (fragmentByTag != null) {
baseFragment = (BaseFragment) fragmentByTag;
fragmentTransaction
.setTransition(FragmentTransaction.TRANSIT_NONE)
@ralphgabrielle
ralphgabrielle / PermissionAccessManager.java
Last active September 12, 2019 06:20
Android Marshmallow (26) Permission Handler
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.v4.content.ContextCompat;