package com.wisedu.scc.love.activity;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.wisedu.scc.love.R;
import com.wisedu.scc.love.bean.Book;
import com.wisedu.scc.love.bean.Product;
import com.wisedu.scc.love.utils.BarCodeUtil;
import com.wisedu.scc.love.utils.CommonUtil;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
/**
* Created by JZ on 2015/3/25.
*/
@EActivity(R.layout.activity_scan_result)
public class ScanResultActivity extends Activity{
private String scanResult;
@ViewById(R.id.webViewContainer)
protected RelativeLayout webViewContainer;
@ViewById(R.id.isbnContainer)
protected RelativeLayout isbnContainer;
@ViewById(R.id.webView)
protected WebView webView;
@ViewById(R.id.bookview_title)
protected TextView title;
@ViewById(R.id.bookview_author)
protected TextView author;
@ViewById(R.id.bookview_publisher)
protected TextView publisher;
@ViewById(R.id.bookview_publisherdate)
protected TextView publishDate;
@ViewById(R.id.bookview_isbn)
protected TextView isbn;
@ViewById(R.id.bookview_summary)
protected TextView summary;
@ViewById(R.id.bookview_rate)
protected TextView rate;
@ViewById(R.id.bookview_price)
protected TextView price;
@ViewById(R.id.bookview_pages)
protected TextView page;
@ViewById(R.id.bookview_content)
protected TextView content;
@ViewById(R.id.bookview_tag)
protected TextView tag;
@ViewById(R.id.bookview_authorinfo)
protected TextView authorInfo;
@ViewById(R.id.bookview_cover)
protected ImageView cover;
@ViewById(R.id.bookview_arrow)
protected ImageView arrow;
@ViewById(R.id.bookview_content_menu)
protected TextView content_menu;
@AfterViews
public void doAfterViews(){
// 允许 Javascript and 缩放
WebSettings websettings = webView.getSettings();
websettings.setJavaScriptEnabled(true);
websettings.setBuiltInZoomControls(true);
// 设置客户端
webView.setWebViewClient(new WebViewClient() {
// 在引用中打开URL,而非手机浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
// 加载URL
scanResult = getIntent().getStringExtra("result");
if(null!=scanResult){
if(scanResult.contains(".")) {// 二维码扫描出的网址
webViewContainer.setVisibility(View.VISIBLE);
isbnContainer.setVisibility(View.GONE);
webView.loadUrl(scanResult);
} else {// 条形码扫描出的结果
webViewContainer.setVisibility(View.GONE);
BarCodeUtil.BarCodeType type = BarCodeUtil.getBarCodeType(scanResult);
switch (type){
case BOOK:
isbnContainer.setVisibility(View.VISIBLE);
new Thread(bookNetworkTask).start();
break;
case CHNPDT:
case FORPDT:
// TODO 商品信息处理
// new Thread(productNetworkTask).start();
CommonUtil.shortToast(getApplicationContext(), "商品信息读取正在开发中……");
this.finish();
break;
case BILL:
case COUPON:
case CURRENCYNOTE:
case UNKNOWN:
CommonUtil.shortToast(getApplicationContext(), "该条形码目前不支持");
break;
}
}
}
}
@Click(R.id.bookview_content_menu)
public void dealContentMenu(){
if(content.getVisibility()==View.GONE){
arrow.setImageResource(R.drawable.down);
content.setVisibility(View.VISIBLE);
} else {
arrow.setImageResource(R.drawable.right);
content.setVisibility(View.GONE);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
/**
* 处理器
*/
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle bundle = msg.getData();
Object bobj = bundle.getParcelable("book");
Book book = null==bobj?new Book():(Book)bobj;
if(null!=book){
title.setText(book.getTitle());
author.setText("作者:"+book.getAuthor());
publisher.setText("出版社:"+book.getPublisher());
publishDate.setText("出版时间:"+book.getPublishDate());
isbn.setText("ISBN:"+book.getISBN());
summary.setText(book.getSummary());
page.setText("页数:"+book.getPage());
price.setText("定价:"+book.getPrice());
content.setText(book.getContent());
authorInfo.setText(book.getAuthorInfo());
tag.setText("标签:"+book.getTag());
cover.setImageBitmap(book.getBitmap());
}
Object pobj = bundle.getParcelable("product");
Product product = null==pobj?new Product():(Product)pobj;
if(null!=product){
// TODO 商品信息展示
}
}
};
/**
* 网络操作相关的子线程
*/
Runnable bookNetworkTask = new Runnable() {
@Override
public void run() {
Book book = BarCodeUtil.getBarCode_Book(scanResult);
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putParcelable("book", book);
message.setData(bundle);
handler.sendMessage(message);
}
};
/**
* 网络操作相关的子线程
*/
Runnable productNetworkTask = new Runnable() {
@Override
public void run() {
Product product = BarCodeUtil.getBarCode_Product(scanResult);
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putParcelable("product", product);
message.setData(bundle);
handler.sendMessage(message);
}
};
}