Skip to content

Instantly share code, notes, and snippets.

View andreikastsiuk's full-sized avatar
🤓
Student forever

Andrei Kastsiuk andreikastsiuk

🤓
Student forever
View GitHub Profile
@andreikastsiuk
andreikastsiuk / tokens.md
Created May 26, 2022 08:42 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@andreikastsiuk
andreikastsiuk / _readme.md
Created May 5, 2022 20:37 — forked from vchernogorov/_readme.md
Многопоточность в Java
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
@andreikastsiuk
andreikastsiuk / BaseObservable.java
Created April 6, 2020 07:06 — forked from techyourchance/BaseObservable.java
Base class for Java Observable
public abstract class BaseObservable<LISTENER_CLASS> {
private final Object MONITOR = new Object();
private final Set<LISTENER_CLASS> mListeners = new HashSet<>();
public void registerListener(LISTENER_CLASS listener) {
synchronized (MONITOR) {
boolean hadNoListeners = mListeners.size() == 0;
mListeners.add(listener);
import android.os.Bundle
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.AbstractSavedStateViewModelFactory
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.savedstate.SavedStateRegistryOwner
@andreikastsiuk
andreikastsiuk / mutablelivedata.md
Created April 2, 2020 18:11 — forked from humblehacker/mutablelivedata.md
Don't expose MutableLiveData
@andreikastsiuk
andreikastsiuk / autoplay.java
Created March 28, 2019 22:10 — forked from aprock/autoplay.java
simple trick to autoplay an html5 video element in a webview. (inject javascript to play on load)
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webview;
@andreikastsiuk
andreikastsiuk / MainActivity.java
Created February 11, 2019 21:50 — forked from granoeste/MainActivity.java
[Android] Button background change for state. (selector)
package com.example.sellectorsample;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
/* Module level build.gradle */
android {
defaultConfig {
...
flavorDimensions "default"
}
signingConfigs {
/*
* Automates generation of Release APK
* ./gradlew assembleRelease
* */
Properties props = new Properties()
def userHome = Paths.get(System.getProperty('user.home'));
def propFile = file(userHome.resolve('PATH_TO_SIGNING_CONFIG_PROPERTIES_FILE.properties'))
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))
if (props != null && props.containsKey('STORE_FILE') && props.containsKey('KEY_STORE_PASSWORD')