NormalUserActivity.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. package com.jyc.threegames.activity;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.content.IntentFilter;
  5. import android.media.MediaPlayer;
  6. import android.net.wifi.WifiManager;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Message;
  10. import android.os.PowerManager;
  11. import android.text.TextUtils;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.AdapterView;
  15. import android.widget.BaseAdapter;
  16. import android.widget.ListView;
  17. import android.widget.TextView;
  18. import androidx.annotation.NonNull;
  19. import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
  20. import com.jyc.threegames.App;
  21. import com.jyc.threegames.R;
  22. import com.jyc.threegames.activity.base.BaseActivity;
  23. import com.jyc.threegames.bean.EventMessage;
  24. import com.jyc.threegames.bean.result.ResGameInfo;
  25. import com.jyc.threegames.bean.result.ResGamePlayTime;
  26. import com.jyc.threegames.controller.GameController;
  27. import com.jyc.threegames.controller.LoginController;
  28. import com.jyc.threegames.net.SimpleRequest;
  29. import org.greenrobot.eventbus.EventBus;
  30. import org.greenrobot.eventbus.Subscribe;
  31. import org.greenrobot.eventbus.ThreadMode;
  32. import java.text.ParseException;
  33. import java.text.SimpleDateFormat;
  34. import java.util.ArrayList;
  35. import java.util.Calendar;
  36. import java.util.List;
  37. import java.util.Locale;
  38. import java.util.Timer;
  39. import java.util.TimerTask;
  40. import butterknife.BindView;
  41. import butterknife.ButterKnife;
  42. import butterknife.OnClick;
  43. public class NormalUserActivity extends BaseActivity {
  44. @BindView(R.id.swipe)
  45. SwipeRefreshLayout mSRF;
  46. @BindView(R.id.list)
  47. ListView mList;
  48. private Adapter mAdapter;
  49. private List<ResGamePlayTime> mData = new ArrayList<>();
  50. @Override
  51. protected String getPageTitle() {
  52. return "歡迎使用";
  53. }
  54. @Override
  55. protected void init(Bundle instance) {
  56. super.init(instance);
  57. mAdapter = new Adapter();
  58. mList.setAdapter(mAdapter);
  59. mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  60. @Override
  61. public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  62. ScaleActivity.LAUNCH(NormalUserActivity.this, mAdapter.getItem(i).id, mAdapter.getItem(i).gameTime.split(" ")[0]);
  63. }
  64. });
  65. mSRF.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  66. @Override
  67. public void onRefresh() {
  68. loadData();
  69. }
  70. });
  71. mSRF.post(new Runnable() {
  72. @Override
  73. public void run() {
  74. mSRF.setRefreshing(true);
  75. loadData();
  76. }
  77. });
  78. EventBus.getDefault().register(this);
  79. }
  80. @Override
  81. protected int getRootLayout() {
  82. return R.layout.activity_normal_user;
  83. }
  84. @Override
  85. protected void onDestroy() {
  86. EventBus.getDefault().unregister(this);
  87. super.onDestroy();
  88. }
  89. @OnClick(R.id.logout)
  90. public void clickLogout(){
  91. doLogout();
  92. }
  93. @Subscribe(threadMode = ThreadMode.MAIN)
  94. public void onEvent(EventMessage eventMessage){
  95. if (mData != null && mAdapter != null && mSRF != null){
  96. mData = new ArrayList<>();
  97. mAdapter.notifyDataSetChanged();
  98. mSRF.post(new Runnable() {
  99. @Override
  100. public void run() {
  101. mSRF.setRefreshing(true);
  102. loadData();
  103. }
  104. });
  105. }
  106. }
  107. private void loadData(){
  108. new SimpleRequest<List<ResGamePlayTime>>()
  109. .request(this, GameController.getInstance().listOverDate(), new SimpleRequest.Executor<List<ResGamePlayTime>>() {
  110. @Override
  111. public void execute(List<ResGamePlayTime> obj) {
  112. mSRF.setRefreshing(false);
  113. if (obj != null) {
  114. for (ResGamePlayTime item : obj){
  115. try {
  116. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
  117. Calendar today = Calendar.getInstance();
  118. today.setTime(sdf.parse(item.gameTime));
  119. today.add(Calendar.DATE, -1);
  120. item.gameTime = sdf.format(today.getTime());
  121. } catch (ParseException e) {
  122. e.printStackTrace();
  123. }
  124. }
  125. mData = obj;
  126. mAdapter.notifyDataSetChanged();
  127. }
  128. }
  129. }, new SimpleRequest.Executor<Throwable>() {
  130. @Override
  131. public void execute(Throwable obj) {
  132. mSRF.setRefreshing(false);
  133. }
  134. });
  135. }
  136. public class Adapter extends BaseAdapter{
  137. @Override
  138. public int getCount() {
  139. return mData.size();
  140. }
  141. @Override
  142. public ResGamePlayTime getItem(int i) {
  143. return mData.get(i);
  144. }
  145. @Override
  146. public long getItemId(int i) {
  147. return i;
  148. }
  149. @Override
  150. public View getView(int i, View view, ViewGroup viewGroup) {
  151. ViewHolder holder;
  152. if (view == null){
  153. view = getLayoutInflater().inflate(R.layout.item_scale, null);
  154. holder = new ViewHolder(view);
  155. view.setTag(holder);
  156. } else
  157. holder = (ViewHolder) view.getTag();
  158. if (!TextUtils.isEmpty(getItem(i).gameTime))
  159. holder.label.setText(getItem(i).gameTime.split(" ")[0]);
  160. return view;
  161. }
  162. public class ViewHolder{
  163. @BindView(R.id.label)
  164. TextView label;
  165. public ViewHolder(View root){
  166. ButterKnife.bind(this, root);
  167. }
  168. }
  169. }
  170. }