| import sys | |
| import glob | |
| import ruamel.yaml | |
| yaml = ruamel.yaml.YAML() | |
| def main(): | |
| # python3 pubspec_base_sync.py ../pubspec_base_android.yaml ../pubspec_base_android_huawei.yaml |
| void main() { | |
| Greeting message = Hi(); | |
| final result = match(message, { | |
| on((Hi hi) => "hello, ${hi.name}"), | |
| on((Bye bye) => "bye, see you at ${bye.seeYouAgain}"), | |
| otherwise(() => throw Error()), | |
| }); | |
| print(result); |
| import androidx.compose.foundation.BorderStroke | |
| /* | |
| * Copyright 2020 The Android Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| main() { | |
| // Either<dynamic, int> result | |
| final result = Either.Do(() { | |
| final num1 = perform(Right(5)); | |
| final num2 = perform(Right(2)); | |
| return num1 * num2; | |
| }); | |
| print(result.value); // 10 | |
| // Option<int> result2 | |
| final result2 = Option.Do(() { |
| main() { | |
| final value = async(() { | |
| final num1 = await(Future.value(5)); | |
| final num2 = await(Future.value(2)); | |
| return num1 * num2; | |
| }); | |
| value.then(print).catchError(print); | |
| async(() { | |
| [1,2,3,4,5].forEach((i) { |
- Что такое единый стейт? Если экран сложный, то как описывать сложные стейты. Если через seald class, то по какому принципу описывать seald class со стейтом?
- Как работать с single liveData (map/distinct?)
- Как работать с command liveData? Нужно разделить общие команды и приватные для каждого экрана.
- Как подружить liveData и state-delegate? Какую сделать структуры обертки для загружаемых данных(Loading, Content, Error).
- Как обрабатывать пересоздание диалогов (как подсунуть новую лямбду) Нужно посмотреть сюда.
Приветствую, любители реверс-инжинирить Android. Перед вами шпаргалка по Smali - аналогу ассемблера для Android-приложений.
Изначальный текст на русском взят отсюда. Там текст появился из машинного перевода официальной документации.
В итоге, оформил сухой текст + поправил небольшие опечатки и корявости перевода. По поводу замечаний и предложений можете писать либо мне в ЛС, либо оформлять PR на Gist.
Android provide LocalServerSocket and LocalSocket to create Unix domain sockets for local interprocess communication (IPC). Unix socket address can behave in three types[1],
- pathname
- unnamed
- abstract
LocalServerSocket provide two public constructors for create socket in Linux abstract namespace[2] and create socket using file descriptor that's already been created and bound[3].
Create LocalServerSocket using [FileDescriptor](https://docs.oracle.com/javase/7/docs/api/j
| override fun onKeyUp(code: Int, ev: KeyEvent?): Boolean { | |
| return when (code) { | |
| KeyEvent.KEYCODE_J -> { | |
| // Do something here | |
| true | |
| } | |
| else -> super.onKeyUp(code, ev) // Important | |
| } | |
| } |