LoginActivity.java 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. package com.guangzhou.haochuan.jxtv.activity;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.content.DialogInterface;
  5. import android.content.Intent;
  6. import android.graphics.drawable.Drawable;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Looper;
  10. import android.util.Log;
  11. import android.widget.RelativeLayout;
  12. import com.guangzhou.haochuan.jxtv.model.MiniVideo;
  13. import com.guangzhou.haochuan.jxtv.util.FileUtil;
  14. import com.guangzhou.haochuan.jxtv.util.LocalStore;
  15. import com.guangzhou.haochuan.jxtv.util.OttLoginUtil;
  16. import com.guangzhou.haochuan.jxtv.R;
  17. import com.guangzhou.haochuan.jxtv.util.ScreenUtil;
  18. import com.guangzhou.haochuan.jxtv.viewModel.MiniVideoViewModel;
  19. import com.ystgame.sdk.billing.api.GameInterface;
  20. import com.ystgame.sdk.billing.api.MonthAuthResult;
  21. import java.io.File;
  22. import java.util.Observable;
  23. import java.util.Observer;
  24. public class LoginActivity extends Activity implements Observer {
  25. //电信计费参数
  26. private int appId = 252; //唯一用户标识,在AndroidMainfest.xml里的Meta-Data里设置
  27. private String appName = "电竞部落";
  28. private String providerName = "广州浩传"; //内容提供商
  29. private String serviceTel = "020-38468029";
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_login);
  34. init();
  35. initYst();
  36. }
  37. private void init(){
  38. RelativeLayout background = findViewById(R.id.back_image);
  39. //设置背景图片
  40. String path = FileUtil.getInstance().getLoadingImageSavePath(this, ScreenUtil.getInstance().getDpiType(this));
  41. File file = new File(path);
  42. if(file.exists()){
  43. background.setBackground(Drawable.createFromPath(path));
  44. }
  45. }
  46. private void initYst(){
  47. LoginActivity.this.runOnUiThread(new Runnable() {
  48. @Override
  49. public void run() {
  50. try{
  51. GameInterface.initializeApp(LoginActivity.this,appId,appName,providerName,serviceTel,new GameInterface.IAppUidCallback(){
  52. @Override
  53. public void onResult(int i, String s) {
  54. switch (i){
  55. case 0:
  56. Log.d("Telecom","init success");
  57. auth();
  58. //Toast.makeText(TelecomPayActivity.this,"易视腾初始化成功",Toast.LENGTH_SHORT).show();
  59. break;
  60. default:
  61. new AlertDialog.Builder(LoginActivity.this)
  62. .setTitle("错误")
  63. .setMessage("初始化失败,点击'确定'退出" )
  64. .setNegativeButton("确定", new DialogInterface.OnClickListener() {
  65. @Override
  66. public void onClick(DialogInterface dialog, int which) {
  67. LoginActivity.this.finish();
  68. }
  69. }).show();
  70. break;
  71. }
  72. }
  73. });
  74. }catch (Exception e){
  75. e.printStackTrace();
  76. }
  77. }
  78. });
  79. }
  80. //包月鉴权(此函数还未用到,因为现在还是从后台获取用户是否包月状态,后续后台需要更改,再用)
  81. protected void auth()
  82. {
  83. try{
  84. // TODO Auto-generated method stub
  85. GameInterface.monthAuth(this,new GameInterface.IAuthCallback()
  86. {
  87. @Override
  88. public void onResult(final int code, final String msg)
  89. {
  90. // TODO Auto-generated method stub
  91. switch(code)
  92. {
  93. case MonthAuthResult.AUTH_SUCCESS:
  94. //鉴权成功 用户已购买...
  95. LocalStore.getInstance().storeIsVip(LoginActivity.this,true);
  96. OttLogin();
  97. break;
  98. default:
  99. // 其他错误,服务器端处理请求失败
  100. LocalStore.getInstance().storeIsVip(LoginActivity.this,false);
  101. OttLogin();
  102. break;
  103. }
  104. }
  105. });
  106. }catch (Exception e){
  107. e.printStackTrace();
  108. }
  109. }
  110. private void OttLogin(){
  111. OttLoginUtil.getInstance().init(this, new OttLoginUtil.OnLoginListener() {
  112. @Override
  113. public void OnSuccess() {
  114. LocalStore.getInstance().storeLoginOrNot(LoginActivity.this,true);
  115. //创建用户
  116. String uId= String.valueOf(OttLoginUtil.getInstance().getDeviceId());
  117. //Toast.makeText(LoginActivity.this,"uid:" + uId,Toast.LENGTH_SHORT).show();
  118. if(uId.equals("0")){
  119. uId = "13";
  120. }
  121. LocalStore.getInstance().storeUserId(LoginActivity.this,uId);
  122. String templateId = String.valueOf(OttLoginUtil.getInstance().getTemplateID());
  123. String platformId = String.valueOf(OttLoginUtil.getInstance().getPlatformID());
  124. String mac = String.valueOf(OttLoginUtil.getInstance().getMac());
  125. LocalStore.getInstance().storeMac(LoginActivity.this,mac);
  126. //new CreateUserViewModel(uId,templateId,platformId,mac).addObserver(LoginActivity.this);
  127. //请求迷你视频窗信息
  128. new MiniVideoViewModel(ScreenUtil.getInstance().getDpiType(LoginActivity.this)).addObserver(LoginActivity.this);
  129. }
  130. @Override
  131. public void onFail(String msg) {
  132. new AlertDialog.Builder(LoginActivity.this)
  133. .setTitle("错误")
  134. .setMessage("验证失败:" + msg + "\n" + "点击'确定'退出" )
  135. .setNegativeButton("确定", new DialogInterface.OnClickListener() {
  136. @Override
  137. public void onClick(DialogInterface dialog, int which) {
  138. LoginActivity.this.finish();
  139. }
  140. }).show();
  141. LocalStore.getInstance().storeLoginOrNot(LoginActivity.this,false);
  142. //new CreateUserViewModel("","","","").addObserver(LoginActivity.this);
  143. //请求迷你视频窗信息
  144. new MiniVideoViewModel(ScreenUtil.getInstance().getDpiType(LoginActivity.this)).addObserver(LoginActivity.this);
  145. }
  146. });
  147. }
  148. private void delayTransMain(){
  149. new Thread(){
  150. public void run(){
  151. Looper.prepare();
  152. new Handler().postDelayed(new Runnable() {
  153. @Override
  154. public void run() {
  155. Intent intent = new Intent(LoginActivity.this,DjblWebActivity.class);
  156. LoginActivity.this.startActivity(intent);
  157. LoginActivity.this.finish();
  158. }
  159. },2000);
  160. Looper.loop();
  161. }
  162. }.start();
  163. }
  164. private void delayTransStartVideo(){
  165. new Thread(){
  166. public void run(){
  167. Looper.prepare();
  168. new Handler().postDelayed(new Runnable() {
  169. @Override
  170. public void run() {
  171. Intent intent = new Intent(LoginActivity.this,StartVideoActivity.class);
  172. LoginActivity.this.startActivity(intent);
  173. LoginActivity.this.finish();
  174. }
  175. },2000);
  176. Looper.loop();
  177. }
  178. }.start();
  179. }
  180. @Override
  181. public void update(Observable o, Object arg) {
  182. if(o instanceof MiniVideoViewModel){
  183. MiniVideoViewModel miniVideoViewModel = (MiniVideoViewModel)o;
  184. MiniVideo miniVideo = miniVideoViewModel.getMiniVideo();
  185. if(miniVideo.code == 0){
  186. MiniVideo.MiniVideoData miniVideoData = miniVideo.data;
  187. int statusCode = -10;
  188. if(miniVideoData != null){
  189. statusCode = miniVideoData.status;
  190. }
  191. switch(statusCode){
  192. case 10:
  193. delayTransStartVideo();
  194. break;
  195. case -10:
  196. delayTransMain();
  197. break;
  198. default:
  199. delayTransMain();
  200. break;
  201. }
  202. }
  203. }
  204. }
  205. }