package org.cnodejs.android.md.presenter.implement; import android.app.Activity; import android.support.annotation.NonNull; import org.cnodejs.android.md.model.api.ApiClient; import org.cnodejs.android.md.model.api.ApiDefine; import org.cnodejs.android.md.model.api.DefaultCallback; import org.cnodejs.android.md.model.entity.Notification; import org.cnodejs.android.md.model.entity.Result; import org.cnodejs.android.md.model.storage.LoginShared; import org.cnodejs.android.md.presenter.contract.INotificationPresenter; import org.cnodejs.android.md.ui.view.INotificationView; import okhttp3.Headers; public class NotificationPresenter implements INotificationPresenter { private final Activity activity; private final INotificationView notificationView; public NotificationPresenter(@NonNull Activity activity, @NonNull INotificationView notificationView) { this.activity = activity; this.notificationView = notificationView; } @Override public void getMessagesAsyncTask() { ApiClient.service.getMessages(LoginShared.getAccessToken(activity), ApiDefine.MD_RENDER).enqueue(new DefaultCallback<Result.Data<Notification>>(activity) { @Override public boolean onResultOk(int code, Headers headers, Result.Data<Notification> result) { notificationView.onGetMessagesOk(result.getData()); return false; } @Override public void onFinish() { notificationView.onGetMessagesFinish(); } }); } @Override public void markAllMessageReadAsyncTask() { ApiClient.service.markAllMessageRead(LoginShared.getAccessToken(activity)).enqueue(new DefaultCallback<Result>(activity) { @Override public boolean onResultOk(int code, Headers headers, Result result) { notificationView.onMarkAllMessageReadOk(); return false; } }); } }