diff --git a/android/app/src/cpp/android_host_interface.cpp b/android/app/src/cpp/android_host_interface.cpp index 1fb763767..7f410c163 100644 --- a/android/app/src/cpp/android_host_interface.cpp +++ b/android/app/src/cpp/android_host_interface.cpp @@ -17,6 +17,7 @@ #include "frontend-common/imgui_styles.h" #include "frontend-common/opengl_host_display.h" #include "frontend-common/vulkan_host_display.h" +#include "scmversion/scmversion.h" #include #include #include @@ -629,6 +630,11 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) #define DEFINE_JNI_ARGS_METHOD(return_type, name, ...) \ extern "C" JNIEXPORT return_type JNICALL Java_com_github_stenzek_duckstation_##name(JNIEnv* env, __VA_ARGS__) +DEFINE_JNI_ARGS_METHOD(jstring, AndroidHostInterface_getScmVersion, jobject unused) +{ + return env->NewStringUTF(g_scm_tag_str); +} + DEFINE_JNI_ARGS_METHOD(jobject, AndroidHostInterface_create, jobject unused, jobject context_object, jstring user_directory) { diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/AndroidHostInterface.java b/android/app/src/main/java/com/github/stenzek/duckstation/AndroidHostInterface.java index 7033c3181..292be5237 100644 --- a/android/app/src/main/java/com/github/stenzek/duckstation/AndroidHostInterface.java +++ b/android/app/src/main/java/com/github/stenzek/duckstation/AndroidHostInterface.java @@ -14,6 +14,7 @@ public class AndroidHostInterface { private long mNativePointer; private Context mContext; + static public native String getScmVersion(); static public native AndroidHostInterface create(Context context, String userDirectory); public AndroidHostInterface(Context context) { diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/MainActivity.java b/android/app/src/main/java/com/github/stenzek/duckstation/MainActivity.java index ad78b4440..4ed992bc7 100644 --- a/android/app/src/main/java/com/github/stenzek/duckstation/MainActivity.java +++ b/android/app/src/main/java/com/github/stenzek/duckstation/MainActivity.java @@ -45,6 +45,15 @@ public class MainActivity extends AppCompatActivity { return prefs.getBoolean("Main/SaveStateOnExit", true); } + private static String getTitleString() { + String scmVersion = AndroidHostInterface.getScmVersion(); + final int gitHashPos = scmVersion.indexOf("-g"); + if (gitHashPos > 0) + scmVersion = scmVersion.substring(0, gitHashPos); + + return String.format("DuckStation %s", scmVersion); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -52,6 +61,7 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); + getSupportActionBar().setTitle(getTitleString()); findViewById(R.id.fab_add_game_directory).setOnClickListener(new View.OnClickListener() { @Override