mirror of
https://github.com/KokaKiwi/BarInsta
synced 2026-03-05 12:01:35 +00:00
Add preference tp disable post open animation, extract some strings to xml, fix one locale string.
This commit is contained in:
parent
1fe6a0f3f1
commit
84467b60b5
12 changed files with 372 additions and 310 deletions
|
|
@ -80,6 +80,7 @@ public class PostsLayoutPreferencesDialogFragment extends DialogFragment {
|
|||
initAvatarsToggle();
|
||||
initCornersToggle();
|
||||
initGapToggle();
|
||||
initAnimationDisableToggle();
|
||||
}
|
||||
|
||||
private void initLayoutToggle() {
|
||||
|
|
@ -169,6 +170,11 @@ public class PostsLayoutPreferencesDialogFragment extends DialogFragment {
|
|||
binding.showGapToggle.setOnCheckedChangeListener((buttonView, isChecked) -> preferencesBuilder.setHasGap(isChecked));
|
||||
}
|
||||
|
||||
private void initAnimationDisableToggle() {
|
||||
binding.disableAnimationToggle.setChecked(preferencesBuilder.isAnimationDisabled());
|
||||
binding.disableAnimationToggle.setOnCheckedChangeListener((buttonView, isChecked) -> preferencesBuilder.setAnimationDisabled(isChecked));
|
||||
}
|
||||
|
||||
private int getSelectedLayoutId() {
|
||||
switch (preferencesBuilder.getType()) {
|
||||
case STAGGERED_GRID:
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_HASHTAG_POSTS_LAYOUT));
|
||||
|
||||
private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) {
|
||||
@Override
|
||||
|
|
@ -202,36 +203,23 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
final View mainPostImage,
|
||||
final int position) {
|
||||
if (opening) return;
|
||||
else if (TextUtils.isEmpty(feedModel.getProfileModel().getUsername())) {
|
||||
if (TextUtils.isEmpty(feedModel.getProfileModel().getUsername())) {
|
||||
opening = true;
|
||||
new PostFetcher(feedModel.getShortCode(), newFeedModel -> {
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment
|
||||
.builder(newFeedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
}).execute();
|
||||
new PostFetcher(feedModel.getShortCode(), newFeedModel -> openPostDialog(newFeedModel, profilePicView, mainPostImage, position))
|
||||
.execute();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
opening = true;
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment
|
||||
.builder(feedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
opening = true;
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment.builder(feedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
}
|
||||
};
|
||||
private final FeedAdapterV2.SelectionModeCallback selectionModeCallback = new FeedAdapterV2.SelectionModeCallback() {
|
||||
|
|
@ -376,7 +364,7 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
binding.posts.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new HashtagPostFetchService(hashtagModel, isLoggedIn))
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_HASHTAG_POSTS_LAYOUT)))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -565,7 +553,10 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
Constants.PREF_HASHTAG_POSTS_LAYOUT,
|
||||
preferences -> new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences
|
||||
.fromJson(settingsHelper.getString(Constants.PREF_LOCATION_POSTS_LAYOUT));
|
||||
|
||||
private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) {
|
||||
@Override
|
||||
|
|
@ -200,36 +202,24 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR
|
|||
final View mainPostImage,
|
||||
final int position) {
|
||||
if (opening) return;
|
||||
else if (TextUtils.isEmpty(feedModel.getProfileModel().getUsername())) {
|
||||
if (TextUtils.isEmpty(feedModel.getProfileModel().getUsername())) {
|
||||
opening = true;
|
||||
new PostFetcher(feedModel.getShortCode(), newFeedModel -> {
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment
|
||||
.builder(newFeedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
}).execute();
|
||||
new PostFetcher(feedModel.getShortCode(), newFeedModel -> openPostDialog(newFeedModel, profilePicView, mainPostImage, position))
|
||||
.execute();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
opening = true;
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment
|
||||
.builder(feedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
opening = true;
|
||||
final PostViewV2Fragment.Builder builder = PostViewV2Fragment
|
||||
.builder(feedModel);
|
||||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
opening = false;
|
||||
}
|
||||
};
|
||||
private final FeedAdapterV2.SelectionModeCallback selectionModeCallback = new FeedAdapterV2.SelectionModeCallback() {
|
||||
|
|
@ -359,7 +349,7 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR
|
|||
binding.posts.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new LocationPostFetchService(locationModel, isLoggedIn))
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_LOCATION_POSTS_LAYOUT)))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -542,7 +532,10 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
Constants.PREF_LOCATION_POSTS_LAYOUT,
|
||||
preferences -> new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences.fromJson(settingsHelper.getString(getPostsLayoutPreferenceKey()));
|
||||
|
||||
private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) {
|
||||
@Override
|
||||
|
|
@ -173,11 +174,11 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL
|
|||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
}
|
||||
};
|
||||
private final FeedAdapterV2.SelectionModeCallback selectionModeCallback = new FeedAdapterV2.SelectionModeCallback() {
|
||||
|
|
@ -320,7 +321,7 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL
|
|||
binding.posts.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new SavedPostFetchService(profileId, type))
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(getPostsLayoutPreferenceKey())))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -394,7 +395,10 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
getPostsLayoutPreferenceKey(),
|
||||
preferences -> new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
}
|
||||
|
|
@ -75,6 +75,7 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_TOPIC_POSTS_LAYOUT));
|
||||
|
||||
private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) {
|
||||
@Override
|
||||
|
|
@ -186,11 +187,11 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O
|
|||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
}
|
||||
};
|
||||
private final FeedAdapterV2.SelectionModeCallback selectionModeCallback = new FeedAdapterV2.SelectionModeCallback() {
|
||||
|
|
@ -400,7 +401,7 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O
|
|||
binding.posts.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new DiscoverPostFetchService(topicalExploreRequest))
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_TOPIC_POSTS_LAYOUT)))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -422,7 +423,10 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
Constants.PREF_TOPIC_POSTS_LAYOUT,
|
||||
preferences -> new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_POSTS_LAYOUT));
|
||||
|
||||
private final FeedAdapterV2.FeedItemCallback feedItemCallback = new FeedAdapterV2.FeedItemCallback() {
|
||||
@Override
|
||||
|
|
@ -153,11 +154,11 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
}
|
||||
};
|
||||
private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) {
|
||||
|
|
@ -324,7 +325,7 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
binding.feedRecyclerView.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new FeedPostFetchService())
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_POSTS_LAYOUT)))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -377,7 +378,10 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
Constants.PREF_POSTS_LAYOUT,
|
||||
preferences -> new Handler().postDelayed(() -> binding.feedRecyclerView.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.feedRecyclerView.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
private Set<FeedModel> selectedFeedModels;
|
||||
private FeedModel downloadFeedModel;
|
||||
private int downloadChildPosition = -1;
|
||||
private PostsLayoutPreferences layoutPreferences = PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_PROFILE_POSTS_LAYOUT));
|
||||
|
||||
private final Runnable usernameSettingRunnable = () -> {
|
||||
final ActionBar actionBar = fragmentActivity.getSupportActionBar();
|
||||
|
|
@ -238,11 +239,11 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
if (position >= 0) {
|
||||
builder.setPosition(position);
|
||||
}
|
||||
final PostViewV2Fragment fragment = builder
|
||||
.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage)
|
||||
.build();
|
||||
fragment.show(getChildFragmentManager(), "post_view");
|
||||
if (!layoutPreferences.isAnimationDisabled()) {
|
||||
builder.setSharedProfilePicElement(profilePicView)
|
||||
.setSharedMainPostElement(mainPostImage);
|
||||
}
|
||||
builder.build().show(getChildFragmentManager(), "post_view");
|
||||
}
|
||||
};
|
||||
private final FeedAdapterV2.SelectionModeCallback selectionModeCallback = new FeedAdapterV2.SelectionModeCallback() {
|
||||
|
|
@ -876,7 +877,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
binding.postsRecyclerView.setViewModelStoreOwner(this)
|
||||
.setLifeCycleOwner(this)
|
||||
.setPostFetchService(new ProfilePostFetchService(profileModel))
|
||||
.setLayoutPreferences(PostsLayoutPreferences.fromJson(settingsHelper.getString(Constants.PREF_PROFILE_POSTS_LAYOUT)))
|
||||
.setLayoutPreferences(layoutPreferences)
|
||||
.addFetchStatusChangeListener(fetching -> updateSwipeRefreshState())
|
||||
.setFeedItemCallback(feedItemCallback)
|
||||
.setSelectionModeCallback(selectionModeCallback)
|
||||
|
|
@ -922,7 +923,10 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
|||
private void showPostsLayoutPreferences() {
|
||||
final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment(
|
||||
Constants.PREF_PROFILE_POSTS_LAYOUT,
|
||||
preferences -> new Handler().postDelayed(() -> binding.postsRecyclerView.setLayoutPreferences(preferences), 200));
|
||||
preferences -> {
|
||||
layoutPreferences = preferences;
|
||||
new Handler().postDelayed(() -> binding.postsRecyclerView.setLayoutPreferences(preferences), 200);
|
||||
});
|
||||
fragment.show(getChildFragmentManager(), "posts_layout_preferences");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ public final class PostsLayoutPreferences {
|
|||
private final ProfilePicSize profilePicSize;
|
||||
private final boolean hasRoundedCorners;
|
||||
private final boolean hasGap;
|
||||
private final boolean animationDisabled;
|
||||
|
||||
public static class Builder {
|
||||
private PostsLayoutType type = PostsLayoutType.GRID;
|
||||
|
|
@ -21,6 +22,7 @@ public final class PostsLayoutPreferences {
|
|||
private ProfilePicSize profilePicSize = ProfilePicSize.SMALL;
|
||||
private boolean hasRoundedCorners = true;
|
||||
private boolean hasGap = true;
|
||||
private boolean animationDisabled = false;
|
||||
|
||||
public Builder setType(final PostsLayoutType type) {
|
||||
this.type = type;
|
||||
|
|
@ -57,6 +59,11 @@ public final class PostsLayoutPreferences {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Builder setAnimationDisabled(final boolean animationDisabled) {
|
||||
this.animationDisabled = animationDisabled;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Breaking builder pattern and adding getters to avoid too many object creations in PostsLayoutPreferencesDialogFragment
|
||||
public PostsLayoutType getType() {
|
||||
return type;
|
||||
|
|
@ -86,6 +93,10 @@ public final class PostsLayoutPreferences {
|
|||
return hasGap;
|
||||
}
|
||||
|
||||
public boolean isAnimationDisabled() {
|
||||
return animationDisabled;
|
||||
}
|
||||
|
||||
public Builder mergeFrom(final PostsLayoutPreferences preferences) {
|
||||
if (preferences == null) {
|
||||
return this;
|
||||
|
|
@ -97,11 +108,13 @@ public final class PostsLayoutPreferences {
|
|||
setProfilePicSize(preferences.getProfilePicSize());
|
||||
setHasRoundedCorners(preferences.getHasRoundedCorners());
|
||||
setHasGap(preferences.getHasGap());
|
||||
setAnimationDisabled(preferences.isAnimationDisabled());
|
||||
return this;
|
||||
}
|
||||
|
||||
public PostsLayoutPreferences build() {
|
||||
return new PostsLayoutPreferences(type, colCount, isAvatarVisible, isNameVisible, profilePicSize, hasRoundedCorners, hasGap);
|
||||
return new PostsLayoutPreferences(type, colCount, isAvatarVisible, isNameVisible, profilePicSize, hasRoundedCorners, hasGap,
|
||||
animationDisabled);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +128,8 @@ public final class PostsLayoutPreferences {
|
|||
final boolean isNameVisible,
|
||||
final ProfilePicSize profilePicSize,
|
||||
final boolean hasRoundedCorners,
|
||||
final boolean hasGap) {
|
||||
final boolean hasGap,
|
||||
final boolean animationDisabled) {
|
||||
|
||||
this.type = type;
|
||||
this.colCount = colCount;
|
||||
|
|
@ -124,6 +138,7 @@ public final class PostsLayoutPreferences {
|
|||
this.profilePicSize = profilePicSize;
|
||||
this.hasRoundedCorners = hasRoundedCorners;
|
||||
this.hasGap = hasGap;
|
||||
this.animationDisabled = animationDisabled;
|
||||
}
|
||||
|
||||
public PostsLayoutType getType() {
|
||||
|
|
@ -163,6 +178,10 @@ public final class PostsLayoutPreferences {
|
|||
return new Gson().fromJson(json, PostsLayoutPreferences.class);
|
||||
}
|
||||
|
||||
public boolean isAnimationDisabled() {
|
||||
return animationDisabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(final Object o) {
|
||||
if (this == o) return true;
|
||||
|
|
@ -172,12 +191,13 @@ public final class PostsLayoutPreferences {
|
|||
isAvatarVisible == that.isAvatarVisible &&
|
||||
isNameVisible == that.isNameVisible &&
|
||||
type == that.type &&
|
||||
profilePicSize == that.profilePicSize;
|
||||
profilePicSize == that.profilePicSize &&
|
||||
animationDisabled == that.animationDisabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(type, colCount, isAvatarVisible, isNameVisible, profilePicSize);
|
||||
return Objects.hash(type, colCount, isAvatarVisible, isNameVisible, profilePicSize, animationDisabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -190,6 +210,7 @@ public final class PostsLayoutPreferences {
|
|||
", profilePicSize=" + profilePicSize +
|
||||
", hasRoundedCorners=" + hasRoundedCorners +
|
||||
", hasGap=" + hasGap +
|
||||
", animationDisabled=" + animationDisabled +
|
||||
'}';
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue