Я подправил вам немного внешний вид, немного почистил от лишнего.
В том числе устранил проблемку с прокруткой.
Посмотрите пуллреквест и, если понравится, смержите.
Про Qualifier сказано совсем мало. Только что оно надо «если необходимы разные объекты одного типа».
Пример использования, мне кажется, не был бы лишним.
Тут https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger показано как можно использовать два «квалифайра» Local и Remote для работы с локальным хранилищем и удаленным.
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
public @interface Local {
}
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
public @interface Remote {
}
@Singleton
public class TasksRepository implements TasksDataSource {
private final TasksDataSource mTasksRemoteDataSource;
private final TasksDataSource mTasksLocalDataSource;
@Override
public void getTasks(@NonNull final LoadTasksCallback callback) {
checkNotNull(callback);
if (mCacheIsDirty) {
// If the cache is dirty we need to fetch new data from the network.
getTasksFromRemoteDataSource(callback);
} else {
// Query the local storage if available. If not, query the network.
mTasksLocalDataSource.getTasks(callback);
}
}
Да не знаете вы что оно там грузит.
А я вот более чем уверен, что оно будет хотеть доступ к моим файлам, контактам и прочему.
И да, я знаю, что могу это запретить, но к чему мне все эти лишние телодвижения?
«Когда пользователь получает ссылку на сайт, для которого есть Instant App, „приложение“ загрузится на устройство и начнет работать как нативное приложение, но без процесса инсталляции.»
Я один не рад этому?
Нафига мне это, как пользователю?
Юмор юмором, но
С мангалом на самом деле справиться сложнее чем с духовкой.
Научиться пользовать мясорубку можно за 5 минут, а научиться шинковать — очень вряд ли.
А «мясо по-французски» не является блюдом французской кухни.
По-моему, самое надежное и простое — сразу гонять тесты производительности.
Подделка просто не выдаст нужного результата.
Кроме того железо может быть и оригинальным, но с деффектом. Тест дает шанс на выявление.
Не тем вы занимаетесь.
Вы основные функции делайте работоспособными, пожалуйста.
У вас до сих пор в шаблонах оплаты нелепая детсадовская ошибка: выбираешь сохраненный шаблон — он пишет что реквизиты неправильные (потому что номер телефона при сохранении шаблона записывает с +7, а потом сам же в свое же поле вставляет неправильно +7+7)
И подобных косяков — не один.
Караоке-бары шумят.
А тут претензии в том, что налоги не платят.
Слишком разные вещи, чтобы заявлять что «По тем же причинам запрещают, например, караоке-бары на первом этаже жилых зданий.»
Смысл airbnb и был изначально в том, что ты живешь не в хостеле, и не в отеле.
Да, тех кто занимается сдачей профессионально по нескольку объектов, нужно оттуда гнать (или заставлять регистрироваться и платить ровно теже самые налоги). А вот к доходам обычных граждан тянуть лапы — это любят везде.
В том числе устранил проблемку с прокруткой.
Посмотрите пуллреквест и, если понравится, смержите.
А насчет экрана — внешний монитор.
Пример использования, мне кажется, не был бы лишним.
Тут https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger показано как можно использовать два «квалифайра» Local и Remote для работы с локальным хранилищем и удаленным.
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
public @interface Local {
}
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
public @interface Remote {
}
@Singleton
public class TasksRepository implements TasksDataSource {
private final TasksDataSource mTasksRemoteDataSource;
private final TasksDataSource mTasksLocalDataSource;
@Inject
TasksRepository(@Remote TasksDataSource tasksRemoteDataSource,
@Local TasksDataSource tasksLocalDataSource) {
mTasksRemoteDataSource = tasksRemoteDataSource;
mTasksLocalDataSource = tasksLocalDataSource;
}
@Override
public void getTasks(@NonNull final LoadTasksCallback callback) {
checkNotNull(callback);
if (mCacheIsDirty) {
// If the cache is dirty we need to fetch new data from the network.
getTasksFromRemoteDataSource(callback);
} else {
// Query the local storage if available. If not, query the network.
mTasksLocalDataSource.getTasks(callback);
}
}
//…
}
В статье как раз пример.
Error 21: Error in type
А я вот более чем уверен, что оно будет хотеть доступ к моим файлам, контактам и прочему.
И да, я знаю, что могу это запретить, но к чему мне все эти лишние телодвижения?
Я один не рад этому?
Нафига мне это, как пользователю?
Они просто присылают счет в конце месяца.
Также как, например, за ЖКХ. Это не кредит!
С мангалом на самом деле справиться сложнее чем с духовкой.
Научиться пользовать мясорубку можно за 5 минут, а научиться шинковать — очень вряд ли.
А «мясо по-французски» не является блюдом французской кухни.
Подделка просто не выдаст нужного результата.
Кроме того железо может быть и оригинальным, но с деффектом. Тест дает шанс на выявление.
При клике по красивой кнопке делайте клик по невидимому инпуту.
Одно дело, когда в система усложняется, а другое — когда умышленное замедление.
Да и если уж на то пошло, на 6 андроиде никаких тормозов по сравнению с 5 не вижу, а вот время работы от батареи существенно выросло.
Вы основные функции делайте работоспособными, пожалуйста.
У вас до сих пор в шаблонах оплаты нелепая детсадовская ошибка: выбираешь сохраненный шаблон — он пишет что реквизиты неправильные (потому что номер телефона при сохранении шаблона записывает с +7, а потом сам же в свое же поле вставляет неправильно +7+7)
И подобных косяков — не один.
Операций-то не было, они были все отменены )
А тут претензии в том, что налоги не платят.
Слишком разные вещи, чтобы заявлять что «По тем же причинам запрещают, например, караоке-бары на первом этаже жилых зданий.»
Смысл airbnb и был изначально в том, что ты живешь не в хостеле, и не в отеле.
Да, тех кто занимается сдачей профессионально по нескольку объектов, нужно оттуда гнать (или заставлять регистрироваться и платить ровно теже самые налоги). А вот к доходам обычных граждан тянуть лапы — это любят везде.