|
|
@@ -3,6 +3,8 @@ package com.moodtalk.android.account.api;
|
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
|
+import androidx.lifecycle.Observer;
|
|
|
+
|
|
|
import com.moodtalk.android.MoodTalkApplication;
|
|
|
import com.moodtalk.android.account.api.response.PrimaryDataDTO;
|
|
|
import com.moodtalk.android.account.api.response.SecondDataDTO;
|
|
|
@@ -16,8 +18,11 @@ import com.moodtalk.android.common.listener.HttpResponseListener;
|
|
|
import com.moodtalk.android.common.listener.SimpleHttpRequestListener;
|
|
|
import com.moodtalk.android.common.util.AppTools;
|
|
|
import com.moodtalk.android.emoticon.database.EmoticonDatabase;
|
|
|
+import com.moodtalk.android.friend.constant.FriendRequestState;
|
|
|
import com.moodtalk.android.friend.database.FriendDatabase;
|
|
|
+import com.moodtalk.android.friend.database.FriendRequestDatabase;
|
|
|
import com.moodtalk.android.friend.entity.Friend;
|
|
|
+import com.moodtalk.android.friend.entity.FriendRequest;
|
|
|
import com.moodtalk.android.group.database.GroupDatabase;
|
|
|
import com.moodtalk.android.message.api.MessageServiceManager;
|
|
|
import com.moodtalk.android.message.database.ChatSessionDatabase;
|
|
|
@@ -28,6 +33,8 @@ import com.moodtalk.android.note.api.NoteServiceManager;
|
|
|
import com.moodtalk.android.note.database.NoteDatabase;
|
|
|
import com.moodtalk.android.organization.database.OrganizationDatabase;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
public class AccountServiceManager extends BaseServiceManager {
|
|
|
|
|
|
|
|
|
@@ -55,13 +62,16 @@ public class AccountServiceManager extends BaseServiceManager {
|
|
|
accountService.updateGender(gender).enqueue(new MainThreadCallback<>(responseListener));
|
|
|
}
|
|
|
|
|
|
- public static void loadPrimaryData() {
|
|
|
+ /**
|
|
|
+ * 每次冷启动,加载好友列表数据
|
|
|
+ */
|
|
|
+ public static void loadPrimaryData(Observer<Void> responseListener) {
|
|
|
|
|
|
- long uid = Global.getUid();
|
|
|
+// long uid = Global.getUid();
|
|
|
|
|
|
- if (Global.isPrimaryDataLoadFinished(uid)){
|
|
|
- return;
|
|
|
- }
|
|
|
+// if (Global.isPrimaryDataLoadFinished(uid)){
|
|
|
+// return;
|
|
|
+// }
|
|
|
|
|
|
accountService.getPrimaryData().enqueue(new WorkerThreadCallback<>(new SimpleHttpRequestListener<PrimaryDataDTO>() {
|
|
|
@Override
|
|
|
@@ -73,6 +83,9 @@ public class AccountServiceManager extends BaseServiceManager {
|
|
|
|
|
|
MessageServiceManager.loadPatchMessages();
|
|
|
|
|
|
+ syncFriendRequestsOnAppStart();
|
|
|
+
|
|
|
+ responseListener.onChanged(null);
|
|
|
}
|
|
|
}));
|
|
|
|
|
|
@@ -156,4 +169,15 @@ public class AccountServiceManager extends BaseServiceManager {
|
|
|
MoodTalkApplication.sendLocalBroadcast(new Intent(IntentAction.ACTION_RECENT_REFRESH_LIST));
|
|
|
}
|
|
|
|
|
|
+ // 在App启动时调用
|
|
|
+ public static void syncFriendRequestsOnAppStart() {
|
|
|
+ List<FriendRequest> pendingRequests = FriendRequestDatabase.findUnrunList(); // 查询state=0的请求
|
|
|
+ for (FriendRequest request : pendingRequests) {
|
|
|
+ long uid = request.getUid();
|
|
|
+ if (FriendDatabase.isFriend(uid)) {
|
|
|
+ FriendRequestDatabase.updateState(uid, FriendRequestState.ACCEPT); // 更新为Accept
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|