diff --git a/app/src/main/java/com/kdt/mcgui/MineButton.java b/app/src/main/java/com/kdt/mcgui/MineButton.java index cba7f6df7..9070f3254 100644 --- a/app/src/main/java/com/kdt/mcgui/MineButton.java +++ b/app/src/main/java/com/kdt/mcgui/MineButton.java @@ -11,8 +11,6 @@ import net.kdt.pojavlaunch.*; public class MineButton extends Button { - private static FontChanger fontChangerMinecraftTen; - private ColorDrawable left = new ColorDrawable(Color.parseColor("#80000000")); private ColorDrawable top = new ColorDrawable(Color.parseColor("#64FC20")); private ColorDrawable right = new ColorDrawable(Color.parseColor("#40000000")); @@ -54,10 +52,7 @@ public class MineButton extends Button init(); } - public void init() - { - if (fontChangerMinecraftTen == null) fontChangerMinecraftTen = new FontChanger(getContext().getAssets(), "font/minecraft-ten.ttf"); - fontChangerMinecraftTen.replaceFont(this); + public void init() { getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { diff --git a/app/src/main/java/com/kdt/mcgui/app/MineActivity.java b/app/src/main/java/com/kdt/mcgui/app/MineActivity.java index 2e7beccf2..7778b64dc 100644 --- a/app/src/main/java/com/kdt/mcgui/app/MineActivity.java +++ b/app/src/main/java/com/kdt/mcgui/app/MineActivity.java @@ -8,37 +8,18 @@ import android.widget.*; import net.kdt.pojavlaunch.*; import java.util.*; import android.content.*; +import com.kdt.mcgui.*; public class MineActivity extends AppCompatActivity implements View.OnClickListener { private int topId = 150001; private boolean showBeforeView = true; - private static FontChanger fontChanger; - private ImageButton menu; private LinearLayout content, undertop; private LayoutInflater li; - public static ViewGroup replaceFonts(Context ctx, ViewGroup viewTree) { - if (fontChanger == null) fontChanger = new FontChanger(ctx.getAssets(), "font/NotoSans-Bold.ttf"); - return fontChanger.replaceFonts(viewTree); - } - - public static View replaceFont(Context ctx, TextView view) { - if (fontChanger == null) fontChanger = new FontChanger(ctx.getAssets(), "font/NotoSans-Bold.ttf"); - return fontChanger.replaceFont(view); - } - - public ViewGroup replaceFonts(ViewGroup viewTree) { - return replaceFonts(this, viewTree); - } - - public View replaceFont(TextView view) { - return replaceFont(this, view); - } - @Override protected void onCreate(Bundle savedInstanceState) { this.onCreate(savedInstanceState, true); @@ -65,7 +46,7 @@ public class MineActivity extends AppCompatActivity implements View.OnClickListe li.inflate(R.layout.top_bar, top, true); li.inflate(R.layout.bottom_bar, btm, true); - replaceFonts(btm); + FontChanger.changeFonts(btm); // replaceFont((TextView) top.findViewById(R.id.topbar_navmenu_changelang)); Spinner changeLangSpinner = ((Spinner) top.findViewById(R.id.topbar_navmenu_changelang)); @@ -107,7 +88,7 @@ public class MineActivity extends AppCompatActivity implements View.OnClickListe } li.inflate(resource, content, true); - replaceFonts(content); + FontChanger.changeFonts(content); } @Override @@ -119,7 +100,7 @@ public class MineActivity extends AppCompatActivity implements View.OnClickListe content.addView(view); if (view instanceof ViewGroup) { - replaceFonts((ViewGroup) view); + FontChanger.changeFonts((ViewGroup) view); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/FontChanger.java b/app/src/main/java/net/kdt/pojavlaunch/FontChanger.java index 3d327c481..8b3f6815f 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/FontChanger.java +++ b/app/src/main/java/net/kdt/pojavlaunch/FontChanger.java @@ -4,35 +4,31 @@ import android.content.res.*; import android.graphics.*; import android.view.*; import android.widget.*; +import android.content.*; +import com.kdt.mcgui.*; public class FontChanger { - private Typeface typeface; - - public FontChanger(Typeface typeface) { - this.typeface = typeface; - } - - public FontChanger(AssetManager assets, String assetsFontFileName) { - typeface = Typeface.createFromAsset(assets, assetsFontFileName); - } - - public ViewGroup replaceFonts(ViewGroup viewTree) - { - View child; + private static Typeface fNotoSans, fMinecraftTen; + + public static void initFonts(Context ctx) { + fNotoSans = Typeface.createFromAsset(ctx.getAssets(), "font/NotoSans-Bold.ttf"); + fMinecraftTen = Typeface.createFromAsset(ctx.getAssets(), "font/minecraft-ten.ttf"); + } + + public static void changeFonts(ViewGroup viewTree) { + View child; for(int i = 0; i < viewTree.getChildCount(); ++i) { child = viewTree.getChildAt(i); if (child instanceof ViewGroup) { - replaceFonts((ViewGroup) child); + changeFonts((ViewGroup) child); } else if (child instanceof TextView) { - replaceFont((TextView) child); + changeFont((TextView) child); } } - return viewTree; - } + } - public View replaceFont(TextView view) { - view.setTypeface(typeface); - return view; + public static void changeFont(TextView view) { + view.setTypeface(view instanceof MineButton ? fMinecraftTen : fNotoSans); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java b/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java index 4c917590d..54484ae82 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java @@ -37,6 +37,8 @@ public class PojavApplication extends Application specialButtons[2].name = getString(R.string.control_primary); specialButtons[3].name = getString(R.string.control_secondary); specialButtons[4].name = getString(R.string.control_mouse); + + FontChanger.initFonts(this); } catch (Throwable th) { Intent ferrorIntent = new Intent(this, FatalErrorActivity.class); ferrorIntent.putExtra("throwable", th); diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 18f12b7b2..03c9ca1c2 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -133,7 +133,7 @@ public class PojavLoginActivity extends AppCompatActivity LinearLayout startScr = new LinearLayout(PojavLoginActivity.this); LayoutInflater.from(PojavLoginActivity.this).inflate(R.layout.start_screen, startScr); - MineActivity.replaceFonts(PojavLoginActivity.this, startScr); + FontChanger.changeFonts(startScr); progress = (ProgressBar) startScr.findViewById(R.id.startscreenProgress); //startScr.addView(progress); diff --git a/app/src/main/res/layout/launcher_login_v2.xml b/app/src/main/res/layout/launcher_login_v2.xml index cd5ee75a2..f92bd3b09 100644 --- a/app/src/main/res/layout/launcher_login_v2.xml +++ b/app/src/main/res/layout/launcher_login_v2.xml @@ -49,20 +49,20 @@ android:inputType="textPassword" android:layout_marginBottom="5dp"/> - - - + Password Forgot password? Remember me? + Keep me logged in Login (Create new account?) Offline account? + Login as offline account Skip Username must be at least 3 characters