package in.srain.cube.demo.ui.request;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ScrollView;
import android.widget.TextView;
import in.srain.cube.demo.R;
import in.srain.cube.demo.datamodel.CacheAbleRequestData;
import in.srain.cube.demo.event.DemoSimpleEventHandler;
import in.srain.cube.demo.event.EventCenter;
import in.srain.cube.demo.event.MsgDataEvent;
import in.srain.cube.mints.base.TitleBaseFragment;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CacheAbleRequestDemoFragment extends TitleBaseFragment {
private TextView mTextView;
private ScrollView mScrollView;
@Override
protected View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHeaderTitle(R.string.cube_demo_request_cache_able_request);
View view = inflater.inflate(R.layout.fragment_request_cache, null);
mTextView = (TextView) view.findViewById(R.id.request_cache_demo_text_view);
mScrollView = (ScrollView) view.findViewById(R.id.request_cache_demo_scroll_view);
EventCenter.bindContainerAndHandler(this, new DemoSimpleEventHandler() {
public void onEvent(final MsgDataEvent dataEvent) {
mTextView.post(new Runnable() {
@Override
public void run() {
appendMsg(dataEvent.msg);
}
});
}
}).tryToRegisterIfNot();
TextView textView = (TextView) view.findViewById(R.id.request_cache_demo_btn_use_cache_anyway);
textView.setText(R.string.cube_demo_cache_manager_clear_cache);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CacheAbleRequestData.getImage(true, false);
}
});
view.findViewById(R.id.request_cache_demo_btn_with_cache).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CacheAbleRequestData.getImage(false, false);
}
});
view.findViewById(R.id.request_cache_demo_btn_no_cache).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CacheAbleRequestData.getImage(false, true);
}
});
view.findViewById(R.id.request_cache_demo_btn_clear_log).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clearMsg();
}
});
return view;
}
private void clearMsg() {
mTextView.setText("");
}
private void appendMsg(String msg) {
String time = new SimpleDateFormat("HH:mm:ss").format(new Date());
msg = String.format("%s: %s\n", time, msg);
mTextView.append(msg);
mScrollView.post(new Runnable() {
@Override
public void run() {
mScrollView.fullScroll(View.FOCUS_DOWN);
}
});
}
}