From 71c161ce0fea200e1b4a4213d4c8f141a43b9b17 Mon Sep 17 00:00:00 2001 From: Vivian Tran Date: Tue, 22 Oct 2024 20:54:56 +1100 Subject: [PATCH] make change to the font of other stuffs --- app/src/main/java/org/schabi/newpipe/App.java | 1 + .../java/org/schabi/newpipe/MainActivity.java | 7 +- .../org/schabi/newpipe/RouterActivity.java | 4 +- .../org/schabi/newpipe/about/AboutActivity.kt | 12 ++ .../newpipe/download/DownloadActivity.java | 4 +- .../newpipe/download/DownloadDialog.java | 20 ++- .../schabi/newpipe/error/ErrorActivity.java | 4 +- .../newpipe/error/ReCaptchaActivity.java | 4 +- .../newpipe/fragments/BlankFragment.java | 18 ++- .../newpipe/fragments/EmptyFragment.java | 9 +- .../newpipe/fragments/MainFragment.java | 13 +- .../detail/BaseDescriptionFragment.java | 13 ++ .../fragments/detail/VideoDetailFragment.java | 11 ++ .../list/channel/ChannelFragment.java | 11 ++ .../list/channel/ChannelTabFragment.java | 18 ++- .../list/comments/CommentRepliesFragment.java | 18 ++- .../list/comments/CommentsFragment.java | 17 ++- .../fragments/list/kiosk/KioskFragment.java | 11 +- .../list/playlist/PlaylistFragment.java | 7 +- .../fragments/list/search/SearchFragment.java | 20 ++- .../list/search/SuggestionListAdapter.java | 18 ++- .../list/videos/RelatedItemsFragment.java | 18 ++- .../newpipe/info_list/InfoListAdapter.java | 124 +++++++++++++++--- .../newpipe/local/LocalItemListAdapter.java | 84 +++++++++--- .../local/bookmark/BookmarkFragment.java | 23 +++- .../local/dialog/PlaylistAppendDialog.java | 23 +++- .../schabi/newpipe/local/feed/FeedFragment.kt | 21 ++- .../history/StatisticsPlaylistFragment.java | 16 ++- .../LocalBookmarkPlaylistItemHolder.java | 17 +++ .../local/playlist/LocalPlaylistFragment.java | 11 +- .../subscription/SubscriptionFragment.kt | 15 ++- .../SubscriptionsImportFragment.java | 18 ++- .../subscription/dialog/FeedGroupDialog.kt | 15 ++- .../dialog/FeedGroupReorderDialog.kt | 16 ++- .../newpipe/player/PlayQueueActivity.java | 4 +- .../settings/ContentSettingsFragment.java | 2 +- .../settings/HistorySettingsFragment.java | 2 +- .../settings/MainSettingsFragment.java | 3 +- .../settings/SelectPlaylistFragment.java | 15 +++ .../newpipe/settings/SettingsActivity.java | 4 +- .../util/FilePickerActivityHelper.java | 4 +- .../giga/ui/common/ToolbarActivity.java | 4 +- app/src/main/res/values/settings_keys.xml | 4 + 43 files changed, 584 insertions(+), 99 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java index d92425d20..fe6e334f6 100644 --- a/app/src/main/java/org/schabi/newpipe/App.java +++ b/app/src/main/java/org/schabi/newpipe/App.java @@ -118,6 +118,7 @@ public class App extends Application { configureRxJavaErrorHandler(); } + @Override public void onTerminate() { super.onTerminate(); diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index a436bc36d..842b31579 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -179,12 +179,13 @@ public class MainActivity extends AppCompatActivity { && ReleaseVersionUtil.INSTANCE.isReleaseApk()) { UpdateSettingsFragment.askForConsentToUpdateChecks(this); } - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } + } - @Override +@Override protected void onPostCreate(final Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); @@ -201,7 +202,7 @@ public class MainActivity extends AppCompatActivity { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } public void setUpFont(final String preferredFont) { diff --git a/app/src/main/java/org/schabi/newpipe/RouterActivity.java b/app/src/main/java/org/schabi/newpipe/RouterActivity.java index 19e656fd5..17962ac4c 100644 --- a/app/src/main/java/org/schabi/newpipe/RouterActivity.java +++ b/app/src/main/java/org/schabi/newpipe/RouterActivity.java @@ -187,14 +187,14 @@ public class RouterActivity extends AppCompatActivity { } } - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt index 7f148e9b5..9795cc6b3 100644 --- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt +++ b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt @@ -1,5 +1,6 @@ package org.schabi.newpipe.about +import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.MenuItem @@ -10,8 +11,10 @@ import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity +import androidx.preference.PreferenceManager import androidx.viewpager2.adapter.FragmentStateAdapter import com.google.android.material.tabs.TabLayoutMediator +import com.marcinorlowski.fonty.Fonty import org.schabi.newpipe.BuildConfig import org.schabi.newpipe.R import org.schabi.newpipe.databinding.ActivityAboutBinding @@ -44,6 +47,15 @@ class AboutActivity : AppCompatActivity() { ) { tab, position -> tab.setText(mAboutStateAdapter.getPageTitle(position)) }.attach() + val preferredFont = getPreferredFont(this) + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts(this) + } + } + fun getPreferredFont(context: Context?): String? { + val preferences = PreferenceManager + .getDefaultSharedPreferences(context!!) + return preferences.getString("preferred_font", getString(R.string.default_font_key)) } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java index 9bed00a34..8d73bdb23 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java @@ -69,7 +69,7 @@ public class DownloadActivity extends AppCompatActivity { FocusOverlayView.setupFocusObserver(this); } final String preferredFont = getPreferredFont(this); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -85,7 +85,7 @@ public class DownloadActivity extends AppCompatActivity { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java index db2066b27..0bf52f884 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java @@ -39,6 +39,7 @@ import androidx.documentfile.provider.DocumentFile; import androidx.fragment.app.DialogFragment; import androidx.preference.PreferenceManager; +import com.marcinorlowski.fonty.Fonty; import com.nononsenseapps.filepicker.Utils; import org.schabi.newpipe.MainActivity; @@ -117,7 +118,6 @@ public class DownloadDialog extends DialogFragment private ActionMenuItemView okButton = null; private Context context = null; private boolean askForSavePath; - private AudioTrackAdapter audioTrackAdapter; private StreamItemAdapter audioStreamsAdapter; private StreamItemAdapter videoStreamsAdapter; @@ -152,7 +152,6 @@ public class DownloadDialog extends DialogFragment // otherwise InstantiationException will be thrown when fragment is recreated // TODO: Maybe use a custom FragmentFactory instead? } - /** * Create a new download dialog with the video, audio and subtitle streams from the provided * stream info. Video streams and video-only streams will be put into a single list menu, @@ -245,6 +244,7 @@ public class DownloadDialog extends DialogFragment }, Context.BIND_AUTO_CREATE); } + /** * Update the displayed video streams based on the selected audio track. */ @@ -287,10 +287,22 @@ public class DownloadDialog extends DialogFragment + "inflater = [" + inflater + "], container = [" + container + "], " + "savedInstanceState = [" + savedInstanceState + "]"); } - return inflater.inflate(R.layout.download_dialog, container); + final View view = inflater.inflate(R.layout.download_dialog, container); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } - @Override + public String getPreferredFont(final Context cont) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(cont); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } + + +@Override public void onViewCreated(@NonNull final View view, @Nullable final Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); diff --git a/app/src/main/java/org/schabi/newpipe/error/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/error/ErrorActivity.java index 4a4234cdb..f179fabc1 100644 --- a/app/src/main/java/org/schabi/newpipe/error/ErrorActivity.java +++ b/app/src/main/java/org/schabi/newpipe/error/ErrorActivity.java @@ -132,7 +132,7 @@ public class ErrorActivity extends AppCompatActivity { for (final String e : errorInfo.getStackTraces()) { Log.e(TAG, e); } - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -161,7 +161,7 @@ public class ErrorActivity extends AppCompatActivity { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } diff --git a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java index 664644c1f..71a733270 100644 --- a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java +++ b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java @@ -114,7 +114,7 @@ public class ReCaptchaActivity extends AppCompatActivity { recaptchaBinding.reCaptchaWebView.loadUrl(url); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -140,7 +140,7 @@ public class ReCaptchaActivity extends AppCompatActivity { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } diff --git a/app/src/main/java/org/schabi/newpipe/fragments/BlankFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/BlankFragment.java index fe4eef37a..9de54ab49 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/BlankFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/BlankFragment.java @@ -1,11 +1,16 @@ package org.schabi.newpipe.fragments; +import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.Nullable; +import androidx.preference.PreferenceManager; + +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.R; @@ -16,8 +21,19 @@ public class BlankFragment extends BaseFragment { public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, final Bundle savedInstanceState) { setTitle("NewPipe"); - return inflater.inflate(R.layout.fragment_blank, container, false); + final View view = inflater.inflate(R.layout.fragment_blank, container, false); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } + @Override public void onResume() { diff --git a/app/src/main/java/org/schabi/newpipe/fragments/EmptyFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/EmptyFragment.java index bb704c199..725961145 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/EmptyFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/EmptyFragment.java @@ -10,6 +10,8 @@ import android.view.ViewGroup; import androidx.annotation.Nullable; import androidx.preference.PreferenceManager; +import com.marcinorlowski.fonty.Fonty; + import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.R; @@ -26,7 +28,7 @@ public class EmptyFragment extends BaseFragment { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } @Override public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @@ -35,6 +37,11 @@ public class EmptyFragment extends BaseFragment { final View view = inflater.inflate(R.layout.fragment_empty, container, false); view.findViewById(R.id.empty_state_view).setVisibility( showMessage ? View.VISIBLE : View.GONE); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } } diff --git a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java index a505f8f59..587b97186 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java @@ -32,6 +32,7 @@ import androidx.preference.PreferenceManager; import androidx.viewpager.widget.ViewPager; import com.google.android.material.tabs.TabLayout; +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.R; @@ -94,15 +95,23 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } @Override + public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_main, container, false); + final View view = inflater.inflate(R.layout.fragment_main, container, false); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } + + @Override protected void initViews(final View rootView, final Bundle savedInstanceState) { super.initViews(rootView, savedInstanceState); diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/BaseDescriptionFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/BaseDescriptionFragment.java index 4789b02e6..a36f7021a 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/BaseDescriptionFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/BaseDescriptionFragment.java @@ -4,6 +4,8 @@ import static android.text.TextUtils.isEmpty; import static org.schabi.newpipe.extractor.utils.Utils.isBlank; import static org.schabi.newpipe.util.text.TextLinkifier.SET_LINK_MOVEMENT_METHOD; +import android.content.Context; +import android.content.SharedPreferences; import android.graphics.Typeface; import android.os.Bundle; import android.text.SpannableStringBuilder; @@ -21,8 +23,10 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.appcompat.widget.TooltipCompat; import androidx.core.text.HtmlCompat; +import androidx.preference.PreferenceManager; import com.google.android.material.chip.Chip; +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.R; @@ -53,8 +57,17 @@ public abstract class BaseDescriptionFragment extends BaseFragment { setupDescription(); setupMetadata(inflater, binding.detailMetadataLayout); addTagsMetadataItem(inflater, binding.detailMetadataLayout); + final String preferredFont = getPreferredFont(binding.getRoot().getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) binding.getRoot()); + } return binding.getRoot(); } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } @Override public void onDestroy() { diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index 95b54f65a..7d2ab2881 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -61,6 +61,7 @@ import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.tabs.TabLayout; +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.App; import org.schabi.newpipe.R; @@ -333,8 +334,18 @@ public final class VideoDetailFragment public View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { binding = FragmentVideoDetailBinding.inflate(inflater, container, false); + final String preferredFont = getPreferredFont(binding.getRoot().getContext()); + if (preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) binding.getRoot()); + } return binding.getRoot(); } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } + @Override public void onPause() { diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java index fd382adbf..248ad635d 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java @@ -28,6 +28,7 @@ import androidx.preference.PreferenceManager; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; import com.jakewharton.rxbinding4.view.RxView; +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.R; import org.schabi.newpipe.database.subscription.NotificationMode; @@ -192,8 +193,18 @@ public class ChannelFragment extends BaseStateFragment @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) { binding = FragmentChannelBinding.inflate(inflater, container, false); + final String preferredFont = getPreferredFont(binding.getRoot().getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) binding.getRoot()); + } return binding.getRoot(); } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } + @Override // called from onViewCreated in BaseFragment.onViewCreated protected void initViews(final View rootView, final Bundle savedInstanceState) { diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelTabFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelTabFragment.java index 95ac42eed..62f8ad093 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelTabFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelTabFragment.java @@ -1,5 +1,7 @@ package org.schabi.newpipe.fragments.list.channel; +import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; @@ -8,6 +10,9 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.preference.PreferenceManager; + +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.R; import org.schabi.newpipe.databinding.PlaylistControlBinding; @@ -75,8 +80,19 @@ public class ChannelTabFragment extends BaseListInfoFragment() { PreferenceManager.getDefaultSharedPreferences(activity) .registerOnSharedPreferenceChangeListener(onSettingsChangeListener) } -// fun getPreferredFont(context: Context?): String? { -// val preferences = PreferenceManager -// .getDefaultSharedPreferences(context!!) -// return preferences.getString("preferred_font", "default_font_name") -// } + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.fragment_feed, container, false) + val curView = inflater.inflate(R.layout.fragment_feed, container, false) as ViewGroup + + // Apply the preferred font globally + val preferredFont = getPreferredFont(curView.context) + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts(curView) + } + return curView } override fun onViewCreated(rootView: View, savedInstanceState: Bundle?) { @@ -183,6 +187,11 @@ class FeedFragment : BaseStateFragment() { } } } + fun getPreferredFont(context: Context?): String? { + val preferences = PreferenceManager + .getDefaultSharedPreferences(context!!) + return preferences.getString("preferred_font", (getString(R.string.default_font_key))) + } private fun setupListViewMode() { // does everything needed to setup the layouts for grid or list modes diff --git a/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java index 1fea7e155..c04ebd5e9 100644 --- a/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java @@ -1,6 +1,7 @@ package org.schabi.newpipe.local.history; import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.os.Parcelable; import android.view.LayoutInflater; @@ -13,9 +14,11 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.preference.PreferenceManager; import androidx.viewbinding.ViewBinding; import com.google.android.material.snackbar.Snackbar; +import com.marcinorlowski.fonty.Fonty; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -95,8 +98,19 @@ public class StatisticsPlaylistFragment public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_playlist, container, false); + final View view = inflater.inflate(R.layout.fragment_playlist, container, false); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); + } + @Override public void onResume() { diff --git a/app/src/main/java/org/schabi/newpipe/local/holder/LocalBookmarkPlaylistItemHolder.java b/app/src/main/java/org/schabi/newpipe/local/holder/LocalBookmarkPlaylistItemHolder.java index 16130009b..6498dd987 100644 --- a/app/src/main/java/org/schabi/newpipe/local/holder/LocalBookmarkPlaylistItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/local/holder/LocalBookmarkPlaylistItemHolder.java @@ -1,9 +1,15 @@ package org.schabi.newpipe.local.holder; +import android.content.Context; +import android.content.SharedPreferences; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import androidx.preference.PreferenceManager; + +import com.marcinorlowski.fonty.Fonty; + import org.schabi.newpipe.R; import org.schabi.newpipe.database.LocalItem; import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry; @@ -24,7 +30,18 @@ public class LocalBookmarkPlaylistItemHolder extends LocalPlaylistItemHolder { final ViewGroup parent) { super(infoItemBuilder, layoutId, parent); itemHandleView = itemView.findViewById(R.id.itemHandle); + + final String preferredFont = getPreferredFont(itemHandleView.getContext()); + if (!preferredFont.equals("system")) { + Fonty.setFonts((ViewGroup) itemHandleView); + } } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", "system"); + } + @Override public void updateFromItem(final LocalItem localItem, diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index 854d16803..30b3accac 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -28,6 +28,8 @@ import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; +import com.marcinorlowski.fonty.Fonty; + import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; import org.schabi.newpipe.NewPipeDatabase; @@ -130,13 +132,18 @@ public class LocalPlaylistFragment extends BaseLocalListFragment() { } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.fragment_subscription, container, false) + val curView = inflater.inflate(R.layout.fragment_subscription, container, false) as ViewGroup + val preferredFont = getPreferredFont(curView.context) + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts(curView) + } + + return curView + } + fun getPreferredFont(context: Context?): String? { + val preferences = PreferenceManager + .getDefaultSharedPreferences(context!!) + return preferences.getString("preferred_font", (getString(R.string.default_font_key))) } override fun onPause() { diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionsImportFragment.java b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionsImportFragment.java index 56972b60d..c5e144885 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionsImportFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionsImportFragment.java @@ -7,7 +7,9 @@ import static org.schabi.newpipe.local.subscription.services.SubscriptionsImport import static org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_VALUE; import android.app.Activity; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.text.TextUtils; import android.text.util.Linkify; @@ -26,6 +28,9 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.appcompat.app.ActionBar; import androidx.core.text.util.LinkifyCompat; +import androidx.preference.PreferenceManager; + +import com.marcinorlowski.fonty.Fonty; import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.R; @@ -107,8 +112,19 @@ public class SubscriptionsImportFragment extends BaseFragment { public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable final ViewGroup container, final Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_import, container, false); + final View view = inflater.inflate(R.layout.fragment_import, container, false); + final String preferredFont = getPreferredFont(view.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) view); + } + return view; } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", getString(R.string.default_font_key)); + } + /*///////////////////////////////////////////////////////////////////////// // Fragment Views diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt index 41761fb01..51058f43c 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt @@ -1,6 +1,7 @@ package org.schabi.newpipe.local.subscription.dialog import android.app.Dialog +import android.content.Context import android.os.Bundle import android.os.Parcelable import android.view.LayoutInflater @@ -16,8 +17,10 @@ import androidx.core.widget.doOnTextChanged import androidx.fragment.app.DialogFragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider +import androidx.preference.PreferenceManager import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.marcinorlowski.fonty.Fonty import com.xwray.groupie.GroupieAdapter import com.xwray.groupie.OnItemClickListener import com.xwray.groupie.Section @@ -89,7 +92,17 @@ class FeedGroupDialog : DialogFragment(), BackPressable { container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.dialog_feed_group_create, container) + val curView = inflater.inflate(R.layout.dialog_feed_group_create, container) as ViewGroup + val preferredFont = getPreferredFont(curView.context) + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts(curView) + } + return curView + } + fun getPreferredFont(context: Context?): String? { + val preferences = PreferenceManager + .getDefaultSharedPreferences(context!!) + return preferences.getString("preferred_font", getString(R.string.default_font_key)) } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt index 1f3ab71eb..6e03478b1 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt @@ -1,5 +1,6 @@ package org.schabi.newpipe.local.subscription.dialog +import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -7,10 +8,12 @@ import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider +import androidx.preference.PreferenceManager import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper.SimpleCallback import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.marcinorlowski.fonty.Fonty import com.xwray.groupie.GroupieAdapter import com.xwray.groupie.TouchCallback import icepick.Icepick @@ -48,7 +51,18 @@ class FeedGroupReorderDialog : DialogFragment() { } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.dialog_feed_group_reorder, container) + val curView = (inflater.inflate(R.layout.dialog_feed_group_reorder, container)) as ViewGroup + val preferredFont = getPreferredFont(curView.context) + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts(curView) + } + + return curView + } + fun getPreferredFont(context: Context?): String? { + val preferences = PreferenceManager + .getDefaultSharedPreferences(context!!) + return preferences.getString("preferred_font", getString(R.string.default_font_key)) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java index 84a17db72..473d1eaff 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java @@ -104,7 +104,7 @@ public final class PlayQueueActivity extends AppCompatActivity serviceConnection = getServiceConnection(); bind(); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -137,7 +137,7 @@ public final class PlayQueueActivity extends AppCompatActivity public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); } diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index a1e0a93aa..9d7db7d03 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -40,7 +40,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { .getPreferredContentCountry(requireContext()); initialLanguage = defaultPreferences.getString(getString(R.string.app_language_key), "en"); initialSelectedFont = defaultPreferences - .getString(getString(R.string.app_font_key), "Default"); + .getString(getString(R.string.app_font_key), getString(R.string.default_font_key)); final Preference imageQualityPreference = requirePreference(R.string.image_quality_key); imageQualityPreference.setOnPreferenceChangeListener( (preference, newValue) -> { diff --git a/app/src/main/java/org/schabi/newpipe/settings/HistorySettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/HistorySettingsFragment.java index 0758db5e9..c9b633453 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/HistorySettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/HistorySettingsFragment.java @@ -60,7 +60,7 @@ public class HistorySettingsFragment extends BasePreferenceFragment { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); } @Override public boolean onPreferenceTreeClick(final Preference preference) { diff --git a/app/src/main/java/org/schabi/newpipe/settings/MainSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/MainSettingsFragment.java index 4e10c7337..8291670b6 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/MainSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/MainSettingsFragment.java @@ -64,7 +64,8 @@ public class MainSettingsFragment extends BasePreferenceFragment { public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + // if no prefered font, return system default + return preferences.getString("preferred_font", getString(R.string.default_font_key)); } @Override public void onDestroy() { diff --git a/app/src/main/java/org/schabi/newpipe/settings/SelectPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/settings/SelectPlaylistFragment.java index 36abef9e5..a92ad4b71 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SelectPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SelectPlaylistFragment.java @@ -2,6 +2,8 @@ package org.schabi.newpipe.settings; import static org.schabi.newpipe.local.bookmark.MergedPlaylistManager.getMergedOrderedPlaylists; +import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -12,9 +14,12 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; +import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.marcinorlowski.fonty.Fonty; + import org.schabi.newpipe.NewPipeDatabase; import org.schabi.newpipe.R; import org.schabi.newpipe.database.AppDatabase; @@ -146,8 +151,18 @@ public class SelectPlaylistFragment extends DialogFragment { final int viewType) { final View item = LayoutInflater.from(parent.getContext()) .inflate(R.layout.list_playlist_mini_item, parent, false); + final String preferredFont = getPreferredFont(item.getContext()); + if (!preferredFont.equals(getString(R.string.default_font_key))) { + Fonty.setFonts((ViewGroup) item); + } return new SelectPlaylistItemHolder(item); } + public String getPreferredFont(final Context context) { + final SharedPreferences preferences = PreferenceManager + .getDefaultSharedPreferences(context); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); + } + @Override public void onBindViewHolder(@NonNull final SelectPlaylistItemHolder holder, diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java index b72867c68..c8e3c166b 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java @@ -125,7 +125,7 @@ public class SettingsActivity extends AppCompatActivity implements FocusOverlayView.setupFocusObserver(this); } final String preferredFont = getPreferredFont(this); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -268,7 +268,7 @@ public class SettingsActivity extends AppCompatActivity implements public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); } diff --git a/app/src/main/java/org/schabi/newpipe/util/FilePickerActivityHelper.java b/app/src/main/java/org/schabi/newpipe/util/FilePickerActivityHelper.java index 82e6ea59f..a8597d102 100644 --- a/app/src/main/java/org/schabi/newpipe/util/FilePickerActivityHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/FilePickerActivityHelper.java @@ -47,7 +47,7 @@ public class FilePickerActivityHelper extends com.nononsenseapps.filepicker.File } super.onCreate(savedInstanceState); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } @@ -65,7 +65,7 @@ public class FilePickerActivityHelper extends com.nononsenseapps.filepicker.File public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); } diff --git a/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java b/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java index 66ac9ed34..bc8578377 100644 --- a/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java +++ b/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java @@ -25,14 +25,14 @@ public abstract class ToolbarActivity extends AppCompatActivity { setSupportActionBar(mToolbar); - if (preferredFont != "default_font_name") { + if (!preferredFont.equals(getString(R.string.default_font_key))) { Fonty.setFonts(this); } } public String getPreferredFont(final Context context) { final SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(context); - return preferences.getString("preferred_font", "default_font_name"); + return preferences.getString("preferred_font", (getString(R.string.default_font_key))); } diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index fb56d5e38..65936c6dd 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -504,6 +504,10 @@ system + + system + preferred_font + @string/default_localization_key