aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemeListingActivity.java57
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemePreviewActivity.java189
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java40
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditCommentActivity.java77
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java127
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditPostActivity.java83
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java88
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/UploadedImagesBottomSheetFragment.java23
-rw-r--r--app/src/main/res/layout/activity_edit_post.xml2
9 files changed, 251 insertions, 435 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemeListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemeListingActivity.java
index ad951a93..fc22565d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemeListingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemeListingActivity.java
@@ -49,6 +49,7 @@ import ml.docilealligator.infinityforreddit.bottomsheetfragments.CustomThemeOpti
import ml.docilealligator.infinityforreddit.customtheme.CustomTheme;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeViewModel;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
+import ml.docilealligator.infinityforreddit.databinding.ActivityCustomThemeListingBinding;
import ml.docilealligator.infinityforreddit.events.RecreateActivityEvent;
import ml.docilealligator.infinityforreddit.utils.CustomThemeSharedPreferencesUtils;
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -57,18 +58,6 @@ public class CustomThemeListingActivity extends BaseActivity implements
CustomThemeOptionsBottomSheetFragment.CustomThemeOptionsBottomSheetFragmentListener,
CreateThemeBottomSheetFragment.SelectBaseThemeBottomSheetFragmentListener {
- @BindView(R.id.coordinator_layout_custom_theme_listing_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_customize_theme_listing_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.collapsing_toolbar_layout_customize_theme_listing_activity)
- CollapsingToolbarLayout collapsingToolbarLayout;
- @BindView(R.id.toolbar_customize_theme_listing_activity)
- Toolbar toolbar;
- @BindView(R.id.recycler_view_customize_theme_listing_activity)
- RecyclerView recyclerView;
- @BindView(R.id.fab_custom_theme_listing_activity)
- FloatingActionButton fab;
@Inject
@Named("default")
SharedPreferences sharedPreferences;
@@ -91,6 +80,7 @@ public class CustomThemeListingActivity extends BaseActivity implements
@Inject
Executor executor;
public CustomThemeViewModel customThemeViewModel;
+ private ActivityCustomThemeListingBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -99,27 +89,26 @@ public class CustomThemeListingActivity extends BaseActivity implements
setImmersiveModeNotApplicable();
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_custom_theme_listing);
-
- ButterKnife.bind(this);
+ binding = ActivityCustomThemeListingBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
EventBus.getDefault().register(this);
applyCustomTheme();
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarCustomizeThemeListingActivity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
CustomThemeListingRecyclerViewAdapter adapter = new CustomThemeListingRecyclerViewAdapter(this,
CustomThemeWrapper.getPredefinedThemes(this));
- recyclerView.setAdapter(adapter);
- recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ binding.recyclerViewCustomizeThemeListingActivity.setAdapter(adapter);
+ binding.recyclerViewCustomizeThemeListingActivity.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
- fab.hide();
+ binding.fabCustomThemeListingActivity.hide();
} else if (dy < 0) {
- fab.show();
+ binding.fabCustomThemeListingActivity.show();
}
}
});
@@ -129,7 +118,7 @@ public class CustomThemeListingActivity extends BaseActivity implements
.get(CustomThemeViewModel.class);
customThemeViewModel.getAllCustomThemes().observe(this, adapter::setUserThemes);
- fab.setOnClickListener(view -> {
+ binding.fabCustomThemeListingActivity.setOnClickListener(view -> {
CreateThemeBottomSheetFragment createThemeBottomSheetFragment = new CreateThemeBottomSheetFragment();
createThemeBottomSheetFragment.show(getSupportFragmentManager(), createThemeBottomSheetFragment.getTag());
});
@@ -161,9 +150,9 @@ public class CustomThemeListingActivity extends BaseActivity implements
@Override
protected void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(customThemeWrapper.getBackgroundColor());
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
- applyFABTheme(fab);
+ binding.coordinatorLayoutCustomThemeListingActivity.setBackgroundColor(customThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutCustomizeThemeListingActivity, binding.collapsingToolbarLayoutCustomizeThemeListingActivity, binding.toolbarCustomizeThemeListingActivity);
+ applyFABTheme(binding.fabCustomThemeListingActivity);
}
@Override
@@ -199,12 +188,12 @@ public class CustomThemeListingActivity extends BaseActivity implements
if (clipboard != null) {
ClipData clip = ClipData.newPlainText("simple text", jsonModel);
clipboard.setPrimaryClip(clip);
- Snackbar.make(coordinatorLayout, R.string.theme_copied, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.theme_copied, Snackbar.LENGTH_SHORT).show();
} else {
- Snackbar.make(coordinatorLayout, R.string.copy_theme_faied, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.copy_theme_faied, Snackbar.LENGTH_SHORT).show();
}
} else {
- Snackbar.make(coordinatorLayout, R.string.cannot_find_theme, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.cannot_find_theme, Snackbar.LENGTH_SHORT).show();
}
});
}
@@ -247,12 +236,12 @@ public class CustomThemeListingActivity extends BaseActivity implements
if (clipboard != null) {
ClipData clip = ClipData.newPlainText("simple text", jsonModel);
clipboard.setPrimaryClip(clip);
- Snackbar.make(coordinatorLayout, R.string.theme_copied, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.theme_copied, Snackbar.LENGTH_SHORT).show();
} else {
- Snackbar.make(coordinatorLayout, R.string.copy_theme_faied, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.copy_theme_faied, Snackbar.LENGTH_SHORT).show();
}
} else {
- Snackbar.make(coordinatorLayout, R.string.cannot_find_theme, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.cannot_find_theme, Snackbar.LENGTH_SHORT).show();
}
}
@@ -267,11 +256,11 @@ public class CustomThemeListingActivity extends BaseActivity implements
if (clipboard != null) {
// If it does contain data, decide if you can handle the data.
if (!clipboard.hasPrimaryClip()) {
- Snackbar.make(coordinatorLayout, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
} else if (clipboard.getPrimaryClipDescription() != null &&
!clipboard.getPrimaryClipDescription().hasMimeType("text/*")) {
// since the clipboard has data but it is not text
- Snackbar.make(coordinatorLayout, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.no_data_in_clipboard, Snackbar.LENGTH_SHORT).show();
} else if (clipboard.getPrimaryClip() != null) {
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
String json = item.coerceToText(this.getApplicationContext()).toString();
@@ -280,10 +269,10 @@ public class CustomThemeListingActivity extends BaseActivity implements
CustomTheme customTheme = CustomTheme.fromJson(json);
checkDuplicateAndImportTheme(customTheme, true);
} catch (JsonParseException e) {
- Snackbar.make(coordinatorLayout, R.string.parse_theme_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.parse_theme_failed, Snackbar.LENGTH_SHORT).show();
}
} else {
- Snackbar.make(coordinatorLayout, R.string.parse_theme_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutCustomThemeListingActivity, R.string.parse_theme_failed, Snackbar.LENGTH_SHORT).show();
}
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemePreviewActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemePreviewActivity.java
index 3a603952..e66fb00f 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemePreviewActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomThemePreviewActivity.java
@@ -19,8 +19,6 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.WindowManager;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -34,9 +32,6 @@ import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.appbar.AppBarLayout;
-import com.google.android.material.appbar.CollapsingToolbarLayout;
-import com.google.android.material.bottomappbar.BottomAppBar;
-import com.google.android.material.chip.Chip;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.tabs.TabLayout;
@@ -45,17 +40,15 @@ import java.util.ArrayList;
import javax.inject.Inject;
import javax.inject.Named;
-import butterknife.BindView;
-import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.AppBarStateChangeListener;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.customtheme.CustomTheme;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeSettingsItem;
-import ml.docilealligator.infinityforreddit.customviews.ViewPagerBugFixed;
import ml.docilealligator.infinityforreddit.customviews.slidr.Slidr;
import ml.docilealligator.infinityforreddit.customviews.slidr.widget.SliderPanel;
+import ml.docilealligator.infinityforreddit.databinding.ActivityThemePreviewBinding;
import ml.docilealligator.infinityforreddit.font.ContentFontStyle;
import ml.docilealligator.infinityforreddit.font.FontStyle;
import ml.docilealligator.infinityforreddit.font.TitleFontStyle;
@@ -71,46 +64,6 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
public Typeface titleTypeface;
public Typeface contentTypeface;
- @BindView(R.id.coordinator_layout_theme_preview_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.view_pager_theme_preview_activity)
- ViewPagerBugFixed viewPager;
- @BindView(R.id.appbar_layout_theme_preview_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.collapsing_toolbar_layout_theme_preview_activity)
- CollapsingToolbarLayout collapsingToolbarLayout;
- @BindView(R.id.toolbar_linear_layout_theme_preview_activity)
- LinearLayout linearLayout;
- @BindView(R.id.extra_padding_view_theme_preview_activity)
- View extraPaddingView;
- @BindView(R.id.subreddit_name_text_view_theme_preview_activity)
- TextView subredditNameTextView;
- @BindView(R.id.user_name_text_view_theme_preview_activity)
- TextView usernameTextView;
- @BindView(R.id.subscribe_subreddit_chip_theme_preview_activity)
- Chip subscribeSubredditChip;
- @BindView(R.id.primary_text_text_view_theme_preview_activity)
- TextView primaryTextView;
- @BindView(R.id.secondary_text_text_view_theme_preview_activity)
- TextView secondaryTextView;
- @BindView(R.id.toolbar)
- Toolbar toolbar;
- @BindView(R.id.tab_layout_theme_preview_activity)
- TabLayout tabLayout;
- @BindView(R.id.bottom_navigation_theme_preview_activity)
- BottomAppBar bottomNavigationView;
- @BindView(R.id.linear_layout_bottom_app_bar_theme_preview_activity)
- LinearLayout linearLayoutBottomAppBar;
- @BindView(R.id.subscriptions_bottom_app_bar_theme_preview_activity)
- ImageView subscriptionsBottomAppBar;
- @BindView(R.id.multi_reddit_bottom_app_bar_theme_preview_activity)
- ImageView multiRedditBottomAppBar;
- @BindView(R.id.message_bottom_app_bar_theme_preview_activity)
- ImageView messageBottomAppBar;
- @BindView(R.id.profile_bottom_app_bar_theme_preview_activity)
- ImageView profileBottomAppBar;
- @BindView(R.id.fab_theme_preview_activity)
- FloatingActionButton fab;
@Inject
@Named("default")
SharedPreferences mSharedPreferences;
@@ -127,6 +80,7 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
private int systemVisibilityToolbarExpanded = 0;
private int systemVisibilityToolbarCollapsed = 0;
private SliderPanel mSliderPanel;
+ private ActivityThemePreviewBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -225,9 +179,8 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
getTheme().applyStyle(ContentFontStyle.valueOf(mSharedPreferences
.getString(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY, ContentFontStyle.Normal.name())).getResId(), true);
- setContentView(R.layout.activity_theme_preview);
-
- ButterKnife.bind(this);
+ binding = ActivityThemePreviewBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
applyCustomTheme();
@@ -242,88 +195,88 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
} else {
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
- adjustToolbar(toolbar);
+ adjustToolbar(binding.toolbar);
Resources resources = getResources();
int navBarResourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (navBarResourceId > 0) {
int navBarHeight = resources.getDimensionPixelSize(navBarResourceId);
if (navBarHeight > 0) {
- CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
+ CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) binding.fabThemePreviewActivity.getLayoutParams();
params.bottomMargin = navBarHeight;
- fab.setLayoutParams(params);
- linearLayoutBottomAppBar.setPadding(0,
+ binding.fabThemePreviewActivity.setLayoutParams(params);
+ binding.linearLayoutBottomAppBarThemePreviewActivity.setPadding(0,
(int) (6 * getResources().getDisplayMetrics().density), 0, navBarHeight);
}
}
}
if (changeStatusBarIconColor) {
- appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() {
+ binding.appbarLayoutThemePreviewActivity.addOnOffsetChangedListener(new AppBarStateChangeListener() {
@Override
public void onStateChanged(AppBarLayout appBarLayout, AppBarStateChangeListener.State state) {
if (state == State.COLLAPSED) {
decorView.setSystemUiVisibility(systemVisibilityToolbarCollapsed);
- tabLayout.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
- tabLayout.setBackgroundColor(collapsedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(collapsedTabBackgroundColor);
} else if (state == State.EXPANDED) {
decorView.setSystemUiVisibility(systemVisibilityToolbarExpanded);
- tabLayout.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
- tabLayout.setBackgroundColor(expandedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(expandedTabBackgroundColor);
}
}
});
} else {
- appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() {
+ binding.appbarLayoutThemePreviewActivity.addOnOffsetChangedListener(new AppBarStateChangeListener() {
@Override
public void onStateChanged(AppBarLayout appBarLayout, AppBarStateChangeListener.State state) {
if (state == State.COLLAPSED) {
- tabLayout.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
- tabLayout.setBackgroundColor(collapsedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(collapsedTabBackgroundColor);
} else if (state == State.EXPANDED) {
- tabLayout.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
- tabLayout.setBackgroundColor(expandedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(expandedTabBackgroundColor);
}
}
});
}
} else {
- appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() {
+ binding.appbarLayoutThemePreviewActivity.addOnOffsetChangedListener(new AppBarStateChangeListener() {
@Override
public void onStateChanged(AppBarLayout appBarLayout, State state) {
if (state == State.EXPANDED) {
- tabLayout.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
- tabLayout.setBackgroundColor(expandedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(expandedTabTextColor, expandedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(expandedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(expandedTabBackgroundColor);
} else if (state == State.COLLAPSED) {
- tabLayout.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
- tabLayout.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
- tabLayout.setBackgroundColor(collapsedTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(collapsedTabTextColor, collapsedTabTextColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(collapsedTabIndicatorColor);
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(collapsedTabBackgroundColor);
}
}
});
}
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbar);
- subscribeSubredditChip.setOnClickListener(view -> {
- if (subscribeSubredditChip.getText().equals(getResources().getString(R.string.subscribe))) {
- subscribeSubredditChip.setText(R.string.unsubscribe);
- subscribeSubredditChip.setChipBackgroundColor(ColorStateList.valueOf(subscribedColor));
+ binding.subscribeSubredditChipThemePreviewActivity.setOnClickListener(view -> {
+ if (binding.subscribeSubredditChipThemePreviewActivity.getText().equals(getResources().getString(R.string.subscribe))) {
+ binding.subscribeSubredditChipThemePreviewActivity.setText(R.string.unsubscribe);
+ binding.subscribeSubredditChipThemePreviewActivity.setChipBackgroundColor(ColorStateList.valueOf(subscribedColor));
} else {
- subscribeSubredditChip.setText(R.string.subscribe);
- subscribeSubredditChip.setChipBackgroundColor(ColorStateList.valueOf(unsubscribedColor));
+ binding.subscribeSubredditChipThemePreviewActivity.setText(R.string.subscribe);
+ binding.subscribeSubredditChipThemePreviewActivity.setChipBackgroundColor(ColorStateList.valueOf(unsubscribedColor));
}
});
SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
- viewPager.setAdapter(sectionsPagerAdapter);
- viewPager.setOffscreenPageLimit(2);
- viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
+ binding.viewPagerThemePreviewActivity.setAdapter(sectionsPagerAdapter);
+ binding.viewPagerThemePreviewActivity.setOffscreenPageLimit(2);
+ binding.viewPagerThemePreviewActivity.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if (position == 0) {
@@ -333,51 +286,51 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
}
}
});
- tabLayout.setupWithViewPager(viewPager);
+ binding.tabLayoutThemePreviewActivity.setupWithViewPager(binding.viewPagerThemePreviewActivity);
}
private void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(customTheme.backgroundColor);
- appBarLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ binding.coordinatorLayoutThemePreviewActivity.setBackgroundColor(customTheme.backgroundColor);
+ binding.appbarLayoutThemePreviewActivity.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
- appBarLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
- collapsingToolbarLayout.setScrimVisibleHeightTrigger(toolbar.getHeight() + tabLayout.getHeight() + getStatusBarHeight() * 2);
+ binding.appbarLayoutThemePreviewActivity.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ binding.collapsingToolbarLayoutThemePreviewActivity.setScrimVisibleHeightTrigger(binding.toolbar.getHeight() + binding.tabLayoutThemePreviewActivity.getHeight() + getStatusBarHeight() * 2);
}
});
- collapsingToolbarLayout.setContentScrimColor(customTheme.colorPrimary);
- subscribeSubredditChip.setTextColor(customTheme.chipTextColor);
- subscribeSubredditChip.setChipBackgroundColor(ColorStateList.valueOf(customTheme.unsubscribed));
- applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
+ binding.collapsingToolbarLayoutThemePreviewActivity.setContentScrimColor(customTheme.colorPrimary);
+ binding.subscribeSubredditChipThemePreviewActivity.setTextColor(customTheme.chipTextColor);
+ binding.subscribeSubredditChipThemePreviewActivity.setChipBackgroundColor(ColorStateList.valueOf(customTheme.unsubscribed));
+ applyAppBarLayoutAndToolbarTheme(binding.appbarLayoutThemePreviewActivity, binding.toolbar);
expandedTabTextColor = customTheme.tabLayoutWithExpandedCollapsingToolbarTextColor;
expandedTabIndicatorColor = customTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator;
expandedTabBackgroundColor = customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground;
collapsedTabTextColor = customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor;
collapsedTabIndicatorColor = customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator;
collapsedTabBackgroundColor = customTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground;
- linearLayout.setBackgroundColor(customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground);
- extraPaddingView.setBackgroundColor(customTheme.colorPrimary);
- subredditNameTextView.setTextColor(customTheme.subreddit);
- usernameTextView.setTextColor(customTheme.username);
- subscribeSubredditChip.setTextColor(customTheme.chipTextColor);
- primaryTextView.setTextColor(customTheme.primaryTextColor);
- secondaryTextView.setTextColor(customTheme.secondaryTextColor);
- bottomNavigationView.setBackgroundTint(ColorStateList.valueOf(customTheme.bottomAppBarBackgroundColor));
+ binding.linearLayoutBottomAppBarThemePreviewActivity.setBackgroundColor(customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground);
+ binding.extraPaddingViewThemePreviewActivity.setBackgroundColor(customTheme.colorPrimary);
+ binding.subredditNameTextViewThemePreviewActivity.setTextColor(customTheme.subreddit);
+ binding.userNameTextViewThemePreviewActivity.setTextColor(customTheme.username);
+ binding.subscribeSubredditChipThemePreviewActivity.setTextColor(customTheme.chipTextColor);
+ binding.primaryTextTextViewThemePreviewActivity.setTextColor(customTheme.primaryTextColor);
+ binding.secondaryTextTextViewThemePreviewActivity.setTextColor(customTheme.secondaryTextColor);
+ binding.bottomNavigationThemePreviewActivity.setBackgroundTint(ColorStateList.valueOf(customTheme.bottomAppBarBackgroundColor));
int bottomAppBarIconColor = customTheme.bottomAppBarIconColor;
- subscriptionsBottomAppBar.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
- multiRedditBottomAppBar.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
- messageBottomAppBar.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
- profileBottomAppBar.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
- applyTabLayoutTheme(tabLayout);
- applyFABTheme(fab);
+ binding.subscriptionsBottomAppBarThemePreviewActivity.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ binding.multiRedditBottomAppBarThemePreviewActivity.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ binding.messageBottomAppBarThemePreviewActivity.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ binding.profileBottomAppBarThemePreviewActivity.setColorFilter(bottomAppBarIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ applyTabLayoutTheme(binding.tabLayoutThemePreviewActivity);
+ applyFABTheme(binding.fabThemePreviewActivity);
unsubscribedColor = customTheme.unsubscribed;
subscribedColor = customTheme.subscribed;
if (typeface != null) {
- subredditNameTextView.setTypeface(typeface);
- usernameTextView.setTypeface(typeface);
- primaryTextView.setTypeface(typeface);
- secondaryTextView.setTypeface(typeface);
- subscribeSubredditChip.setTypeface(typeface);
+ binding.subredditNameTextViewThemePreviewActivity.setTypeface(typeface);
+ binding.userNameTextViewThemePreviewActivity.setTypeface(typeface);
+ binding.primaryTextTextViewThemePreviewActivity.setTypeface(typeface);
+ binding.secondaryTextTextViewThemePreviewActivity.setTypeface(typeface);
+ binding.subscribeSubredditChipThemePreviewActivity.setTypeface(typeface);
}
}
@@ -420,7 +373,7 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
toolbar.setLayoutParams(params);
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
- ((ViewGroup.MarginLayoutParams) linearLayout.getLayoutParams()).setMargins(0,
+ ((ViewGroup.MarginLayoutParams) binding.linearLayoutBottomAppBarThemePreviewActivity.getLayoutParams()).setMargins(0,
TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics()) + statusBarHeight, 0, 0);
}
}
@@ -428,9 +381,9 @@ public class CustomThemePreviewActivity extends AppCompatActivity implements Cus
protected void applyTabLayoutTheme(TabLayout tabLayout) {
int toolbarAndTabBackgroundColor = customTheme.colorPrimary;
- tabLayout.setBackgroundColor(toolbarAndTabBackgroundColor);
- tabLayout.setSelectedTabIndicatorColor(customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator);
- tabLayout.setTabTextColors(customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor,
+ binding.tabLayoutThemePreviewActivity.setBackgroundColor(toolbarAndTabBackgroundColor);
+ binding.tabLayoutThemePreviewActivity.setSelectedTabIndicatorColor(customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator);
+ binding.tabLayoutThemePreviewActivity.setTabTextColors(customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor,
customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
index 58e024bd..9b5921d4 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
@@ -10,12 +10,7 @@ import android.view.MenuItem;
import android.widget.Toast;
import androidx.annotation.NonNull;
-import androidx.appcompat.widget.Toolbar;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
-import androidx.recyclerview.widget.RecyclerView;
-import com.google.android.material.appbar.AppBarLayout;
-import com.google.android.material.appbar.CollapsingToolbarLayout;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
@@ -27,8 +22,6 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Named;
-import butterknife.BindView;
-import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
@@ -38,6 +31,7 @@ import ml.docilealligator.infinityforreddit.asynctasks.InsertCustomTheme;
import ml.docilealligator.infinityforreddit.customtheme.CustomTheme;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeSettingsItem;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
+import ml.docilealligator.infinityforreddit.databinding.ActivityCustomizeThemeBinding;
import ml.docilealligator.infinityforreddit.events.RecreateActivityEvent;
import ml.docilealligator.infinityforreddit.utils.CustomThemeSharedPreferencesUtils;
@@ -53,16 +47,6 @@ public class CustomizeThemeActivity extends BaseActivity {
private static final String CUSTOM_THEME_SETTINGS_ITEMS_STATE = "CTSIS";
private static final String THEME_NAME_STATE = "TNS";
- @BindView(R.id.coordinator_customize_theme_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_customize_theme_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.collapsing_toolbar_layout_customize_theme_activity)
- CollapsingToolbarLayout collapsingToolbarLayout;
- @BindView(R.id.toolbar_customize_theme_activity)
- Toolbar toolbar;
- @BindView(R.id.recycler_view_customize_theme_activity)
- RecyclerView recyclerView;
@Inject
@Named("default")
SharedPreferences sharedPreferences;
@@ -89,6 +73,7 @@ public class CustomizeThemeActivity extends BaseActivity {
private boolean isPredefinedTheme;
private ArrayList<CustomThemeSettingsItem> customThemeSettingsItems;
private CustomizeThemeRecyclerViewAdapter adapter;
+ private ActivityCustomizeThemeBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -97,13 +82,12 @@ public class CustomizeThemeActivity extends BaseActivity {
setImmersiveModeNotApplicable();
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_customize_theme);
-
- ButterKnife.bind(this);
+ binding = ActivityCustomizeThemeBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
applyCustomTheme();
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarCustomizeThemeActivity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (getIntent().getBooleanExtra(EXTRA_CREATE_THEME, false)) {
@@ -152,14 +136,14 @@ public class CustomizeThemeActivity extends BaseActivity {
}
adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
- recyclerView.setAdapter(adapter);
+ binding.recyclerViewCustomizeThemeActivity.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
});
} else {
isPredefinedTheme = getIntent().getBooleanExtra(EXTRA_IS_PREDEFIINED_THEME, false);
themeName = getIntent().getStringExtra(EXTRA_THEME_NAME);
adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
- recyclerView.setAdapter(adapter);
+ binding.recyclerViewCustomizeThemeActivity.setAdapter(adapter);
if (isPredefinedTheme) {
customThemeSettingsItems = CustomThemeSettingsItem.convertCustomThemeToSettingsItem(
CustomizeThemeActivity.this,
@@ -167,7 +151,7 @@ public class CustomizeThemeActivity extends BaseActivity {
androidVersion);
adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
- recyclerView.setAdapter(adapter);
+ binding.recyclerViewCustomizeThemeActivity.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
} else {
GetCustomTheme.getCustomTheme(mExecutor, new Handler(), redditDataRoomDatabase,
@@ -181,7 +165,7 @@ public class CustomizeThemeActivity extends BaseActivity {
}
} else {
adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
- recyclerView.setAdapter(adapter);
+ binding.recyclerViewCustomizeThemeActivity.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
}
}
@@ -209,7 +193,7 @@ public class CustomizeThemeActivity extends BaseActivity {
if (adapter != null) {
themeName = adapter.getThemeName();
if (themeName.equals("")) {
- Snackbar.make(coordinatorLayout, R.string.no_theme_name, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorCustomizeThemeActivity, R.string.no_theme_name, Snackbar.LENGTH_SHORT).show();
return true;
}
CustomTheme customTheme = CustomTheme.convertSettingsItemsToCustomTheme(customThemeSettingsItems, themeName);
@@ -264,7 +248,7 @@ public class CustomizeThemeActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
- coordinatorLayout.setBackgroundColor(customThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutCustomizeThemeActivity, binding.collapsingToolbarLayoutCustomizeThemeActivity, binding.toolbarCustomizeThemeActivity);
+ binding.coordinatorCustomizeThemeActivity.setBackgroundColor(customThemeWrapper.getBackgroundColor());
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditCommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditCommentActivity.java
index 1eadb47b..6a1fe4e6 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditCommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditCommentActivity.java
@@ -11,18 +11,13 @@ import android.os.Handler;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
-import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.widget.Toolbar;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.content.FileProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
@@ -40,8 +35,6 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Named;
-import butterknife.BindView;
-import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.MediaMetadata;
import ml.docilealligator.infinityforreddit.R;
@@ -52,6 +45,7 @@ import ml.docilealligator.infinityforreddit.apis.RedditAPI;
import ml.docilealligator.infinityforreddit.bottomsheetfragments.UploadedImagesBottomSheetFragment;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
+import ml.docilealligator.infinityforreddit.databinding.ActivityEditCommentBinding;
import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent;
import ml.docilealligator.infinityforreddit.markdown.RichTextJSONConverter;
import ml.docilealligator.infinityforreddit.utils.APIUtils;
@@ -77,16 +71,6 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
private static final String UPLOADED_IMAGES_STATE = "UIS";
- @BindView(R.id.coordinator_layout_edit_comment_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_edit_comment_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.toolbar_edit_comment_activity)
- Toolbar toolbar;
- @BindView(R.id.comment_edit_text_edit_comment_activity)
- EditText contentEditText;
- @BindView(R.id.markdown_bottom_bar_recycler_view_edit_comment_activity)
- RecyclerView markdownBottomBarRecyclerView;
@Inject
@Named("oauth")
Retrofit mOauthRetrofit;
@@ -109,6 +93,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
private boolean isSubmitting = false;
private Uri capturedImageUri;
private ArrayList<UploadedImage> uploadedImages = new ArrayList<>();
+ private ActivityEditCommentBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -118,19 +103,17 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_edit_comment);
-
- ButterKnife.bind(this);
+ binding = ActivityEditCommentBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
EventBus.getDefault().register(this);
applyCustomTheme();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
- addOnOffsetChangedListener(appBarLayout);
+ addOnOffsetChangedListener(binding.appbarLayoutEditCommentActivity);
}
-
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarEditCommentActivity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mFullName = getIntent().getStringExtra(EXTRA_FULLNAME);
@@ -155,7 +138,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
}
mCommentContent = sb.toString();
}
- contentEditText.setText(mCommentContent);
+ binding.commentEditTextEditCommentActivity.setText(mCommentContent);
if (savedInstanceState != null) {
uploadedImages = savedInstanceState.getParcelableArrayList(UPLOADED_IMAGES_STATE);
@@ -166,7 +149,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
@Override
public void onClick(int item) {
MarkdownBottomBarRecyclerViewAdapter.bindEditTextWithItemClickListener(
- EditCommentActivity.this, contentEditText, item);
+ EditCommentActivity.this, binding.commentEditTextEditCommentActivity, item);
}
@Override
@@ -181,12 +164,12 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
}
});
- markdownBottomBarRecyclerView.setLayoutManager(new LinearLayoutManagerBugFixed(this,
+ binding.markdownBottomBarRecyclerViewEditCommentActivity.setLayoutManager(new LinearLayoutManagerBugFixed(this,
LinearLayoutManager.HORIZONTAL, false));
- markdownBottomBarRecyclerView.setAdapter(adapter);
+ binding.markdownBottomBarRecyclerViewEditCommentActivity.setAdapter(adapter);
- contentEditText.requestFocus();
- Utils.showKeyboard(this, new Handler(), contentEditText);
+ binding.commentEditTextEditCommentActivity.requestFocus();
+ Utils.showKeyboard(this, new Handler(), binding.commentEditTextEditCommentActivity);
}
@Override
@@ -206,12 +189,12 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
@Override
protected void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, null, toolbar);
- contentEditText.setTextColor(mCustomThemeWrapper.getCommentColor());
+ binding.coordinatorLayoutEditCommentActivity.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutEditCommentActivity, null, binding.toolbarEditCommentActivity);
+ binding.commentEditTextEditCommentActivity.setTextColor(mCustomThemeWrapper.getCommentColor());
if (contentTypeface != null) {
- contentEditText.setTypeface(contentTypeface);
+ binding.commentEditTextEditCommentActivity.setTypeface(contentTypeface);
}
}
@@ -232,7 +215,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.action_preview_edit_comment_activity) {
Intent intent = new Intent(this, FullMarkdownActivity.class);
- intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, contentEditText.getText().toString());
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, binding.commentEditTextEditCommentActivity.getText().toString());
intent.putExtra(FullMarkdownActivity.EXTRA_SUBMIT_POST, true);
startActivityForResult(intent, MARKDOWN_PREVIEW_REQUEST_CODE);
} else if (item.getItemId() == R.id.action_send_edit_comment_activity) {
@@ -249,9 +232,9 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
if (!isSubmitting) {
isSubmitting = true;
- Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditCommentActivity, R.string.posting, Snackbar.LENGTH_SHORT).show();
- String content = contentEditText.getText().toString();
+ String content = binding.commentEditTextEditCommentActivity.getText().toString();
Map<String, String> params = new HashMap<>();
params.put(APIUtils.THING_ID_KEY, mFullName);
@@ -261,7 +244,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
params.put(APIUtils.TEXT_KEY, "");
} catch (JSONException e) {
isSubmitting = false;
- Snackbar.make(coordinatorLayout, R.string.convert_to_richtext_json_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditCommentActivity, R.string.convert_to_richtext_json_failed, Snackbar.LENGTH_SHORT).show();
return;
}
} else {
@@ -284,14 +267,14 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
finish();
} else {
- Snackbar.make(coordinatorLayout, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditCommentActivity, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
isSubmitting = false;
- Snackbar.make(coordinatorLayout, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditCommentActivity, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
}
});
@@ -318,10 +301,10 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
return;
}
Utils.uploadImageToReddit(this, mExecutor, mOauthRetrofit, mUploadMediaRetrofit,
- mAccessToken, contentEditText, coordinatorLayout, data.getData(), uploadedImages);
+ mAccessToken, binding.commentEditTextEditCommentActivity, binding.coordinatorLayoutEditCommentActivity, data.getData(), uploadedImages);
} else if (requestCode == CAPTURE_IMAGE_REQUEST_CODE) {
Utils.uploadImageToReddit(this, mExecutor, mOauthRetrofit, mUploadMediaRetrofit,
- mAccessToken, contentEditText, coordinatorLayout, capturedImageUri, uploadedImages);
+ mAccessToken, binding.commentEditTextEditCommentActivity, binding.coordinatorLayoutEditCommentActivity, capturedImageUri, uploadedImages);
} else if (requestCode == MARKDOWN_PREVIEW_REQUEST_CODE) {
editComment();
}
@@ -339,7 +322,7 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
if (isSubmitting) {
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_edit_comment_detail);
} else {
- if (contentEditText.getText().toString().equals(mCommentContent)) {
+ if (binding.commentEditTextEditCommentActivity.getText().toString().equals(mCommentContent)) {
finish();
} else {
promptAlertDialog(R.string.discard, R.string.discard_detail);
@@ -384,15 +367,15 @@ public class EditCommentActivity extends BaseActivity implements UploadImageEnab
@Override
public void insertImageUrl(UploadedImage uploadedImage) {
- int start = Math.max(contentEditText.getSelectionStart(), 0);
- int end = Math.max(contentEditText.getSelectionEnd(), 0);
+ int start = Math.max(binding.commentEditTextEditCommentActivity.getSelectionStart(), 0);
+ int end = Math.max(binding.commentEditTextEditCommentActivity.getSelectionEnd(), 0);
int realStart = Math.min(start, end);
- if (realStart > 0 && contentEditText.getText().toString().charAt(realStart - 1) != '\n') {
- contentEditText.getText().replace(realStart, Math.max(start, end),
+ if (realStart > 0 && binding.commentEditTextEditCommentActivity.getText().toString().charAt(realStart - 1) != '\n') {
+ binding.commentEditTextEditCommentActivity.getText().replace(realStart, Math.max(start, end),
"\n![](" + uploadedImage.imageUrlOrKey + ")\n",
0, "\n![]()\n".length() + uploadedImage.imageUrlOrKey.length());
} else {
- contentEditText.getText().replace(realStart, Math.max(start, end),
+ binding.commentEditTextEditCommentActivity.getText().replace(realStart, Math.max(start, end),
"![](" + uploadedImage.imageUrlOrKey + ")\n",
0, "![]()\n".length() + uploadedImage.imageUrlOrKey.length());
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
index 679f5fb7..a14f4460 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditMultiRedditActivity.java
@@ -9,20 +9,11 @@ import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
-import android.widget.EditText;
-import android.widget.LinearLayout;
-import android.widget.ProgressBar;
-import android.widget.Switch;
-import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.widget.Toolbar;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.view.inputmethod.EditorInfoCompat;
-import com.google.android.material.appbar.AppBarLayout;
-import com.google.android.material.appbar.CollapsingToolbarLayout;
import com.google.android.material.snackbar.Snackbar;
import java.util.concurrent.Executor;
@@ -30,14 +21,13 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Named;
-import butterknife.BindView;
-import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
import ml.docilealligator.infinityforreddit.account.Account;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.slidr.Slidr;
+import ml.docilealligator.infinityforreddit.databinding.ActivityEditMultiRedditBinding;
import ml.docilealligator.infinityforreddit.multireddit.EditMultiReddit;
import ml.docilealligator.infinityforreddit.multireddit.FetchMultiRedditInfo;
import ml.docilealligator.infinityforreddit.multireddit.MultiReddit;
@@ -51,34 +41,6 @@ public class EditMultiRedditActivity extends BaseActivity {
private static final int SUBREDDIT_SELECTION_REQUEST_CODE = 1;
private static final String MULTI_REDDIT_STATE = "MRS";
private static final String MULTI_PATH_STATE = "MPS";
- @BindView(R.id.coordinator_layout_edit_multi_reddit_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_edit_multi_reddit_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.collapsing_toolbar_layout_edit_multi_reddit_activity)
- CollapsingToolbarLayout collapsingToolbarLayout;
- @BindView(R.id.toolbar_edit_multi_reddit_activity)
- Toolbar toolbar;
- @BindView(R.id.progress_bar_edit_multi_reddit_activity)
- ProgressBar progressBar;
- @BindView(R.id.linear_layout_edit_multi_reddit_activity)
- LinearLayout linearLayout;
- @BindView(R.id.multi_reddit_name_edit_text_edit_multi_reddit_activity)
- EditText nameEditText;
- @BindView(R.id.divider_1_edit_multi_reddit_activity)
- View divider1;
- @BindView(R.id.description_edit_text_edit_multi_reddit_activity)
- EditText descriptionEditText;
- @BindView(R.id.divider_2_edit_multi_reddit_activity)
- View divider2;
- @BindView(R.id.visibility_wrapper_linear_layout_edit_multi_reddit_activity)
- LinearLayout visibilityLinearLayout;
- @BindView(R.id.visibility_text_view_edit_multi_reddit_activity)
- TextView visibilityTextView;
- @BindView(R.id.visibility_switch_edit_multi_reddit_activity)
- Switch visibilitySwitch;
- @BindView(R.id.select_subreddit_text_view_edit_multi_reddit_activity)
- TextView selectSubredditTextView;
@Inject
@Named("oauth")
Retrofit mRetrofit;
@@ -96,6 +58,7 @@ public class EditMultiRedditActivity extends BaseActivity {
Executor mExecutor;
private MultiReddit multiReddit;
private String multipath;
+ private ActivityEditMultiRedditBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -104,9 +67,8 @@ public class EditMultiRedditActivity extends BaseActivity {
setImmersiveModeNotApplicable();
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_edit_multi_reddit);
-
- ButterKnife.bind(this);
+ binding = ActivityEditMultiRedditBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
applyCustomTheme();
@@ -115,17 +77,17 @@ public class EditMultiRedditActivity extends BaseActivity {
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
- addOnOffsetChangedListener(appBarLayout);
+ addOnOffsetChangedListener(binding.appbarLayoutEditMultiRedditActivity);
}
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarEditMultiRedditActivity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
- visibilityLinearLayout.setVisibility(View.GONE);
+ binding.visibilityWrapperLinearLayoutEditMultiRedditActivity.setVisibility(View.GONE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- nameEditText.setImeOptions(nameEditText.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING);
- descriptionEditText.setImeOptions(descriptionEditText.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setImeOptions(binding.multiRedditNameEditTextEditMultiRedditActivity.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING);
+ binding.descriptionEditTextEditMultiRedditActivity.setImeOptions(binding.descriptionEditTextEditMultiRedditActivity.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING);
}
}
@@ -147,10 +109,10 @@ public class EditMultiRedditActivity extends BaseActivity {
@Override
public void success(MultiReddit multiReddit) {
EditMultiRedditActivity.this.multiReddit = multiReddit;
- progressBar.setVisibility(View.GONE);
- linearLayout.setVisibility(View.VISIBLE);
- nameEditText.setText(multiReddit.getDisplayName());
- descriptionEditText.setText(multiReddit.getDescription());
+ binding.progressBarEditMultiRedditActivity.setVisibility(View.GONE);
+ binding.linearLayoutEditMultiRedditActivity.setVisibility(View.VISIBLE);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setText(multiReddit.getDisplayName());
+ binding.descriptionEditTextEditMultiRedditActivity.setText(multiReddit.getDescription());
}
@Override
@@ -163,28 +125,27 @@ public class EditMultiRedditActivity extends BaseActivity {
@Override
public void success(MultiReddit multiReddit) {
EditMultiRedditActivity.this.multiReddit = multiReddit;
- progressBar.setVisibility(View.GONE);
- linearLayout.setVisibility(View.VISIBLE);
- nameEditText.setText(multiReddit.getDisplayName());
- descriptionEditText.setText(multiReddit.getDescription());
- visibilitySwitch.setChecked(!multiReddit.getVisibility().equals("public"));
+ binding.progressBarEditMultiRedditActivity.setVisibility(View.GONE);
+ binding.linearLayoutEditMultiRedditActivity.setVisibility(View.VISIBLE);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setText(multiReddit.getDisplayName());
+ binding.descriptionEditTextEditMultiRedditActivity.setText(multiReddit.getDescription());
+ binding.visibilitySwitchEditMultiRedditActivity.setChecked(!multiReddit.getVisibility().equals("public"));
}
@Override
public void failed() {
- Snackbar.make(coordinatorLayout, R.string.cannot_fetch_multireddit, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditMultiRedditActivity, R.string.cannot_fetch_multireddit, Snackbar.LENGTH_SHORT).show();
}
});
}
} else {
- progressBar.setVisibility(View.GONE);
- linearLayout.setVisibility(View.VISIBLE);
- nameEditText.setText(multiReddit.getDisplayName());
- descriptionEditText.setText(multiReddit.getDescription());
- visibilitySwitch.setChecked(!multiReddit.getVisibility().equals("public"));
+ binding.progressBarEditMultiRedditActivity.setVisibility(View.GONE);
+ binding.linearLayoutEditMultiRedditActivity.setVisibility(View.VISIBLE);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setText(multiReddit.getDisplayName());
+ binding.descriptionEditTextEditMultiRedditActivity.setText(multiReddit.getDescription());
+ binding.visibilitySwitchEditMultiRedditActivity.setChecked(!multiReddit.getVisibility().equals("public"));
}
-
- selectSubredditTextView.setOnClickListener(view -> {
+ binding.selectSubredditTextViewEditMultiRedditActivity.setOnClickListener(view -> {
Intent intent = new Intent(EditMultiRedditActivity.this, SelectedSubredditsAndUsersActivity.class);
if (multiReddit.getSubreddits() != null) {
intent.putStringArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, multiReddit.getSubreddits());
@@ -207,16 +168,16 @@ public class EditMultiRedditActivity extends BaseActivity {
finish();
return true;
} else if (itemId == R.id.action_save_edit_multi_reddit_activity) {
- if (nameEditText.getText() == null || nameEditText.getText().toString().equals("")) {
- Snackbar.make(coordinatorLayout, R.string.no_multi_reddit_name, Snackbar.LENGTH_SHORT).show();
+ if (binding.multiRedditNameEditTextEditMultiRedditActivity.getText() == null || binding.multiRedditNameEditTextEditMultiRedditActivity.getText().toString().equals("")) {
+ Snackbar.make(binding.coordinatorLayoutEditMultiRedditActivity, R.string.no_multi_reddit_name, Snackbar.LENGTH_SHORT).show();
return true;
}
if (accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
- String name = nameEditText.getText().toString();
+ String name = binding.multiRedditNameEditTextEditMultiRedditActivity.getText().toString();
multiReddit.setDisplayName(name);
multiReddit.setName(name);
- multiReddit.setDescription(descriptionEditText.getText().toString());
+ multiReddit.setDescription(binding.descriptionEditTextEditMultiRedditActivity.getText().toString());
EditMultiReddit.anonymousEditMultiReddit(mExecutor, new Handler(), mRedditDataRoomDatabase,
multiReddit, new EditMultiReddit.EditMultiRedditListener() {
@Override
@@ -230,8 +191,8 @@ public class EditMultiRedditActivity extends BaseActivity {
}
});
} else {
- String jsonModel = new MultiRedditJSONModel(nameEditText.getText().toString(), descriptionEditText.getText().toString(),
- visibilitySwitch.isChecked(), multiReddit.getSubreddits()).createJSONModel();
+ String jsonModel = new MultiRedditJSONModel(binding.multiRedditNameEditTextEditMultiRedditActivity.getText().toString(), binding.descriptionEditTextEditMultiRedditActivity.getText().toString(),
+ binding.visibilitySwitchEditMultiRedditActivity.isChecked(), multiReddit.getSubreddits()).createJSONModel();
EditMultiReddit.editMultiReddit(mRetrofit, accessToken, multiReddit.getPath(),
jsonModel, new EditMultiReddit.EditMultiRedditListener() {
@Override
@@ -241,7 +202,7 @@ public class EditMultiRedditActivity extends BaseActivity {
@Override
public void failed() {
- Snackbar.make(coordinatorLayout, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditMultiRedditActivity, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show();
}
});
}
@@ -285,23 +246,23 @@ public class EditMultiRedditActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
- progressBar.setIndeterminateTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorAccent()));
+ binding.coordinatorLayoutEditMultiRedditActivity.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutEditMultiRedditActivity, binding.collapsingToolbarLayoutEditMultiRedditActivity, binding.toolbarEditMultiRedditActivity);
+ binding.progressBarEditMultiRedditActivity.setIndeterminateTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorAccent()));
int primaryTextColor = mCustomThemeWrapper.getPrimaryTextColor();
int secondaryTextColor = mCustomThemeWrapper.getSecondaryTextColor();
- nameEditText.setTextColor(primaryTextColor);
- nameEditText.setHintTextColor(secondaryTextColor);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setTextColor(primaryTextColor);
+ binding.multiRedditNameEditTextEditMultiRedditActivity.setHintTextColor(secondaryTextColor);
int dividerColor = mCustomThemeWrapper.getDividerColor();
- divider1.setBackgroundColor(dividerColor);
- divider2.setBackgroundColor(dividerColor);
- descriptionEditText.setTextColor(primaryTextColor);
- descriptionEditText.setHintTextColor(secondaryTextColor);
- visibilityTextView.setTextColor(primaryTextColor);
- selectSubredditTextView.setTextColor(primaryTextColor);
+ binding.divider1EditMultiRedditActivity.setBackgroundColor(dividerColor);
+ binding.divider2EditMultiRedditActivity.setBackgroundColor(dividerColor);
+ binding.descriptionEditTextEditMultiRedditActivity.setTextColor(primaryTextColor);
+ binding.descriptionEditTextEditMultiRedditActivity.setHintTextColor(secondaryTextColor);
+ binding.visibilityTextViewEditMultiRedditActivity.setTextColor(primaryTextColor);
+ binding.selectSubredditTextViewEditMultiRedditActivity.setTextColor(primaryTextColor);
if (typeface != null) {
- Utils.setFontToAllTextViews(coordinatorLayout, typeface);
+ Utils.setFontToAllTextViews(binding.coordinatorLayoutEditMultiRedditActivity, typeface);
}
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditPostActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditPostActivity.java
index 7f668adc..acb06634 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditPostActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditPostActivity.java
@@ -11,19 +11,12 @@ import android.os.Handler;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.widget.Toolbar;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.content.FileProvider;
-import androidx.recyclerview.widget.RecyclerView;
-import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
@@ -40,8 +33,6 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Named;
-import butterknife.BindView;
-import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.UploadImageEnabledActivity;
@@ -52,6 +43,7 @@ import ml.docilealligator.infinityforreddit.bottomsheetfragments.UploadedImagesB
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
import ml.docilealligator.infinityforreddit.customviews.slidr.Slidr;
+import ml.docilealligator.infinityforreddit.databinding.ActivityEditPostBinding;
import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent;
import ml.docilealligator.infinityforreddit.utils.APIUtils;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
@@ -73,20 +65,6 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
private static final String UPLOADED_IMAGES_STATE = "UIS";
- @BindView(R.id.coordinator_layout_edit_post_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.appbar_layout_edit_post_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.toolbar_edit_post_activity)
- Toolbar toolbar;
- @BindView(R.id.post_title_text_view_edit_post_activity)
- TextView titleTextView;
- @BindView(R.id.divider_edit_post_activity)
- View divider;
- @BindView(R.id.post_text_content_edit_text_edit_post_activity)
- EditText contentEditText;
- @BindView(R.id.markdown_bottom_bar_recycler_view_edit_post_activity)
- RecyclerView markdownBottomBarRecyclerView;
@Inject
@Named("oauth")
Retrofit mOauthRetrofit;
@@ -109,6 +87,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
private boolean isSubmitting = false;
private Uri capturedImageUri;
private ArrayList<UploadedImage> uploadedImages = new ArrayList<>();
+ private ActivityEditPostBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -117,10 +96,8 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
setImmersiveModeNotApplicable();
super.onCreate(savedInstanceState);
-
- setContentView(R.layout.activity_edit_post);
-
- ButterKnife.bind(this);
+ binding = ActivityEditPostBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
EventBus.getDefault().register(this);
@@ -131,17 +108,17 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
- addOnOffsetChangedListener(appBarLayout);
+ addOnOffsetChangedListener(binding.appbarLayoutEditPostActivity);
}
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarEditPostActivity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mFullName = getIntent().getStringExtra(EXTRA_FULLNAME);
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
- titleTextView.setText(getIntent().getStringExtra(EXTRA_TITLE));
+ binding.postTitleTextViewEditPostActivity.setText(getIntent().getStringExtra(EXTRA_TITLE));
mPostContent = getIntent().getStringExtra(EXTRA_CONTENT);
- contentEditText.setText(mPostContent);
+ binding.postContentEditTextEditPostActivity.setText(mPostContent);
if (savedInstanceState != null) {
uploadedImages = savedInstanceState.getParcelableArrayList(UPLOADED_IMAGES_STATE);
@@ -152,7 +129,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
@Override
public void onClick(int item) {
MarkdownBottomBarRecyclerViewAdapter.bindEditTextWithItemClickListener(
- EditPostActivity.this, contentEditText, item);
+ EditPostActivity.this, binding.postContentEditTextEditPostActivity, item);
}
@Override
@@ -167,12 +144,12 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
}
});
- markdownBottomBarRecyclerView.setLayoutManager(new LinearLayoutManagerBugFixed(this,
+ binding.markdownBottomBarRecyclerViewEditPostActivity.setLayoutManager(new LinearLayoutManagerBugFixed(this,
LinearLayoutManagerBugFixed.HORIZONTAL, false));
- markdownBottomBarRecyclerView.setAdapter(adapter);
+ binding.markdownBottomBarRecyclerViewEditPostActivity.setAdapter(adapter);
- contentEditText.requestFocus();
- Utils.showKeyboard(this, new Handler(), contentEditText);
+ binding.postContentEditTextEditPostActivity.requestFocus();
+ Utils.showKeyboard(this, new Handler(), binding.postContentEditTextEditPostActivity);
}
@Override
@@ -192,17 +169,17 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
@Override
protected void applyCustomTheme() {
- coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, null, toolbar);
- titleTextView.setTextColor(mCustomThemeWrapper.getPostTitleColor());
- divider.setBackgroundColor(mCustomThemeWrapper.getPostTitleColor());
- contentEditText.setTextColor(mCustomThemeWrapper.getPostContentColor());
+ binding.coordinatorLayoutEditPostActivity.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutEditPostActivity, null, binding.toolbarEditPostActivity);
+ binding.postTitleTextViewEditPostActivity.setTextColor(mCustomThemeWrapper.getPostTitleColor());
+ binding.dividerEditPostActivity.setBackgroundColor(mCustomThemeWrapper.getPostTitleColor());
+ binding.postContentEditTextEditPostActivity.setTextColor(mCustomThemeWrapper.getPostContentColor());
if (titleTypeface != null) {
- titleTextView.setTypeface(titleTypeface);
+ binding.postTitleTextViewEditPostActivity.setTypeface(titleTypeface);
}
if (contentTypeface != null) {
- contentEditText.setTypeface(contentTypeface);
+ binding.postContentEditTextEditPostActivity.setTypeface(contentTypeface);
}
}
@@ -223,7 +200,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.action_preview_edit_post_activity) {
Intent intent = new Intent(this, FullMarkdownActivity.class);
- intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, contentEditText.getText().toString());
+ intent.putExtra(FullMarkdownActivity.EXTRA_COMMENT_MARKDOWN, binding.postContentEditTextEditPostActivity.getText().toString());
intent.putExtra(FullMarkdownActivity.EXTRA_SUBMIT_POST, true);
startActivityForResult(intent, MARKDOWN_PREVIEW_REQUEST_CODE);
} else if (item.getItemId() == R.id.action_send_edit_post_activity) {
@@ -240,11 +217,11 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
if (!isSubmitting) {
isSubmitting = true;
- Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditPostActivity, R.string.posting, Snackbar.LENGTH_SHORT).show();
Map<String, String> params = new HashMap<>();
params.put(APIUtils.THING_ID_KEY, mFullName);
- params.put(APIUtils.TEXT_KEY, contentEditText.getText().toString());
+ params.put(APIUtils.TEXT_KEY, binding.postContentEditTextEditPostActivity.getText().toString());
mOauthRetrofit.create(RedditAPI.class)
.editPostOrComment(APIUtils.getOAuthHeader(mAccessToken), params)
@@ -261,7 +238,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
@Override
public void onFailure(@NonNull Call<String> call, @NonNull Throwable t) {
isSubmitting = false;
- Snackbar.make(coordinatorLayout, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
+ Snackbar.make(binding.coordinatorLayoutEditPostActivity, R.string.post_failed, Snackbar.LENGTH_SHORT).show();
}
});
@@ -278,10 +255,10 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
return;
}
Utils.uploadImageToReddit(this, mExecutor, mOauthRetrofit, mUploadMediaRetrofit,
- mAccessToken, contentEditText, coordinatorLayout, data.getData(), uploadedImages);
+ mAccessToken, binding.postContentEditTextEditPostActivity, binding.coordinatorLayoutEditPostActivity, data.getData(), uploadedImages);
} else if (requestCode == CAPTURE_IMAGE_REQUEST_CODE) {
Utils.uploadImageToReddit(this, mExecutor, mOauthRetrofit, mUploadMediaRetrofit,
- mAccessToken, contentEditText, coordinatorLayout, capturedImageUri, uploadedImages);
+ mAccessToken, binding.postContentEditTextEditPostActivity, binding.coordinatorLayoutEditPostActivity, capturedImageUri, uploadedImages);
} else if (requestCode == MARKDOWN_PREVIEW_REQUEST_CODE) {
editPost();
}
@@ -309,7 +286,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
if (isSubmitting) {
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_edit_post_detail);
} else {
- if (contentEditText.getText().toString().equals(mPostContent)) {
+ if (binding.postContentEditTextEditPostActivity.getText().toString().equals(mPostContent)) {
finish();
} else {
promptAlertDialog(R.string.discard, R.string.discard_detail);
@@ -354,9 +331,9 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
@Override
public void insertImageUrl(UploadedImage uploadedImage) {
- int start = Math.max(contentEditText.getSelectionStart(), 0);
- int end = Math.max(contentEditText.getSelectionEnd(), 0);
- contentEditText.getText().replace(Math.min(start, end), Math.max(start, end),
+ int start = Math.max(binding.postContentEditTextEditPostActivity.getSelectionStart(), 0);
+ int end = Math.max(binding.postContentEditTextEditPostActivity.getSelectionEnd(), 0);
+ binding.postContentEditTextEditPostActivity.getText().replace(Math.min(start, end), Math.max(start, end),
"[" + uploadedImage.imageName + "](" + uploadedImage.imageUrlOrKey + ")",
0, "[]()".length() + uploadedImage.imageName.length() + uploadedImage.imageUrlOrKey.length());
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java
index 230c0b90..44010326 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java
@@ -45,6 +45,7 @@ import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
import ml.docilealligator.infinityforreddit.account.Account;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.slidr.Slidr;
+import ml.docilealligator.infinityforreddit.databinding.ActivityEditProfileBinding;
import ml.docilealligator.infinityforreddit.events.SubmitChangeAvatarEvent;
import ml.docilealligator.infinityforreddit.events.SubmitChangeBannerEvent;
import ml.docilealligator.infinityforreddit.events.SubmitSaveProfileEvent;
@@ -61,29 +62,6 @@ public class EditProfileActivity extends BaseActivity {
private static final int PICK_IMAGE_BANNER_REQUEST_CODE = 0x401;
private static final int PICK_IMAGE_AVATAR_REQUEST_CODE = 0x402;
- @BindView(R.id.root_layout_view_edit_profile_activity)
- CoordinatorLayout coordinatorLayout;
- @BindView(R.id.content_view_edit_profile_activity)
- LinearLayout content;
- @BindView(R.id.collapsing_toolbar_layout_edit_profile_activity)
- CollapsingToolbarLayout collapsingToolbarLayout;
- @BindView(R.id.appbar_layout_view_edit_profile_activity)
- AppBarLayout appBarLayout;
- @BindView(R.id.toolbar_view_edit_profile_activity)
- MaterialToolbar toolbar;
- @BindView(R.id.image_view_banner_edit_profile_activity)
- GifImageView bannerImageView;
- @BindView(R.id.image_view_avatar_edit_profile_activity)
- GifImageView avatarImageView;
- @BindView(R.id.image_view_change_banner_edit_profile_activity)
- ImageView changeBanner;
- @BindView(R.id.image_view_change_avatar_edit_profile_activity)
- ImageView changeAvatar;
- @BindView(R.id.edit_text_display_name_edit_profile_activity)
- EditText editTextDisplayName;
- @BindView(R.id.edit_text_about_you_edit_profile_activity)
- EditText editTextAboutYou;
-
@Inject
@Named("current_account")
SharedPreferences mCurrentAccountSharedPreferences;
@@ -97,6 +75,7 @@ public class EditProfileActivity extends BaseActivity {
RedditDataRoomDatabase mRedditDataRoomDatabase;
@Inject
CustomThemeWrapper mCustomThemeWrapper;
+ private ActivityEditProfileBinding binding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -105,28 +84,27 @@ public class EditProfileActivity extends BaseActivity {
setImmersiveModeNotApplicable();
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_edit_profile);
-
- ButterKnife.bind(this);
+ binding = ActivityEditProfileBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
EventBus.getDefault().register(this);
applyCustomTheme();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
- addOnOffsetChangedListener(appBarLayout);
+ addOnOffsetChangedListener(binding.appbarLayoutViewEditProfileActivity);
}
- setSupportActionBar(toolbar);
+ setSupportActionBar(binding.toolbarViewEditProfileActivity);
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.SWIPE_RIGHT_TO_GO_BACK, true)) {
Slidr.attach(this);
}
- changeBanner.setOnClickListener(view -> {
+ binding.imageViewChangeBannerEditProfileActivity.setOnClickListener(view -> {
startPickImage(PICK_IMAGE_BANNER_REQUEST_CODE);
});
- changeAvatar.setOnClickListener(view -> {
+ binding.imageViewChangeAvatarEditProfileActivity.setOnClickListener(view -> {
startPickImage(PICK_IMAGE_AVATAR_REQUEST_CODE);
});
@@ -142,18 +120,18 @@ public class EditProfileActivity extends BaseActivity {
}
// BANNER
final String userBanner = userData.getBanner();
- LayoutParams cBannerLp = (LayoutParams) changeBanner.getLayoutParams();
+ LayoutParams cBannerLp = (LayoutParams) binding.imageViewChangeBannerEditProfileActivity.getLayoutParams();
if (userBanner == null || userBanner.isEmpty()) {
- changeBanner.setLongClickable(false);
+ binding.imageViewChangeBannerEditProfileActivity.setLongClickable(false);
cBannerLp.gravity = Gravity.CENTER;
- changeBanner.setLayoutParams(cBannerLp);
- changeBanner.setOnLongClickListener(v -> false);
+ binding.imageViewChangeBannerEditProfileActivity.setLayoutParams(cBannerLp);
+ binding.imageViewChangeBannerEditProfileActivity.setOnLongClickListener(v -> false);
} else {
- changeBanner.setLongClickable(true);
+ binding.imageViewChangeBannerEditProfileActivity.setLongClickable(true);
cBannerLp.gravity = Gravity.END | Gravity.BOTTOM;
- changeBanner.setLayoutParams(cBannerLp);
- glide.load(userBanner).into(bannerImageView);
- changeBanner.setOnLongClickListener(view -> {
+ binding.imageViewChangeBannerEditProfileActivity.setLayoutParams(cBannerLp);
+ glide.load(userBanner).into(binding.imageViewBannerEditProfileActivity);
+ binding.imageViewChangeBannerEditProfileActivity.setOnLongClickListener(view -> {
if (accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
return false;
}
@@ -170,7 +148,7 @@ public class EditProfileActivity extends BaseActivity {
Toast.makeText(EditProfileActivity.this,
R.string.message_remove_banner_success,
Toast.LENGTH_SHORT).show();
- bannerImageView.setImageDrawable(null);//
+ binding.imageViewBannerEditProfileActivity.setImageDrawable(null);//
}
@Override
@@ -189,14 +167,14 @@ public class EditProfileActivity extends BaseActivity {
final String userAvatar = userData.getIconUrl();
glide.load(userAvatar)
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(216, 0)))
- .into(avatarImageView);
- LayoutParams cAvatarLp = (LayoutParams) changeAvatar.getLayoutParams();
+ .into(binding.imageViewAvatarEditProfileActivity);
+ LayoutParams cAvatarLp = (LayoutParams) binding.imageViewChangeAvatarEditProfileActivity.getLayoutParams();
if (userAvatar.contains("avatar_default_")) {
- changeAvatar.setLongClickable(false);
- changeAvatar.setOnLongClickListener(v -> false);
+ binding.imageViewChangeAvatarEditProfileActivity.setLongClickable(false);
+ binding.imageViewChangeAvatarEditProfileActivity.setOnLongClickListener(v -> false);
} else {
- changeAvatar.setLongClickable(true);
- changeAvatar.setOnLongClickListener(view -> {
+ binding.imageViewChangeAvatarEditProfileActivity.setLongClickable(true);
+ binding.imageViewChangeAvatarEditProfileActivity.setOnLongClickListener(view -> {
if (accountName.equals(Account.ANONYMOUS_ACCOUNT)) {
return false;
}
@@ -228,8 +206,8 @@ public class EditProfileActivity extends BaseActivity {
});
}
- editTextAboutYou.setText(userData.getDescription());
- editTextDisplayName.setText(userData.getTitle());
+ binding.editTextAboutYouEditProfileActivity.setText(userData.getDescription());
+ binding.editTextDisplayNameEditProfileActivity.setText(userData.getTitle());
});
}
@@ -273,12 +251,12 @@ public class EditProfileActivity extends BaseActivity {
return true;
} else if (itemId == R.id.action_save_edit_profile_activity) {
String displayName = null;
- if (editTextDisplayName.getText() != null) {
- displayName = editTextDisplayName.getText().toString();
+ if (binding.editTextDisplayNameEditProfileActivity.getText() != null) {
+ displayName = binding.editTextDisplayNameEditProfileActivity.getText().toString();
}
String aboutYou = null;
- if (editTextAboutYou.getText() != null) {
- aboutYou = editTextAboutYou.getText().toString();
+ if (binding.editTextAboutYouEditProfileActivity.getText() != null) {
+ aboutYou = binding.editTextAboutYouEditProfileActivity.getText().toString();
}
if (aboutYou == null || displayName == null) return false; //
@@ -343,11 +321,11 @@ public class EditProfileActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
- applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
- coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- changeColorTextView(content, mCustomThemeWrapper.getPrimaryTextColor());
+ applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(binding.appbarLayoutViewEditProfileActivity, binding.collapsingToolbarLayoutEditProfileActivity, binding.toolbarViewEditProfileActivity);
+ binding.rootLayoutViewEditProfileActivity.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ changeColorTextView(binding.contentViewEditProfileActivity, mCustomThemeWrapper.getPrimaryTextColor());
if (typeface != null) {
- Utils.setFontToAllTextViews(coordinatorLayout, typeface);
+ Utils.setFontToAllTextViews(binding.rootLayoutViewEditProfileActivity, typeface);
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/UploadedImagesBottomSheetFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/UploadedImagesBottomSheetFragment.java
index 3fa0aaff..0acbd12c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/UploadedImagesBottomSheetFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/UploadedImagesBottomSheetFragment.java
@@ -8,24 +8,18 @@ import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-import com.google.android.material.button.MaterialButton;
-
-import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.UploadImageEnabledActivity;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.adapters.UploadedImagesRecyclerViewAdapter;
import ml.docilealligator.infinityforreddit.customviews.LandscapeExpandedRoundedBottomSheetDialogFragment;
+import ml.docilealligator.infinityforreddit.databinding.FragmentUploadedImagesBottomSheetBinding;
import ml.docilealligator.infinityforreddit.utils.Utils;
public class UploadedImagesBottomSheetFragment extends LandscapeExpandedRoundedBottomSheetDialogFragment {
public static final String EXTRA_UPLOADED_IMAGES = "EUI";
- private MaterialButton uploadButton;
- private MaterialButton captureButton;
- private RecyclerView uploadedImagesRecyclerView;
private UploadedImagesRecyclerViewAdapter adapter;
private UploadImageEnabledActivity activity;
@@ -37,36 +31,33 @@ public class UploadedImagesBottomSheetFragment extends LandscapeExpandedRoundedB
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
- View rootView = inflater.inflate(R.layout.fragment_uploaded_images_bottom_sheet, container, false);
- uploadButton = rootView.findViewById(R.id.upload_button_uploaded_images_bottom_sheet_fragment);
- captureButton = rootView.findViewById(R.id.capture_button_uploaded_images_bottom_sheet_fragment);
+ FragmentUploadedImagesBottomSheetBinding binding = FragmentUploadedImagesBottomSheetBinding.inflate(inflater, container, false);
- uploadButton.setOnClickListener(view -> {
+ binding.uploadButtonUploadedImagesBottomSheetFragment.setOnClickListener(view -> {
activity.uploadImage();
dismiss();
});
- captureButton.setOnClickListener(view -> {
+ binding.captureButtonUploadedImagesBottomSheetFragment.setOnClickListener(view -> {
activity.captureImage();
dismiss();
});
- uploadedImagesRecyclerView = rootView.findViewById(R.id.recycler_view_uploaded_images_bottom_sheet);
adapter = new UploadedImagesRecyclerViewAdapter(getActivity(),
getArguments().getParcelableArrayList(EXTRA_UPLOADED_IMAGES), uploadedImage -> {
activity.insertImageUrl(uploadedImage);
dismiss();
});
- uploadedImagesRecyclerView.setAdapter(adapter);
+ binding.recyclerViewUploadedImagesBottomSheet.setAdapter(adapter);
Activity baseActivity = getActivity();
if (baseActivity instanceof BaseActivity) {
if (((BaseActivity) activity).typeface != null) {
- Utils.setFontToAllTextViews(rootView, ((BaseActivity) activity).typeface);
+ Utils.setFontToAllTextViews(binding.getRoot(), ((BaseActivity) activity).typeface);
}
}
- return rootView;
+ return binding.getRoot();
}
@Override
diff --git a/app/src/main/res/layout/activity_edit_post.xml b/app/src/main/res/layout/activity_edit_post.xml
index b2bff825..267d1cfe 100644
--- a/app/src/main/res/layout/activity_edit_post.xml
+++ b/app/src/main/res/layout/activity_edit_post.xml
@@ -55,7 +55,7 @@
android:layout_height="1dp" />
<EditText
- android:id="@+id/post_text_content_edit_text_edit_post_activity"
+ android:id="@+id/post_content_edit_text_edit_post_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"