Skip to content

Instantly share code, notes, and snippets.

@BurakDizlek
BurakDizlek / SealedClassSample.kt
Created November 28, 2020 15:51
Sealed class usage with api calls simplest
package com.bd.network
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val response = fetchData()
when (response) {
@BurakDizlek
BurakDizlek / FragmentBackStackManagement
Created August 26, 2020 15:26
Android Fragment Manager Classes
Add base fragment : backStackManager?.addBaseFragment(showcaseFragment, R.id.home)
Add subFragment : backStackManager?.loadFragmentAndAddToBackStack(fragment = event.fragment)
backStackManager?.loadFragmentAndAddToBackStack(fragment = event.fragment,menuId = event.menuId)
Pop Backstack : backStackManager?.popFragmentBackStack(activeMenuId)
Switch Menu : private fun switchMenu(activeMenuId: Int,targetMenuId: Int) { //Should invoke in navigationViewSelectedListener.
@BurakDizlek
BurakDizlek / CountryFlags.java
Last active January 17, 2024 01:47
Get to flag unicode as String and use it anywhere.
public class CountryFlags {
private static String A = getEmojiByUnicode(0x1F1E6);
private static String B = getEmojiByUnicode(0x1F1E7);
private static String C = getEmojiByUnicode(0x1F1E8);
private static String D = getEmojiByUnicode(0x1F1E9);
private static String E = getEmojiByUnicode(0x1F1EA);
private static String F = getEmojiByUnicode(0x1F1EB);
private static String G = getEmojiByUnicode(0x1F1EC);
private static String H = getEmojiByUnicode(0x1F1ED);
private static String I = getEmojiByUnicode(0x1F1EE);
@BurakDizlek
BurakDizlek / KotlinClassDeepCopy.kt
Created November 22, 2019 20:11
Kotlin class deep copy.
data class User(var name:String,var list:List<User>) : Serializable
fun <T:Serializable?>T.deepCopy(): T? {
if (this == null) return null
val baos = ByteArrayOutputStream()
val oos = ObjectOutputStream(baos)
oos.writeObject(this)
oos.close()
val bais = ByteArrayInputStream(baos.toByteArray())
fun String.isValidTcNo(): Boolean {
val tcNo = this.trim()
if (tcNo.length != 11)
return false
if (tcNo.startsWith("0"))
return false
if (!tcNo.matches("[0-9]+".toRegex()))
return false
val tcNoArray = tcNo.map { it.toString().toInt() }
if (tcNoArray[9] != (((7 * (tcNoArray[0] + tcNoArray[2] + tcNoArray[4] + tcNoArray[6]+ tcNoArray[8])) - (tcNoArray[1] + tcNoArray[3]+ tcNoArray[5] + tcNoArray[7])) % 10))
//
// CurrencyEditField.swift
// TSoftShopper
//
// Created by Burak Dizlek on 12.06.2019.
// Copyright © 2019 Burak Dizlek. All rights reserved.
//
import Foundation
@BurakDizlek
BurakDizlek / TableViewClickExampleViewController.swift
Last active October 24, 2022 22:48
Swift Tableview Cell Click Event
var items = [MyModelClass]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TableCell") as! TableCell
let position = indexPath.row
let item = items?[position]
//click event for label
let labelRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tableViewLabelClick))
cell.Label?.isUserInteractionEnabled = true
fun sureChildViewVisibleOnScreen(childView: View, parenView: View): Boolean {
val scrollBounds = Rect()
parenView.getHitRect(scrollBounds)
return childView.getLocalVisibleRect(scrollBounds) // if childView visible return true else false
}
@BurakDizlek
BurakDizlek / safeEnumKotlin.kt
Last active June 14, 2019 09:27
no enum constant for default safe enum value
inline fun <reified T : kotlin.Enum<T>> safeEnumValueOf(type: String?,defaultEnum:T): T {
return try {
java.lang.Enum.valueOf(T::class.java, type)
} catch (e: Exception) {
defaultEnum
}
}
if (supportFragmentManager.findFragmentByTag("searchfragment") != null) { // to kill a specific Fragment
supportFragmentManager().popBackStack();
} else {
//Do Something
}
private fun closeFragments() {
repeat(supportFragmentManager.backStackEntryCount) {
supportFragmentManager.popBackStack()