package cn.mutils.app.demo.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import cn.mutils.app.demo.CaptureActivity;
import cn.mutils.app.demo.CaptureActivity.CaptureResult;
import cn.mutils.app.demo.R;
import cn.mutils.app.event.listener.OnActivityResultListener;
import cn.mutils.app.ui.StateView;
import cn.mutils.app.zxing.QRCodeView;
import cn.mutils.core.annotation.event.Click;
import cn.mutils.core.annotation.res.FindViewById;
import cn.mutils.core.annotation.res.SetContentView;
@SetContentView(R.layout.view_qrcode)
public class QRCodeDemoView extends StateView {
public static final int REQUEST_CODE_CAPTURE = 1004;
@FindViewById(R.id.code)
protected QRCodeView mCodeView;
public QRCodeDemoView(Context context) {
super(context);
}
public QRCodeDemoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public QRCodeDemoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onCreate() {
super.onCreate();
this.addOnActivityResultListener(new OnActivityResultListener() {
@Override
public void onActivityResult(Context context, int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_CAPTURE && resultCode == Activity.RESULT_OK) {
CaptureResult result = new CaptureResult();
result.getFrom(data);
mCodeView.setText(result.getCode());
}
}
});
}
@Click(R.id.go)
protected void onClickGo() {
startActivityForResult(new Intent(getContext(), CaptureActivity.class), REQUEST_CODE_CAPTURE);
}
}