Skip to content

Instantly share code, notes, and snippets.

View m4xp1's full-sized avatar
🚀
stronger, higher, faster

Dmitrii Makarov m4xp1

🚀
stronger, higher, faster
View GitHub Profile
@m4xp1
m4xp1 / LibraryPermission.kt
Created December 15, 2021 08:29
Описание концепта пермишенов
class PermissionsManager(
private val application: Application
) {
private val mainThreadScope = CoroutineScope(Job() + Dispatchers.Main)
private var questionHandler: QuestionHandler? = null
private var requestLauncher: ActivityResultLauncher<Array<String>>? = null
/** Пример использования */
class MainActivity : AppCompatActivity(R.layout.activity_main) {
@Inject lateinit var fragmentFactory: FragmentFactory
override fun onCreate(savedInstanceState: Bundle?) {
DaggerActivityComponent
.factory()
.create()
.inject(this)
@m4xp1
m4xp1 / FeatureActivity.kt
Last active June 26, 2020 15:38
ViewModelFactory
/*
* Класс специфичный для конкретной фичи, лежит в пакете screen некоего фиче модуля.
*/
class FeatureActivity : AppCompatActivity() {
@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory
private val viewModel: FeatureViewModel1 by viewModels { viewModelFactory }
}
@m4xp1
m4xp1 / Colorize.java
Created June 3, 2020 07:21
Generate best colors
package one.xcorp.myeye.core.utils;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
import android.support.annotation.ColorInt;
public class Colorize {
@m4xp1
m4xp1 / ScaleTransition.kt
Created July 13, 2019 19:37
Transition animation for text view
package com.example.android.basictransition
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ObjectAnimator
import android.animation.PropertyValuesHolder.ofFloat
import android.content.Context
import android.transition.Transition
import android.transition.TransitionValues
import android.util.AttributeSet
@m4xp1
m4xp1 / NumberView.kt
Created July 13, 2019 13:56
Resized text view
package com.example.android.basictransition
import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.Rect
import android.support.annotation.ColorInt
import android.util.AttributeSet
import android.util.TypedValue
@m4xp1
m4xp1 / ResizeText.kt
Created July 11, 2019 10:19
ResizeText transition animation
package com.example.android.basictransition
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ValueAnimator
import android.content.Context
import android.content.res.Resources
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.Rect
@m4xp1
m4xp1 / ViewPager.kt
Created July 7, 2019 20:23
ViewPager with support animation wrap_content
package one.xcorp.widget
import android.animation.ValueAnimator
import android.content.Context
import android.util.AttributeSet
import android.view.View
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import one.xcorp.widget.R
import kotlin.properties.Delegates.observable
@m4xp1
m4xp1 / comands.sh
Last active July 24, 2018 18:02
Различные полезные консольные команды.
Подсчет колличества строк в файлах: find . -name *.kt -exec wc -l {} +
@m4xp1
m4xp1 / album
Last active July 3, 2018 12:50
Bash script for recording musical album from audio card output (using record scripts)
#!/bin/bash
# Setup album data
artist="Steven Solveig"
album="Beginning of the End - Trailer Underscores"
year=2017
# Setup album songs
declare -a name; declare -a time;
name+=("Dark Awakening"); time+=("01:43")