
Valeriy
24.09.2018
19:18:01

Igor
24.09.2018
19:18:08
Лан лан ребят, это уже в @pofftop

Coconut
24.09.2018
19:18:21
Ладно, спасибо ребят)

Daniil
24.09.2018
20:34:41
Вопросец есть, ребят.
Вот есть у меня компаньен. Хочу ему фабричный метод запилить. При этом конструктор класса, в котором объявлен компаньен светить не хочу - нужен private. Если оставить private, то компилятор ругается, мол не могу из компаньена дергать приватный конструктор. Если поменять на конструктор на protected, то все работает за исключением того, что компилятор выдает варнинг, мол используется protected в final классе.
class Matrix<T> protected constructor(
private val rows : Int,
private val cols: Int,
private val array: Array<T>
) {
companion object {
inline fun <reified T> create(rows: Int, cols: Int, noinline producer: (pos: Int) -> T) =
Matrix(rows, cols, Array(rows * cols, producer))
}
}
Согласно документации protected = private + child access. Получается, что это не совсем так?

Google

Иван
24.09.2018
21:18:20
open?

Daniil
24.09.2018
21:20:48
open?
Тут вопрос не в том, как варнинг убрать, а какого хера оно работает :)

Иван
24.09.2018
21:26:03
Вообще тут с private работает:
https://stackoverflow.com/questions/45492952/kotlin-factory-function-for-class-with-private-constructor
Может из-за inline?

Badya
24.09.2018
21:34:32
Дело точно в инлайн

Artem
24.09.2018
21:35:12
а зачем там reified?

Badya
24.09.2018
21:37:07

Artem
24.09.2018
21:38:30

Jonas
25.09.2018
01:00:47
Hi

Stanislav (LZ2HPC)
25.09.2018
06:24:41
Hi Jonas

Alexander
25.09.2018
07:18:44
Прочитал вот статью: https://habr.com/company/jugru/blog/423921/, понял, почему все сейчас ругаются на андроид. Сам я если что на нем разрабатывал несколько приложений, но это было где-то с 2012 по 2014, поэтому мое видение платформы, как выяснилось, сильно отличается от современного.

Quantum Harmonizer
25.09.2018
07:44:07
> ...анонс Android Studio. На тот момент эта IDE была в совсем сырой стадии early access preview.
С тех пор ничего не изменилось.

Google

Alexander
25.09.2018
07:46:44
Я начинал еще на эклипсе, правда к счастью не долго. Меня в свое время андроид как платформа довольно сильно впечатлила. Там было несколько дизайн идей мощных. Сейчас, конечно, все это считается само собой разумеющимся. Но вот например идея вездесущего контекста, который передается везде явным образом по-моему недооценена. Это к зятяжному спору про DI

Dmitry
25.09.2018
07:56:19
Это вроде не про котлин, но вообще видимо индустрия слишком молодая. Довольно забавно читать, что телефоны были мол тупыми, и пальцем нельзя было тыкать.
Была винмобайл, была пальм, и современные айфоны с андроидами это наследники именно коммуникаторов, а не тупых звонилок. И пальцем там можно было тыкать, и функционала было навалом.
Просто за 10 лет до пользователей дошло, что за те же деньги можно взять коммуникатор вместо простой звонилки.

Anton
25.09.2018
07:56:28
а я думаю этот огромный godobject Context ужасная штука

Vladimir
25.09.2018
07:57:10

Alexander
25.09.2018
07:58:38

Konstantine
25.09.2018
07:59:15

Alexander
25.09.2018
07:59:22
Возвращаясь к Котлин, первостатейная поддержка синглетонов существенно упрощает многие вещи, связанные с контекстом

akniyet
25.09.2018
07:59:27

Alexander
25.09.2018
07:59:56

Dmitry
25.09.2018
08:00:15
Ткни в ИДЕ на функцию add и глянь как реализована.

Konstantin
25.09.2018
08:01:17

Konstantine
25.09.2018
08:01:42

Konstantin
25.09.2018
08:01:44
Хотя тогда айфон от обычного телефона мало чем отличался кроме экрана.

Alexey
25.09.2018
08:02:16

Alexandr
25.09.2018
08:02:52
за место clear() инициализируй заново переменную innerList

Alexander
25.09.2018
08:03:12
Почему это? Если синглетон выполняет роль сервиса, то не вижу вообще ничего плохого.

