Forráskód Böngészése

fix datetime format (android)

Laserlicht 2 éve
szülő
commit
455ead7b4a

+ 9 - 0
android/vcmi-app/src/main/java/eu/vcmi/vcmi/NativeMethods.java

@@ -153,6 +153,15 @@ public class NativeMethods
         }
     }
 
+    @SuppressWarnings(Const.JNI_METHOD_SUPPRESS)
+    public static String getFormattedDateTime()
+    {
+        String currentDate = new SimpleDateFormat((new SimpleDateFormat()).toLocalizedPattern(), Locale.getDefault()).format(new Date());
+        String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());
+
+        return currentDate + " " + currentTime;
+    }
+
     private static void internalProgressDisplay(final boolean show)
     {
         final Context ctx = SDL.getContext();

+ 9 - 0
lib/vstd/DateUtils.cpp

@@ -1,6 +1,10 @@
 #include "StdInc.h"
 #include <vstd/DateUtils.h>
 
+#if defined(VCMI_ANDROID)
+#include "../CAndroidVMHelper.h"
+#endif
+
 VCMI_LIB_NAMESPACE_BEGIN
 
 namespace vstd
@@ -8,6 +12,11 @@ namespace vstd
 
 	DLL_LINKAGE std::string getFormattedDateTime(std::time_t dt)
 	{
+#if defined(VCMI_ANDROID)
+        CAndroidVMHelper vmHelper;
+        return vmHelper.callStaticStringMethod(CAndroidVMHelper::NATIVE_METHODS_DEFAULT_CLASS, "getFormattedDateTime");
+#endif
+
 		std::tm tm = *std::localtime(&dt);
 		std::stringstream s;
 		try