Skip to content

Commit be1dbee

Browse files
committed
chore: Font Manager
1 parent 77028cc commit be1dbee

File tree

3 files changed

+70
-51
lines changed

3 files changed

+70
-51
lines changed

app/src/main/java/org/schabi/newpipe/App.java

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.schabi.newpipe.ktx.ExceptionUtils;
2121
import org.schabi.newpipe.settings.NewPipeSettings;
2222
import org.schabi.newpipe.util.BridgeStateSaverInitializer;
23+
import org.schabi.newpipe.util.FontManager;
2324
import org.schabi.newpipe.util.Localization;
2425
import org.schabi.newpipe.util.ServiceHelper;
2526
import org.schabi.newpipe.util.StateSaver;
@@ -102,6 +103,7 @@ public void onCreate() {
102103
Localization.getPreferredContentCountry(this));
103104
Localization.initPrettyTime(Localization.resolvePrettyTime(getApplicationContext()));
104105

106+
FontManager.init(this);
105107
BridgeStateSaverInitializer.init(this);
106108
StateSaver.init(this);
107109
initNotificationChannels();

app/src/main/java/org/schabi/newpipe/MainActivity.java

+2-51
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,9 @@ protected void onCreate(final Bundle savedInstanceState) {
176176
UpdateSettingsFragment.askForConsentToUpdateChecks(this);
177177
}
178178

179-
// Apply the preferred font globally
180-
final String preferredFont = getPreferredFont(this);
181-
setUpFont(preferredFont);
182-
183-
if (!preferredFont.equals(getString(R.string.default_font_key))) {
179+
// if (!preferredFont.equals(getString(R.string.default_font_key))) {
184180
Fonty.setFonts(this);
185-
}
181+
// }
186182
}
187183

188184
@Override
@@ -199,51 +195,6 @@ protected void onPostCreate(final Bundle savedInstanceState) {
199195
NewVersionWorker.enqueueNewVersionCheckingWork(app, false);
200196
}
201197
}
202-
public String getPreferredFont(final Context context) {
203-
final SharedPreferences preferences = PreferenceManager
204-
.getDefaultSharedPreferences(context);
205-
return preferences.getString("preferred_font", getString(R.string.default_font_key));
206-
}
207-
208-
// build the relevant font TypeFace
209-
public void setUpFont(final String preferredFont) {
210-
switch (preferredFont) {
211-
case "Arial":
212-
Fonty.context(this)
213-
.normalTypeface("arial.ttf")
214-
.build();
215-
break;
216-
case "Broadway":
217-
Fonty.context(this)
218-
.normalTypeface("BROADW.TTF")
219-
.build();
220-
break;
221-
case "Algerian":
222-
Fonty.context(this)
223-
.normalTypeface("Algerian.TTF")
224-
.build();
225-
break;
226-
case "Bell MT":
227-
Fonty.context(this)
228-
.normalTypeface("BELL.TTF")
229-
.build();
230-
break;
231-
case "Calibri":
232-
Fonty.context(this)
233-
.normalTypeface("calibrii.ttf")
234-
.build();
235-
break;
236-
case "Time New Roman":
237-
Fonty.context(this)
238-
.normalTypeface("times.ttf")
239-
.build();
240-
break;
241-
default:
242-
// do nothing
243-
break;
244-
}
245-
246-
}
247198

248199
private void setupDrawer() throws ExtractionException {
249200
addDrawerMenuForCurrentService();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package org.schabi.newpipe.util;
2+
3+
import android.content.Context;
4+
import android.content.SharedPreferences;
5+
import androidx.preference.PreferenceManager;
6+
import com.marcinorlowski.fonty.Fonty;
7+
import org.schabi.newpipe.R;
8+
9+
10+
public final class FontManager {
11+
private FontManager() { }
12+
13+
public static void init(final Context context) {
14+
// Apply the preferred font globally
15+
final String preferredFont = getPreferredFont(context);
16+
17+
setUpFont(preferredFont, context);
18+
}
19+
20+
public static String getPreferredFont(final Context context) {
21+
final SharedPreferences preferences = PreferenceManager
22+
.getDefaultSharedPreferences(context);
23+
return preferences.getString("preferred_font",
24+
(preferences.getString(R.string.default_font_key)));
25+
}
26+
27+
// build the relevant font TypeFace
28+
public static void setUpFont(final String preferredFont, final Context context) {
29+
switch (preferredFont) {
30+
case "Arial":
31+
Fonty.context(context)
32+
.normalTypeface("arial.ttf")
33+
.build();
34+
break;
35+
case "Broadway":
36+
Fonty.context(context)
37+
.normalTypeface("BROADW.TTF")
38+
.build();
39+
break;
40+
case "Algerian":
41+
Fonty.context(context)
42+
.normalTypeface("Algerian.TTF")
43+
.build();
44+
break;
45+
case "Bell MT":
46+
Fonty.context(context)
47+
.normalTypeface("BELL.TTF")
48+
.build();
49+
break;
50+
case "Calibri":
51+
Fonty.context(context)
52+
.normalTypeface("calibrii.ttf")
53+
.build();
54+
break;
55+
case "Time New Roman":
56+
Fonty.context(context)
57+
.normalTypeface("times.ttf")
58+
.build();
59+
break;
60+
default:
61+
// do nothing
62+
break;
63+
}
64+
65+
}
66+
}

0 commit comments

Comments
 (0)