У меня вот другая идея есть: оставить библиотеку в покое, а рядом сделать другой артефакт, в котором предоставить фреймворк для написания приложений: с готовыми фрагментами для боттом навигации, флоу фрагментами, базовым активити с диплинками и прочее
У меня вот другая идея есть: оставить библиотеку в покое, а рядом сделать другой артефакт, в котором предоставить фреймворк для написания приложений: с готовыми фрагментами для боттом навигации, флоу фрагментами, базовым активити с диплинками и прочее
Да непонятно. У нас всё просто. Прилетает диплинк, мы ищем какой обработчик матчит этот диплинк, а потом собственно обработчик возвращает список команд для роутера.
давайте лучше о важном: я заметил, что вот такой интент не работает fun WebView(url: String) = ActivityScreen { Intent(Intent.ACTION_VIEW, Uri.parse(url)) }
так как activityIntent.resolveActivity(activity.packageManager) возвращает нулл, зараза!
Да непонятно. У нас всё просто. Прилетает диплинк, мы ищем какой обработчик матчит этот диплинк, а потом собственно обработчик возвращает список команд для роутера.
в том и дело, что там элементарно :) несколько раз делал, когда приложение сингл активити и на чичероне, то все само получается
в том и дело, что там элементарно :) несколько раз делал, когда приложение сингл активити и на чичероне, то все само получается
Можно вынести базовый обработчик диплинка, разве что. Который позволяет вернуть список скринов либо список команд + какие-то хелперы для того чтоб заворачивать скрины в команды. Ну и контейнер для обработчиков.
Да непонятно. У нас всё просто. Прилетает диплинк, мы ищем какой обработчик матчит этот диплинк, а потом собственно обработчик возвращает список команд для роутера.
Можно вынести базовый обработчик диплинка, разве что. Который позволяет вернуть список скринов либо список команд + какие-то хелперы для того чтоб заворачивать скрины в команды. Ну и контейнер для обработчиков.
а не будет ли это так же или даже сложнее, чем взять урл и роутер и решить, что делать? тем более это ограничит возможности по-любому :)
Не. У нас есть список обработчиков. У них есть метод который проверяет, может ли этот обработчик обработать этот диплинк. Берём первый который может и пихаем в него этот диплинк.
Мне тоже было бы интересно посмотреть на готовое универсальное решение для работы с диплинками, но я на 100% уверен, что универсальным оно не будет. Навигация по фрагментам - эта база, которую можно назвать минимальной и достаточной для разработки (почти) любого приложения. А обработка диплинков - уже похоже на бизнес задачу