|
|
@@ -1,6 +1,8 @@
|
|
|
package com.atmob.voiceai.data.repositories;
|
|
|
|
|
|
|
|
|
+import android.os.Handler;
|
|
|
+
|
|
|
import androidx.lifecycle.LiveData;
|
|
|
import androidx.lifecycle.MutableLiveData;
|
|
|
|
|
|
@@ -27,6 +29,7 @@ public class AccountRepository {
|
|
|
private final AtmobApi atmobApi;
|
|
|
private final MemberRepository memberRepository;
|
|
|
private boolean requestUserInfoDisabled;
|
|
|
+ private final Handler refreshMemberHandler = new Handler();
|
|
|
|
|
|
@Inject
|
|
|
public AccountRepository(AtmobApi atmobApi, MemberRepository memberRepository) {
|
|
|
@@ -36,7 +39,6 @@ public class AccountRepository {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
private void refreshUserData() {
|
|
|
if (requestUserInfoDisabled) {
|
|
|
return;
|
|
|
@@ -70,6 +72,8 @@ public class AccountRepository {
|
|
|
.doOnSuccess(userInfoResponse -> {
|
|
|
MemberInfoBean memberInfo = userInfoResponse.getMemberInfo();
|
|
|
memberRepository.setIsMember(memberInfo != null && memberInfo.isIsMember());
|
|
|
+ refreshMemberHandler.removeCallbacksAndMessages(null);
|
|
|
+ refreshMemberHandler.postDelayed(this::refreshUserData, memberInfo.getExpireTime() - memberInfo.getTimestamp());
|
|
|
});
|
|
|
}
|
|
|
}
|