ffmeg as worker can be found at https://github.com/Kagami/ffmpeg.js/
Final build can be obtained via wget https://unpkg.com/[email protected]/ffmpeg-worker-mp4.js
| @file:DependsOn("com.squareup.okhttp3:okhttp:4.9.0") | |
| import okhttp3.* | |
| import okhttp3.internal.closeQuietly | |
| import okio.IOException | |
| import java.io.File | |
| import java.util.concurrent.CountDownLatch | |
| import java.util.concurrent.atomic.AtomicInteger | |
| // Please specify the post directory, static-host blog usually puts all posts in one dir like "./_post" |
| android { | |
| onVariantProperties { | |
| val mainOutput = outputs.single { it.outputType == VariantOutputConfiguration.OutputType.SINGLE } | |
| tasks.register<CreateRenamedApk>("createRenamedApkFor${name}") { | |
| this.originalApkFolder.set(artifacts.get(ArtifactType.APK)) | |
| this.builtArtifactsLoader.set(artifacts.getBuiltArtifactsLoader()) | |
| this.newApkFolder.set(layout.buildDirectory.dir("outputs/renamed_apk/${this@onVariantProperties.name}")) | |
| this.versionCode.set(mainOutput.versionCode) | |
| this.versionName.set(mainOutput.versionName) | |
| } |
| package infrastructure | |
| import kotlinx.coroutines.* | |
| import kotlinx.coroutines.channels.ConflatedBroadcastChannel | |
| import kotlinx.coroutines.flow.* | |
| internal class EventBus { | |
| // Initialize the bus with an empty Event, so we can drop the first element everytime on a new subscription | |
| // This is neccesary, because on subscription usually the current element is send (although it was added | |
| // before subscription) |
| import android.app.Activity | |
| import android.graphics.Rect | |
| import android.view.View | |
| import android.view.ViewGroup | |
| import android.view.ViewTreeObserver | |
| import android.app.Application | |
| import android.os.Bundle | |
| object KeyboardTool { |
ffmeg as worker can be found at https://github.com/Kagami/ffmpeg.js/
Final build can be obtained via wget https://unpkg.com/[email protected]/ffmpeg-worker-mp4.js
| import android.content.Context | |
| import android.content.SharedPreferences | |
| import kotlin.reflect.KProperty | |
| /** | |
| * Represents a single [SharedPreferences] file. | |
| * | |
| * Usage: | |
| * | |
| * ```kotlin |
| #import <Foundation/Foundation.h> | |
| #import "RCTBridgeModule.h" | |
| @interface TimerModule : NSObject <RCTBridgeModule> | |
| @end |
| [General] | |
| loglevel = notify | |
| skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local, ::ffff:0:0:0:0/1, ::ffff:128:0:0:0/1 | |
| bypass-tun = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 | |
| # dns-server = 119.29.29.29,223.5.5.5,114.114.115.115 | |
| # external-controller-access = [email protected]:6155 | |
| # ipv6 = true | |
| // REMEMBER TO CHANGE THE external-controller-access' PASSWORD |
| /** | |
| * The MIT License (MIT) | |
| * | |
| * Copyright (c) 2015 Circle Internet Financial | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is |
| package com.materialdesign.chris.materialdesignexperimenting; | |
| import android.animation.Animator; | |
| import android.animation.AnimatorListenerAdapter; | |
| import android.animation.ObjectAnimator; | |
| import android.app.Activity; | |
| import android.os.Bundle; | |
| import android.os.Handler; | |
| import android.view.View; | |
| import android.view.ViewAnimationUtils; |