Skip to content

Instantly share code, notes, and snippets.

View abircse's full-sized avatar
🏠
Working from My Workstation

Nayeem Shiddiki Abir abircse

🏠
Working from My Workstation
View GitHub Profile
@abircse
abircse / AlertDialogExtension.txt
Created February 15, 2021 13:38
AlertDialogExtension
inline fun showMessegeDialogWithAction(ctx: Context, msg: String, btnTxtPositive: String, btnTxtNegative: String, crossinline onPositiveButtonClick: () -> Unit){
val builder = AlertDialog.Builder(ctx)
builder.setMessage(msg)
builder.setIcon(android.R.drawable.ic_dialog_alert)
builder.setPositiveButton(btnTxtPositive) { dialogInterface, which ->
onPositiveButtonClick.invoke()
}
builder.setNegativeButton(btnTxtNegative) { dialogInterface, which ->
dialogInterface.dismiss()
}
@abircse
abircse / TryCatchExtension.txt
Created February 15, 2021 13:39
TryCatchExtension
inline fun tryCatch(onTry: () -> Unit, onCatch: (Exception) -> Unit) {
try {
onTry.invoke()
} catch (e: Exception) {
onCatch.invoke(e)
}
}
@abircse
abircse / LocalJSONParserExtension.txt
Last active February 15, 2021 14:11
LocalJSONParserExtension
1. Create this BaseLocalJsonParser Compenion object
object BaseLocalJsonParser {
fun parseJSONData(context: Context, jsonFileName: String): String? {
val JSONString: String?
JSONString = try {
val inputStream: InputStream = context.assets.open(jsonFileName)
val sizeOfJSONFile: Int = inputStream.available()
val bytes = ByteArray(sizeOfJSONFile)
inputStream.read(bytes)
@abircse
abircse / SharedPreferenceUtils.txt
Last active February 15, 2021 14:02
SharedPreferenceUtils
class BaseSharedPreference(context: Context) {
var preferences: SharedPreferences =
context.getSharedPreferences("your_choosen_preference_name", Context.MODE_PRIVATE)
fun putData(key: String, data: Any) {
preferences.let { pref ->
try {
when (data) {
@abircse
abircse / FragmentControllerExtension.txt
Created February 15, 2021 13:42
FragmentControllerExtension
object BaseFragmentController {
fun load(fragment: Fragment, framelayout: Int, context: Context) {
val transaction = (context as FragmentActivity).supportFragmentManager.beginTransaction()
transaction.replace(framelayout, fragment, fragment::class.java.name)
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
transaction.addToBackStack(null)
transaction.commit()
}
@abircse
abircse / RandomCodeGeneratorInString.txt
Created February 15, 2021 13:43
RandomCodeGeneratorInString
object RandomCodeGen {
fun generate(): String {
val rnd = Random()
val number = rnd.nextInt(999999)
return String.format("%06d", number)
}
}
@abircse
abircse / ProgressDialogLoading.txt
Created February 15, 2021 13:50
ProgressDialogLoading
1. Create a Class file Called ProgressDialog & past below code
---------------------------------------------------------------
class ProgressDialog(private val context: Context) {
private var dialog: Dialog? = null
fun showProgressDialog() {
dialog = Dialog(context)
dialog!!.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog!!.setCancelable(false)
dialog!!.setContentView(your_progress_dialog_xml_layout)
dialog!!.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
@abircse
abircse / ViewVisibilityExtension.txt
Created February 15, 2021 13:52
ViewVisibilityExtension
inline fun View.setVisibility(value: Boolean) {
this.visibility = if (value) View.VISIBLE else View.GONE
}
@abircse
abircse / CalculateDiscountExtension.txt
Created February 15, 2021 13:55
CalculateDiscountExtension
object CalculateDiscount {
fun discountInPercentage(totalprice: Int, discount: Int) : Int
{
val discountInTk = totalprice * discount / 100
val result = totalprice - discountInTk
return result
}
fun discountInTaka(context: Context, totalprice: Int, taka: Int) : Int
@abircse
abircse / DateTimeUtils.txt
Created February 15, 2021 13:56
DateTimeUtilsExtension
object DateTimeUtils {
fun convertDateToLong(date : String) : Long
{
val dateFormat = SimpleDateFormat("yyyy/MM/dd")
val date = dateFormat.parse(date)
val dateInLong = date.time
return dateInLong
}