aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java70
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java68
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/HistoryPostFragment.java134
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/InboxFragment.java79
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java66
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/fragments/PostFragment.java147
-rw-r--r--app/src/main/res/layout/fragment_comments_listing.xml1
7 files changed, 241 insertions, 324 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
index ba6d55f0..929ff3f7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/CommentsListingFragment.java
@@ -53,6 +53,7 @@ import ml.docilealligator.infinityforreddit.adapters.CommentsListingRecyclerView
import ml.docilealligator.infinityforreddit.comment.CommentViewModel;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentCommentsListingBinding;
import ml.docilealligator.infinityforreddit.events.ChangeNetworkStatusEvent;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -67,18 +68,6 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
public static final String EXTRA_USERNAME = "EN";
public static final String EXTRA_ARE_SAVED_COMMENTS = "EISC";
- @BindView(R.id.coordinator_layout_comments_listing_fragment)
- CoordinatorLayout mCoordinatorLayout;
- @BindView(R.id.swipe_refresh_layout_view_comments_listing_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_comments_listing_fragment)
- RecyclerView mCommentRecyclerView;
- @BindView(R.id.fetch_comments_info_linear_layout_comments_listing_fragment)
- LinearLayout mFetchCommentInfoLinearLayout;
- @BindView(R.id.fetch_comments_info_image_view_comments_listing_fragment)
- ImageView mFetchCommentInfoImageView;
- @BindView(R.id.fetch_comments_info_text_view_comments_listing_fragment)
- TextView mFetchCommentInfoTextView;
CommentViewModel mCommentViewModel;
@Inject
@Named("no_oauth")
@@ -117,6 +106,7 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
private int swipeRightAction;
private float swipeActionThreshold;
private ItemTouchHelper touchHelper;
+ private FragmentCommentsListingBinding binding;
public CommentsListingFragment() {
// Required empty public constructor
@@ -126,12 +116,10 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_comments_listing, container, false);
+ binding = FragmentCommentsListingBinding.inflate(inflater, container, false);
((Infinity) mActivity.getApplication()).getAppComponent().inject(this);
- ButterKnife.bind(this, rootView);
-
EventBus.getDefault().register(this);
applyTheme();
@@ -141,12 +129,12 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
Resources resources = getResources();
if ((mActivity instanceof BaseActivity && ((BaseActivity) mActivity).isImmersiveInterface())) {
- mCommentRecyclerView.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
+ binding.recyclerViewCommentsListingFragment.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true)) {
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
- mCommentRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
+ binding.recyclerViewCommentsListingFragment.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
}
}
@@ -183,7 +171,7 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
if (touchHelper != null) {
exceedThreshold = false;
touchHelper.attachToRecyclerView(null);
- touchHelper.attachToRecyclerView(mCommentRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewCommentsListingFragment);
}
}
@@ -251,18 +239,18 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
});
if (enableSwipeAction) {
- touchHelper.attachToRecyclerView(mCommentRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewCommentsListingFragment);
}
new Handler().postDelayed(() -> bindView(resources), 0);
- return rootView;
+ return binding.getRoot();
}
private void bindView(Resources resources) {
if (mActivity != null && !mActivity.isFinishing() && !mActivity.isDestroyed()) {
mLinearLayoutManager = new LinearLayoutManagerBugFixed(mActivity);
- mCommentRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewCommentsListingFragment.setLayoutManager(mLinearLayoutManager);
String username = getArguments().getString(EXTRA_USERNAME);
String sort = mSortTypeSharedPreferences.getString(SharedPreferencesUtils.SORT_TYPE_USER_COMMENT, SortType.Type.NEW.name());
@@ -278,10 +266,10 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
mActivity.accessToken, mActivity.accountName,
username, () -> mCommentViewModel.retryLoadingMore());
- mCommentRecyclerView.setAdapter(mAdapter);
+ binding.recyclerViewCommentsListingFragment.setAdapter(mAdapter);
if (mActivity instanceof RecyclerViewContentScrollingInterface) {
- mCommentRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewCommentsListingFragment.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
@@ -308,30 +296,30 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
mCommentViewModel.getComments().observe(getViewLifecycleOwner(), comments -> mAdapter.submitList(comments));
mCommentViewModel.hasComment().observe(getViewLifecycleOwner(), hasComment -> {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setRefreshing(false);
if (hasComment) {
- mFetchCommentInfoLinearLayout.setVisibility(View.GONE);
+ binding.fetchCommentsInfoLinearLayoutCommentsListingFragment.setVisibility(View.GONE);
} else {
- mFetchCommentInfoLinearLayout.setOnClickListener(null);
+ binding.fetchCommentsInfoLinearLayoutCommentsListingFragment.setOnClickListener(null);
showErrorView(R.string.no_comments);
}
});
mCommentViewModel.getInitialLoadingState().observe(getViewLifecycleOwner(), networkState -> {
if (networkState.getStatus().equals(NetworkState.Status.SUCCESS)) {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setRefreshing(false);
} else if (networkState.getStatus().equals(NetworkState.Status.FAILED)) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchCommentInfoLinearLayout.setOnClickListener(view -> refresh());
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setRefreshing(false);
+ binding.fetchCommentsInfoLinearLayoutCommentsListingFragment.setOnClickListener(view -> refresh());
showErrorView(R.string.load_comments_failed);
} else {
- mSwipeRefreshLayout.setRefreshing(true);
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setRefreshing(true);
}
});
mCommentViewModel.getPaginationNetworkState().observe(getViewLifecycleOwner(), networkState -> mAdapter.setNetworkState(networkState));
- mSwipeRefreshLayout.setOnRefreshListener(() -> mCommentViewModel.refresh());
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setOnRefreshListener(() -> mCommentViewModel.refresh());
}
}
@@ -380,27 +368,27 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
@Override
public void refresh() {
- mFetchCommentInfoLinearLayout.setVisibility(View.GONE);
+ binding.fetchCommentsInfoLinearLayoutCommentsListingFragment.setVisibility(View.GONE);
mCommentViewModel.refresh();
mAdapter.setNetworkState(null);
}
@Override
public void applyTheme() {
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(customThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(customThemeWrapper.getColorAccent());
- mFetchCommentInfoTextView.setTextColor(customThemeWrapper.getSecondaryTextColor());
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setProgressBackgroundColorSchemeColor(customThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setColorSchemeColors(customThemeWrapper.getColorAccent());
+ binding.fetchCommentsInfoTextViewCommentsListingFragment.setTextColor(customThemeWrapper.getSecondaryTextColor());
if (mActivity.typeface != null) {
- mFetchCommentInfoTextView.setTypeface(mActivity.typeface);
+ binding.fetchCommentsInfoTextViewCommentsListingFragment.setTypeface(mActivity.typeface);
}
}
private void showErrorView(int stringResId) {
if (mActivity != null && isAdded()) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchCommentInfoLinearLayout.setVisibility(View.VISIBLE);
- mFetchCommentInfoTextView.setText(stringResId);
- mGlide.load(R.drawable.error_image).into(mFetchCommentInfoImageView);
+ binding.swipeRefreshLayoutViewCommentsListingFragment.setRefreshing(false);
+ binding.fetchCommentsInfoLinearLayoutCommentsListingFragment.setVisibility(View.VISIBLE);
+ binding.fetchCommentsInfoTextViewCommentsListingFragment.setText(stringResId);
+ mGlide.load(R.drawable.error_image).into(binding.fetchCommentsInfoImageViewCommentsListingFragment);
}
}
@@ -426,7 +414,7 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
String dataSavingMode = mSharedPreferences.getString(SharedPreferencesUtils.DATA_SAVING_MODE, SharedPreferencesUtils.DATA_SAVING_MODE_OFF);
if (dataSavingMode.equals(SharedPreferencesUtils.DATA_SAVING_MODE_ONLY_ON_CELLULAR_DATA)) {
mAdapter.setDataSavingMode(changeNetworkStatusEvent.connectedNetwork == Utils.NETWORK_TYPE_CELLULAR);
- refreshAdapter(mCommentRecyclerView, mAdapter);
+ refreshAdapter(binding.recyclerViewCommentsListingFragment, mAdapter);
}
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java
index c6aecc88..24281520 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/FollowedUsersListingFragment.java
@@ -40,6 +40,7 @@ import ml.docilealligator.infinityforreddit.activities.SubscribedThingListingAct
import ml.docilealligator.infinityforreddit.adapters.FollowedUsersRecyclerViewAdapter;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentFollowedUsersListingBinding;
import ml.docilealligator.infinityforreddit.subscribeduser.SubscribedUserViewModel;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
import retrofit2.Retrofit;
@@ -50,16 +51,6 @@ import retrofit2.Retrofit;
*/
public class FollowedUsersListingFragment extends Fragment implements FragmentCommunicator {
- @BindView(R.id.swipe_refresh_layout_followed_users_listing_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_followed_users_listing_fragment)
- RecyclerView mRecyclerView;
- @BindView(R.id.no_subscriptions_linear_layout_followed_users_listing_fragment)
- LinearLayout mLinearLayout;
- @BindView(R.id.no_subscriptions_image_view_followed_users_listing_fragment)
- ImageView mImageView;
- @BindView(R.id.error_text_view_followed_users_listing_fragment)
- TextView mErrorTextView;
@Inject
@Named("oauth")
Retrofit mOauthRetrofit;
@@ -76,17 +67,16 @@ public class FollowedUsersListingFragment extends Fragment implements FragmentCo
private BaseActivity mActivity;
private RequestManager mGlide;
private LinearLayoutManagerBugFixed mLinearLayoutManager;
+ private FragmentFollowedUsersListingBinding binding;
public FollowedUsersListingFragment() {
// Required empty public constructor
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_followed_users_listing, container, false);
-
- ButterKnife.bind(this, rootView);
+ binding = FragmentFollowedUsersListingBinding.inflate(inflater, container, false);
((Infinity) mActivity.getApplication()).getAppComponent().inject(this);
@@ -95,56 +85,56 @@ public class FollowedUsersListingFragment extends Fragment implements FragmentCo
Resources resources = getResources();
if ((mActivity instanceof BaseActivity && ((BaseActivity) mActivity).isImmersiveInterface())) {
- mRecyclerView.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
+ binding.recyclerViewFollowedUsersListingFragment.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true)) {
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
- mRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
+ binding.recyclerViewFollowedUsersListingFragment.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
}
}
mGlide = Glide.with(this);
if (mActivity.accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
- mSwipeRefreshLayout.setEnabled(false);
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setEnabled(false);
}
mLinearLayoutManager = new LinearLayoutManagerBugFixed(mActivity);
- mRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewFollowedUsersListingFragment.setLayoutManager(mLinearLayoutManager);
FollowedUsersRecyclerViewAdapter adapter = new FollowedUsersRecyclerViewAdapter(mActivity,
mExecutor, mOauthRetrofit, mRedditDataRoomDatabase, mCustomThemeWrapper, mActivity.accessToken, mActivity.accountName);
- mRecyclerView.setAdapter(adapter);
- new FastScrollerBuilder(mRecyclerView).useMd2Style().build();
+ binding.recyclerViewFollowedUsersListingFragment.setAdapter(adapter);
+ new FastScrollerBuilder(binding.recyclerViewFollowedUsersListingFragment).useMd2Style().build();
mSubscribedUserViewModel = new ViewModelProvider(this,
new SubscribedUserViewModel.Factory(mActivity.getApplication(), mRedditDataRoomDatabase, mActivity.accountName))
.get(SubscribedUserViewModel.class);
mSubscribedUserViewModel.getAllSubscribedUsers().observe(getViewLifecycleOwner(), subscribedUserData -> {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setRefreshing(false);
if (subscribedUserData == null || subscribedUserData.size() == 0) {
- mRecyclerView.setVisibility(View.GONE);
- mLinearLayout.setVisibility(View.VISIBLE);
- mGlide.load(R.drawable.error_image).into(mImageView);
+ binding.recyclerViewFollowedUsersListingFragment.setVisibility(View.GONE);
+ binding.noSubscriptionsLinearLayoutFollowedUsersListingFragment.setVisibility(View.VISIBLE);
+ mGlide.load(R.drawable.error_image).into(binding.noSubscriptionsImageViewFollowedUsersListingFragment);
} else {
- mLinearLayout.setVisibility(View.GONE);
- mRecyclerView.setVisibility(View.VISIBLE);
- mGlide.clear(mImageView);
+ binding.noSubscriptionsLinearLayoutFollowedUsersListingFragment.setVisibility(View.GONE);
+ binding.recyclerViewFollowedUsersListingFragment.setVisibility(View.VISIBLE);
+ mGlide.clear(binding.noSubscriptionsImageViewFollowedUsersListingFragment);
}
adapter.setSubscribedUsers(subscribedUserData);
});
mSubscribedUserViewModel.getAllFavoriteSubscribedUsers().observe(getViewLifecycleOwner(), favoriteSubscribedUserData -> {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setRefreshing(false);
if (favoriteSubscribedUserData != null && favoriteSubscribedUserData.size() > 0) {
- mLinearLayout.setVisibility(View.GONE);
- mRecyclerView.setVisibility(View.VISIBLE);
- mGlide.clear(mImageView);
+ binding.noSubscriptionsLinearLayoutFollowedUsersListingFragment.setVisibility(View.GONE);
+ binding.recyclerViewFollowedUsersListingFragment.setVisibility(View.VISIBLE);
+ mGlide.clear(binding.noSubscriptionsImageViewFollowedUsersListingFragment);
}
adapter.setFavoriteSubscribedUsers(favoriteSubscribedUserData);
});
- return rootView;
+ return binding.getRoot();
}
@Override
@@ -155,21 +145,21 @@ public class FollowedUsersListingFragment extends Fragment implements FragmentCo
@Override
public void stopRefreshProgressbar() {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setRefreshing(false);
}
@Override
public void applyTheme() {
if (mActivity instanceof SubscribedThingListingActivity) {
- mSwipeRefreshLayout.setOnRefreshListener(() -> ((SubscribedThingListingActivity) mActivity).loadSubscriptions(true));
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setOnRefreshListener(() -> ((SubscribedThingListingActivity) mActivity).loadSubscriptions(true));
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
} else {
- mSwipeRefreshLayout.setEnabled(false);
+ binding.swipeRefreshLayoutFollowedUsersListingFragment.setEnabled(false);
}
- mErrorTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
+ binding.errorTextViewFollowedUsersListingFragment.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
if (mActivity.typeface != null) {
- mErrorTextView.setTypeface(mActivity.typeface);
+ binding.errorTextViewFollowedUsersListingFragment.setTypeface(mActivity.typeface);
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/HistoryPostFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/HistoryPostFragment.java
index e88e549f..fc16e20d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/HistoryPostFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/HistoryPostFragment.java
@@ -61,9 +61,6 @@ import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.Unbinder;
import ml.docilealligator.infinityforreddit.FetchPostFilterReadPostsAndConcatenatedSubredditNames;
import ml.docilealligator.infinityforreddit.FragmentCommunicator;
import ml.docilealligator.infinityforreddit.Infinity;
@@ -78,8 +75,9 @@ import ml.docilealligator.infinityforreddit.apis.StreamableAPI;
import ml.docilealligator.infinityforreddit.asynctasks.LoadSubredditIcon;
import ml.docilealligator.infinityforreddit.asynctasks.LoadUserData;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-import ml.docilealligator.infinityforreddit.customviews.CustomToroContainer;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentHistoryPostBinding;
+import ml.docilealligator.infinityforreddit.databinding.FragmentPostBinding;
import ml.docilealligator.infinityforreddit.events.ChangeAutoplayNsfwVideosEvent;
import ml.docilealligator.infinityforreddit.events.ChangeCompactLayoutToolbarHiddenByDefaultEvent;
import ml.docilealligator.infinityforreddit.events.ChangeDataSavingModeEvent;
@@ -144,16 +142,6 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
private static final String POST_FILTER_STATE = "PFS";
private static final String POST_FRAGMENT_ID_STATE = "PFIS";
- @BindView(R.id.swipe_refresh_layout_history_post_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_history_post_fragment)
- CustomToroContainer mPostRecyclerView;
- @BindView(R.id.fetch_post_info_linear_layout_history_post_fragment)
- LinearLayout mFetchPostInfoLinearLayout;
- @BindView(R.id.fetch_post_info_image_view_history_post_fragment)
- ImageView mFetchPostInfoImageView;
- @BindView(R.id.fetch_post_info_text_view_history_post_fragment)
- TextView mFetchPostInfoTextView;
HistoryPostViewModel mHistoryPostViewModel;
@Inject
@Named("no_oauth")
@@ -225,9 +213,9 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
private float swipeActionThreshold;
private ItemTouchHelper touchHelper;
private ArrayList<String> readPosts;
- private Unbinder unbinder;
private final Map<String, String> subredditOrUserIcons = new HashMap<>();
private int historyType;
+ private FragmentHistoryPostBinding binding;
public HistoryPostFragment() {
// Required empty public constructor
@@ -241,22 +229,20 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
- View rootView = inflater.inflate(R.layout.fragment_history_post, container, false);
+ binding = FragmentHistoryPostBinding.inflate(inflater, container, false);
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- unbinder = ButterKnife.bind(this, rootView);
-
setHasOptionsMenu(true);
EventBus.getDefault().register(this);
applyTheme();
- mPostRecyclerView.addOnWindowFocusChangedListener(this::onWindowFocusChanged);
+ binding.recyclerViewHistoryPostFragment.addOnWindowFocusChangedListener(this::onWindowFocusChanged);
lazyModeHandler = new Handler();
@@ -274,12 +260,12 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
Resources resources = getResources();
if ((activity != null && activity.isImmersiveInterface())) {
- mPostRecyclerView.setPadding(0, 0, 0, ((BaseActivity) activity).getNavBarHeight());
+ binding.recyclerViewHistoryPostFragment.setPadding(0, 0, 0, ((BaseActivity) activity).getNavBarHeight());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true)) {
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
- mPostRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
+ binding.recyclerViewHistoryPostFragment.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
}
}
@@ -326,8 +312,8 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
}
};
- mSwipeRefreshLayout.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true));
- mSwipeRefreshLayout.setOnRefreshListener(this::refresh);
+ binding.swipeRefreshLayoutHistoryPostFragment.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true));
+ binding.swipeRefreshLayoutHistoryPostFragment.setOnRefreshListener(this::refresh);
int recyclerViewPosition = 0;
if (savedInstanceState != null) {
@@ -342,7 +328,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
historyPostFragmentId = System.currentTimeMillis() + new Random().nextInt(1000);
}
- mPostRecyclerView.setOnTouchListener((view, motionEvent) -> {
+ binding.recyclerViewHistoryPostFragment.setOnTouchListener((view, motionEvent) -> {
if (isInLazyMode) {
pauseLazyMode(true);
}
@@ -350,7 +336,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
});
if (activity instanceof RecyclerViewContentScrollingInterface) {
- mPostRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewHistoryPostFragment.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
@@ -414,7 +400,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewHistoryPostFragment, new AutoTransition());
}
});
}
@@ -422,17 +408,17 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
int nColumns = getNColumns(resources);
if (nColumns == 1) {
mLinearLayoutManager = new LinearLayoutManagerBugFixed(activity);
- mPostRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(mLinearLayoutManager);
} else {
mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(nColumns, StaggeredGridLayoutManager.VERTICAL);
- mPostRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(mStaggeredGridLayoutManager);
StaggeredGridLayoutManagerItemOffsetDecoration itemDecoration =
new StaggeredGridLayoutManagerItemOffsetDecoration(activity, R.dimen.staggeredLayoutManagerItemOffset, nColumns);
- mPostRecyclerView.addItemDecoration(itemDecoration);
+ binding.recyclerViewHistoryPostFragment.addItemDecoration(itemDecoration);
}
if (recyclerViewPosition > 0) {
- mPostRecyclerView.scrollToPosition(recyclerViewPosition);
+ binding.recyclerViewHistoryPostFragment.scrollToPosition(recyclerViewPosition);
}
if (postFilter == null) {
@@ -486,7 +472,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
if (touchHelper != null) {
exceedThreshold = false;
touchHelper.attachToRecyclerView(null);
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewHistoryPostFragment);
}
}
@@ -555,11 +541,11 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
if (nColumns == 1 && mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_SWIPE_ACTION, false)) {
swipeActionEnabled = true;
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewHistoryPostFragment);
}
- mPostRecyclerView.setAdapter(mAdapter);
- mPostRecyclerView.setCacheManager(mAdapter);
- mPostRecyclerView.setPlayerInitializer(order -> {
+ binding.recyclerViewHistoryPostFragment.setAdapter(mAdapter);
+ binding.recyclerViewHistoryPostFragment.setCacheManager(mAdapter);
+ binding.recyclerViewHistoryPostFragment.setPlayerInitializer(order -> {
VolumeInfo volumeInfo = new VolumeInfo(true, 0f);
return new PlaybackInfo(INDEX_UNSET, TIME_UNSET, volumeInfo);
});
@@ -576,8 +562,8 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
if (isInLazyMode) {
resumeLazyMode(false);
}
- if (mAdapter != null && mPostRecyclerView != null) {
- mPostRecyclerView.onWindowVisibilityChanged(View.VISIBLE);
+ if (mAdapter != null && binding.recyclerViewHistoryPostFragment != null) {
+ binding.recyclerViewHistoryPostFragment.onWindowVisibilityChanged(View.VISIBLE);
}
}
@@ -664,7 +650,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
LoadState refreshLoadState = combinedLoadStates.getRefresh();
LoadState appendLoadState = combinedLoadStates.getAppend();
- mSwipeRefreshLayout.setRefreshing(refreshLoadState instanceof LoadState.Loading);
+ binding.swipeRefreshLayoutHistoryPostFragment.setRefreshing(refreshLoadState instanceof LoadState.Loading);
if (refreshLoadState instanceof LoadState.NotLoading) {
if (refreshLoadState.getEndOfPaginationReached() && mAdapter.getItemCount() < 1) {
noPostFound();
@@ -672,7 +658,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
hasPost = true;
}
} else if (refreshLoadState instanceof LoadState.Error) {
- mFetchPostInfoLinearLayout.setOnClickListener(view -> refresh());
+ binding.fetchPostInfoLinearLayoutHistoryPostFragment.setOnClickListener(view -> refresh());
showErrorView(R.string.load_posts_error);
}
if (!(refreshLoadState instanceof LoadState.Loading) && appendLoadState instanceof LoadState.NotLoading) {
@@ -683,7 +669,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
return null;
});
- mPostRecyclerView.setAdapter(mAdapter.withLoadStateFooter(new Paging3LoadingStateAdapter(activity, mCustomThemeWrapper, R.string.load_more_posts_error,
+ binding.recyclerViewHistoryPostFragment.setAdapter(mAdapter.withLoadStateFooter(new Paging3LoadingStateAdapter(activity, mCustomThemeWrapper, R.string.load_more_posts_error,
view -> mAdapter.retry())));
}
@@ -693,7 +679,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
stopLazyMode();
}
- mFetchPostInfoLinearLayout.setOnClickListener(null);
+ binding.fetchPostInfoLinearLayoutHistoryPostFragment.setOnClickListener(null);
showErrorView(R.string.no_posts);
}
@@ -743,7 +729,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
@Override
public void refresh() {
- mFetchPostInfoLinearLayout.setVisibility(View.GONE);
+ binding.fetchPostInfoLinearLayoutHistoryPostFragment.setVisibility(View.GONE);
hasPost = false;
if (isInLazyMode) {
stopLazyMode();
@@ -754,10 +740,10 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
private void showErrorView(int stringResId) {
if (activity != null && isAdded()) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchPostInfoLinearLayout.setVisibility(View.VISIBLE);
- mFetchPostInfoTextView.setText(stringResId);
- mGlide.load(R.drawable.error_image).into(mFetchPostInfoImageView);
+ binding.swipeRefreshLayoutHistoryPostFragment.setRefreshing(false);
+ binding.fetchPostInfoLinearLayoutHistoryPostFragment.setVisibility(View.VISIBLE);
+ binding.fetchPostInfoTextViewHistoryPostFragment.setText(stringResId);
+ mGlide.load(R.drawable.error_image).into(binding.fetchPostInfoImageViewHistoryPostFragment);
}
}
@@ -869,25 +855,25 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
int nColumns = getNColumns(getResources());
if (nColumns == 1) {
mLinearLayoutManager = new LinearLayoutManagerBugFixed(activity);
- if (mPostRecyclerView.getItemDecorationCount() > 0) {
- mPostRecyclerView.removeItemDecorationAt(0);
+ if (binding.recyclerViewHistoryPostFragment.getItemDecorationCount() > 0) {
+ binding.recyclerViewHistoryPostFragment.removeItemDecorationAt(0);
}
- mPostRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(mLinearLayoutManager);
mStaggeredGridLayoutManager = null;
} else {
mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(nColumns, StaggeredGridLayoutManager.VERTICAL);
- if (mPostRecyclerView.getItemDecorationCount() > 0) {
- mPostRecyclerView.removeItemDecorationAt(0);
+ if (binding.recyclerViewHistoryPostFragment.getItemDecorationCount() > 0) {
+ binding.recyclerViewHistoryPostFragment.removeItemDecorationAt(0);
}
- mPostRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(mStaggeredGridLayoutManager);
StaggeredGridLayoutManagerItemOffsetDecoration itemDecoration =
new StaggeredGridLayoutManagerItemOffsetDecoration(activity, R.dimen.staggeredLayoutManagerItemOffset, nColumns);
- mPostRecyclerView.addItemDecoration(itemDecoration);
+ binding.recyclerViewHistoryPostFragment.addItemDecoration(itemDecoration);
mLinearLayoutManager = null;
}
if (previousPosition > 0) {
- mPostRecyclerView.scrollToPosition(previousPosition);
+ binding.recyclerViewHistoryPostFragment.scrollToPosition(previousPosition);
}
if (mAdapter != null) {
@@ -898,11 +884,11 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
@Override
public void applyTheme() {
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
- mFetchPostInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
+ binding.swipeRefreshLayoutHistoryPostFragment.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutHistoryPostFragment.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
+ binding.fetchPostInfoTextViewHistoryPostFragment.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
if (activity.typeface != null) {
- mFetchPostInfoTextView.setTypeface(activity.typeface);
+ binding.fetchPostInfoTextViewHistoryPostFragment.setTypeface(activity.typeface);
}
}
@@ -947,13 +933,13 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
previousPosition = mStaggeredGridLayoutManager.findFirstVisibleItemPositions(into)[0];
}
- RecyclerView.LayoutManager layoutManager = mPostRecyclerView.getLayoutManager();
- mPostRecyclerView.setAdapter(null);
- mPostRecyclerView.setLayoutManager(null);
- mPostRecyclerView.setAdapter(mAdapter);
- mPostRecyclerView.setLayoutManager(layoutManager);
+ RecyclerView.LayoutManager layoutManager = binding.recyclerViewHistoryPostFragment.getLayoutManager();
+ binding.recyclerViewHistoryPostFragment.setAdapter(null);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(null);
+ binding.recyclerViewHistoryPostFragment.setAdapter(mAdapter);
+ binding.recyclerViewHistoryPostFragment.setLayoutManager(layoutManager);
if (previousPosition > 0) {
- mPostRecyclerView.scrollToPosition(previousPosition);
+ binding.recyclerViewHistoryPostFragment.scrollToPosition(previousPosition);
}
}
@@ -977,23 +963,15 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
if (isInLazyMode) {
pauseLazyMode(false);
}
- if (mAdapter != null && mPostRecyclerView != null) {
- mPostRecyclerView.onWindowVisibilityChanged(View.GONE);
+ if (mAdapter != null) {
+ binding.recyclerViewHistoryPostFragment.onWindowVisibilityChanged(View.GONE);
}
}
@Override
- public void onDestroyView() {
- super.onDestroyView();
- unbinder.unbind();
- }
-
- @Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
- if (mPostRecyclerView != null) {
- mPostRecyclerView.addOnWindowFocusChangedListener(null);
- }
+ binding.recyclerViewHistoryPostFragment.addOnWindowFocusChangedListener(null);
super.onDestroy();
}
@@ -1206,7 +1184,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
if (getNColumns(getResources()) == 1 && touchHelper != null) {
swipeActionEnabled = changeEnableSwipeActionSwitchEvent.enableSwipeAction;
if (changeEnableSwipeActionSwitchEvent.enableSwipeAction) {
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewHistoryPostFragment);
} else {
touchHelper.attachToRecyclerView(null);
}
@@ -1215,7 +1193,7 @@ public class HistoryPostFragment extends Fragment implements FragmentCommunicato
@Subscribe
public void onChangePullToRefreshEvent(ChangePullToRefreshEvent changePullToRefreshEvent) {
- mSwipeRefreshLayout.setEnabled(changePullToRefreshEvent.pullToRefresh);
+ binding.swipeRefreshLayoutHistoryPostFragment.setEnabled(changePullToRefreshEvent.pullToRefresh);
}
@Subscribe
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/InboxFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/InboxFragment.java
index 25e4263e..45309aec 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/InboxFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/InboxFragment.java
@@ -39,6 +39,7 @@ import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.adapters.MessageRecyclerViewAdapter;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentInboxBinding;
import ml.docilealligator.infinityforreddit.events.RepliedToPrivateMessageEvent;
import ml.docilealligator.infinityforreddit.message.FetchMessage;
import ml.docilealligator.infinityforreddit.message.Message;
@@ -48,16 +49,7 @@ import retrofit2.Retrofit;
public class InboxFragment extends Fragment implements FragmentCommunicator {
public static final String EXTRA_MESSAGE_WHERE = "EMT";
- @BindView(R.id.swipe_refresh_layout_inbox_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_inbox_fragment)
- RecyclerView mRecyclerView;
- @BindView(R.id.fetch_messages_info_linear_layout_inbox_fragment)
- LinearLayout mFetchMessageInfoLinearLayout;
- @BindView(R.id.fetch_messages_info_image_view_inbox_fragment)
- ImageView mFetchMessageInfoImageView;
- @BindView(R.id.fetch_messages_info_text_view_inbox_fragment)
- TextView mFetchMessageInfoTextView;
+
MessageViewModel mMessageViewModel;
@Inject
@Named("oauth")
@@ -74,45 +66,44 @@ public class InboxFragment extends Fragment implements FragmentCommunicator {
private RequestManager mGlide;
private LinearLayoutManagerBugFixed mLinearLayoutManager;
private BaseActivity mActivity;
+ private FragmentInboxBinding binding;
public InboxFragment() {
// Required empty public constructor
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_inbox, container, false);
+ binding = FragmentInboxBinding.inflate(inflater, container, false);
((Infinity) mActivity.getApplication()).getAppComponent().inject(this);
- ButterKnife.bind(this, rootView);
-
EventBus.getDefault().register(this);
applyTheme();
Bundle arguments = getArguments();
if (arguments == null) {
- return rootView;
+ return binding.getRoot();
}
mGlide = Glide.with(this);
if (mActivity.isImmersiveInterface()) {
- mRecyclerView.setPadding(0, 0, 0, mActivity.getNavBarHeight());
+ binding.recyclerViewInboxFragment.setPadding(0, 0, 0, mActivity.getNavBarHeight());
}
mWhere = arguments.getString(EXTRA_MESSAGE_WHERE, FetchMessage.WHERE_INBOX);
mAdapter = new MessageRecyclerViewAdapter(mActivity, mOauthRetrofit, mCustomThemeWrapper,
mActivity.accessToken, mWhere, () -> mMessageViewModel.retryLoadingMore());
mLinearLayoutManager = new LinearLayoutManagerBugFixed(mActivity);
- mRecyclerView.setLayoutManager(mLinearLayoutManager);
- mRecyclerView.setAdapter(mAdapter);
+ binding.recyclerViewInboxFragment.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewInboxFragment.setAdapter(mAdapter);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(mActivity, mLinearLayoutManager.getOrientation());
- mRecyclerView.addItemDecoration(dividerItemDecoration);
+ binding.recyclerViewInboxFragment.addItemDecoration(dividerItemDecoration);
if (mActivity instanceof RecyclerViewContentScrollingInterface) {
- mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewInboxFragment.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
@@ -130,28 +121,28 @@ public class InboxFragment extends Fragment implements FragmentCommunicator {
mMessageViewModel.getMessages().observe(getViewLifecycleOwner(), messages -> mAdapter.submitList(messages));
mMessageViewModel.hasMessage().observe(getViewLifecycleOwner(), hasMessage -> {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutInboxFragment.setRefreshing(false);
if (hasMessage) {
- mFetchMessageInfoLinearLayout.setVisibility(View.GONE);
+ binding.fetchMessagesInfoLinearLayoutInboxFragment.setVisibility(View.GONE);
} else {
- mFetchMessageInfoLinearLayout.setOnClickListener(null);
+ binding.fetchMessagesInfoLinearLayoutInboxFragment.setOnClickListener(null);
showErrorView(R.string.no_messages);
}
});
mMessageViewModel.getInitialLoadingState().observe(getViewLifecycleOwner(), networkState -> {
if (networkState.getStatus().equals(NetworkState.Status.SUCCESS)) {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutInboxFragment.setRefreshing(false);
} else if (networkState.getStatus().equals(NetworkState.Status.FAILED)) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchMessageInfoLinearLayout.setOnClickListener(view -> {
- mFetchMessageInfoLinearLayout.setVisibility(View.GONE);
+ binding.swipeRefreshLayoutInboxFragment.setRefreshing(false);
+ binding.fetchMessagesInfoLinearLayoutInboxFragment.setOnClickListener(view -> {
+ binding.fetchMessagesInfoLinearLayoutInboxFragment.setVisibility(View.GONE);
mMessageViewModel.refresh();
mAdapter.setNetworkState(null);
});
showErrorView(R.string.load_messages_failed);
} else {
- mSwipeRefreshLayout.setRefreshing(true);
+ binding.swipeRefreshLayoutInboxFragment.setRefreshing(true);
}
});
@@ -159,25 +150,25 @@ public class InboxFragment extends Fragment implements FragmentCommunicator {
mAdapter.setNetworkState(networkState);
});
- mSwipeRefreshLayout.setOnRefreshListener(this::onRefresh);
+ binding.swipeRefreshLayoutInboxFragment.setOnRefreshListener(this::onRefresh);
- return rootView;
+ return binding.getRoot();
}
private void showErrorView(int stringResId) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchMessageInfoLinearLayout.setVisibility(View.VISIBLE);
- mFetchMessageInfoTextView.setText(stringResId);
- mGlide.load(R.drawable.error_image).into(mFetchMessageInfoImageView);
+ binding.swipeRefreshLayoutInboxFragment.setRefreshing(false);
+ binding.fetchMessagesInfoLinearLayoutInboxFragment.setVisibility(View.VISIBLE);
+ binding.fetchMessagesInfoTextViewInboxFragment.setText(stringResId);
+ mGlide.load(R.drawable.error_image).into(binding.fetchMessagesInfoImageViewInboxFragment);
}
@Override
public void applyTheme() {
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
- mFetchMessageInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
+ binding.swipeRefreshLayoutInboxFragment.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutInboxFragment.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
+ binding.fetchMessagesInfoTextViewInboxFragment.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
if (mActivity.typeface != null) {
- mFetchMessageInfoTextView.setTypeface(mActivity.typeface);
+ binding.fetchMessagesInfoTextViewInboxFragment.setTypeface(mActivity.typeface);
}
}
@@ -196,14 +187,14 @@ public class InboxFragment extends Fragment implements FragmentCommunicator {
previousPosition = mLinearLayoutManager.findFirstVisibleItemPosition();
}
- RecyclerView.LayoutManager layoutManager = mRecyclerView.getLayoutManager();
- mRecyclerView.setAdapter(null);
- mRecyclerView.setLayoutManager(null);
- mRecyclerView.setAdapter(mAdapter);
- mRecyclerView.setLayoutManager(layoutManager);
+ RecyclerView.LayoutManager layoutManager = binding.recyclerViewInboxFragment.getLayoutManager();
+ binding.recyclerViewInboxFragment.setAdapter(null);
+ binding.recyclerViewInboxFragment.setLayoutManager(null);
+ binding.recyclerViewInboxFragment.setAdapter(mAdapter);
+ binding.recyclerViewInboxFragment.setLayoutManager(layoutManager);
if (previousPosition > 0) {
- mRecyclerView.scrollToPosition(previousPosition);
+ binding.recyclerViewInboxFragment.scrollToPosition(previousPosition);
}
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java
index c58f1c50..36a2969b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/MultiRedditListingFragment.java
@@ -43,6 +43,7 @@ import ml.docilealligator.infinityforreddit.adapters.MultiRedditListingRecyclerV
import ml.docilealligator.infinityforreddit.bottomsheetfragments.MultiRedditOptionsBottomSheetFragment;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentMultiRedditListingBinding;
import ml.docilealligator.infinityforreddit.multireddit.MultiReddit;
import ml.docilealligator.infinityforreddit.multireddit.MultiRedditViewModel;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
@@ -52,16 +53,6 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
public static final String EXTRA_IS_GETTING_MULTIREDDIT_INFO = "EIGMI";
- @BindView(R.id.swipe_refresh_layout_multi_reddit_listing_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_multi_reddit_listing_fragment)
- RecyclerView mRecyclerView;
- @BindView(R.id.fetch_multi_reddit_listing_info_linear_layout_multi_reddit_listing_fragment)
- LinearLayout mErrorLinearLayout;
- @BindView(R.id.fetch_multi_reddit_listing_info_image_view_multi_reddit_listing_fragment)
- ImageView mErrorImageView;
- @BindView(R.id.fetch_multi_reddit_listing_info_text_view_multi_reddit_listing_fragment)
- TextView mErrorTextView;
@Inject
RedditDataRoomDatabase mRedditDataRoomDatabase;
@Inject
@@ -79,43 +70,42 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
private BaseActivity mActivity;
private RequestManager mGlide;
private LinearLayoutManagerBugFixed mLinearLayoutManager;
+ private FragmentMultiRedditListingBinding binding;
public MultiRedditListingFragment() {
// Required empty public constructor
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_multi_reddit_listing, container, false);
+ binding = FragmentMultiRedditListingBinding.inflate(inflater, container, false);
((Infinity) mActivity.getApplication()).getAppComponent().inject(this);
- ButterKnife.bind(this, rootView);
-
applyTheme();
if ((mActivity != null && ((BaseActivity) mActivity).isImmersiveInterface())) {
- mRecyclerView.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
+ binding.recyclerViewMultiRedditListingFragment.setPadding(0, 0, 0, ((BaseActivity) mActivity).getNavBarHeight());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true)) {
Resources resources = getResources();
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
- mRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
+ binding.recyclerViewMultiRedditListingFragment.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
}
}
boolean isGettingMultiredditInfo = getArguments().getBoolean(EXTRA_IS_GETTING_MULTIREDDIT_INFO, false);
if (mActivity.accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
- mSwipeRefreshLayout.setEnabled(false);
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setEnabled(false);
}
mGlide = Glide.with(this);
mLinearLayoutManager = new LinearLayoutManagerBugFixed(mActivity);
- mRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewMultiRedditListingFragment.setLayoutManager(mLinearLayoutManager);
MultiRedditListingRecyclerViewAdapter adapter = new MultiRedditListingRecyclerViewAdapter(mActivity,
mExecutor, mOauthRetrofit, mRedditDataRoomDatabase, mCustomThemeWrapper, mActivity.accessToken,
mActivity.accountName, new MultiRedditListingRecyclerViewAdapter.OnItemClickListener() {
@@ -137,9 +127,9 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
}
}
});
- mRecyclerView.setAdapter(adapter);
+ binding.recyclerViewMultiRedditListingFragment.setAdapter(adapter);
if (mActivity instanceof SubscribedThingListingActivity) {
- mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewMultiRedditListingFragment.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
@@ -151,7 +141,7 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
}
});
}
- new FastScrollerBuilder(mRecyclerView).useMd2Style().build();
+ new FastScrollerBuilder(binding.recyclerViewMultiRedditListingFragment).useMd2Style().build();
mMultiRedditViewModel = new ViewModelProvider(this,
new MultiRedditViewModel.Factory(mActivity.getApplication(), mRedditDataRoomDatabase, mActivity.accountName))
@@ -159,27 +149,27 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
mMultiRedditViewModel.getAllMultiReddits().observe(getViewLifecycleOwner(), subscribedUserData -> {
if (subscribedUserData == null || subscribedUserData.size() == 0) {
- mRecyclerView.setVisibility(View.GONE);
- mErrorLinearLayout.setVisibility(View.VISIBLE);
- mGlide.load(R.drawable.error_image).into(mErrorImageView);
+ binding.recyclerViewMultiRedditListingFragment.setVisibility(View.GONE);
+ binding.fetchMultiRedditListingInfoLinearLayoutMultiRedditListingFragment.setVisibility(View.VISIBLE);
+ mGlide.load(R.drawable.error_image).into(binding.fetchMultiRedditListingInfoImageViewMultiRedditListingFragment);
} else {
- mErrorLinearLayout.setVisibility(View.GONE);
- mRecyclerView.setVisibility(View.VISIBLE);
- mGlide.clear(mErrorImageView);
+ binding.fetchMultiRedditListingInfoLinearLayoutMultiRedditListingFragment.setVisibility(View.GONE);
+ binding.recyclerViewMultiRedditListingFragment.setVisibility(View.VISIBLE);
+ mGlide.clear(binding.fetchMultiRedditListingInfoImageViewMultiRedditListingFragment);
}
adapter.setMultiReddits(subscribedUserData);
});
mMultiRedditViewModel.getAllFavoriteMultiReddits().observe(getViewLifecycleOwner(), favoriteSubscribedUserData -> {
if (favoriteSubscribedUserData != null && favoriteSubscribedUserData.size() > 0) {
- mErrorLinearLayout.setVisibility(View.GONE);
- mRecyclerView.setVisibility(View.VISIBLE);
- mGlide.clear(mErrorImageView);
+ binding.fetchMultiRedditListingInfoLinearLayoutMultiRedditListingFragment.setVisibility(View.GONE);
+ binding.recyclerViewMultiRedditListingFragment.setVisibility(View.VISIBLE);
+ mGlide.clear(binding.fetchMultiRedditListingInfoImageViewMultiRedditListingFragment);
}
adapter.setFavoriteMultiReddits(favoriteSubscribedUserData);
});
- return rootView;
+ return binding.getRoot();
}
private void showOptionsBottomSheetFragment(MultiReddit multiReddit) {
@@ -209,21 +199,21 @@ public class MultiRedditListingFragment extends Fragment implements FragmentComm
@Override
public void applyTheme() {
if (mActivity instanceof SubscribedThingListingActivity) {
- mSwipeRefreshLayout.setOnRefreshListener(() -> ((SubscribedThingListingActivity) mActivity).loadSubscriptions(true));
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setOnRefreshListener(() -> ((SubscribedThingListingActivity) mActivity).loadSubscriptions(true));
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
} else {
- mSwipeRefreshLayout.setEnabled(false);
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setEnabled(false);
}
- mErrorTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
+ binding.fetchMultiRedditListingInfoTextViewMultiRedditListingFragment.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
if (mActivity.typeface != null) {
- mErrorTextView.setTypeface(mActivity.typeface);
+ binding.fetchMultiRedditListingInfoTextViewMultiRedditListingFragment.setTypeface(mActivity.typeface);
}
}
@Override
public void stopRefreshProgressbar() {
- mSwipeRefreshLayout.setRefreshing(false);
+ binding.swipeRefreshLayoutMultiRedditListingFragment.setRefreshing(false);
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/PostFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/PostFragment.java
index f73e3db8..b7dcea20 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/PostFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/fragments/PostFragment.java
@@ -91,6 +91,7 @@ import ml.docilealligator.infinityforreddit.bottomsheetfragments.FABMoreOptionsB
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.CustomToroContainer;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.FragmentPostBinding;
import ml.docilealligator.infinityforreddit.events.ChangeAutoplayNsfwVideosEvent;
import ml.docilealligator.infinityforreddit.events.ChangeCompactLayoutToolbarHiddenByDefaultEvent;
import ml.docilealligator.infinityforreddit.events.ChangeDataSavingModeEvent;
@@ -166,16 +167,6 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
private static final String CONCATENATED_SUBREDDIT_NAMES_STATE = "CSNS";
private static final String POST_FRAGMENT_ID_STATE = "PFIS";
- @BindView(R.id.swipe_refresh_layout_post_fragment)
- SwipeRefreshLayout mSwipeRefreshLayout;
- @BindView(R.id.recycler_view_post_fragment)
- CustomToroContainer mPostRecyclerView;
- @BindView(R.id.fetch_post_info_linear_layout_post_fragment)
- LinearLayout mFetchPostInfoLinearLayout;
- @BindView(R.id.fetch_post_info_image_view_post_fragment)
- ImageView mFetchPostInfoImageView;
- @BindView(R.id.fetch_post_info_text_view_post_fragment)
- TextView mFetchPostInfoTextView;
PostViewModel mPostViewModel;
@Inject
@Named("no_oauth")
@@ -259,8 +250,8 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
private float swipeActionThreshold;
private ItemTouchHelper touchHelper;
private ArrayList<String> readPosts;
- private Unbinder unbinder;
private final Map<String, String> subredditOrUserIcons = new HashMap<>();
+ private FragmentPostBinding binding;
public PostFragment() {
// Required empty public constructor
@@ -275,8 +266,8 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if (isInLazyMode) {
resumeLazyMode(false);
}
- if (mAdapter != null && mPostRecyclerView != null) {
- mPostRecyclerView.onWindowVisibilityChanged(View.VISIBLE);
+ if (mAdapter != null && binding.recyclerViewPostFragment != null) {
+ binding.recyclerViewPostFragment.onWindowVisibilityChanged(View.VISIBLE);
}
}
@@ -309,19 +300,17 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
- View rootView = inflater.inflate(R.layout.fragment_post, container, false);
+ binding = FragmentPostBinding.inflate(inflater, container, false);
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- unbinder = ButterKnife.bind(this, rootView);
-
setHasOptionsMenu(true);
EventBus.getDefault().register(this);
applyTheme();
- mPostRecyclerView.addOnWindowFocusChangedListener(this::onWindowFocusChanged);
+ binding.recyclerViewPostFragment.addOnWindowFocusChangedListener(this::onWindowFocusChanged);
lazyModeHandler = new Handler();
@@ -339,12 +328,12 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
Resources resources = getResources();
if ((activity != null && activity.isImmersiveInterface())) {
- mPostRecyclerView.setPadding(0, 0, 0, ((BaseActivity) activity).getNavBarHeight());
+ binding.recyclerViewPostFragment.setPadding(0, 0, 0, ((BaseActivity) activity).getNavBarHeight());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true)) {
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
- mPostRecyclerView.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
+ binding.recyclerViewPostFragment.setPadding(0, 0, 0, resources.getDimensionPixelSize(navBarResourceId));
}
}
@@ -391,8 +380,8 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
}
};
- mSwipeRefreshLayout.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true));
- mSwipeRefreshLayout.setOnRefreshListener(this::refresh);
+ binding.swipeRefreshLayoutPostFragment.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true));
+ binding.swipeRefreshLayoutPostFragment.setOnRefreshListener(this::refresh);
int recyclerViewPosition = 0;
if (savedInstanceState != null) {
@@ -408,7 +397,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
postFragmentId = System.currentTimeMillis() + new Random().nextInt(1000);
}
- mPostRecyclerView.setOnTouchListener((view, motionEvent) -> {
+ binding.recyclerViewPostFragment.setOnTouchListener((view, motionEvent) -> {
if (isInLazyMode) {
pauseLazyMode(true);
}
@@ -416,7 +405,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
});
if (activity instanceof RecyclerViewContentScrollingInterface) {
- mPostRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewPostFragment.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
@@ -501,7 +490,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else if (postType == PostPagingSource.TYPE_SUBREDDIT) {
@@ -572,7 +561,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else if (postType == PostPagingSource.TYPE_MULTI_REDDIT) {
@@ -643,7 +632,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else if (postType == PostPagingSource.TYPE_USER) {
@@ -711,7 +700,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else if (postType == PostPagingSource.TYPE_ANONYMOUS_FRONT_PAGE) {
@@ -766,7 +755,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else if (postType == PostPagingSource.TYPE_ANONYMOUS_MULTIREDDIT) {
@@ -829,7 +818,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
} else {
@@ -883,7 +872,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void delayTransition() {
- TransitionManager.beginDelayedTransition(mPostRecyclerView, new AutoTransition());
+ TransitionManager.beginDelayedTransition(binding.recyclerViewPostFragment, new AutoTransition());
}
});
}
@@ -891,17 +880,17 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
int nColumns = getNColumns(resources);
if (nColumns == 1) {
mLinearLayoutManager = new LinearLayoutManagerBugFixed(activity);
- mPostRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewPostFragment.setLayoutManager(mLinearLayoutManager);
} else {
mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(nColumns, StaggeredGridLayoutManager.VERTICAL);
- mPostRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
+ binding.recyclerViewPostFragment.setLayoutManager(mStaggeredGridLayoutManager);
StaggeredGridLayoutManagerItemOffsetDecoration itemDecoration =
new StaggeredGridLayoutManagerItemOffsetDecoration(activity, R.dimen.staggeredLayoutManagerItemOffset, nColumns);
- mPostRecyclerView.addItemDecoration(itemDecoration);
+ binding.recyclerViewPostFragment.addItemDecoration(itemDecoration);
}
if (recyclerViewPosition > 0) {
- mPostRecyclerView.scrollToPosition(recyclerViewPosition);
+ binding.recyclerViewPostFragment.scrollToPosition(recyclerViewPosition);
}
if (activity instanceof ActivityToolbarInterface) {
@@ -1077,7 +1066,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if (touchHelper != null) {
exceedThreshold = false;
touchHelper.attachToRecyclerView(null);
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewPostFragment);
}
}
@@ -1146,16 +1135,16 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if (nColumns == 1 && mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_SWIPE_ACTION, false)) {
swipeActionEnabled = true;
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewPostFragment);
}
- mPostRecyclerView.setAdapter(mAdapter);
- mPostRecyclerView.setCacheManager(mAdapter);
- mPostRecyclerView.setPlayerInitializer(order -> {
+ binding.recyclerViewPostFragment.setAdapter(mAdapter);
+ binding.recyclerViewPostFragment.setCacheManager(mAdapter);
+ binding.recyclerViewPostFragment.setPlayerInitializer(order -> {
VolumeInfo volumeInfo = new VolumeInfo(true, 0f);
return new PlaybackInfo(INDEX_UNSET, TIME_UNSET, volumeInfo);
});
- return rootView;
+ return binding.getRoot();
}
private int getNColumns(Resources resources) {
@@ -1260,7 +1249,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
LoadState refreshLoadState = combinedLoadStates.getRefresh();
LoadState appendLoadState = combinedLoadStates.getAppend();
- mSwipeRefreshLayout.setRefreshing(refreshLoadState instanceof LoadState.Loading);
+ binding.swipeRefreshLayoutPostFragment.setRefreshing(refreshLoadState instanceof LoadState.Loading);
if (refreshLoadState instanceof LoadState.NotLoading) {
if (refreshLoadState.getEndOfPaginationReached() && mAdapter.getItemCount() < 1) {
noPostFound();
@@ -1268,7 +1257,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
hasPost = true;
}
} else if (refreshLoadState instanceof LoadState.Error) {
- mFetchPostInfoLinearLayout.setOnClickListener(view -> refresh());
+ binding.fetchPostInfoLinearLayoutPostFragment.setOnClickListener(view -> refresh());
showErrorView(R.string.load_posts_error);
}
if (!(refreshLoadState instanceof LoadState.Loading) && appendLoadState instanceof LoadState.NotLoading) {
@@ -1279,7 +1268,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
return null;
});
- mPostRecyclerView.setAdapter(mAdapter.withLoadStateFooter(new Paging3LoadingStateAdapter(activity, mCustomThemeWrapper, R.string.load_more_posts_error,
+ binding.recyclerViewPostFragment.setAdapter(mAdapter.withLoadStateFooter(new Paging3LoadingStateAdapter(activity, mCustomThemeWrapper, R.string.load_more_posts_error,
view -> mAdapter.retry())));
}
@@ -1336,7 +1325,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
stopLazyMode();
}
- mFetchPostInfoLinearLayout.setOnClickListener(null);
+ binding.fetchPostInfoLinearLayoutPostFragment.setOnClickListener(null);
showErrorView(R.string.no_posts);
}
@@ -1385,9 +1374,9 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
break;
}
}
- if (mFetchPostInfoLinearLayout.getVisibility() != View.GONE) {
- mFetchPostInfoLinearLayout.setVisibility(View.GONE);
- mGlide.clear(mFetchPostInfoImageView);
+ if (binding.fetchPostInfoLinearLayoutPostFragment.getVisibility() != View.GONE) {
+ binding.fetchPostInfoLinearLayoutPostFragment.setVisibility(View.GONE);
+ mGlide.clear(binding.fetchPostInfoImageViewPostFragment);
}
hasPost = false;
if (isInLazyMode) {
@@ -1464,7 +1453,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void refresh() {
- mFetchPostInfoLinearLayout.setVisibility(View.GONE);
+ binding.fetchPostInfoLinearLayoutPostFragment.setVisibility(View.GONE);
hasPost = false;
if (isInLazyMode) {
stopLazyMode();
@@ -1476,10 +1465,10 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
private void showErrorView(int stringResId) {
if (activity != null && isAdded()) {
- mSwipeRefreshLayout.setRefreshing(false);
- mFetchPostInfoLinearLayout.setVisibility(View.VISIBLE);
- mFetchPostInfoTextView.setText(stringResId);
- mGlide.load(R.drawable.error_image).into(mFetchPostInfoImageView);
+ binding.swipeRefreshLayoutPostFragment.setRefreshing(false);
+ binding.fetchPostInfoLinearLayoutPostFragment.setVisibility(View.VISIBLE);
+ binding.fetchPostInfoTextViewPostFragment.setText(stringResId);
+ mGlide.load(R.drawable.error_image).into(binding.fetchPostInfoImageViewPostFragment);
}
}
@@ -1614,25 +1603,25 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
int nColumns = getNColumns(getResources());
if (nColumns == 1) {
mLinearLayoutManager = new LinearLayoutManagerBugFixed(activity);
- if (mPostRecyclerView.getItemDecorationCount() > 0) {
- mPostRecyclerView.removeItemDecorationAt(0);
+ if (binding.recyclerViewPostFragment.getItemDecorationCount() > 0) {
+ binding.recyclerViewPostFragment.removeItemDecorationAt(0);
}
- mPostRecyclerView.setLayoutManager(mLinearLayoutManager);
+ binding.recyclerViewPostFragment.setLayoutManager(mLinearLayoutManager);
mStaggeredGridLayoutManager = null;
} else {
mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(nColumns, StaggeredGridLayoutManager.VERTICAL);
- if (mPostRecyclerView.getItemDecorationCount() > 0) {
- mPostRecyclerView.removeItemDecorationAt(0);
+ if (binding.recyclerViewPostFragment.getItemDecorationCount() > 0) {
+ binding.recyclerViewPostFragment.removeItemDecorationAt(0);
}
- mPostRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
+ binding.recyclerViewPostFragment.setLayoutManager(mStaggeredGridLayoutManager);
StaggeredGridLayoutManagerItemOffsetDecoration itemDecoration =
new StaggeredGridLayoutManagerItemOffsetDecoration(activity, R.dimen.staggeredLayoutManagerItemOffset, nColumns);
- mPostRecyclerView.addItemDecoration(itemDecoration);
+ binding.recyclerViewPostFragment.addItemDecoration(itemDecoration);
mLinearLayoutManager = null;
}
if (previousPosition > 0) {
- mPostRecyclerView.scrollToPosition(previousPosition);
+ binding.recyclerViewPostFragment.scrollToPosition(previousPosition);
}
if (mAdapter != null) {
@@ -1643,11 +1632,11 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Override
public void applyTheme() {
- mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
- mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
- mFetchPostInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
+ binding.swipeRefreshLayoutPostFragment.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
+ binding.swipeRefreshLayoutPostFragment.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
+ binding.fetchPostInfoTextViewPostFragment.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
if (activity.typeface != null) {
- mFetchPostInfoTextView.setTypeface(activity.typeface);
+ binding.fetchPostInfoTextViewPostFragment.setTypeface(activity.typeface);
}
}
@@ -1972,7 +1961,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if (getNColumns(getResources()) == 1 && touchHelper != null) {
swipeActionEnabled = changeEnableSwipeActionSwitchEvent.enableSwipeAction;
if (changeEnableSwipeActionSwitchEvent.enableSwipeAction) {
- touchHelper.attachToRecyclerView(mPostRecyclerView);
+ touchHelper.attachToRecyclerView(binding.recyclerViewPostFragment);
} else {
touchHelper.attachToRecyclerView(null);
}
@@ -1981,7 +1970,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
@Subscribe
public void onChangePullToRefreshEvent(ChangePullToRefreshEvent changePullToRefreshEvent) {
- mSwipeRefreshLayout.setEnabled(changePullToRefreshEvent.pullToRefresh);
+ binding.swipeRefreshLayoutPostFragment.setEnabled(changePullToRefreshEvent.pullToRefresh);
}
@Subscribe
@@ -2140,13 +2129,13 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
previousPosition = mStaggeredGridLayoutManager.findFirstVisibleItemPositions(into)[0];
}
- RecyclerView.LayoutManager layoutManager = mPostRecyclerView.getLayoutManager();
- mPostRecyclerView.setAdapter(null);
- mPostRecyclerView.setLayoutManager(null);
- mPostRecyclerView.setAdapter(mAdapter);
- mPostRecyclerView.setLayoutManager(layoutManager);
+ RecyclerView.LayoutManager layoutManager = binding.recyclerViewPostFragment.getLayoutManager();
+ binding.recyclerViewPostFragment.setAdapter(null);
+ binding.recyclerViewPostFragment.setLayoutManager(null);
+ binding.recyclerViewPostFragment.setAdapter(mAdapter);
+ binding.recyclerViewPostFragment.setLayoutManager(layoutManager);
if (previousPosition > 0) {
- mPostRecyclerView.scrollToPosition(previousPosition);
+ binding.recyclerViewPostFragment.scrollToPosition(previousPosition);
}
}
@@ -2178,23 +2167,15 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if (isInLazyMode) {
pauseLazyMode(false);
}
- if (mAdapter != null && mPostRecyclerView != null) {
- mPostRecyclerView.onWindowVisibilityChanged(View.GONE);
+ if (mAdapter != null) {
+ binding.recyclerViewPostFragment.onWindowVisibilityChanged(View.GONE);
}
}
@Override
- public void onDestroyView() {
- super.onDestroyView();
- unbinder.unbind();
- }
-
- @Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
- if (mPostRecyclerView != null) {
- mPostRecyclerView.addOnWindowFocusChangedListener(null);
- }
+ binding.recyclerViewPostFragment.addOnWindowFocusChangedListener(null);
super.onDestroy();
}
diff --git a/app/src/main/res/layout/fragment_comments_listing.xml b/app/src/main/res/layout/fragment_comments_listing.xml
index 59c8a2d2..ff558526 100644
--- a/app/src/main/res/layout/fragment_comments_listing.xml
+++ b/app/src/main/res/layout/fragment_comments_listing.xml
@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:id="@+id/coordinator_layout_comments_listing_fragment"
tools:application="ml.docilealligator.infinityforreddit.fragments.CommentsListingFragment">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout