Skip to content

Instantly share code, notes, and snippets.

View dmersiyanov's full-sized avatar

Dmitry Mersiyanov dmersiyanov

  • Moscow
View GitHub Profile
@dmersiyanov
dmersiyanov / NonRemovePrefixTextChangedListener
Last active July 24, 2020 16:15
Handy solution to support non-removable prefix for https://github.com/RedMadRobot/input-mask-android library
import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
import com.redmadrobot.inputmask.MaskedTextChangedListener
import com.redmadrobot.inputmask.helper.AffinityCalculationStrategy
import com.redmadrobot.inputmask.model.Notation
class NonRemovePrefixTextChangedListener(
primaryFormat: String,
affineFormats: List<String> = emptyList(),
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.InternalCoroutinesApi
import kotlinx.coroutines.channels.BroadcastChannel
@dmersiyanov
dmersiyanov / InputModeLifecycleHelper.kt
Created May 23, 2020 10:10
Lifecycle-aware observer to change and preserve Android activity softInputMode
import android.view.Window
import android.view.WindowManager
import android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
fun Window?.getSoftInputMode(): Int {
return this?.attributes?.softInputMode ?: SOFT_INPUT_STATE_UNSPECIFIED
}
@dmersiyanov
dmersiyanov / Solution.java
Created June 16, 2017 10:45
Решение задачи task1821 - Встречаемость символов. Программа запускается с одним параметром — именем файла, который содержит английский текст. Посчитать частоту встречания каждого символа. Отсортировать результат по возрастанию кода ASCII.
package com.javarush.task.task18.task1821;
/*
Встречаемость символов
*/
import java.io.FileInputStream;
import java.util.Map;
import java.util.TreeMap;
@dmersiyanov
dmersiyanov / Solution.java
Last active June 13, 2017 15:00
Решение задачи task1809 - Реверс файла. Считать с консоли 2 имени файла: файл1, файл2. Записать в файл2 все байты из файл1, но в обратном порядке. Закрыть потоки.
package com.javarush.task.task18.task1809;
/*
Реверс файла
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;