Skip to content

Instantly share code, notes, and snippets.

@MasterAlish
MasterAlish / MergedLiveData.kt
Created June 17, 2020 08:40
How to merge two(multiple) liveData? How to combine two LiveData?
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
class MergedLiveData<T1, T2>(
private val liveData1: LiveData<T1>,
private val liveData2: LiveData<T2>
) : LiveData<Pair<T1, T2>>() {
private var value1: T1? = null
@MasterAlish
MasterAlish / android_livedata_merger.kt
Created June 4, 2020 17:08
Merge multiple LiveData into one
val liveData1 = MutableLiveData<String>()
val liveData2 = MutableLiveData<String>()
val liveDataMerger = MediatorLiveData<String>()
liveDataMerger.addSource(liveData1) { liveDataMerger.value = it }
liveDataMerger.addSource(liveData2) { liveDataMerger.value = it }
@MasterAlish
MasterAlish / CellAutomataPanel.java
Created February 23, 2018 10:32
Labyrinth Cell Automata in Java
import javax.swing.*;
import java.awt.*;
public class CellAutomataPanel extends JPanel {
public int[][] field = new int[40][40];
public Turmit turmit = new Turmit();
@Override
public void paint(Graphics g) {
super.paint(g);
@MasterAlish
MasterAlish / primitives.html
Created February 16, 2018 09:44
Drawing primitives on html canvas JS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Primitives app</title>
<script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
function randint(min, max){
return Math.floor(min + Math.random() * (max-min));
@MasterAlish
MasterAlish / DrawerPanel.java
Created February 16, 2018 09:39
Primitives Animation on Java
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.Random;
public class DrawerPanel extends JPanel {
ArrayList<Shape> shapes = new ArrayList<Shape>();
public boolean animating = false;
@Override
@MasterAlish
MasterAlish / drawer.py
Created February 16, 2018 09:36
Python tkinter animation sample
# coding=utf-8
from random import randint
def random_color():
colors = ["#00ff00", "#00ffff", "#0099ff", "#6600ff", "#cc33ff", "#ff33cc", "#ff5050", "#ff9933", "#ffff00",
"#99ff33", "#66ccff", "#990033"]
return colors[randint(0, len(colors)-1)]
import java.util.*;
/**
* Created by master Alish on 4/19/17.
*/
public class WillYouChangeYourChoice {
private static final int TRIES = 1000;
private static final int VARS = 3;
private static boolean[] choices = new boolean[VARS];
private static int myChoice;
# install openjdk
sudo apt-get install openjdk-7-jdk
# download android sdk
wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
tar -xvf android-sdk_r24.2-linux.tgz
cd android-sdk-linux/tools
# install all sdk packages
@MasterAlish
MasterAlish / Fraction.java
Created February 13, 2017 10:05
Fraction and Calculator
public class Fraction { //Дробь
public int denominator; //Знаменатель
public int numerator; //Числитель
public Fraction(int numerator, int denominator) {
this.denominator = denominator;
this.numerator = numerator;
}
public String toString() {
@MasterAlish
MasterAlish / Fraction.java
Created February 13, 2017 09:56
Fractions in single file
public class Fraction { //Дробь
public int denominator; //Знаменатель
public int numerator; //Числитель
public Fraction(int numerator, int denominator) {
this.denominator = denominator;
this.numerator = numerator;
}