Dmitry
25.09.2018
08:03:44
Фишка в том, что Джобс "продал" айфон как обычный телефон и сломал аудиторию
Да, рассказал людям, что жигули - лучший в мире велосипед. Действительно - и педали крутить не надо, и багажник большой и т.п.
Не понимаю, как разумные люди этим восхищаются. За цену айфона всегда можно было купить нормальным коммуникатор с большим функционалом. И этот маркетинговый ход не имеет вообще ничего общего с технологиями. Единственное что они сделали - дизайн с большими элементами управления. Потому что экран был говно и точность нажатий была очень низкой.

Alexandr
25.09.2018
08:04:10

Alexey
25.09.2018
08:04:20

Alexandr
25.09.2018
08:04:32

Google

Alexander
25.09.2018
08:04:41

akniyet
25.09.2018
08:05:31

Alexander
25.09.2018
08:05:44

Konstantine
25.09.2018
08:07:11

Alexander
25.09.2018
08:07:33
А контекст какое отношение к этому имеет?
Это косяк реализации активити
Сама идея контекста тут вообще не при чем.
Я бы сказал так. Когда вы точно знаете, какие сервисы у вас будут, то классический DI - это хорошо. Но вот когда вы не знаете заранее, какие модули будут подключены, а какие нет, то подход контекста - очень хорош.

Quantum Harmonizer
25.09.2018
08:09:44

Sergey
25.09.2018
08:10:13

Quantum Harmonizer
25.09.2018
08:10:45

Alexander
25.09.2018
08:10:48
Ну от шаловливых ручек не спасает никакая архитектура, DI будет падать ровно так же.

eugene
25.09.2018
08:11:28
Здравствуйте, подскажите, кто-нибудь уже обновлял kotlin в проектах своих до 1.3.0-rc ?

Alexander
25.09.2018
08:11:35
да

Quantum Harmonizer
25.09.2018
08:11:43

Alexander
25.09.2018
08:11:43
вот сейчас ковыряюсь
Это зависит от того, как именно сделан контекст. Думаю, что разные типы контекста - это ошибка андроида. Должен быть строго один и тот же класс.

Anton
25.09.2018
08:12:59
>> На каких-то устройствах, делая запуск активити с обычным (не активити) контекстом - приложение упадет.
это где так? без синглтаск флага и не должно запускаться вроде

Alexander
25.09.2018
08:13:10

Konstantine
25.09.2018
08:13:31

Google

eugene
25.09.2018
08:13:45

Quantum Harmonizer
25.09.2018
08:13:53

Alexander
25.09.2018
08:13:59
Все ждут на KotlinConf, через две недели
уже меньше

eugene
25.09.2018
08:14:33
ок

Alexander
25.09.2018
08:15:30

Sergey
25.09.2018
08:16:19
а как можно зафиксировать что-то что под апач-2.0?

Vladimir
25.09.2018
08:16:28

Admin
ERROR: S client not available

Sergey
25.09.2018
08:16:54
если некоторые вендоры(привет самсунг) почти все переписывали под себя

Quantum Harmonizer
25.09.2018
08:16:56

Dmitry
25.09.2018
08:17:46

Sergey
25.09.2018
08:17:48

Quantum Harmonizer
25.09.2018
08:18:15

Sergey
25.09.2018
08:18:22

Konstantine
25.09.2018
08:18:36

Sergey
25.09.2018
08:18:47

Alexander
25.09.2018
08:18:53
Я скорее про то, что в документации должно быть жестко прописано, как оно должно работать

Dmitry
25.09.2018
08:18:58

Google

Quantum Harmonizer
25.09.2018
08:19:41

Konstantine
25.09.2018
08:20:08

Sergey
25.09.2018
08:20:18

Quantum Harmonizer
25.09.2018
08:20:31
мы, кстати, не в @kotlin_mobile ?

Alexander
25.09.2018
08:21:17

Konstantine
25.09.2018
08:21:32

Sergey
25.09.2018
08:21:48
все описано ровно то что есть в AOSP

Quantum Harmonizer
25.09.2018
08:22:28

Konstantine
25.09.2018
08:23:23

Alexander
25.09.2018
08:23:24
По моей памяти косяки были, но не то, чтобы супер радикальные.
Обмен сообщениями между активити был через задницу. Это да. И это вряд ли вылечилось

Quantum Harmonizer
25.09.2018
08:25:06
За десять лет эволюции Google успели добавить фрагменты и задепрекейтить их. ?

Konstantine
25.09.2018
08:25:56
Снова, строго говоря, не проблема андроида ?

Stepan
25.09.2018
08:26:06
Да и на androidx тоже что-то появилось

Quantum Harmonizer
25.09.2018
08:26:56

Konstantine
25.09.2018
08:27:33

Maxim
25.09.2018
08:27:41