Size: a a a

2020 May 10

AG

Artem Gilmudinov in Dagger 2
Sviat Volkov
Гугл остановили развитие этого пакета, т.к. поняли что от него проблем больше чем пользы. Обещают придумать что-то лучше.
А можно ссылки почитать?
источник

AG

Artem Gilmudinov in Dagger 2
Yaroslav
Привет, Так же интересует данный вопрос, опыта разработки нет на dagger 2), но пока проблем в разработке нет). Интересное мнение людей которые используют dagger 2 в продакшн, насколько он проблемный и с какими подводными камнями столкнусь если такие есть )
Единственная проблема это порог входа. В продакшене норм.
источник

Y

Yaroslav in Dagger 2
Sviat Volkov
Гугл остановили развитие этого пакета, т.к. поняли что от него проблем больше чем пользы. Обещают придумать что-то лучше.
ну я смотрю гит у них мертвый)
источник

SV

Sviat Volkov in Dagger 2
Artem Gilmudinov
А можно ссылки почитать?
Доклад у них был про будущее дагера. Там и сказали. Не помню как называется.
источник

SV

Sviat Volkov in Dagger 2
Artem Gilmudinov
Единственная проблема это порог входа. В продакшене норм.
Ну не знаю :) сабкомпоненты та ещё жопа и я не представляю как он будет работать в многомодульных проектах.
источник

AG

Artem Gilmudinov in Dagger 2
Yaroslav
ну я смотрю гит у них мертвый)
а что там должно быть? проект рабочий, багов минимум. По сути дела сейчас в основном поддержка и небольшие улучшения.
источник

AG

Artem Gilmudinov in Dagger 2
Sviat Volkov
Ну не знаю :) сабкомпоненты та ещё жопа и я не представляю как он будет работать в многомодульных проектах.
Почему жопа? На многомодульных проектах даггер работает норм.
источник

SV

Sviat Volkov in Dagger 2
Я про dagger-android
источник

AG

Artem Gilmudinov in Dagger 2
Sviat Volkov
Я про dagger-android
подход используемый в dagger android можно использовать для построения многомодульных проектов (то есть именно поиск зависимостей по иерархии фрагментов и тп).
источник

Y

Yaroslav in Dagger 2
Artem Gilmudinov
Единственная проблема это порог входа. В продакшене норм.
спасибо за ответ, опыт с di есть ), буду продолжать )
источник

SV

Sergey Vasilchenko in Dagger 2
Александр
Ребят, а кто что думает об даггер-андроид? Стоит ли его использовать?
они пилят hilt, который должен благополучно его заменить)
источник

AG

Artem Gilmudinov in Dagger 2
Sergey Vasilchenko
они пилят hilt, который должен благополучно его заменить)
Это будет совместимый с даггером инструмент? Или абсолютно новый?
источник

SV

Sergey Vasilchenko in Dagger 2
Artem Gilmudinov
А можно ссылки почитать?
вот тут рассказывали про то что даггер андроид стопают и что будут делать дальше с ним https://youtu.be/o-ins1nvbDg?t=536
источник

SV

Sergey Vasilchenko in Dagger 2
а тут можно почитать что уже начали завозить
https://www.reddit.com/r/androiddev/comments/fmenb2/upcoming_daggerhilt_package/
источник

AG

Artem Gilmudinov in Dagger 2
Прикольно. То есть они пытаются улучшить использование даггера в котлине.
А потом пытаются уменьшить количество кода конфигурации графа.
Только неясно что за predefined компоненты. Не свяжет ли это по рукам или можно будет добавлять такие свои компоненты.
источник

AG

Artem Gilmudinov in Dagger 2
@fanat4k посмотрите плиз этот доклад. тут они говорят о будущем даггера. мб поможет вам определиться что использовать.
источник
2020 May 11

I

Ilnar in Dagger 2
Здорова всем.

Использую даггер с AndroidInjector.

К API обращаюсь при помощи retrofit, все инициальдируется в даггер как синглетог в appModule.

Теперь нужно во все запросы добавлять header (JWT авторизацию, токен)

Но, jwt токен меняется много раз в рантайме(по разным причинам, почему - это не суть)

Текущий токен достается из room -
getCerrentJWT(): Flowable<String>


Когда текущий токен меняется, роом сразу оповещает подписчиков.

Я, для того чтобы добавить во все запросы header AUTH добавил в ретрофит клиент okHTTP с интесептер в котором в жёсткую добавил строки с токеном.

Суть вопроса, можно ли как то в место жёстко указанного токена вставить Flowable из room?

Простите за сумбурно изложенный вопрос) котелок уже не варит)

Думаю, те кто используют даггер, сталкивались с таким вопросом и поймут)
источник

АЕ

Алексей Ершов... in Dagger 2
Ilnar
Здорова всем.

Использую даггер с AndroidInjector.

К API обращаюсь при помощи retrofit, все инициальдируется в даггер как синглетог в appModule.

Теперь нужно во все запросы добавлять header (JWT авторизацию, токен)

Но, jwt токен меняется много раз в рантайме(по разным причинам, почему - это не суть)

Текущий токен достается из room -
getCerrentJWT(): Flowable<String>


Когда текущий токен меняется, роом сразу оповещает подписчиков.

Я, для того чтобы добавить во все запросы header AUTH добавил в ретрофит клиент okHTTP с интесептер в котором в жёсткую добавил строки с токеном.

Суть вопроса, можно ли как то в место жёстко указанного токена вставить Flowable из room?

Простите за сумбурно изложенный вопрос) котелок уже не варит)

Думаю, те кто используют даггер, сталкивались с таким вопросом и поймут)
Подпишитесь на этот flowable в интерсепторе, например, и сохраняйте последнее значение в поле
источник

I

Ilnar in Dagger 2
Алексей Ершов
Подпишитесь на этот flowable в интерсепторе, например, и сохраняйте последнее значение в поле
Имеете ввиду так?

@Provides
@Singleton
@JvmStatic
fun provideOkHttpClient(authDao: AuthDao): OkHttpClient {
 val client = OkHttpClient.Builder()
 client.addInterceptor(Interceptor { chain ->
   var key: String = ""
   authDao.getLastAuth().subscribe { key = it.accessToken }

   val newRequest = chain.request().newBuilder()
   newRequest.addHeader(
     "MyTest",
     "Random key ${Random.nextInt(0, 50)} and JWT ${key}"
   )
   chain.proceed(newRequest.build())
 })
 client.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.HEADERS))
 return client.build()
}
источник

А

Андрей in Dagger 2
Ilnar
Здорова всем.

Использую даггер с AndroidInjector.

К API обращаюсь при помощи retrofit, все инициальдируется в даггер как синглетог в appModule.

Теперь нужно во все запросы добавлять header (JWT авторизацию, токен)

Но, jwt токен меняется много раз в рантайме(по разным причинам, почему - это не суть)

Текущий токен достается из room -
getCerrentJWT(): Flowable<String>


Когда текущий токен меняется, роом сразу оповещает подписчиков.

Я, для того чтобы добавить во все запросы header AUTH добавил в ретрофит клиент okHTTP с интесептер в котором в жёсткую добавил строки с токеном.

Суть вопроса, можно ли как то в место жёстко указанного токена вставить Flowable из room?

Простите за сумбурно изложенный вопрос) котелок уже не варит)

Думаю, те кто используют даггер, сталкивались с таким вопросом и поймут)
Можно токен сохранить в префы, например, и при каждом вызове интерсептора сначала считывать новый токен и новый уже будет использоваться в запросах.
источник