
Максим
16.05.2017
10:24:30
А как это сделать в данном случае?

Михаил
16.05.2017
10:24:58

Максим
16.05.2017
10:25:31

balolam
16.05.2017
10:26:00
Посмотри в оф документации как написать свой делегат. И сделай делегат который создаётся некоторым фабричными методом и кладётся в некоторый лист внутри своего фрагмента/Активити и в onDestroy*** ты можешь чистить делагаты

Google

Михаил
16.05.2017
10:26:32
надо своего делать
щас кину примерный пример. был похожий кейс

Максим
16.05.2017
10:27:49
какой метод?)
То есть на каждый Realm.getDefaultInstance() нужно вызывать .close. И вот я хочу вызвать .close только если я обращался к property (в случае by lazy инициализировал его)

balolam
16.05.2017
10:27:49

Михаил
16.05.2017
10:28:43
class RealmInitializer {
private val TAG = "RealmInitializer"
private var mRealm: Realm? = null
operator fun getValue(thisRef: RealmManager, property: KProperty<*>): Realm {
fun init() {
mRealm = Realm.getDefaultInstance()
}
when {
mRealm == null -> init()
mRealm!!.isClosed -> init()
}
return mRealm!!
}
}
private val mRealmQueryInstance: Realm by RealmInitializer()

Максим
16.05.2017
10:29:03

Михаил
16.05.2017
10:29:14
это пример как свой делегат сделать. думаю именно этот не подойдет, но суть понятна

Максим
16.05.2017
10:29:49
Всем спасибо! Буду копать в стороны кастомных делегатов

Михаил
16.05.2017
10:30:49
тут получится так, что пока ты его не закрыл тебе вернетя старый реалм инстанс.

Igor
16.05.2017
13:50:24
Народ а что сейчас есть из коррутин для андроид, если не хочется rx тащить?

Google

Руслан
16.05.2017
13:52:00
https://github.com/Kotlin/kotlinx.coroutines/tree/master/ui/kotlinx-coroutines-android
https://kotlin.link/?q=coroutines

Dzmitry
16.05.2017
13:54:08
Ниче нет. Напиши сам и поделись с сообществом ))

? animufag ?
16.05.2017
13:55:51
https://github.com/gildor/kotlin-coroutines-retrofit просто услышал в слаке, сам ничего не знаю

Igor
16.05.2017
13:56:55

Aliaksei
16.05.2017
13:59:57

? animufag ?
16.05.2017
14:00:59
думаю там очень всё на коленке слеплено (21 коммит и последний 2 месяца назад)

Руслан
16.05.2017
14:01:08

Aliaksei
16.05.2017
14:01:26
Так и знал что подвох где то

Igor
16.05.2017
14:01:35

Руслан
16.05.2017
14:02:45
либа для андроида

Sasha
16.05.2017
14:05:18

Igor
16.05.2017
14:06:00
либа для андроида
Да я уже и пару своих написал, это не проблема.
Прощупывал пульс на решения "из коробки" (kotlinx тоже считается).
Вообще считаю неправильным полагаться на такие базовые абстракции из third-party библиотек.
Они же по всему коду пролезут, попробуй потом мигрировать на что то другое.

Виталий
16.05.2017
17:49:26
https://medium.com/square-corner-blog/generating-kotlin-code-with-kotlinpoet-119dc20f74d4
Из слаки)

Igor
16.05.2017
17:53:29

Михаил
16.05.2017
17:54:21
Иногда может быть пллезно)

Google

Виталий
16.05.2017
17:55:17

Михаил
16.05.2017
17:55:29
Хотя в котлине и без кдогенерации ништяков хватает

Igor
16.05.2017
17:58:46

Виталий
16.05.2017
18:00:05
Ну и тут нет никого, кто пишет/писал библиотечку с кодогенерацией?) Только "обычные" люди?)

Igor
16.05.2017
19:03:34
Кстати, тут идиоматичный Kotlin подвезли (для тех кто slack не читает)
https://habrahabr.ru/company/inforion/blog/328218/

Алексей
17.05.2017
00:16:21

Sasha
17.05.2017
00:52:02

guga
17.05.2017
06:53:13
@HeapyHop что посоветуешь из видосов jetconf глянуть?

Руслан
17.05.2017
09:18:55
По котлину?

Dibro
17.05.2017
09:39:34
привет, какие есть способы получить имена параметров лямбды в рантайме?

Михаил
17.05.2017
09:40:11
:/

Quantum Harmonizer
17.05.2017
09:40:25

Dibro
17.05.2017
09:40:38
я нашёл экспериментальный метод Function.reflect(), но его первый вызов подгружает иерархию классов на 1.5 секунды
java reflection не даёт мне информацию об опциональности параметров, а она мне тоже нужна

Quantum Harmonizer
17.05.2017
09:42:36
Есть причины, по которым не используется kotlin-reflect?

Dibro
17.05.2017
09:42:56
я нашёл экспериментальный метод Function.reflect(), но его первый вызов подгружает иерархию классов на 1.5 секунды
он как раз оттуда
но там ещё куча левой инфы подгружается

Quantum Harmonizer
17.05.2017
09:44:14

Google

Admin
ERROR: S client not available

Dibro
17.05.2017
09:46:09
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.jvm/reflect.html

Quantum Harmonizer
17.05.2017
09:49:18
На самом деле, вся специфичная для Котлина информация хранится в аннотации @Metadata, а этот метод, вероятно, как раз её и парсит.

Dibro
17.05.2017
09:51:18
но её парсинг очень долгий из-за подгрузки кучи десериализующих классов
ещё я нашёл библиотечку под джаву, она читает названия параметров из байткода и довольно быстро загружается
Paranamer
но инфы об опциональности нет. ещё я заметил в декомпиле, что у параметров генерятся джетбреиновские аннотации nullable/notnull, но у меня почему-то не получилось найти их в рантайме

Quantum Harmonizer
17.05.2017
09:56:14

Dibro
17.05.2017
09:56:49
да, что-то забыл глянуть
тогда они бесполезны...

?FLERRY?
17.05.2017
17:10:09
Ребята, кто-нибудь работал с апи перископа? Может просто кто поможет: нужно взять поток оттуда и кинуть на свой сайт. Поток взять через апи проблем не составляет, точнее ссылку на него (hls), а вот когда встраиваешь его на сайт - получаешь ошибку. Мол cross-domain запрещен. Через ffmpeg и всякое разное отлично играется. Может есть какой-то вариант обойти этот кросс доменный запрос? Желательно еще и так, что-бы свой сервису грузить не сильно. Как вариант был ffserver, но хотелось бы что-то другое.
P. S. Заранее спасибо за помощь :)

Boris
17.05.2017
17:12:29
А апи у него на Котлине?

?FLERRY?
17.05.2017
17:13:17
Воу. Врятли :D
Просто мало ли, здесь есть те, кто работал с ним
А то тема уж очень узкая, а интересная

balolam
17.05.2017
17:14:44

?FLERRY?
17.05.2017
17:15:02
Я в курсе :)
Вопрос в том, как это обойти
Возможно не нативно через браузер, а куда то запихать поток, а потом отдать на страницу

balolam
17.05.2017
17:15:54

Google

balolam
17.05.2017
17:16:14

?FLERRY?
17.05.2017
17:17:01

balolam
17.05.2017
17:18:06

?FLERRY?
17.05.2017
17:19:23
Не, оно то вообще не публичное
Я его скомуниздил
Но ссылку оно отдает
И легко играется всем, кроме плеера сайта