Blame view

app/src/main/java/com/gump/passport/demo/MainActivity.java 7.09 KB
c507bd179   赵康   add ignore file
1
2
3
  package com.gump.passport.demo;
  
  import android.content.Intent;
f905cc410   赵康   SDK has update to...
4
  import android.content.SharedPreferences;
c507bd179   赵康   add ignore file
5
  import android.os.Bundle;
f905cc410   赵康   SDK has update to...
6
  import android.preference.PreferenceManager;
c507bd179   赵康   add ignore file
7
8
  import android.support.v7.app.AppCompatActivity;
  import android.util.Log;
f905cc410   赵康   SDK has update to...
9
10
  import android.view.Menu;
  import android.view.MenuItem;
c507bd179   赵康   add ignore file
11
  import android.view.View;
f905cc410   赵康   SDK has update to...
12
  import android.widget.Button;
c507bd179   赵康   add ignore file
13
  import android.widget.TextView;
f905cc410   赵康   SDK has update to...
14
  import android.widget.Toast;
c507bd179   赵康   add ignore file
15
16
17
18
19
20
  
  import com.gump.PaymentVersion;
  import com.gump.SDKAgent;
  import com.gump.gpassport.Actions;
  import com.gump.gpassport.GamePlayer;
  import com.gump.gpassport.Passport;
f905cc410   赵康   SDK has update to...
21
  import com.gump.gpassport.PlayerType;
c507bd179   赵康   add ignore file
22
23
  import com.gump.gpassport.StateListener;
  import com.gump.payment.Payment;
f905cc410   赵康   SDK has update to...
24
25
  import com.gump.payment.callback.PurchaseCallback;
  import com.gump.payment.callback.ResultCallback;
c507bd179   赵康   add ignore file
26
27
  
  public class MainActivity extends AppCompatActivity implements StateListener, PurchaseCallback {
f905cc410   赵康   SDK has update to...
28
      private static final String TAG = "MainActivity";
c507bd179   赵康   add ignore file
29
      private Passport passport;
c507bd179   赵康   add ignore file
30
      private TextView tvInfo;
f905cc410   赵康   SDK has update to...
31
32
33
34
      private View mainLayout;
      private Button btnLogin;
  
      private GamePlayer currentPlayer;
c507bd179   赵康   add ignore file
35

f905cc410   赵康   SDK has update to...
36
37
38
      private Button btnIab;
      private Button btnPay;
      private Button btnCheck;
c507bd179   赵康   add ignore file
39
40
41
42
43
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
c507bd179   赵康   add ignore file
44
45
  
          tvInfo = findViewById(R.id.info);
f905cc410   赵康   SDK has update to...
46
47
48
          mainLayout = findViewById(R.id.main_layout);
          btnLogin = findViewById(R.id.login);
          btnLogin.setOnClickListener(new View.OnClickListener() {
c507bd179   赵康   add ignore file
49
50
51
52
53
              @Override
              public void onClick(View v) {
                  passport.signIn(MainActivity.this);
              }
          });
f905cc410   赵康   SDK has update to...
54
55
          btnCheck = mainLayout.findViewById(R.id.check);
          btnCheck.setOnClickListener(new View.OnClickListener() {
c507bd179   赵康   add ignore file
56
57
              @Override
              public void onClick(View v) {
f905cc410   赵康   SDK has update to...
58
59
60
61
62
63
64
65
                  initPay();
              }
          });
          btnIab = mainLayout.findViewById(R.id.iab);
          btnIab.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Bundle payInfo = assemblePayBundle();
c507bd179   赵康   add ignore file
66
67
68
                  Payment.launchIAP(MainActivity.this, payInfo, MainActivity.this);
              }
          });
f905cc410   赵康   SDK has update to...
69
70
          btnPay = mainLayout.findViewById(R.id.pay);
          btnPay.setOnClickListener(new View.OnClickListener() {
c507bd179   赵康   add ignore file
71
72
              @Override
              public void onClick(View v) {
f905cc410   赵康   SDK has update to...
73
                  Bundle payInfo = assemblePayBundle();
c507bd179   赵康   add ignore file
74
75
76
                  Payment.pay(MainActivity.this, payInfo, MainActivity.this);
              }
          });
