diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3c5c6b264..3c15b7fb0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,13 +58,13 @@ jobs: if: github.repository_owner == 'Vera-Firefly' && github.ref_name == 'main_v3' uses: actions/upload-artifact@v4 with: - name: Pojav Glow·Worm-release-${{matrix.arch}} + name: PGW-release-${{matrix.arch}} path: app_pojavlauncher/build/outputs/apk/release/* - name: Upload Debug uses: actions/upload-artifact@v4 with: - name: Pojav Glow·Worm-debug-${{matrix.arch}} + name: PGW-debug-${{matrix.arch}} path: app_pojavlauncher/build/outputs/apk/debug/* buildnoruntime: @@ -104,5 +104,5 @@ jobs: - name: Upload Debug uses: actions/upload-artifact@v4 with: - name: Pojav Glow·Worm-debug-${{matrix.arch}}-noruntime + name: PGW-debug-${{matrix.arch}}-noruntime path: app_pojavlauncher/build/outputs/apk/debug/* diff --git a/app_pojavlauncher/src/main/java/com/firefly/ui/button/LauncherMenuButton.java b/app_pojavlauncher/src/main/java/com/firefly/ui/button/LauncherMenuButton.java new file mode 100644 index 000000000..52020d902 --- /dev/null +++ b/app_pojavlauncher/src/main/java/com/firefly/ui/button/LauncherMenuButton.java @@ -0,0 +1,44 @@ +package com.firefly.ui.button; + +import android.content.Context; +import android.content.res.Resources; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.Gravity; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import net.kdt.pojavlaunch.R; + +import fr.spse.extended_view.ExtendedButton; + +public class LauncherMenuButton extends ExtendedButton { + + public LauncherMenuButton(@NonNull Context context) { + super(context); + setSettings(); + } + + public LauncherMenuButton(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + setSettings(); + } + + private void setSettings() { + Resources resources = getContext().getResources(); + + int padding = resources.getDimensionPixelSize(R.dimen._22sdp); + setCompoundDrawablePadding(padding); + setPaddingRelative(padding, 0, 0, 0); + setGravity(Gravity.CENTER_VERTICAL); + + setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen._12ssp)); + setAllCaps(false); + + int[] sizes = getExtendedViewData().getSizeCompounds(); + sizes[0] = resources.getDimensionPixelSize(R.dimen._30sdp); + getExtendedViewData().setSizeCompounds(sizes); + postProcessDrawables(); + } +} \ No newline at end of file diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index 373b4dddc..89789d25a 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -407,7 +407,7 @@ public static String[] getMinecraftClientArgs(MinecraftAccount profile, JMinecra varArgMap.put("user_properties", "{}"); varArgMap.put("user_type", userType); varArgMap.put("version_name", versionName); - varArgMap.put("version_type", "Pojav Glow·Worm"); + varArgMap.put("version_type", "PGW"); List minecraftArgs = new ArrayList<>(); if (versionInfo.arguments != null) { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/AboutFragment.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/AboutFragment.java new file mode 100644 index 000000000..3e06a7dd8 --- /dev/null +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/AboutFragment.java @@ -0,0 +1,31 @@ +package net.kdt.pojavlaunch.fragments; + +import android.os.Bundle; +import android.view.View; +import android.widget.EditText; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + +import net.kdt.pojavlaunch.R; +import net.kdt.pojavlaunch.Tools; +import net.kdt.pojavlaunch.extra.ExtraConstants; +import net.kdt.pojavlaunch.extra.ExtraCore; + +import java.io.File; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AboutFragment extends Fragment { + public static final String TAG = "ABOUT_FRAGMENT"; + public AboutFragment() { + super(R.layout.fragment_about); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + + } + +} diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/MainMenuFragment.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/MainMenuFragment.java index 44f8db3e2..c6c4150f0 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/MainMenuFragment.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/MainMenuFragment.java @@ -48,7 +48,7 @@ public MainMenuFragment() { @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - Button mNewsButton = view.findViewById(R.id.news_button); + Button mAboutLauncherButton = view.findViewById(R.id.about_launcher_button); Button mCustomControlButton = view.findViewById(R.id.custom_control_button); Button mInstallJarButton = view.findViewById(R.id.install_jar_button); Button mStartTerminalButton = view.findViewById(R.id.start_terminal_button); @@ -59,8 +59,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat Button mPlayButton = view.findViewById(R.id.play_button); mVersionSpinner = view.findViewById(R.id.mc_version_spinner); - mNewsButton.setOnClickListener(v -> Tools.openURL(requireActivity(), Tools.URL_HOME)); - mNewsButton.setOnLongClickListener((v) -> { + mAboutLauncherButton.setOnClickListener(v -> Tools.swapFragment(requireActivity(), AboutFragment.class, AboutFragment.TAG, null)); + mAboutLauncherButton.setOnLongClickListener((v) -> { Tools.swapFragment(requireActivity(), SearchModFragment.class, SearchModFragment.TAG, null); return true; }); diff --git a/app_pojavlauncher/src/main/res/drawable/ic_discord.xml b/app_pojavlauncher/src/main/res/drawable/ic_discord.xml deleted file mode 100644 index ee248111d..000000000 --- a/app_pojavlauncher/src/main/res/drawable/ic_discord.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app_pojavlauncher/src/main/res/layout-land/fragment_launcher.xml b/app_pojavlauncher/src/main/res/layout-land/fragment_launcher.xml index 4057e469d..095f5df77 100644 --- a/app_pojavlauncher/src/main/res/layout-land/fragment_launcher.xml +++ b/app_pojavlauncher/src/main/res/layout-land/fragment_launcher.xml @@ -31,42 +31,17 @@ app:layout_constraintGuide_percent="0.5"/> - - - - + app:layout_constraintEnd_toEndOf="parent" /> + app:layout_constraintTop_toBottomOf="@id/about_launcher_button" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app_pojavlauncher/src/main/res/layout/fragment_launcher.xml b/app_pojavlauncher/src/main/res/layout/fragment_launcher.xml index 48de1da72..06744f7c1 100644 --- a/app_pojavlauncher/src/main/res/layout/fragment_launcher.xml +++ b/app_pojavlauncher/src/main/res/layout/fragment_launcher.xml @@ -27,38 +27,16 @@ app:layout_constraintGuide_percent="0.5"/> - - - - + app:layout_constraintEnd_toEndOf="parent" + /> + + + 关于启动器 + 关于 Pojav Glow·Worm + + 项目 Pojav Glow·Worm 由 Vera-Firefly 魔改而来,是一款基于 PojavLauncher 魔改的 Minecraft 启动器\n + 它能够在 Android 设备上运行 Minecraft: Java Edition\n + Pojav Glow·Worm 针对于渲染器选择方案做出了巨大改变,新增了更多实验性的功能\n + 可在渲染器实验性设置中找到更多的渲染器配置选项\n + \n + Pojav Glow·Worm 使用的是 GPLv3 开源协议,\n + 这一协议具有"传染性",任何使用,修改或衍生自 GPL 类库或软件而来的项目必须采用 GPL 协议进行开源.\n + 因此,如果你打算传播或分发本软件,请务必遵守 GPLv3 开源协议的相关规定 + + 第三方组件及其许可证 + + Boardwalk (JVM 启动器): 未知许可/Apache 许可证 2.0 或 GNU GPLv2\n + Android Support Libraries: Apache 许可证 2.0\n + GL4ES: MIT 许可证\n + OpenJDK: GNU GPLv2 许可证\n + LWJGL3: BSD-3 许可证\n + LWJGLX (LWJGL2 API 兼容层用于 LWJGL3): 未知许可\n + Mesa 3D 图形库: MIT 许可证\n + pro-grade (Java 沙盒安全管理器): Apache 许可证 2.0\n + bhook (用于退出代码捕获): MIT 许可证\n + libepoxy: MIT 许可证\n + virglrenderer: MIT 许可证\n + terminal-view: Apache 2.0\n + terminal-emulator: Apache 2.0\n + 感谢 MCHeads 提供的 Minecraft 头像 + + 项目贡献者(不分贡献率与顺序) + \ No newline at end of file diff --git a/app_pojavlauncher/src/main/res/values-zh-rTW/about_strings.xml b/app_pojavlauncher/src/main/res/values-zh-rTW/about_strings.xml new file mode 100644 index 000000000..40e4c3505 --- /dev/null +++ b/app_pojavlauncher/src/main/res/values-zh-rTW/about_strings.xml @@ -0,0 +1,34 @@ + + + + 關於啟動器 + 關於 Pojav Glow·Worm + + 專案 Pojav Glow·Worm 由 Vera-Firefly 修改而來,是一款基於 PojavLauncher 修改的 Minecraft 啟動器\n + 它能夠在 Android 裝置上運行 Minecraft: Java Edition\n + Pojav Glow·Worm 對於渲染器選擇方案做出了巨大改變,新增了更多實驗性的功能\n + 可在渲染器實驗性設置中找到更多的渲染器配置選項\n + \n + Pojav Glow·Worm 使用的是 GPLv3 開源協議,\n + 這一協議具有「傳染性」,任何使用、修改或衍生自 GPL 類庫或軟體而來的專案必須採用 GPL 協議進行開源。\n + 因此,如果你打算傳播或分發本軟體,請務必遵守 GPLv3 開源協議的相關規定。 + + 第三方元件及其授權 + + Boardwalk (JVM 啟動器):未知許可/Apache 許可證 2.0 或 GNU GPLv2\n + Android Support Libraries:Apache 許可證 2.0\n + GL4ES:MIT 許可證\n + OpenJDK:GNU GPLv2 許可證\n + LWJGL3:BSD-3 許可證\n + LWJGLX (LWJGL2 API 相容層用於 LWJGL3):未知許可\n + Mesa 3D 圖形庫:MIT 許可證\n + pro-grade (Java 沙盒安全管理器):Apache 許可證 2.0\n + bhook (用於退出代碼捕獲):MIT 許可證\n + libepoxy:MIT 許可證\n + virglrenderer:MIT 許可證\n + terminal-view:Apache 2.0\n + terminal-emulator:Apache 2.0\n + 感謝 MCHeads 提供的 Minecraft 頭像 + + 專案貢獻者 (無論貢獻率與貢獻順序) + \ No newline at end of file diff --git a/app_pojavlauncher/src/main/res/values/about_strings.xml b/app_pojavlauncher/src/main/res/values/about_strings.xml new file mode 100644 index 000000000..6b849f5da --- /dev/null +++ b/app_pojavlauncher/src/main/res/values/about_strings.xml @@ -0,0 +1,34 @@ + + + + About Launcher + About Pojav Glow·Worm + + The project "Pojav Glow·Worm" is a modified version by Vera-Firefly, based on the PojavLauncher\n + Which is a Minecraft launcher for Android devices to run Minecraft: Java Edition.\n + Pojav Glow·Worm has made significant changes to the renderer selection options and added more experimental features.\n + You can find more renderer configuration options in the experimental renderer settings.\n + \n + Pojav Glow·Worm is licensed under the GPLv3 open source license.\n + This license is "viral," meaning any project that uses, modifies, or derives from a GPL library or software must also be open sourced under the GPL license.\n + Therefore, if you intend to distribute or share this software, please make sure to comply with the GPLv3 open source license requirements. + + Third party components and their licenses + + Boardwalk (JVM Launcher): Unknown License/Apache License 2.0 or GNU GPLv2.\n + Android Support Libraries: Apache License 2.0.\n + GL4ES: MIT License.\n + OpenJDK: GNU GPLv2 License.\n + LWJGL3: BSD-3 License.\n + LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license.\n + Mesa 3D Graphics Library: MIT License.\n + pro-grade (Java sandboxing security manager): Apache License 2.0.\n + bhook (Used for exit code trapping): MIT license.\n + libepoxy: MIT License.\n + virglrenderer: MIT License.\n + terminal-view: Apache 2.0.\n + terminal-emulator: Apache 2.0.\n + Thanks to MCHeads for providing Minecraft avatars. + + Project Contributor(Irrespective of contribution rate and contribution order) + \ No newline at end of file diff --git a/app_pojavlauncher/src/main/res/values/strings.xml b/app_pojavlauncher/src/main/res/values/strings.xml index 4da6706d6..ad5cf7240 100644 --- a/app_pojavlauncher/src/main/res/values/strings.xml +++ b/app_pojavlauncher/src/main/res/values/strings.xml @@ -33,10 +33,6 @@ - - - Github -