Newer
Older
Cactus-CleanArchitecture / app / src / main / java / org / ntlab / radishforandroidstudio / CactusCleanArchitecture / Controller / LoginResponseController.java
package org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Controller;

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;

import net.arnx.jsonic.JSON;
import net.arnx.jsonic.TypeReference;

import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.Cactus;
import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.Entities.URIAddressedAccount;
import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.LoginResponseControllerBoundary;
import org.ntlab.radishforandroidstudio.CactusCleanArchitecture.UseCases.LoginResponseUseCase;

public class LoginResponseController implements LoginResponseControllerBoundary {
    private FragmentActivity fragmentActivity;
    private FragmentManager manager;

    public LoginResponseController(FragmentActivity fragmentActivity, FragmentManager manager) {
        this.fragmentActivity = fragmentActivity;
        this.manager = manager;
    }

    @Override
    public void onResponse(String response) {
        URIAddressedAccount lac = JSON.decode(response, new TypeReference<URIAddressedAccount>() {
        });
        System.out.println(response);
        LoginResponsePresenter loginResponsePresenter = new LoginResponsePresenter(fragmentActivity, manager);
        LoginResponseUseCase loginResponseUseCase = new LoginResponseUseCase((Cactus) (fragmentActivity.getApplication()), loginResponsePresenter);
        loginResponseUseCase.inputData(lac);
        loginResponseUseCase.proc();
    }
}