Skip to content

Instantly share code, notes, and snippets.

View ziyaddinovchiyev's full-sized avatar

Ziyaddin Ovchiyev ziyaddinovchiyev

View GitHub Profile
@ziyaddinovchiyev
ziyaddinovchiyev / Extensions.kt
Last active February 9, 2022 10:48
Text change listener: converts dot to comma as you type
/**
* [this] text manipulation to be applied to
* converts dot to comma in input field
* prevents second comma
* "editing" is used to prevent code to re-execute on recall of doAfterTextChanged after setText()
*/
fun TextInputEditText.dotToComma() {
// you should set inputType to numberDecimal from xml
keyListener = DigitsKeyListener.getInstance("1234567890.,")
var editing = false
import android.app.Application
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkRequest
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.lifecycle.LiveData
class ConnectionLiveData(private val connectivityManager: ConnectivityManager) : LiveData<Boolean>()
@ziyaddinovchiyev
ziyaddinovchiyev / GsonTypeAdapter.kt
Created November 12, 2021 10:42
Excludes the empty string properties from request body. Simply add dd this gson object to your retrofit client.
@Singleton
@Provides
fun provideGson() : Gson = GsonBuilder().registerTypeAdapter(String::class.java ,object : TypeAdapter<String>() {
override fun write(out: JsonWriter?, value: String?) {
if(value.isNullOrBlank()) {
out?.nullValue()
return
}
out?.value(value)
}
@ziyaddinovchiyev
ziyaddinovchiyev / BaseFragment.kt
Created October 10, 2021 20:16
BaseFragment for android
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;