drew 6 gadi atpakaļ
vecāks
revīzija
bae8b0df66

+ 6 - 0
app/src/main/java/com/ht/gate/LoginActivity.java

@@ -8,10 +8,12 @@ import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.Editable;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.View;
 import android.widget.EditText;
+import android.widget.Toast;
 
 import com.ht.gate.domain.Room;
 
@@ -85,6 +87,10 @@ public class LoginActivity extends AppCompatActivity {
                         unlockView.setVisibility(View.VISIBLE);
                         break;
                     case CustomKeyboardView.KEYCODE_DONE:
+                        if (TextUtils.isEmpty(et.getText())) {
+                            Toasty.info(LoginActivity.this, "请输入空间ID").show();
+                            break;
+                        }
                         RetrofitManager.getInstance().getRetrofit().create(ApiService.class)
                                 .bindDevice(et.getText().toString()).enqueue(new Callback<Room>() {
                             @Override

+ 1 - 0
app/src/main/java/com/ht/gate/MainActivity.java

@@ -104,6 +104,7 @@ public class MainActivity extends AppCompatActivity {
         adapter = new MeetingAdapter(this);
         rvMeetings.setLayoutManager(new LinearLayoutManager(this));
         rvMeetings.setAdapter(adapter);
+        ((MyApplication) getApplication()).updateMeetings();
     }
 
     @OnClick(R.id.btn_settings)

+ 42 - 28
app/src/main/java/com/ht/gate/MyApplication.java

@@ -37,6 +37,8 @@ public class MyApplication extends Application {
     public static Room roomInfo;
     public static String password;
 
+    private SharedPreferences sharedPreferences;
+
     public static void setPassword(Context context, String password) {
         MyApplication.password = password;
         SharedPreferences sharedPreferences = context.getSharedPreferences(SettingsActivity.PREF_NAME_SETTINGS, MODE_PRIVATE);
@@ -46,7 +48,7 @@ public class MyApplication extends Application {
     @Override
     public void onCreate() {
         super.onCreate();
-        SharedPreferences sharedPreferences = getSharedPreferences(SettingsActivity.PREF_NAME_SETTINGS, MODE_PRIVATE);
+        sharedPreferences = getSharedPreferences(SettingsActivity.PREF_NAME_SETTINGS, MODE_PRIVATE);
         roomInfo = Room.fromBase64(sharedPreferences.getString(Constants.PREF_ROOM_INFO, null));
         password = sharedPreferences.getString(Constants.PREF_PASSWORD, null);
         if (password == null && roomInfo != null) {
@@ -60,38 +62,50 @@ public class MyApplication extends Application {
             todayMeetings = new ArrayList<>();
         }
         MockServer.start(this);
-        Timer timer = new Timer();
-        timer.schedule(new TimerTask() {
+        new Timer().schedule(new TimerTask() {
             @Override
             public void run() {
-                Room room = Room.fromBase64(sharedPreferences.getString(Constants.PREF_ROOM_INFO, null));
-                if (room != null) {
-                    Date date = new Date();
-                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
-                    String dateStr = simpleDateFormat.format(date);
-                    RetrofitManager.getInstance().getRetrofit().create(ApiService.class)
-                            .roomMeetings(dateStr + "00:00:00", dateStr + "23:59:59", room.getRoomNo()).enqueue(new Callback<List<RoomMeetings>>() {
-                        @Override
-                        public void onResponse(@NonNull Call<List<RoomMeetings>> call, @NonNull Response<List<RoomMeetings>> response) {
-                            if (response.code() == 200) {
-                                todayMeetings = response.body();
-                                EventBus.getDefault().post(Constants.EVENT_MEETINGS);
-                            } else {
-                                try {
-                                    Toasty.error(MyApplication.this, response.errorBody().string()).show();
-                                } catch (IOException e) {
-                                    e.printStackTrace();
-                                }
-                            }
-                        }
+                getMeetings();
+            }
+        }, 0, 10 * 60 * 1000);
+    }
 
-                        @Override
-                        public void onFailure(@NonNull Call<List<RoomMeetings>> call, @NonNull Throwable t) {
-                            Toasty.info(MyApplication.this, "获取会议列表失败").show();
+    private void getMeetings() {
+        Room room = Room.fromBase64(sharedPreferences.getString(Constants.PREF_ROOM_INFO, null));
+        if (room != null) {
+            Date date = new Date();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
+            String dateStr = simpleDateFormat.format(date);
+            RetrofitManager.getInstance().getRetrofit().create(ApiService.class)
+                    .roomMeetings(dateStr + "00:00:00", dateStr + "23:59:59", room.getRoomNo()).enqueue(new Callback<List<RoomMeetings>>() {
+                @Override
+                public void onResponse(@NonNull Call<List<RoomMeetings>> call, @NonNull Response<List<RoomMeetings>> response) {
+                    if (response.code() == 200) {
+                        todayMeetings = response.body();
+                        EventBus.getDefault().post(Constants.EVENT_MEETINGS);
+                    } else {
+                        try {
+                            Toasty.error(MyApplication.this, response.errorBody().string()).show();
+                        } catch (IOException e) {
+                            e.printStackTrace();
                         }
-                    });
+                    }
+                }
+
+                @Override
+                public void onFailure(@NonNull Call<List<RoomMeetings>> call, @NonNull Throwable t) {
+                    Toasty.info(MyApplication.this, "获取会议列表失败").show();
                 }
+            });
+        }
+    }
+
+    public void updateMeetings() {
+        new Timer().schedule(new TimerTask() {
+            @Override
+            public void run() {
+                getMeetings();
             }
-        }, 0, 10 * 60 * 1000);
+        }, 0);
     }
 }