package com.jdroid.android.sample.ui.loading;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.jdroid.android.fragment.AbstractFragment;
import com.jdroid.android.fragment.FragmentHelper.UseCaseTrigger;
import com.jdroid.android.fragment.FragmentIf;
import com.jdroid.android.sample.R;
import com.jdroid.android.sample.ui.usecases.SampleUseCase;
import com.jdroid.android.usecase.listener.ActivityLoadingUseCaseListener;
public class BlockingLoadingFragment extends AbstractFragment {
private SampleUseCase sampleUseCase;
private ActivityLoadingUseCaseListener sampleUseCaseListener;
@Override
public Integer getContentFragmentLayout() {
return R.layout.blocking_loading_fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sampleUseCase = new SampleUseCase();
sampleUseCase.setDelayInSeconds(5);
sampleUseCaseListener = new ActivityLoadingUseCaseListener() {
@Override
protected FragmentIf getFragmentIf() {
return BlockingLoadingFragment.this;
}
};
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button fail = findView(R.id.fail);
fail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sampleUseCase.setFail(true);
executeUseCase(sampleUseCase);
}
});
}
@Override
public void onStart() {
super.onStart();
registerUseCase(sampleUseCase, sampleUseCaseListener, UseCaseTrigger.ONCE);
}
@Override
public void onStop() {
super.onStop();
unregisterUseCase(sampleUseCase, sampleUseCaseListener);
}
}