mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-22 06:37:30 +00:00
proper self-profile handling when offline; close #1328
This commit is contained in:
parent
f340ab3d4c
commit
f657f61aa7
@ -692,6 +692,11 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
if (userResource == null) return;
|
||||
final User user = userResource.data;
|
||||
if (user == null) return;
|
||||
username = user.getUsername();
|
||||
if (TextUtils.isEmpty(username)) {
|
||||
appStateViewModel.fetchProfileDetails();
|
||||
return;
|
||||
}
|
||||
profileModel = user;
|
||||
username = profileModel.getUsername();
|
||||
setUsernameDelayed();
|
||||
@ -1099,7 +1104,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
}
|
||||
|
||||
private void updateAccountInfo() {
|
||||
if (profileModel == null) return;
|
||||
if (profileModel == null || TextUtils.isEmpty(profileModel.getUsername())) return;
|
||||
accountRepository.insertOrUpdateAccount(
|
||||
profileModel.getPk(),
|
||||
profileModel.getUsername(),
|
||||
|
@ -51,7 +51,7 @@ public class AppStateViewModel extends AndroidViewModel {
|
||||
return currentUser;
|
||||
}
|
||||
|
||||
private void fetchProfileDetails() {
|
||||
public void fetchProfileDetails() {
|
||||
currentUser.postValue(Resource.loading(null));
|
||||
final long uid = CookieUtils.getUserIdFromCookie(cookie);
|
||||
if (userRepository == null) {
|
||||
@ -61,7 +61,10 @@ public class AppStateViewModel extends AndroidViewModel {
|
||||
userRepository.getUserInfo(uid, CoroutineUtilsKt.getContinuation((user, throwable) -> {
|
||||
if (throwable != null) {
|
||||
Log.e(TAG, "onFailure: ", throwable);
|
||||
currentUser.postValue(Resource.error(throwable.getMessage(), null));
|
||||
final User backup = currentUser.getValue().data != null ?
|
||||
currentUser.getValue().data :
|
||||
new User(uid);
|
||||
currentUser.postValue(Resource.error(throwable.getMessage(), backup));
|
||||
return;
|
||||
}
|
||||
currentUser.postValue(Resource.success(user));
|
||||
|
Loading…
Reference in New Issue
Block a user