f905cc410   赵康   SDK has update to...
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
  
          mainLayout.findViewById(R.id.bind).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  passport.link(MainActivity.this);
              }
          });
  
          mainLayout.findViewById(R.id.switch_acc).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  passport.switchAccount(PlayerType.GamePlayer);
              }
          });
  
          mainLayout.findViewById(R.id.switch_gump).setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  passport.switchAccount(PlayerType.GumpPlayer);
              }
          });
  
  
          SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
          boolean mode = sp.getBoolean("key_mode", true);
          String appId = sp.getString("key_appid", "100");
          String channel = sp.getString("key_channel", "1000");
          String payVersion = sp.getString("key_pay_version", "V3");
  
          SDKAgent.init(getApplicationContext(), appId, channel);
          SDKAgent.getSettings().setDebug(mode);
          SDKAgent.getSettings().setPaymentVersion(PaymentVersion.valueOf(payVersion));
  
          passport = new Passport.Builder().context(MainActivity.this).setListener(MainActivity.this).build();
  
      }
  
      private Bundle assemblePayBundle() {
          SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
          Bundle payInfo = new Bundle();
          payInfo.putString("product", sp.getString("key_product", "10080"));
          payInfo.putFloat("amount", sp.getFloat("key_amount", 0.1f));
          payInfo.putString("extraInfo", sp.getString("key_extra", "test"));
          payInfo.putString("serverId", sp.getString("key_server_id", "100"));
          payInfo.putString("roleId", sp.getString("key_role_id", "41080"));
          payInfo.putString("currency", sp.getString("key_currency", "THB"));
          return payInfo;
      }
  
  
      private void initPay() {
          btnCheck.setEnabled(false);
          SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
          String serverId = sp.getString("key_server_id", "100");
          String roleId = sp.getString("key_role_id", "41080");
          Payment.shouldUseCoPay(this, serverId, roleId, new ResultCallback() {
              @Override
              public void onResult(boolean isRisk) {
                  btnCheck.setEnabled(true);
                  btnIab.setEnabled(isRisk);
                  btnPay.setEnabled(!isRisk);
              }
          });
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          getMenuInflater().inflate(R.menu.main, menu);
          return super.onCreateOptionsMenu(menu);
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          if (item.getItemId() == R.id.setting) {
              Intent intent = new Intent(this, SettingsActivity.class);
              startActivity(intent);
              return true;
          }
          return super.onOptionsItemSelected(item);
c507bd179   赵康   add ignore file
156
157
158
      }
  
      @Override
f905cc410   赵康   SDK has update to...
159
      public void onResume() {
c507bd179   赵康   add ignore file
160
161
162
163
164
          super.onResume();
          passport.onResume();
      }
  
      @Override
f905cc410   赵康   SDK has update to...
165
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
c507bd179   赵康   add ignore file
166
167
168
169
170
171
          if (!passport.onActivityResult(requestCode, resultCode, data))
              super.onActivityResult(requestCode, resultCode, data);
      }
  
      @Override
      public void onActionSucced(Actions action, GamePlayer player) {
f905cc410   赵康   SDK has update to...
172
173
174
175
176
177
178
179
180
181
182
183
          switch (action) {
              case SIGN:
                  currentPlayer = player;
                  tvInfo.setText("Login succed! gump id=" + player.getId() + ",playerType=" + player.getPlayerType());
                  btnLogin.setVisibility(View.GONE);
                  mainLayout.setVisibility(View.VISIBLE);
                  break;
              case SWITCH:
                  tvInfo.setText("Switch account succed! Pls reboot the game!");
                  Toast.makeText(this, "The account has switched,pls reboot the Game!", Toast.LENGTH_LONG).show();
                  break;
          }
c507bd179   赵康   add ignore file
184
185
186
      }
  
      @Override
f905cc410   赵康   SDK has update to...
187
188
      public void onActionFailured(Throwable e) {
          tvInfo.setText("login has error:" + e.getMessage());
c507bd179   赵康   add ignore file
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
      }
  
      @Override
      public void onPurchaseCompleted() {
          Log.i(TAG, "purchase completed");
      }
  
      @Override
      public void onPurchaseError(int code, String msg) {
          Log.i(TAG, "purchase error");
      }
  
      @Override
      public void onPurchaseCanceled() {
          Log.i(TAG, "purchase canceled");
      }
  }