/
Libra
/
my-application
Обзор
Документация
Войти
/
Libra
/
my-application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/libraprogramming/myapplication/presentation/presenter/CardViewPresenter.java
70 строк
2 KB
Толмачёв Владимир Викторович
Architecture refactoring 2
20 июл 2026, 17:22
20 июл 2026, 17:22
87aa6f2
Код
Авторство
О чём код?
package com.libraprogramming.myapplication.presentation.presenter; import androidx.annotation.NonNull; import com.libraprogramming.domain.interactor.*; import com.libraprogramming.myapplication.presentation.internal.di.PerActivity; import com.libraprogramming.myapplication.presentation.mapper.CardViewModelMapper; import com.libraprogramming.myapplication.presentation.view.CardView; import org.jetbrains.annotations.NotNull; import javax.inject.Inject; @PerActivity public class CardViewPresenter implements Presenter { @NotNull private final GetCardUseCase getCardUseCase; @NotNull private final DeleteCardUseCase deleteCard; private final CardViewModelMapper mapper; private CardView view; @Inject public CardViewPresenter( @NotNull @NonNull GetCardUseCase useCase, @NotNull @NonNull DeleteCardUseCase deleteCard, @NotNull @NonNull CardViewModelMapper mapper) { this.getCardUseCase = useCase; this.deleteCard = deleteCard; this.mapper = mapper; } public void setView(CardView view) { this.view = view; } @Override public void destroy() { getCardUseCase.dispose(); deleteCard.dispose(); view = null; } public void loadCard(Long cardId) { view.showLoading(); getCardUseCase.execute( cardId, card -> { view.hideLoading(); view.renderCard(mapper.map(card)); }, throwable -> { view.hideLoading(); } ); } public void deleteLoyaltyCard(Long cardId) { view.showLoading(); deleteCard.execute( cardId, () -> { view.navigateBack(); }, throwable -> { view.hideLoading(); } ); } }