- Root
- ADB (или любое приложение Terminal на телефоне)
Подключитесь к телефону через ADB и в открывшейся консоли переключитесь в режим Super User:
{ | |
"latest": "1.20.6", | |
"versions": { | |
"1.20.6": "https://api.papermc.io/v2/projects/paper/versions/1.20.6/builds/28/downloads/paper-1.20.6-28.jar", | |
"1.20.5": "https://api.papermc.io/v2/projects/paper/versions/1.20.5/builds/22/downloads/paper-1.20.5-22.jar", | |
"1.20.4": "https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/496/downloads/paper-1.20.4-496.jar", | |
"1.20.2": "https://api.papermc.io/v2/projects/paper/versions/1.20.2/builds/318/downloads/paper-1.20.2-318.jar", | |
"1.20.1": "https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/196/downloads/paper-1.20.1-196.jar", | |
"1.20": "https://api.papermc.io/v2/projects/paper/versions/1.20/builds/17/downloads/paper-1.20-17.jar", | |
"1.19.4": "https://api.papermc.io/v2/projects/paper/versions/1.19.4/builds/550/downloads/paper-1.19.4-550.jar", |
root = true | |
[*] | |
charset = utf-8 | |
end_of_line = lf | |
indent_size = 4 | |
indent_style = space | |
insert_final_newline = true | |
trim_trailing_whitespace = true | |
max_line_length = 120 |
import android.app.Activity | |
import android.app.Application | |
import android.content.ComponentCallbacks | |
import android.content.Context | |
import android.content.res.Configuration | |
import android.os.Build | |
import android.os.Bundle | |
import java.util.Locale | |
private const val LANGUAGE_RU = "ru" |
/** Wrapper over the given [list] for Compose to mark this list as [Immutable]. */ | |
@Immutable | |
@JvmInline | |
value class ImmutableList<T>(private val list: List<T>) : List<T> by list | |
/** Returns empty list marked as [Immutable]. */ | |
inline fun <T> immutableListOf(): ImmutableList<T> = ImmutableList(emptyList()) | |
/** Returns a new [Immutable] list of given [elements]. */ |
#!/usr/bin/env bash | |
set -eu | |
BUILD_CACHE_THRESHOLD=5000 | |
function get_gradle_slug() { | |
local dist | |
dist=$(source gradle/wrapper/gradle-wrapper.properties && echo "${distributionUrl?:}") | |
dist=${dist##*gradle-} |
#!/usr/bin/env bash | |
set -euo pipefail | |
function extract_float_field() { | |
field=$1 | |
ioreg -rw0 -c AppleSmartBattery | | |
grep BatteryData | | |
sed -E "s/.*\"$field\"=([0-9]+).*/\1/" | | |
xargs -I % lldb --batch --source-quietly --one-line "print/f %" | # Convert IEEE-754 float |
Материалы к докладу на митап red_mad_robot 15.12.2022
package com.example.build | |
import org.gradle.api.DefaultTask | |
import org.gradle.api.file.RegularFileProperty | |
import org.gradle.api.tasks.InputFile | |
import org.gradle.api.tasks.OutputFile | |
import org.gradle.api.tasks.TaskAction | |
/** Adds `android:debuggable="true"` to the manifest. */ | |
abstract class MakeDebuggableTask : DefaultTask() { |
import androidx.datastore.core.DataStore | |
import androidx.datastore.core.Serializer | |
import java.io.InputStream | |
import java.io.OutputStream | |
abstract class NullableSerializer<T : Any> : Serializer<T?> { | |
override val defaultValue: T? = null | |
final override suspend fun readFrom(input: InputStream): T? { |