package com.hupu.games.hupudollor.activity;
import android.annotation.TargetApi;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import com.hupu.games.R;
import com.hupu.games.activity.HupuBaseActivity;
import com.hupu.games.common.HuPuRes;
import com.hupu.games.common.SharedPreferencesMgr;
import com.hupu.games.data.SSLKey;
import com.hupu.games.hupudollor.data.HupuDollorRechargeReq;
import com.hupu.http.HupuHttpHandler;
/**
* @author zhenhua 网页支付,充值成功会自动关闭该页面。
* */
public class HupuDollorPostOrderActivity extends HupuBaseActivity {
private WebView mWebView;
View progressbar;
private int methodId;
private TextView txtTitle;
@TargetApi(5)
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_hupudollor_post_order);
progressbar =findViewById(R.id.probar);
txtTitle = (TextView)findViewById(R.id.txt_title);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressbar.setVisibility(View.GONE);
if(url.contains("result=success")){
isSuccess(url.contains("result=success"));
}
}
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
showToast("加载出错!");
}
});
WebSettings ws = mWebView.getSettings();
ws.setBuiltInZoomControls(true); // 设置显示缩放按钮
ws.setSupportZoom(true); // 支持缩放
ws.setJavaScriptEnabled(true);
ws.setAllowFileAccess(true);
ws.setUseWideViewPort(true);
ws.setSupportMultipleWindows(true);
ws.setRenderPriority(RenderPriority.HIGH);
ws.setLoadsImagesAutomatically(true);
ws.setCacheMode(WebSettings.LOAD_DEFAULT);// 设置缓存模式
// post order data
Intent in = getIntent();
String token = in.getStringExtra("token");
String type = in.getStringExtra("type");
String evnet = in.getStringExtra("event");
String charge = in.getStringExtra("charge");
methodId = in.getIntExtra("method_id", HuPuRes.REQ_METHOD_GET_HUPUDOLLOR_RECHARGE);
if (methodId != HuPuRes.REQ_METHOD_GET_HUPUDOLLOR_RECHARGE) {
txtTitle.setText(getString(R.string.submit_post));
}
initParameter();
mParams.put("token", token);
mParams.put("type", type);
mParams.put("event", evnet);
mParams.put("charge", charge);
mParams.put("agent", ws.getUserAgentString());
String sign = SSLKey.getSSLSign(mParams, SharedPreferencesMgr.getString("sugar", ""));//salt 值由init中的sugar给出。必须要有的。
mParams.put("sign", sign);
sendRequest(methodId, mParams,
new HupuHttpHandler(this), false);
setOnClickListener(R.id.btn_back);
mApp.doPost=true;
}
@Override
public void onReqResponse(Object o, int payMethodId) {
super.onReqResponse(o, methodId);
if (payMethodId == methodId) {
HupuDollorRechargeReq req=(HupuDollorRechargeReq) o;
if(req.url!=null)
mWebView.loadUrl(req.url);
}
}
@Override
public void treatClickEvent(int id) {
super.treatClickEvent(id);
switch (id) {
case R.id.btn_back:
setResult(RESULT_CANCELED);
finish();
break;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN)
{
setResult(RESULT_CANCELED);
}
return super.onKeyDown(keyCode, event);
}
void isSuccess(boolean s)
{
Intent in =new Intent();
if(s){
in.putExtra("success", 1);
mApp.doPost=false;
setResult(RESULT_OK,in);
}
else{
setResult(RESULT_OK);
}
this.finish();
}
}