Skip to content

Commit fc95329

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

File tree

3 files changed

+65
-49
lines changed

3 files changed

+65
-49
lines changed

Diff for: 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();

Diff for: app/src/main/java/org/schabi/newpipe/MainActivity.java

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

0 commit comments

Comments
 (0)