package com.gump.inland.sdk.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.gump.inland.gamesdk.InlandSDK; import com.gump.inland.gamesdk.InlandSDKCallback; import com.gump.inland.gamesdk.InlandSDKException; import com.gump.inland.gamesdk.bean.GumpUser; import com.gump.inland.gamesdk.bean.PayRequest; import com.gump.inland.gamesdk.callback.PurchaseCallback; import com.gump.inland.gamesdk.passport.Passport; import com.ninjaonline.R; public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private TextView tvSDKInfo; private TextView tvUserInfo; private TextView tvPurchaseResult; private Button btnLogin; private Button btnPay; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvSDKInfo = (TextView) findViewById(R.id.sdk_info); tvUserInfo = (TextView) findViewById(R.id.user_info); tvPurchaseResult = (TextView) findViewById(R.id.purchase_result); btnLogin = (Button) findViewById(R.id.login); btnPay = (Button) findViewById(R.id.purchase); Log.d(TAG, "MainActivity onCreate"); InlandSDK.setIsDebugEnable(false); InlandSDK.setScreenLandscape(true); InlandSDK.initializeSDK("10006", "6731f0406495c0a92ea7931f94b307b7"); Passport.getInstance().registerCallback(new InlandSDKCallback() { @Override public void onSuccess(GumpUser result) { Log.d(TAG, "gumpUser:" + result.toString()); btnLogin.setVisibility(View.GONE); tvUserInfo.setText(formatUserInfo(result)); btnPay.setVisibility(View.VISIBLE); } @Override public void onError(InlandSDKException error) { Log.d(TAG, "login error:" + error.getMessage()); } @Override public void onCancel() { Log.d(TAG, "login be canceled"); } }); tvSDKInfo.setText(getSDKInfo()); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Passport.getInstance().login(MainActivity.this); } }); btnPay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { PayRequest payRequest = new PayRequest(); payRequest.setPrice(1); payRequest.setProduct("玄冥剑"); payRequest.setExtOrder("p100201508311731"); payRequest.setGumpUid(Passport.getInstance().getGumpUser().getUid()); InlandSDK.purchase(MainActivity.this, payRequest, new PurchaseCallback() { @Override public void onPurchaseError(final Exception e) { Log.w(TAG, "purchase error:" + e.getMessage()); runOnUiThread(new Runnable() { @Override public void run() { tvPurchaseResult.setText("purchase occured an error:" + e.getMessage()); } }); } @Override public void onPurchaseSuccess(final String gumpTransId, final String extOrder) { Log.d(TAG, "purchase success:" + gumpTransId + ",extorder:" + extOrder); runOnUiThread(new Runnable() { @Override public void run() { tvPurchaseResult.setText("purchase " + gumpTransId + " success,extorder:" + extOrder); } }); } @Override public void onPurchaseCanceled() { Log.d(TAG, "purchase be canceled"); runOnUiThread(new Runnable() { @Override public void run() { tvPurchaseResult.setText("purchase be canceled"); } }); } }); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (!InlandSDK.onActivityResult(requestCode, resultCode, data)) super.onActivityResult(requestCode, resultCode, data); } private String getSDKInfo() { StringBuilder str = new StringBuilder(); str.append("SDK version:"); str.append(InlandSDK.getVersion()); str.append("\nappId:"); str.append(InlandSDK.getAppId()); str.append("\nappKey:"); str.append(InlandSDK.getAppKey()); return str.toString(); } private String formatUserInfo(GumpUser user) { StringBuilder str = new StringBuilder(); str.append("Logined User information:\n"); str.append("userId:" + user.getUid()); str.append("\nacccountType:" + user.getAccountType()); str.append("\nsessionKey:" + user.getSessionKey()); return str.toString(); } }