From 54a9f241d473765c963161a5c27d9b03d8b42e1e Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Wed, 10 Jun 2020 15:43:34 +0800 Subject: Changing font is available. Fix subtitle on toolbar being cut if the font is large. --- .../Activity/MultiRedditListingActivity.java | 7 +- .../Activity/SubscribedThingListingActivity.java | 32 +++++++++ .../Activity/ViewGIFActivity.java | 14 +++- .../Activity/ViewImageActivity.java | 14 +++- .../Activity/ViewImgurMediaActivity.java | 14 +++- .../Activity/ViewVideoActivity.java | 17 ++++- .../MultiRedditOptionsBottomSheetFragment.java | 10 +-- .../Fragment/ThemePreviewPostsFragment.java | 6 +- .../Settings/CustomizeMainPageTabsFragment.java | 7 -- .../Settings/FontPreferenceFragment.java | 80 ++++++++++++++++++++++ .../Settings/FontSizePreferenceFragment.java | 55 --------------- app/src/main/res/layout/activity_account_posts.xml | 3 +- .../res/layout/activity_account_saved_thing.xml | 3 +- app/src/main/res/layout/activity_comment.xml | 3 +- .../res/layout/activity_create_multi_reddit.xml | 3 +- .../res/layout/activity_custom_theme_listing.xml | 3 +- .../main/res/layout/activity_customize_theme.xml | 3 +- app/src/main/res/layout/activity_edit_comment.xml | 3 +- .../main/res/layout/activity_edit_multi_reddit.xml | 3 +- app/src/main/res/layout/activity_edit_post.xml | 3 +- .../main/res/layout/activity_filtered_thing.xml | 3 +- app/src/main/res/layout/activity_login.xml | 3 +- .../res/layout/activity_multi_reddit_listing.xml | 3 +- app/src/main/res/layout/activity_post_image.xml | 4 +- app/src/main/res/layout/activity_post_link.xml | 4 +- app/src/main/res/layout/activity_post_text.xml | 4 +- app/src/main/res/layout/activity_post_video.xml | 4 +- app/src/main/res/layout/activity_report.xml | 3 +- app/src/main/res/layout/activity_rules.xml | 3 +- app/src/main/res/layout/activity_search.xml | 4 +- app/src/main/res/layout/activity_search_result.xml | 3 +- .../layout/activity_search_subreddits_result.xml | 3 +- .../res/layout/activity_selected_subreddits.xml | 3 +- app/src/main/res/layout/activity_settings.xml | 3 +- .../res/layout/activity_subreddit_selection.xml | 3 +- ...tivity_subscribed_subreddits_multiselection.xml | 3 +- .../layout/activity_subscribed_thing_listing.xml | 3 +- app/src/main/res/layout/activity_theme_preview.xml | 4 +- app/src/main/res/layout/activity_view_message.xml | 3 +- .../layout/activity_view_multi_reddit_detail.xml | 3 +- .../main/res/layout/activity_view_post_detail.xml | 3 +- app/src/main/res/layout/activity_view_sidebar.xml | 3 +- .../res/layout/activity_view_subreddit_detail.xml | 4 +- .../main/res/layout/activity_view_user_detail.xml | 3 +- app/src/main/res/layout/app_bar_main.xml | 3 +- .../res/layout/fragment_theme_preview_posts.xml | 20 +++--- app/src/main/res/layout/item_footer_error.xml | 1 - app/src/main/res/layout/item_post_compact.xml | 4 -- app/src/main/res/layout/item_post_detail_text.xml | 2 - app/src/main/res/values/arrays.xml | 12 ++++ app/src/main/res/values/strings.xml | 9 ++- app/src/main/res/values/styles.xml | 9 ++- app/src/main/res/xml/font_preferences.xml | 62 +++++++++++++++++ app/src/main/res/xml/font_size_preferences.xml | 29 -------- app/src/main/res/xml/interface_preference.xml | 4 +- 55 files changed, 345 insertions(+), 172 deletions(-) create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontPreferenceFragment.java delete mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontSizePreferenceFragment.java create mode 100644 app/src/main/res/xml/font_preferences.xml delete mode 100644 app/src/main/res/xml/font_size_preferences.xml (limited to 'app/src') diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java index 2ef1d14f..2db98f2c 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java @@ -27,8 +27,6 @@ import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; -import org.greenrobot.eventbus.Subscribe; - import java.util.ArrayList; import javax.inject.Inject; @@ -41,7 +39,6 @@ import ml.docilealligator.infinityforreddit.Adapter.MultiRedditListingRecyclerVi import ml.docilealligator.infinityforreddit.AsyncTask.GetCurrentAccountAsyncTask; import ml.docilealligator.infinityforreddit.AsyncTask.InsertMultiRedditAsyncTask; import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper; -import ml.docilealligator.infinityforreddit.Event.RefreshMultiRedditsEvent; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.MultiReddit.DeleteMultiReddit; import ml.docilealligator.infinityforreddit.MultiReddit.FetchMyMultiReddits; @@ -292,8 +289,8 @@ public class MultiRedditListingActivity extends BaseActivity { .show(); } - @Subscribe + /*@Subscribe public void onRefreshMultiRedditsEvent(RefreshMultiRedditsEvent event) { loadMultiReddits(); - } + }*/ } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java index c1919782..e6f3d8b7 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java @@ -18,6 +18,7 @@ import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.tabs.TabLayout; import org.greenrobot.eventbus.EventBus; @@ -36,6 +37,7 @@ import ml.docilealligator.infinityforreddit.AsyncTask.InsertMultiRedditAsyncTask import ml.docilealligator.infinityforreddit.AsyncTask.InsertSubscribedThingsAsyncTask; import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper; import ml.docilealligator.infinityforreddit.Event.GoBackToMainPageEvent; +import ml.docilealligator.infinityforreddit.Event.RefreshMultiRedditsEvent; import ml.docilealligator.infinityforreddit.Event.SwitchAccountEvent; import ml.docilealligator.infinityforreddit.FetchSubscribedThing; import ml.docilealligator.infinityforreddit.Fragment.FollowedUsersListingFragment; @@ -43,6 +45,7 @@ import ml.docilealligator.infinityforreddit.Fragment.MultiRedditListingFragment; import ml.docilealligator.infinityforreddit.Fragment.SubscribedSubredditsListingFragment; import ml.docilealligator.infinityforreddit.FragmentCommunicator; import ml.docilealligator.infinityforreddit.Infinity; +import ml.docilealligator.infinityforreddit.MultiReddit.DeleteMultiReddit; import ml.docilealligator.infinityforreddit.MultiReddit.FetchMyMultiReddits; import ml.docilealligator.infinityforreddit.MultiReddit.MultiReddit; import ml.docilealligator.infinityforreddit.R; @@ -261,6 +264,30 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti }); } + public void deleteMultiReddit(MultiReddit multiReddit) { + new MaterialAlertDialogBuilder(this, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.delete) + .setMessage(R.string.delete_multi_reddit_dialog_message) + .setPositiveButton(R.string.delete, (dialogInterface, i) + -> DeleteMultiReddit.deleteMultiReddit(mOauthRetrofit, mRedditDataRoomDatabase, + mAccessToken, mAccountName, multiReddit.getPath(), new DeleteMultiReddit.DeleteMultiRedditListener() { + @Override + public void success() { + Toast.makeText(SubscribedThingListingActivity.this, + R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show(); + loadMultiReddits(); + } + + @Override + public void failed() { + Toast.makeText(SubscribedThingListingActivity.this, + R.string.delete_multi_reddit_failed, Toast.LENGTH_SHORT).show(); + } + })) + .setNegativeButton(R.string.cancel, null) + .show(); + } + @Subscribe public void onAccountSwitchEvent(SwitchAccountEvent event) { finish(); @@ -271,6 +298,11 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti finish(); } + @Subscribe + public void onRefreshMultiRedditsEvent(RefreshMultiRedditsEvent event) { + loadMultiReddits(); + } + @Override public void onLongPress() { if (sectionsPagerAdapter != null) { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java index 59521940..cafbaed4 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java @@ -47,11 +47,14 @@ import butterknife.BindView; import butterknife.ButterKnife; import ml.docilealligator.infinityforreddit.AsyncTask.SaveGIFToFileAsyncTask; import ml.docilealligator.infinityforreddit.BuildConfig; +import ml.docilealligator.infinityforreddit.Font.ContentFontFamily; import ml.docilealligator.infinityforreddit.Font.ContentFontStyle; +import ml.docilealligator.infinityforreddit.Font.FontFamily; import ml.docilealligator.infinityforreddit.Font.FontStyle; +import ml.docilealligator.infinityforreddit.Font.TitleFontFamily; +import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; -import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; import pl.droidsonroids.gif.GifImageView; @@ -96,6 +99,15 @@ public class ViewGIFActivity extends AppCompatActivity { getTheme().applyStyle(ContentFontStyle.valueOf(mSharedPreferences .getString(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY, ContentFontStyle.Normal.name())).getResId(), true); + getTheme().applyStyle(FontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.FONT_FAMILY_KEY, FontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(TitleFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY, TitleFontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(ContentFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY, ContentFontFamily.Default.name())).getResId(), true); + setContentView(R.layout.activity_view_gif); ButterKnife.bind(this); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java index 6db185e0..ea3bde7f 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java @@ -49,11 +49,14 @@ import butterknife.BindView; import butterknife.ButterKnife; import ml.docilealligator.infinityforreddit.AsyncTask.SaveImageToFileAsyncTask; import ml.docilealligator.infinityforreddit.BuildConfig; +import ml.docilealligator.infinityforreddit.Font.ContentFontFamily; import ml.docilealligator.infinityforreddit.Font.ContentFontStyle; +import ml.docilealligator.infinityforreddit.Font.FontFamily; import ml.docilealligator.infinityforreddit.Font.FontStyle; +import ml.docilealligator.infinityforreddit.Font.TitleFontFamily; +import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; -import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; public class ViewImageActivity extends AppCompatActivity { @@ -97,6 +100,15 @@ public class ViewImageActivity extends AppCompatActivity { getTheme().applyStyle(ContentFontStyle.valueOf(mSharedPreferences .getString(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY, ContentFontStyle.Normal.name())).getResId(), true); + getTheme().applyStyle(FontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.FONT_FAMILY_KEY, FontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(TitleFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY, TitleFontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(ContentFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY, ContentFontFamily.Default.name())).getResId(), true); + setContentView(R.layout.activity_view_image); ButterKnife.bind(this); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java index 7d776ed6..f38315db 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImgurMediaActivity.java @@ -33,14 +33,17 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; import ml.docilealligator.infinityforreddit.API.ImgurAPI; +import ml.docilealligator.infinityforreddit.Font.ContentFontFamily; import ml.docilealligator.infinityforreddit.Font.ContentFontStyle; +import ml.docilealligator.infinityforreddit.Font.FontFamily; import ml.docilealligator.infinityforreddit.Font.FontStyle; +import ml.docilealligator.infinityforreddit.Font.TitleFontFamily; +import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Fragment.ViewImgurImageFragment; import ml.docilealligator.infinityforreddit.Fragment.ViewImgurVideoFragment; import ml.docilealligator.infinityforreddit.ImgurMedia; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; -import ml.docilealligator.infinityforreddit.Font.TitleFontStyle; import ml.docilealligator.infinityforreddit.Utils.APIUtils; import ml.docilealligator.infinityforreddit.Utils.JSONUtils; import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; @@ -92,6 +95,15 @@ public class ViewImgurMediaActivity extends AppCompatActivity { getTheme().applyStyle(ContentFontStyle.valueOf(sharedPreferences .getString(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY, ContentFontStyle.Normal.name())).getResId(), true); + getTheme().applyStyle(FontFamily.valueOf(sharedPreferences + .getString(SharedPreferencesUtils.FONT_FAMILY_KEY, FontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(TitleFontFamily.valueOf(sharedPreferences + .getString(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY, TitleFontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(ContentFontFamily.valueOf(sharedPreferences + .getString(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY, ContentFontFamily.Default.name())).getResId(), true); + setContentView(R.layout.activity_view_imgur_media); ButterKnife.bind(this); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java index 0bd5f7fc..1bccf67b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java @@ -57,6 +57,9 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; import ml.docilealligator.infinityforreddit.FetchGfycatVideoLinks; +import ml.docilealligator.infinityforreddit.Font.ContentFontFamily; +import ml.docilealligator.infinityforreddit.Font.FontFamily; +import ml.docilealligator.infinityforreddit.Font.TitleFontFamily; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.Service.DownloadRedditVideoService; @@ -119,11 +122,21 @@ public class ViewVideoActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + ((Infinity) getApplication()).getAppComponent().inject(this); + getTheme().applyStyle(R.style.Theme_Normal, true); - setContentView(R.layout.activity_view_video); + getTheme().applyStyle(FontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.FONT_FAMILY_KEY, FontFamily.Default.name())).getResId(), true); - ((Infinity) getApplication()).getAppComponent().inject(this); + getTheme().applyStyle(TitleFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY, TitleFontFamily.Default.name())).getResId(), true); + + getTheme().applyStyle(ContentFontFamily.valueOf(mSharedPreferences + .getString(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY, ContentFontFamily.Default.name())).getResId(), true); + + setContentView(R.layout.activity_view_video); ButterKnife.bind(this); setVolumeControlStream(AudioManager.STREAM_MUSIC); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/MultiRedditOptionsBottomSheetFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/MultiRedditOptionsBottomSheetFragment.java index 60b065ba..27a9ccdc 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/MultiRedditOptionsBottomSheetFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/BottomSheetFragment/MultiRedditOptionsBottomSheetFragment.java @@ -16,7 +16,7 @@ import com.deishelon.roundedbottomsheet.RoundedBottomSheetDialogFragment; import butterknife.BindView; import butterknife.ButterKnife; import ml.docilealligator.infinityforreddit.Activity.EditMultiRedditActivity; -import ml.docilealligator.infinityforreddit.Activity.MultiRedditListingActivity; +import ml.docilealligator.infinityforreddit.Activity.SubscribedThingListingActivity; import ml.docilealligator.infinityforreddit.MultiReddit.MultiReddit; import ml.docilealligator.infinityforreddit.R; @@ -31,7 +31,7 @@ public class MultiRedditOptionsBottomSheetFragment extends RoundedBottomSheetDia TextView editMultiRedditTextView; @BindView(R.id.delete_multi_reddit_text_view_multi_reddit_options_bottom_sheet_fragment) TextView deleteMultiRedditTextView; - private MultiRedditListingActivity multiRedditListingActivity; + private SubscribedThingListingActivity subscribedThingListingActivity; public MultiRedditOptionsBottomSheetFragment() { // Required empty public constructor @@ -48,14 +48,14 @@ public class MultiRedditOptionsBottomSheetFragment extends RoundedBottomSheetDia MultiReddit multiReddit = getArguments().getParcelable(EXTRA_MULTI_REDDIT); editMultiRedditTextView.setOnClickListener(view -> { - Intent editIntent = new Intent(multiRedditListingActivity, EditMultiRedditActivity.class); + Intent editIntent = new Intent(subscribedThingListingActivity, EditMultiRedditActivity.class); editIntent.putExtra(EditMultiRedditActivity.EXTRA_MULTI_REDDIT, multiReddit); startActivity(editIntent); dismiss(); }); deleteMultiRedditTextView.setOnClickListener(view -> { - multiRedditListingActivity.deleteMultiReddit(multiReddit); + subscribedThingListingActivity.deleteMultiReddit(multiReddit); dismiss(); }); @@ -65,6 +65,6 @@ public class MultiRedditOptionsBottomSheetFragment extends RoundedBottomSheetDia @Override public void onAttach(@NonNull Context context) { super.onAttach(context); - multiRedditListingActivity = (MultiRedditListingActivity) context; + subscribedThingListingActivity = (SubscribedThingListingActivity) context; } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Fragment/ThemePreviewPostsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Fragment/ThemePreviewPostsFragment.java index e8963f92..eeefeaa0 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Fragment/ThemePreviewPostsFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Fragment/ThemePreviewPostsFragment.java @@ -15,7 +15,6 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.cardview.widget.CardView; import androidx.core.graphics.drawable.DrawableCompat; -import androidx.core.widget.NestedScrollView; import androidx.fragment.app.Fragment; import com.bumptech.glide.Glide; @@ -59,6 +58,8 @@ public class ThemePreviewPostsFragment extends Fragment { CustomTextView nsfwTextView; @BindView(R.id.flair_custom_text_view_theme_preview_posts_fragment) CustomTextView flairTextView; + @BindView(R.id.awards_text_view_theme_preview_posts_fragment) + CustomTextView awardsTextView; @BindView(R.id.archived_image_view_theme_preview_posts_fragment) ImageView archivedImageView; @BindView(R.id.locked_image_view_theme_preview_posts_fragment) @@ -120,6 +121,9 @@ public class ThemePreviewPostsFragment extends Fragment { flairTextView.setBackgroundColor(customTheme.flairBackgroundColor); flairTextView.setBorderColor(customTheme.flairBackgroundColor); flairTextView.setTextColor(customTheme.flairTextColor); + awardsTextView.setBackgroundColor(customTheme.awardsBackgroundColor); + awardsTextView.setBorderColor(customTheme.awardsBackgroundColor); + awardsTextView.setTextColor(customTheme.awardsTextColor); archivedImageView.setColorFilter(customTheme.archivedTint, PorterDuff.Mode.SRC_IN); lockedImageView.setColorFilter(customTheme.lockedIconTint, PorterDuff.Mode.SRC_IN); crosspostImageView.setColorFilter(customTheme.crosspostIconTint, PorterDuff.Mode.SRC_IN); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CustomizeMainPageTabsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CustomizeMainPageTabsFragment.java index 01e2c28e..33ad2ea9 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CustomizeMainPageTabsFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CustomizeMainPageTabsFragment.java @@ -5,7 +5,6 @@ import android.content.SharedPreferences; import android.os.Bundle; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.preference.EditTextPreference; import androidx.preference.ListPreference; @@ -32,12 +31,6 @@ public class CustomizeMainPageTabsFragment extends PreferenceFragmentCompat { CustomThemeWrapper customThemeWrapper; private SettingsActivity activity; - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - } - @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.customize_main_page_tabs_preferences, rootKey); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontPreferenceFragment.java new file mode 100644 index 00000000..78ae7d82 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontPreferenceFragment.java @@ -0,0 +1,80 @@ +package ml.docilealligator.infinityforreddit.Settings; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.preference.ListPreference; +import androidx.preference.PreferenceFragmentCompat; + +import org.greenrobot.eventbus.EventBus; + +import ml.docilealligator.infinityforreddit.Event.RecreateActivityEvent; +import ml.docilealligator.infinityforreddit.R; +import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; + +public class FontPreferenceFragment extends PreferenceFragmentCompat { + private Activity activity; + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.font_preferences, rootKey); + ListPreference fontFamilyPreference = findPreference(SharedPreferencesUtils.FONT_FAMILY_KEY); + ListPreference titleFontFamilyPreference = findPreference(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY); + ListPreference contentFontFamilyPreference = findPreference(SharedPreferencesUtils.CONTENT_FONT_FAMILY_KEY); + ListPreference fontSizePreference = findPreference(SharedPreferencesUtils.FONT_SIZE_KEY); + ListPreference titleFontSizePreference = findPreference(SharedPreferencesUtils.TITLE_FONT_SIZE_KEY); + ListPreference contentFontSizePreference = findPreference(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY); + + if (fontFamilyPreference != null) { + fontFamilyPreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + activity.recreate(); + return true; + }); + } + + if (titleFontFamilyPreference != null) { + titleFontFamilyPreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + return true; + }); + } + + if (contentFontFamilyPreference != null) { + contentFontFamilyPreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + return true; + }); + } + + if (fontSizePreference != null) { + fontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + activity.recreate(); + return true; + }); + } + + if (titleFontSizePreference != null) { + titleFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + return true; + }); + } + + if (contentFontSizePreference != null) { + contentFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + return true; + }); + } + } + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + activity = (Activity) context; + } +} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontSizePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontSizePreferenceFragment.java deleted file mode 100644 index 5d4a0a5a..00000000 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/FontSizePreferenceFragment.java +++ /dev/null @@ -1,55 +0,0 @@ -package ml.docilealligator.infinityforreddit.Settings; - -import android.app.Activity; -import android.content.Context; -import android.os.Bundle; - -import androidx.annotation.NonNull; -import androidx.preference.ListPreference; -import androidx.preference.PreferenceFragmentCompat; - -import org.greenrobot.eventbus.EventBus; - -import ml.docilealligator.infinityforreddit.Event.RecreateActivityEvent; -import ml.docilealligator.infinityforreddit.R; -import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; - -public class FontSizePreferenceFragment extends PreferenceFragmentCompat { - private Activity activity; - - @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - setPreferencesFromResource(R.xml.font_size_preferences, rootKey); - ListPreference fontSizePreference = findPreference(SharedPreferencesUtils.FONT_SIZE_KEY); - ListPreference titleFontSizePreference = findPreference(SharedPreferencesUtils.TITLE_FONT_SIZE_KEY); - ListPreference contentFontSizePreference = findPreference(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY); - - if (fontSizePreference != null) { - fontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { - EventBus.getDefault().post(new RecreateActivityEvent()); - activity.recreate(); - return true; - }); - } - - if (titleFontSizePreference != null) { - titleFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { - EventBus.getDefault().post(new RecreateActivityEvent()); - return true; - }); - } - - if (contentFontSizePreference != null) { - contentFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> { - EventBus.getDefault().post(new RecreateActivityEvent()); - return true; - }); - } - } - - @Override - public void onAttach(@NonNull Context context) { - super.onAttach(context); - activity = (Activity) context; - } -} diff --git a/app/src/main/res/layout/activity_account_posts.xml b/app/src/main/res/layout/activity_account_posts.xml index 0cf8d0ef..396a6ab3 100644 --- a/app/src/main/res/layout/activity_account_posts.xml +++ b/app/src/main/res/layout/activity_account_posts.xml @@ -24,7 +24,8 @@ diff --git a/app/src/main/res/layout/activity_account_saved_thing.xml b/app/src/main/res/layout/activity_account_saved_thing.xml index 9f54be21..57f61d2c 100644 --- a/app/src/main/res/layout/activity_account_saved_thing.xml +++ b/app/src/main/res/layout/activity_account_saved_thing.xml @@ -24,7 +24,8 @@ diff --git a/app/src/main/res/layout/activity_create_multi_reddit.xml b/app/src/main/res/layout/activity_create_multi_reddit.xml index b606221d..20adb1d1 100644 --- a/app/src/main/res/layout/activity_create_multi_reddit.xml +++ b/app/src/main/res/layout/activity_create_multi_reddit.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_custom_theme_listing.xml b/app/src/main/res/layout/activity_custom_theme_listing.xml index 7a16e736..a569f594 100644 --- a/app/src/main/res/layout/activity_custom_theme_listing.xml +++ b/app/src/main/res/layout/activity_custom_theme_listing.xml @@ -24,7 +24,8 @@ diff --git a/app/src/main/res/layout/activity_customize_theme.xml b/app/src/main/res/layout/activity_customize_theme.xml index 40358952..9df359c6 100644 --- a/app/src/main/res/layout/activity_customize_theme.xml +++ b/app/src/main/res/layout/activity_customize_theme.xml @@ -25,7 +25,8 @@ diff --git a/app/src/main/res/layout/activity_edit_comment.xml b/app/src/main/res/layout/activity_edit_comment.xml index 79bc90f3..ba239230 100644 --- a/app/src/main/res/layout/activity_edit_comment.xml +++ b/app/src/main/res/layout/activity_edit_comment.xml @@ -16,7 +16,8 @@ diff --git a/app/src/main/res/layout/activity_edit_multi_reddit.xml b/app/src/main/res/layout/activity_edit_multi_reddit.xml index c037daea..bd6b9a12 100644 --- a/app/src/main/res/layout/activity_edit_multi_reddit.xml +++ b/app/src/main/res/layout/activity_edit_multi_reddit.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_edit_post.xml b/app/src/main/res/layout/activity_edit_post.xml index d5ac9360..5d124696 100644 --- a/app/src/main/res/layout/activity_edit_post.xml +++ b/app/src/main/res/layout/activity_edit_post.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_filtered_thing.xml b/app/src/main/res/layout/activity_filtered_thing.xml index dd8e8cb9..a84e5140 100644 --- a/app/src/main/res/layout/activity_filtered_thing.xml +++ b/app/src/main/res/layout/activity_filtered_thing.xml @@ -24,7 +24,8 @@ diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index bceaf7a0..04c07f43 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -15,7 +15,8 @@ diff --git a/app/src/main/res/layout/activity_multi_reddit_listing.xml b/app/src/main/res/layout/activity_multi_reddit_listing.xml index 308374b2..a7c69f72 100644 --- a/app/src/main/res/layout/activity_multi_reddit_listing.xml +++ b/app/src/main/res/layout/activity_multi_reddit_listing.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_post_image.xml b/app/src/main/res/layout/activity_post_image.xml index c6367aa1..cacfd04c 100644 --- a/app/src/main/res/layout/activity_post_image.xml +++ b/app/src/main/res/layout/activity_post_image.xml @@ -16,7 +16,8 @@ @@ -67,7 +68,6 @@ android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:text="@string/rules" - android:textColor="@android:color/white" android:textSize="?attr/font_default" android:fontFamily="?attr/font_family" /> diff --git a/app/src/main/res/layout/activity_post_link.xml b/app/src/main/res/layout/activity_post_link.xml index 29a0eb7b..076764a2 100644 --- a/app/src/main/res/layout/activity_post_link.xml +++ b/app/src/main/res/layout/activity_post_link.xml @@ -16,7 +16,8 @@ @@ -67,7 +68,6 @@ android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:text="@string/rules" - android:textColor="@android:color/white" android:textSize="?attr/font_default" android:fontFamily="?attr/font_family" /> diff --git a/app/src/main/res/layout/activity_post_text.xml b/app/src/main/res/layout/activity_post_text.xml index e5d9b29d..67ba4234 100644 --- a/app/src/main/res/layout/activity_post_text.xml +++ b/app/src/main/res/layout/activity_post_text.xml @@ -16,7 +16,8 @@ @@ -67,7 +68,6 @@ android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:text="@string/rules" - android:textColor="@android:color/white" android:textSize="?attr/font_default" android:fontFamily="?attr/font_family" /> diff --git a/app/src/main/res/layout/activity_post_video.xml b/app/src/main/res/layout/activity_post_video.xml index 49580159..c50c8be1 100644 --- a/app/src/main/res/layout/activity_post_video.xml +++ b/app/src/main/res/layout/activity_post_video.xml @@ -16,7 +16,8 @@ @@ -67,7 +68,6 @@ android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:text="@string/rules" - android:textColor="@android:color/white" android:textSize="?attr/font_default" android:fontFamily="?attr/font_family" /> diff --git a/app/src/main/res/layout/activity_report.xml b/app/src/main/res/layout/activity_report.xml index 845c9ecc..ff8ecb4b 100644 --- a/app/src/main/res/layout/activity_report.xml +++ b/app/src/main/res/layout/activity_report.xml @@ -16,7 +16,8 @@ diff --git a/app/src/main/res/layout/activity_rules.xml b/app/src/main/res/layout/activity_rules.xml index 563435fd..377c4fe1 100644 --- a/app/src/main/res/layout/activity_rules.xml +++ b/app/src/main/res/layout/activity_rules.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index 3855767b..0048e1fc 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -21,7 +21,8 @@ @@ -29,7 +30,6 @@ android:id="@+id/search_view_search_activity" android:layout_width="match_parent" android:layout_height="match_parent" - android:textColor="@android:color/white" app:backIconAlpha="1" app:backIconTint="@android:color/white" app:cursorColor="@android:color/white" diff --git a/app/src/main/res/layout/activity_search_result.xml b/app/src/main/res/layout/activity_search_result.xml index 79859872..cf798b26 100644 --- a/app/src/main/res/layout/activity_search_result.xml +++ b/app/src/main/res/layout/activity_search_result.xml @@ -22,7 +22,8 @@ diff --git a/app/src/main/res/layout/activity_search_subreddits_result.xml b/app/src/main/res/layout/activity_search_subreddits_result.xml index eaa560e7..b3390378 100644 --- a/app/src/main/res/layout/activity_search_subreddits_result.xml +++ b/app/src/main/res/layout/activity_search_subreddits_result.xml @@ -16,7 +16,8 @@ diff --git a/app/src/main/res/layout/activity_selected_subreddits.xml b/app/src/main/res/layout/activity_selected_subreddits.xml index dc33a69c..4e7a3364 100644 --- a/app/src/main/res/layout/activity_selected_subreddits.xml +++ b/app/src/main/res/layout/activity_selected_subreddits.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 1bd20c09..99b93a7a 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -19,7 +19,8 @@ diff --git a/app/src/main/res/layout/activity_subreddit_selection.xml b/app/src/main/res/layout/activity_subreddit_selection.xml index 630f2af4..fddc0f8e 100644 --- a/app/src/main/res/layout/activity_subreddit_selection.xml +++ b/app/src/main/res/layout/activity_subreddit_selection.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_subscribed_subreddits_multiselection.xml b/app/src/main/res/layout/activity_subscribed_subreddits_multiselection.xml index 9b53ac6c..506375e7 100644 --- a/app/src/main/res/layout/activity_subscribed_subreddits_multiselection.xml +++ b/app/src/main/res/layout/activity_subscribed_subreddits_multiselection.xml @@ -23,7 +23,8 @@ @@ -107,7 +106,8 @@ diff --git a/app/src/main/res/layout/activity_view_multi_reddit_detail.xml b/app/src/main/res/layout/activity_view_multi_reddit_detail.xml index dbe8875b..28577883 100644 --- a/app/src/main/res/layout/activity_view_multi_reddit_detail.xml +++ b/app/src/main/res/layout/activity_view_multi_reddit_detail.xml @@ -24,7 +24,8 @@ diff --git a/app/src/main/res/layout/activity_view_post_detail.xml b/app/src/main/res/layout/activity_view_post_detail.xml index e4928bae..621903a8 100644 --- a/app/src/main/res/layout/activity_view_post_detail.xml +++ b/app/src/main/res/layout/activity_view_post_detail.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_view_sidebar.xml b/app/src/main/res/layout/activity_view_sidebar.xml index 301b04cc..94a120ef 100644 --- a/app/src/main/res/layout/activity_view_sidebar.xml +++ b/app/src/main/res/layout/activity_view_sidebar.xml @@ -23,7 +23,8 @@ diff --git a/app/src/main/res/layout/activity_view_subreddit_detail.xml b/app/src/main/res/layout/activity_view_subreddit_detail.xml index 27dceb9f..69680dbe 100644 --- a/app/src/main/res/layout/activity_view_subreddit_detail.xml +++ b/app/src/main/res/layout/activity_view_subreddit_detail.xml @@ -72,7 +72,6 @@ android:id="@+id/subscribe_subreddit_chip_view_subreddit_detail_activity" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@android:color/white" android:layout_gravity="center_horizontal"/> diff --git a/app/src/main/res/layout/fragment_theme_preview_posts.xml b/app/src/main/res/layout/fragment_theme_preview_posts.xml index 760d412d..7e384540 100644 --- a/app/src/main/res/layout/fragment_theme_preview_posts.xml +++ b/app/src/main/res/layout/fragment_theme_preview_posts.xml @@ -133,7 +133,6 @@ android:layout_height="wrap_content" android:padding="4dp" android:text="@string/post_type_preview" - android:textColor="@android:color/white" android:textSize="?attr/font_12" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" @@ -147,7 +146,6 @@ android:layout_gravity="center" android:padding="4dp" android:text="@string/spoiler" - android:textColor="@android:color/white" android:textSize="?attr/font_12" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" @@ -160,7 +158,6 @@ android:layout_height="wrap_content" android:padding="4dp" android:text="@string/nsfw" - android:textColor="@android:color/white" android:textSize="?attr/font_12" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" @@ -174,22 +171,23 @@ android:layout_gravity="center" android:padding="4dp" android:text="@string/flair_preview" - android:textColor="@android:color/white" android:textSize="?attr/font_12" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" app:lib_setRoundedView="true" app:lib_setShape="rectangle" /> - + android:padding="4dp" + android:text="@string/awards_preview" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + app:lib_setRadius="3dp" + app:lib_setRoundedView="true" + app:lib_setShape="rectangle" /> diff --git a/app/src/main/res/layout/item_post_compact.xml b/app/src/main/res/layout/item_post_compact.xml index f23220d7..a8f3d262 100644 --- a/app/src/main/res/layout/item_post_compact.xml +++ b/app/src/main/res/layout/item_post_compact.xml @@ -114,7 +114,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="4dp" - android:textColor="@android:color/white" android:textSize="?attr/font_10" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" @@ -128,7 +127,6 @@ android:layout_gravity="center" android:padding="4dp" android:text="@string/spoiler" - android:textColor="@android:color/white" android:textSize="?attr/font_10" android:fontFamily="?attr/font_family" android:visibility="gone" @@ -142,7 +140,6 @@ android:layout_height="wrap_content" android:padding="4dp" android:text="@string/nsfw" - android:textColor="@android:color/white" android:textSize="?attr/font_10" android:fontFamily="?attr/font_family" android:visibility="gone" @@ -156,7 +153,6 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:padding="4dp" - android:textColor="@android:color/white" android:textSize="?attr/font_10" android:fontFamily="?attr/font_family" android:visibility="gone" diff --git a/app/src/main/res/layout/item_post_detail_text.xml b/app/src/main/res/layout/item_post_detail_text.xml index c7d02b7f..08a4598a 100644 --- a/app/src/main/res/layout/item_post_detail_text.xml +++ b/app/src/main/res/layout/item_post_detail_text.xml @@ -128,7 +128,6 @@ android:padding="4dp" android:text="@string/text" android:textSize="?attr/font_12" - android:textColor="@android:color/white" android:fontFamily="?attr/font_family" app:lib_setRadius="3dp" app:lib_setRoundedView="true" @@ -141,7 +140,6 @@ android:layout_gravity="center" android:text="@string/spoiler" android:textSize="?attr/font_12" - android:textColor="@android:color/white" android:fontFamily="?attr/font_family" android:padding="4dp" android:visibility="gone" diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 5fce9e21..feb9b16e 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -122,6 +122,18 @@ XLarge XXLarge + + + Default + Balsamiq Sans + Noto Sans + + + + Default + BalsamiqSans + NotoSans + Home diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bdd8df76..a8d9f21f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -348,6 +348,13 @@ Lock Bottom Navigation Bar Swipe Up to Hide Jump to Next Top-level Comment Button Lazy Mode Interval + Font + Font + Title + Content + Font Family + Title Font Family + Content Font Family Font Size Title Font Size Content Font Size @@ -711,7 +718,7 @@ This gravity joke is getting a bit old, but I fall for it every time. POST Flair - x4 + 4 Awards Author Flair I got my girlfriend a “Get better soon” card.\nShe\'s not ill or anything, but she could definitely get better. diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d09b0c72..cec4a93e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -39,14 +39,15 @@ true true @android:color/black + ?attr/font_family -