diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0326cc1..77e165b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-36" - name: Compile Release APK using Gradle - run: gradle assembleRelease -PversionCode=${{ github.run_number }} + run: gradle assembleRelease -PversionCode=${{ github.run_number }} -PversionName=1.0.${{ github.run_number }} - name: Decode Permanent Keystore run: | diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b9b8ed6..64d40a0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,7 +11,7 @@ android { minSdk = 24 targetSdk = 36 versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 2 - versionName = "1.0" + versionName = (project.findProperty("versionName") as String?) ?: "1.0.0" } // Suggested by IzzyOnDroid dependenciesInfo { diff --git a/app/src/main/java/com/dhangofa/networktoggle/MainActivity.java b/app/src/main/java/com/dhangofa/networktoggle/MainActivity.java index 3fc5a79..2890e8e 100644 --- a/app/src/main/java/com/dhangofa/networktoggle/MainActivity.java +++ b/app/src/main/java/com/dhangofa/networktoggle/MainActivity.java @@ -11,9 +11,13 @@ package com.dhangofa.networktoggle; import android.app.Activity; +import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.net.Uri; import android.os.Bundle; +import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; @@ -33,6 +37,9 @@ public class MainActivity extends Activity { private RadioButton radioRoot; private RadioButton radioShizuku; private TextView statusText; + private TextView appVersionText; + private ImageView githubLink; + private ImageView telegramLink; private SharedPreferences prefs; private volatile boolean activityDestroyed = false; @@ -86,6 +93,15 @@ protected void onCreate(Bundle savedInstanceState) { radioRoot = findViewById(R.id.radioRoot); radioShizuku = findViewById(R.id.radioShizuku); statusText = findViewById(R.id.shizukuStatusText); + + appVersionText = findViewById(R.id.appVersionText); + githubLink = findViewById(R.id.githubLink); + telegramLink = findViewById(R.id.telegramLink); + + appVersionText.setText("v" + getAppVersionName()); + + githubLink.setOnClickListener(v -> openUrl("https://github.com/Dhangofa/NetToggle")); + telegramLink.setOnClickListener(v -> openUrl("https://t.me/dhangofa")); // Register the lifecycle listeners Shizuku.addBinderReceivedListener(binderReceivedListener); @@ -221,4 +237,21 @@ private void checkShizukuPermission(boolean requestIfNeeded) { statusText.setTextColor(0xFFFF5555); } } + + private String getAppVersionName() { + try { + PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); + return packageInfo.versionName; + } catch (Exception e) { + return "unknown"; + } + } + + private void openUrl(String url) { + try { + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + startActivity(intent); + } catch (Exception ignored) { + } + } } diff --git a/app/src/main/res/drawable/ic_github.xml b/app/src/main/res/drawable/ic_github.xml new file mode 100644 index 0000000..c1d6865 --- /dev/null +++ b/app/src/main/res/drawable/ic_github.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_person.xml b/app/src/main/res/drawable/ic_person.xml new file mode 100644 index 0000000..21f5fc1 --- /dev/null +++ b/app/src/main/res/drawable/ic_person.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_telegram.xml b/app/src/main/res/drawable/ic_telegram.xml new file mode 100644 index 0000000..8bdd4be --- /dev/null +++ b/app/src/main/res/drawable/ic_telegram.xml @@ -0,0 +1,33 @@ + + + + + diff --git a/app/src/main/res/drawable/social_icon_bg.xml b/app/src/main/res/drawable/social_icon_bg.xml new file mode 100644 index 0000000..ca35c8c --- /dev/null +++ b/app/src/main/res/drawable/social_icon_bg.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b75c306..45ba55f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,65 +1,168 @@ - + android:background="?android:attr/colorBackground" + android:fillViewport="true"> - - - - - + android:orientation="vertical" + android:padding="32dp" + android:gravity="center_horizontal"> + + + + - - - + + + android:text="Execution Mode" + android:textSize="16sp" + android:textStyle="bold" + android:layout_marginBottom="8dp" /> - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + - +