Skip to content

Instantly share code, notes, and snippets.

View uOOOO's full-sized avatar
💤
AFK

SeungHun Choe uOOOO

💤
AFK
  • Seoul, South Korea
View GitHub Profile
@uOOOO
uOOOO / ReaktiveToRxSwift.swift
Last active May 19, 2020 07:20
Kotlin Native Reaktive -> RxSwift
import YourMPPFramework
import RxSwift
class KtError: Error {
let error: KotlinThrowable
init(_ error: KotlinThrowable) {
self.error = error
}
}
@uOOOO
uOOOO / TemplateProject.podspec
Created December 23, 2019 07:23 — forked from petrukhnov/TemplateProject.podspec
Multiplatform Project (MPP) Kotlin 1.3.50 K/N iOS/jvm project template (+gradle5, junit5, release)
Pod::Spec.new do |s|
s.name = 'TemplateProject'
s.version = 'VERSION'
s.authors = {
'name1' => 'email1',
'name2' => 'email2'
}
s.license = 'Proprietary'
s.homepage = 'https://github.com/Ekahau/TemplateProject'
s.summary = 'Project description may appear here'
@uOOOO
uOOOO / gist:706df72337c523ee3d5ba8682538b46a
Created November 11, 2019 12:56
Create mips64el-linux-android directory to avoid NDK build issue on old AGP
// This script is for avoiding NDK build issue on old AGP.
gradle.beforeProject {
Properties properties = new Properties()
properties.load(rootProject.file("local.properties").newDataInputStream())
def ndkPath = properties.getProperty("ndk.dir", null)
if (ndkPath == null) {
println("ndk.dir should be set in local.properties.")
return
}
def arm64Path = ndkPath + File.separator + 'toolchains' + File.separator + 'aarch64-linux-android-4.9'
@uOOOO
uOOOO / archiveApkAndBundle.gradle
Created October 16, 2019 01:36
Archive APK, bundle(AAB) and Proguard map files to artifact directory
ext {
buildTime = System.currentTimeMillis()
}
static def getCopyApkTaskName(def variant) {
return "copy${variant.name.capitalize()}Apk"
}
static def getCopyBundleTaskName(def variant) {
return "copy${variant.name.capitalize()}Bundle"
@uOOOO
uOOOO / gist:227f7a4a13300c60faa789e8933fe079
Created September 16, 2019 07:29
Print android view hierarchy from root view
public static String getSpaces(int count) {
StringBuilder spaces = new StringBuilder();
for (int i = 0; i < count; i++) {
spaces.append(" ");
}
return spaces.toString();
}
public static View findRootView(View view) {
ViewParent viewParent = view.getParent();
@uOOOO
uOOOO / gist:8880997d37a4bd08c0b4e73aa00e5cf4
Created June 20, 2019 08:21
Example comparing strings not lexicographically
void sortList(@SuppressWarnings("SameParameterValue") final boolean isAsc, List<String> contentItems) {
Collections.sort(contentItems, new Comparator<String>() {
@Override
public int compare(String str1, String str2) {
if (str1 == null || str2 == null) {
return 0;
}
//noinspection StringEquality
if (str1 == str2) {
return 0;
@uOOOO
uOOOO / archiveApk.gradle
Last active April 3, 2019 13:53
Archive APK and Proguard map files to artifact directory
def deleteBuildDir(def variant) {
delete variant.packageApplicationProvider.get().outputDirectory
}
def setBuildTime() {
project.ext.set("buildTime", System.currentTimeMillis())
}
def getBuildTime() {
def date = new Date(project.ext.buildTime)
public class RemoveSpecificElementFromListTest {
private static final String DEL = "r";
private static final int EXPECTED_SIZE = 7;
private List<String> stringList;
@Before
public void setup() {
stringList = new ArrayList<>(Arrays.asList("A", "r", "r", "a", "y", "l", "i", "s", "t"));
}
@uOOOO
uOOOO / dash-avc264 command lines
Created September 6, 2017 05:40 — forked from ddennedy/dash-avc264 command lines
Use ffmpeg and mp4box to prepare DASH-AVC/264 v1.0 VoD
See my DASH-IF presentation from October, 2014:
https://s3.amazonaws.com/misc.meltymedia/dash-if-reveal/index.html#/
1. encode multiple bitrates with keyframe alignment:
ffmpeg -i ~/Movies/5D2_Portrait.MOV -s 1280x720 -c:v libx264 -b:v 1450k -bf 2 \
-g 90 -sc_threshold 0 -c:a aac -strict experimental -b:a 96k -ar 32000 out.mp4
My input was 30 fps = 3000 ms. If it were 29.97, then a GOP size of 90 frames will yield a base segment
size of 3003 milliseconds. You can make the segment size some multiple of this, e.g.: 6006, 9009, 12012.
@uOOOO
uOOOO / copy.gradle
Created September 6, 2017 04:47
Copy apk to specific path after assemble
task zipUnitTestReport(type: Zip) {
from project.buildDir
include "reports/**", "test-results/**"
archiveName "unitTestReport.${extension}"
}
def setBuildTime() {
project.ext.set("buildTime", System.currentTimeMillis())
}