|
|
@@ -10,6 +10,7 @@ import android.content.DialogInterface;
|
|
|
import android.content.IntentFilter;
|
|
|
import android.graphics.drawable.ColorDrawable;
|
|
|
import android.os.Bundle;
|
|
|
+import android.os.Handler;
|
|
|
import android.util.DisplayMetrics;
|
|
|
import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
@@ -95,6 +96,16 @@ public class MainActivity extends BaseActivity {
|
|
|
initView();
|
|
|
initData();
|
|
|
Permission.checkPermission(this);
|
|
|
+ reloadData();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void reloadData(){
|
|
|
+ new Handler().postDelayed(()->{
|
|
|
+ if(Constant.user != null) {
|
|
|
+ searchTask(1);
|
|
|
+ }
|
|
|
+ reloadData();
|
|
|
+ }, 10000);
|
|
|
}
|
|
|
|
|
|
private void initData(){
|
|
|
@@ -108,7 +119,7 @@ public class MainActivity extends BaseActivity {
|
|
|
binding.swipeContainer.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
|
|
@Override
|
|
|
public void onRefresh() {
|
|
|
- searchTask();
|
|
|
+ searchTask(0);
|
|
|
}
|
|
|
});
|
|
|
binding.swipeContainer.autoRefresh();
|
|
|
@@ -182,7 +193,7 @@ public class MainActivity extends BaseActivity {
|
|
|
if (real_name_obj!=null) {
|
|
|
submit.setText(real_name_obj.toString());
|
|
|
}
|
|
|
- searchTask();
|
|
|
+ searchTask(0);
|
|
|
}
|
|
|
}
|
|
|
} catch (JSONException e) {
|
|
|
@@ -571,9 +582,11 @@ public class MainActivity extends BaseActivity {
|
|
|
popupWindow1.showAtLocation(view, Gravity.CENTER, 0, 0);
|
|
|
}
|
|
|
|
|
|
- private void searchTask() {
|
|
|
+ private void searchTask(int from) {
|
|
|
MyProgress myProgress = MyProgress.getInstance();
|
|
|
- myProgress.show(context, "提示", "正在加载");
|
|
|
+ if(from == 0) {
|
|
|
+ myProgress.show(context, "提示", "正在加载");
|
|
|
+ }
|
|
|
RequestParams params = httParams(Constant.TASK_LIST);
|
|
|
params.addBodyParameter("requester", Constant.user.getUser_id().toString());
|
|
|
params.addBodyParameter("current", "1");
|
|
|
@@ -596,15 +609,22 @@ public class MainActivity extends BaseActivity {
|
|
|
int pages = rs.getJSONObject("data").getInt("pages");
|
|
|
System.out.println(records.get("records"));
|
|
|
Type lt = new TypeToken<ArrayList<TaskModel>>() {}.getType();
|
|
|
- if(records.get("records")!=null) {
|
|
|
- mList.clear();
|
|
|
- List<TaskModel> taskModelList = new Gson().fromJson(records.get("records").toString(), lt);
|
|
|
- mList.addAll(taskModelList);
|
|
|
- binding.swipeContainer.setVisibility(View.VISIBLE);
|
|
|
- binding.tvEmpty.setVisibility(View.GONE);
|
|
|
- listViewAdapter.notifyDataSetChanged();
|
|
|
- binding.swipeContainer.setRefreshing(false);
|
|
|
- binding.swipeContainer.setLoading(false);
|
|
|
+ Object recodes_obj = records.get("records");
|
|
|
+ if(recodes_obj!=null) {
|
|
|
+ if(from == 0) {
|
|
|
+ mList.clear();
|
|
|
+ List<TaskModel> taskModelList = new Gson().fromJson(recodes_obj.toString(), lt);
|
|
|
+ mList.addAll(taskModelList);
|
|
|
+ binding.swipeContainer.setVisibility(View.VISIBLE);
|
|
|
+ binding.tvEmpty.setVisibility(View.GONE);
|
|
|
+ listViewAdapter.notifyDataSetChanged();
|
|
|
+ binding.swipeContainer.setRefreshing(false);
|
|
|
+ binding.swipeContainer.setLoading(false);
|
|
|
+ }
|
|
|
+ if(from == 1){
|
|
|
+ List<TaskModel> taskModelList = new Gson().fromJson(recodes_obj.toString(), lt);
|
|
|
+ updateList(taskModelList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -620,7 +640,8 @@ public class MainActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onFinished() {myProgress.close();
|
|
|
+ public void onFinished() {
|
|
|
+ myProgress.close();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -630,6 +651,18 @@ public class MainActivity extends BaseActivity {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ public void updateList(List<TaskModel> n_list){
|
|
|
+ for (TaskModel taskModel:mList){
|
|
|
+ String id = taskModel.getId();
|
|
|
+ for (TaskModel nTaskModel:n_list){
|
|
|
+ if(id.equals(nTaskModel.getId())){
|
|
|
+ taskModel.setRequestStatus(nTaskModel.getRequestStatus());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ listViewAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+
|
|
|
private void logout(){
|
|
|
AlertDialog alert = new AlertDialog.Builder(MainActivity.this)
|
|
|
.setTitle("提示")
|