Skip to content

Commit

Permalink
chore: Font Manager
Browse files Browse the repository at this point in the history
  • Loading branch information
asandikci committed Dec 6, 2024
1 parent 77028cc commit d7b45c3
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 51 deletions.
2 changes: 2 additions & 0 deletions app/src/main/java/org/schabi/newpipe/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import org.schabi.newpipe.ktx.ExceptionUtils;
import org.schabi.newpipe.settings.NewPipeSettings;
import org.schabi.newpipe.util.BridgeStateSaverInitializer;
import org.schabi.newpipe.util.FontManager;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
Expand Down Expand Up @@ -102,6 +103,7 @@ public void onCreate() {
Localization.getPreferredContentCountry(this));
Localization.initPrettyTime(Localization.resolvePrettyTime(getApplicationContext()));

FontManager.init(this);
BridgeStateSaverInitializer.init(this);
StateSaver.init(this);
initNotificationChannels();
Expand Down
53 changes: 2 additions & 51 deletions app/src/main/java/org/schabi/newpipe/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -176,13 +176,9 @@ protected void onCreate(final Bundle savedInstanceState) {
UpdateSettingsFragment.askForConsentToUpdateChecks(this);
}

// Apply the preferred font globally
final String preferredFont = getPreferredFont(this);
setUpFont(preferredFont);

if (!preferredFont.equals(getString(R.string.default_font_key))) {
// if (!preferredFont.equals(getString(R.string.default_font_key))) {
Fonty.setFonts(this);
}
// }
}

@Override
Expand All @@ -199,51 +195,6 @@ protected void onPostCreate(final Bundle savedInstanceState) {
NewVersionWorker.enqueueNewVersionCheckingWork(app, false);
}
}
public String getPreferredFont(final Context context) {
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(context);
return preferences.getString("preferred_font", getString(R.string.default_font_key));
}

// build the relevant font TypeFace
public void setUpFont(final String preferredFont) {
switch (preferredFont) {
case "Arial":
Fonty.context(this)
.normalTypeface("arial.ttf")
.build();
break;
case "Broadway":
Fonty.context(this)
.normalTypeface("BROADW.TTF")
.build();
break;
case "Algerian":
Fonty.context(this)
.normalTypeface("Algerian.TTF")
.build();
break;
case "Bell MT":
Fonty.context(this)
.normalTypeface("BELL.TTF")
.build();
break;
case "Calibri":
Fonty.context(this)
.normalTypeface("calibrii.ttf")
.build();
break;
case "Time New Roman":
Fonty.context(this)
.normalTypeface("times.ttf")
.build();
break;
default:
// do nothing
break;
}

}

private void setupDrawer() throws ExtractionException {
addDrawerMenuForCurrentService();
Expand Down
65 changes: 65 additions & 0 deletions app/src/main/java/org/schabi/newpipe/util/FontManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package org.schabi.newpipe.util;

// import android.content.Context;
import com.marcinorlowski.fonty.Fonty.Companion.context;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import com.marcinorlowski.fonty.Fonty;


public final class FontManager {
private FontManager() { }

public static void init(final Context context) {
// Apply the preferred font globally
final String preferredFont = getPreferredFont(context);

setUpFont(preferredFont, context);
}

public String getPreferredFont(final Context context) {
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(context);
return preferences.getString("preferred_font", getString(R.string.default_font_key));
}

// build the relevant font TypeFace
public static void setUpFont(final String preferredFont, final Context context) {
switch (preferredFont) {
case "Arial":
Fonty.context(context)
.normalTypeface("arial.ttf")
.build();
break;
case "Broadway":
Fonty.context(context)
.normalTypeface("BROADW.TTF")
.build();
break;
case "Algerian":
Fonty.context(context)
.normalTypeface("Algerian.TTF")
.build();
break;
case "Bell MT":
Fonty.context(context)
.normalTypeface("BELL.TTF")
.build();
break;
case "Calibri":
Fonty.context(context)
.normalTypeface("calibrii.ttf")
.build();
break;
case "Time New Roman":
Fonty.context(context)
.normalTypeface("times.ttf")
.build();
break;
default:
// do nothing
break;
}

}
}

0 comments on commit d7b45c3

Please sign in to comment.