Михаил
И вообще странно что переменная view имеет тип Fragment
Максим
Подскажи в каких кейсах view может не быть null
При повороте экрана activity будет пересоздана и фрагмент не будет равен null
Игорь
Хао. Это нормальная ситуация, что вызывается onAttach, когда в целом ни одно usb устройство не подсоединено? Подключается устройство с 239 классом (USB_CLASS_MISC). UPD: В OnDeviceConnectListener.
d
И вообще странно что переменная view имеет тип Fragment
Лучше делать Activity вьюхой? А как быть с фрагментами в ней, на каждый тоже свой презентер вешать?
Игорь
Причём это происходит на 2-х планшетах. На смартфоне с эти проблем нет.
Михаил
Фрагмент не может быть View?
Ну просто в активити фрагмент логичнее назвать фрагментом, нежели вью, вот в презентере уже вью
d
Ну просто в активити фрагмент логичнее назвать фрагментом, нежели вью, вот в презентере уже вью
А еще подскажи, вот в активити могут разные фрагметы появляться по кликам на вьюхи. Нормально ли, что презентер A делегирует своей вьюхе (фрагменту А) добавление нового фрагмента поверх? Или это стоит как-то выносить в другой класс (координатор?)
You
Ребят, была ли у кого-нибудь такая проблема, что плей маркет не посылал броадкаст INSTALL_REFERRER?
You
Возможно я что-то делаю не так. По крайней мере я добавил BroadcastReceiver с intent-filter com.android.vending.INSTALL_REFERRER
You
может он какой-то другой уже?
Alexey
Ребят, добра. У нас бесплатное социально-ориентированное приложение (СМС-локатор-маячок), приложение успело набрать 1500 девайсов и 7К суммарных установок, а потом наш акк заблокал Гугл. Из-за того что я в названии разработчика указал спецсимволы - звездочки, что запрещено правилами, как выяснилось. Они мне сказали что надо переименоваться обратно, и нажать кнопку повторной публикации. НО. Облазал весь гуглоплей - нет такой кнопки. Повторно эту же версию не дает опубликоват :( Help.
Alexey
"Чтобы создать версию, добавьте новый APK-файл или деактивируйте существующий."
Alexey
если деактивировать текущую версию - то пишет "Нельзя удалить все APK-файлы и наборы Android App Bundle рабочей версии"
Alexey
Что делать? :/
Максим
Что делать? :/
Просто увеличьте версию и загрузите снова
Alexey
понял :(
Alexey
грустно как-то.
Alexey
спасибо.
Максим
грустно как-то.
Почему грустно? Для пользователей это будет совсем незаметно
d
При добавлении фрагмента делаю transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); При нажатии на back анимация тоже проходит. А вот когда делаю popBackStack - её не заметно, в чем причина?
Denis
https://proandroiddev.com/forget-rxjava-kotlin-coroutines-are-all-you-need-part-1-2-4f62ecc4f99b
приятная штука, в отличие от Rx и обработка ошибок теплая, ламповая (try-catch-finally)
Максим
У меня вот появился вопрос ко всем антифанатам rx, коих тут не мало. А как вы организовываете каких-нибудь listener-ов? Как храните их? Как подписываетесь и отписываетесь? Как итерируетесь по списку при отправке события?
Глеб
У меня вот появился вопрос ко всем антифанатам rx, коих тут не мало. А как вы организовываете каких-нибудь listener-ов? Как храните их? Как подписываетесь и отписываетесь? Как итерируетесь по списку при отправке события?
ну.... как.... как ... во первых есть реактор3 - он с 24 пашет - без проблем и сам по себе в сто раз лучше вашей рксджавы во вторых - ручная реализация - не сильно отличается в любом случае - нужно поднимать потоко безопасный мап обсерверов и прочее(если говорить об эмитерах)
Глеб
Головняк с атомик и конкурент структурами неизбежен - если мы пишем источник - хоть там Consumer, хоть подписка.... хоть реактивный фреймворк - хоть без него
Глеб
это естественным образом исходит из того что по-умолчанию - все реактив-либы - однопоточны
Максим
Глеб
Я, конечно, не успел полностью прочитать доку, но выглядит как тот же rx, только в профиль, и при этом работает только с 24 api? То есть году этак к 2025 можно будет в продакшн тянуть)
ну ... если у вас требование к проекту - стэйбл с первого андроида - то наверное да)) а если думать с практич точки зрения - то <24 - практически никак не оправдвано для новых проектов
Глеб
Подписались)
Глеб
отдали слушатель, куда все будет сыпаться, получили клозбл - для отписки и не нужно усложнять он еррорами он комплитами и прочим...особенно ...исходя и з того что практич все кейсы - бесконечный поток
Максим
вот вам самый прост пример final Closeable listenBlah(Consumer<String> consumer)
А внутри этого метода положили этого самого Consumer в какой-нибудь concurrentSet, потом при эмите события итерируемся по этому set-у, иногда натыкаясь на проблемы с тем, что подписчик отписался до момента эмита, или после эмита, или подписался новый.
Максим
И так во всей сотне классов, которые будут иметь слушателей
Глеб
А внутри этого метода положили этого самого Consumer в какой-нибудь concurrentSet, потом при эмите события итерируемся по этому set-у, иногда натыкаясь на проблемы с тем, что подписчик отписался до момента эмита, или после эмита, или подписался новый.
во первых - надо адекватно оценивать - насколько в данном кейсе нужен мультикаст))) практика показывает - что значительно реже чем один-к одному, если же реально будет неск подписчиков (все равно не боле макс 10-ка) - то конкурент-коллекция - решает
Глеб
это если ручн... в реакторе же есть мультикаст-процессор... допустим
Глеб
вы лучше спросите - как народ из эрыкса в корутины собрался бежать.... либо эрыкс был не по назначению....либо...вообще непонятно))) что за дичь происходит в сми)
Глеб
все тащили 12к методов ради сингл в ретрофите - да это ж помешательство массовое))
d
Скажите будет ли применена анимация exit, если я добавил фрагмент, а не заменял им другой?
d
И сделал pop
Максим
все тащили 12к методов ради сингл в ретрофите - да это ж помешательство массовое))
А чем мешают 12к методов? Мультидексом, который и так есть почти везде? Размером apk, который увеличится максимум на 1мб? Возможно реактор и будет достойной заменой ему, но api 24+ не приемлемо не для одного современного приложения, потому что автоматически теряет процентов 30-40 пользователей, не могу посмотреть точную статистику
Максим
Суммарно, rx неплохо справляется с тем же, что вместе делают reactor и коррутины. Так а если нет разницы, то зачем платить больше? Ещё и однообразия в проекте гораздо больше
Глеб
современное приложение - ориентированное под современные устройства и "перспективные рынки" - абсолютно покрывает мин24
Максим
не приемлимо в рамках вашего проекта)))
Назови мне пару-тройку примеров современных приложений с такой версией апи
Максим
Пруф https://developer.android.com/about/dashboards/
Глеб
Назови мне пару-тройку примеров современных приложений с такой версией апи
Я не ориентирусь - на то что мне выдаёт гугл - плей потому как кроме иконки и титла аппа - мы не знаем ничего о реальной эффективности изнутри
Martynenko
Глеб
Упс, это потеря не 30-40 процентов, а 55
Да. это половина))) А вы можете мне показать приложение гарантировано стабильно работающее на ICS - ах))
Сергій
Упс, это потеря не 30-40 процентов, а 55
да, камон, сидеть на 4-ах уже некрофилия
Глеб
да, камон, сидеть на 4-ах уже некрофилия
не, Серег... надо... иначе профиты эрыкс джавы и котлина будут уже не так ярки..... там всё ж как никак джава 8))
Никита 🙃
Упс, это потеря не 30-40 процентов, а 55
Есть интересное мнение. Если человек не может купить телефон с версией ниже 6.0 (новые вообще с 7.0 везде. хотел для тестов купить, на rozetka.ua они от 7.0.), то такой человек не принесёт прибыли
Глеб
от эрыкс и котлин далвик загнется )
ну как бы да - один из аргументов! в пользу здр рассудка) всё верно!
Сергій
люблю срачи про версию мин сдк 😁
Никита 🙃
реклама одинаковая для всех всё равно
Но если у человека нет денег купить ваш продукт?))
Сергій
реклама самая ущербная вещь, лучше уж донат пусть будет
Глеб
во всех случаях - если ты посчитаешь в деньгах - реальную стоимость поддержки старья) если мы говорим - о полноценной поддержке и стабильной работе
не, ну например школьник играющий в какие-то танчики, и который донатит к примеру 10$ в месяц откладывая с завтраков. И таких школьников 1к. И у этих школьников скорее всего нет бабок на 7.0
50$?
ну это вообще такие себе девайсы
Никита 🙃
Ну да)
Никита 🙃
Но как ни факт
Максим
Хз, стоимость поддержки старых версий переоценена явно. Подрубил поддержку векторов - и радуешься жизни
Глеб
Если говорить об очень платформеных проектах - то там зачастую версия апи или джл - например - может играть ключевую роль.... а если это очередной онлайн магазин который вместо моб веб-странички решили писать на адроиде - то ... ну ок
Максим
векторы самая малость
И с чем же там обычно бывают проблемы?
Сергій
например разная работа с Storage, на 4.4+ она кардинально изменилась
Глеб
Камера
Сергій
файлпровайдеры
Сергій
банальный elevation
Максим
Ранние версии уже не особо актуальны
Сергій