mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-12-23 05:16:58 +00:00
Add some null checks and formatting.
This commit is contained in:
parent
f501f68f98
commit
644f2ddff8
@ -140,7 +140,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
final ActionBar actionBar = fragmentActivity.getSupportActionBar();
|
||||
if (actionBar != null && !TextUtils.isEmpty(username)) {
|
||||
final String finalUsername = username.startsWith("@") ? username.substring(1)
|
||||
: username;
|
||||
: username;
|
||||
actionBar.setTitle(finalUsername);
|
||||
actionBar.setSubtitle(null);
|
||||
}
|
||||
@ -765,12 +765,12 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
final long followingCount = profileModel.getFollowingCount();
|
||||
|
||||
final String postCount = String.valueOf(profileModel.getMediaCount());
|
||||
|
||||
SpannableStringBuilder span = new SpannableStringBuilder(getResources().getQuantityString(R.plurals.main_posts_count,
|
||||
profileModel.getMediaCount() > 2000000000L
|
||||
? 2000000000
|
||||
: (int) profileModel.getMediaCount(),
|
||||
postCount));
|
||||
|
||||
SpannableStringBuilder span = new SpannableStringBuilder(getResources().getQuantityString(
|
||||
R.plurals.main_posts_count,
|
||||
profileModel.getMediaCount() > 2000000000L ? 2000000000 : (int) profileModel.getMediaCount(),
|
||||
postCount)
|
||||
);
|
||||
span.setSpan(new RelativeSizeSpan(1.2f), 0, postCount.length(), 0);
|
||||
span.setSpan(new StyleSpan(Typeface.BOLD), 0, postCount.length(), 0);
|
||||
profileDetailsBinding.mainPostCount.setText(span);
|
||||
@ -778,9 +778,11 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
|
||||
final String followersCountStr = String.valueOf(followersCount);
|
||||
final int followersCountStrLen = followersCountStr.length();
|
||||
span = new SpannableStringBuilder(getResources().getQuantityString(R.plurals.main_posts_followers,
|
||||
span = new SpannableStringBuilder(getResources().getQuantityString(
|
||||
R.plurals.main_posts_followers,
|
||||
followersCount > 2000000000L ? 2000000000 : (int) followersCount,
|
||||
followersCountStr));
|
||||
followersCountStr)
|
||||
);
|
||||
span.setSpan(new RelativeSizeSpan(1.2f), 0, followersCountStrLen, 0);
|
||||
span.setSpan(new StyleSpan(Typeface.BOLD), 0, followersCountStrLen, 0);
|
||||
profileDetailsBinding.mainFollowers.setText(span);
|
||||
@ -788,15 +790,14 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
|
||||
final String followingCountStr = String.valueOf(followingCount);
|
||||
final int followingCountStrLen = followingCountStr.length();
|
||||
span = new SpannableStringBuilder(getString(R.string.main_posts_following,
|
||||
followingCountStr));
|
||||
span = new SpannableStringBuilder(getString(R.string.main_posts_following, followingCountStr));
|
||||
span.setSpan(new RelativeSizeSpan(1.2f), 0, followingCountStrLen, 0);
|
||||
span.setSpan(new StyleSpan(Typeface.BOLD), 0, followingCountStrLen, 0);
|
||||
profileDetailsBinding.mainFollowing.setText(span);
|
||||
profileDetailsBinding.mainFollowing.setVisibility(View.VISIBLE);
|
||||
|
||||
profileDetailsBinding.mainFullName.setText(TextUtils.isEmpty(profileModel.getFullName()) ? profileModel.getUsername()
|
||||
: profileModel.getFullName());
|
||||
: profileModel.getFullName());
|
||||
|
||||
final String biography = profileModel.getBiography();
|
||||
if (TextUtils.isEmpty(biography)) {
|
||||
@ -815,9 +816,8 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
final String originalText = autoLinkItem.getOriginalText().trim();
|
||||
navigateToProfile(originalText);
|
||||
});
|
||||
profileDetailsBinding.mainBiography.addOnEmailClickListener(autoLinkItem -> Utils.openEmailAddress(getContext(),
|
||||
autoLinkItem.getOriginalText()
|
||||
.trim()));
|
||||
profileDetailsBinding.mainBiography.addOnEmailClickListener(autoLinkItem -> Utils.openEmailAddress(
|
||||
getContext(), autoLinkItem.getOriginalText().trim()));
|
||||
profileDetailsBinding.mainBiography
|
||||
.addOnURLClickListener(autoLinkItem -> Utils.openURL(getContext(), autoLinkItem.getOriginalText().trim()));
|
||||
profileDetailsBinding.mainBiography.setOnLongClickListener(v -> {
|
||||
@ -899,6 +899,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
return true;
|
||||
});
|
||||
}
|
||||
final MotionScene.Transition transition = root.getTransition(R.id.transition);
|
||||
if (!isReallyPrivate()) {
|
||||
if (isLoggedIn) {
|
||||
profileDetailsBinding.mainFollowing.setClickable(true);
|
||||
@ -924,13 +925,13 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
binding.privatePage2.setVisibility(View.VISIBLE);
|
||||
binding.postsRecyclerView.setVisibility(View.GONE);
|
||||
binding.swipeRefreshLayout.setRefreshing(false);
|
||||
root.getTransition(R.id.transition).setEnable(false);
|
||||
if (transition != null) {
|
||||
transition.setEnable(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (profileModel.getMediaCount() == 0) {
|
||||
root.getTransition(R.id.transition).setEnable(false);
|
||||
if (profileModel.getMediaCount() == 0 && transition != null) {
|
||||
transition.setEnable(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void setupButtons(final long profileId) {
|
||||
@ -1037,21 +1038,21 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
}
|
||||
});
|
||||
storiesService.fetchHighlights(profileId,
|
||||
new ServiceCallback<List<HighlightModel>>() {
|
||||
@Override
|
||||
public void onSuccess(final List<HighlightModel> result) {
|
||||
if (result != null) {
|
||||
profileDetailsBinding.highlightsList.setVisibility(View.VISIBLE);
|
||||
highlightsViewModel.getList().postValue(result);
|
||||
} else profileDetailsBinding.highlightsList.setVisibility(View.GONE);
|
||||
}
|
||||
new ServiceCallback<List<HighlightModel>>() {
|
||||
@Override
|
||||
public void onSuccess(final List<HighlightModel> result) {
|
||||
if (result != null) {
|
||||
profileDetailsBinding.highlightsList.setVisibility(View.VISIBLE);
|
||||
highlightsViewModel.getList().postValue(result);
|
||||
} else profileDetailsBinding.highlightsList.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(final Throwable t) {
|
||||
profileDetailsBinding.highlightsList.setVisibility(View.GONE);
|
||||
Log.e(TAG, "Error", t);
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onFailure(final Throwable t) {
|
||||
profileDetailsBinding.highlightsList.setVisibility(View.GONE);
|
||||
Log.e(TAG, "Error", t);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setupCommonListeners() {
|
||||
@ -1116,14 +1117,14 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
});
|
||||
profileDetailsBinding.btnLiked.setOnClickListener(v -> {
|
||||
final NavDirections action = ProfileFragmentDirections.actionProfileFragmentToSavedViewerFragment(profileModel.getUsername(),
|
||||
profileModel.getPk(),
|
||||
PostItemType.LIKED);
|
||||
profileModel.getPk(),
|
||||
PostItemType.LIKED);
|
||||
NavHostFragment.findNavController(this).navigate(action);
|
||||
});
|
||||
profileDetailsBinding.btnTagged.setOnClickListener(v -> {
|
||||
final NavDirections action = ProfileFragmentDirections.actionProfileFragmentToSavedViewerFragment(profileModel.getUsername(),
|
||||
profileModel.getPk(),
|
||||
PostItemType.TAGGED);
|
||||
profileModel.getPk(),
|
||||
PostItemType.TAGGED);
|
||||
NavHostFragment.findNavController(this).navigate(action);
|
||||
});
|
||||
if (!disableDm) {
|
||||
@ -1162,7 +1163,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
// show stories
|
||||
final NavDirections action = ProfileFragmentDirections
|
||||
.actionProfileFragmentToStoryViewerFragment(StoryViewerOptions.forUser(profileModel.getPk(),
|
||||
profileModel.getFullName()));
|
||||
profileModel.getFullName()));
|
||||
NavHostFragment.findNavController(this).navigate(action);
|
||||
return;
|
||||
}
|
||||
@ -1188,12 +1189,12 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
if (profileModel != null) {
|
||||
final FragmentManager fragmentManager = getParentFragmentManager();
|
||||
final ProfilePicDialogFragment fragment = ProfilePicDialogFragment.getInstance(profileModel.getPk(),
|
||||
username,
|
||||
profileModel.getProfilePicUrl());
|
||||
username,
|
||||
profileModel.getProfilePicUrl());
|
||||
final FragmentTransaction ft = fragmentManager.beginTransaction();
|
||||
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.add(fragment, "profilePicDialog")
|
||||
.commit();
|
||||
.add(fragment, "profilePicDialog")
|
||||
.commit();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1206,13 +1207,13 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
|
||||
private void setupPosts() {
|
||||
binding.postsRecyclerView.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new ProfilePostFetchService(profileModel, isLoggedIn))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
.init();
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new ProfilePostFetchService(profileModel, isLoggedIn))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
.init();
|
||||
binding.postsRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrolled(@NonNull final RecyclerView recyclerView, final int dx, final int dy) {
|
||||
|
Loading…
Reference in New Issue
Block a user