From f7960b16950dee442f41f341e0d3959501fde28d Mon Sep 17 00:00:00 2001
From: gdlbo <41114720+gdlbo@users.noreply.github.com>
Date: Fri, 10 Jun 2022 18:58:19 +0300
Subject: [PATCH] Added an expanded view of the date format type selection Full
date in private messages Minor improvements Fixed a bug with anti-deletion of
messages
---
.../java/ru/vtosters/lite/utils/Globals.java | 5 +++
.../ru/vtosters/lite/utils/Preferences.java | 41 +++++++++++++++++--
smali/res/values-ru/arrays.xml | 6 +++
smali/res/values-ru/strings.xml | 4 ++
smali/res/values/arrays.xml | 12 ++++++
smali/res/values/strings.xml | 4 ++
smali/res/xml/preferences_activity.xml | 2 +-
smali/res/xml/preferences_interface.xml | 12 +++---
.../delegates/DocAttachViewTypeDelegate.smali | 6 +--
.../lastseen/LastSeenFormatter.smali | 10 +++++
.../com/vtosters/lite/VKApplication.smali | 12 +-----
11 files changed, 90 insertions(+), 24 deletions(-)
diff --git a/app/src/main/java/ru/vtosters/lite/utils/Globals.java b/app/src/main/java/ru/vtosters/lite/utils/Globals.java
index 8ecb50c32..7fcd8ea39 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/Globals.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/Globals.java
@@ -22,6 +22,7 @@ import android.util.Log;
import android.widget.Toast;
import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
import com.vtosters.lite.UserProfile;
import com.vtosters.lite.VKActivity;
@@ -143,6 +144,10 @@ public class Globals {
return getContext().getString(getIdentifier(resourcename, "string"));
} // Get string via getIdentifier
+ public static String getStringDate(@StringRes int i, Object... objArr) {
+ return getContext().getString(i, objArr);
+ }
+
public static String getPackageName() {
return getContext().getPackageName();
}
diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
index 4647fcbbf..bfbcbe50b 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
@@ -5,7 +5,10 @@ import static ru.vtosters.lite.ui.fragments.multiaccount.MultiAccountManager.mig
import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList;
import static ru.vtosters.lite.utils.Globals.fixGapps;
import static ru.vtosters.lite.utils.Globals.getContext;
+import static ru.vtosters.lite.utils.Globals.getIdentifier;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
+import static ru.vtosters.lite.utils.Globals.getString;
+import static ru.vtosters.lite.utils.Globals.getStringDate;
import static ru.vtosters.lite.utils.Globals.getUserId;
import static ru.vtosters.lite.utils.Globals.registerActivities;
import static ru.vtosters.lite.utils.Newsfeed.setupFilters;
@@ -20,8 +23,11 @@ import android.os.Build;
import android.preference.PreferenceManager;
import com.vk.core.util.Screen;
+import com.vk.im.engine.models.users.UserSex;
import com.vtosters.lite.data.Users;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.Locale;
public class Preferences {
@@ -181,10 +187,6 @@ public class Preferences {
setupFilters();
}
- public static boolean fulltime() {
- return getBoolValue("fulltime", true);
- }
-
public static boolean gcmfix() {
return getBoolValue("gcmfix", true);
}
@@ -367,4 +369,35 @@ public class Preferences {
return string.isEmpty() ? Locale.getDefault().getLanguage() : string;
}
+
+
+ public static boolean fulltime() {
+ return getPrefsValue(" ").equals("noyear") || getPrefsValue("dateformat").equals("full") || getPrefsValue("dateformat").equals("noseconds");
+ }
+
+ public static String getDateFormat() {
+ if (getPrefsValue("dateformat").equals("noyear")) {
+ return getString("fulltime2");
+ }
+
+ if (getPrefsValue("dateformat").equals("full")) {
+ return getString("fulltime");
+ }
+
+ return getString("fulltime3");
+ }
+
+ public static String getFormattedDate(UserSex type, long time){
+ SimpleDateFormat date = new SimpleDateFormat(getDateFormat(), Locale.getDefault());
+
+ if(!fulltime()) return null;
+
+ try {
+ return getStringDate(type == UserSex.FEMALE ? getIdentifier("last_seen_profile_f", "string") : getIdentifier("last_seen_profile_m", "string"), new Object[]{date.format(new Date(time))});
+
+ } catch (Throwable th) {
+ th.printStackTrace();
+ return null;
+ }
+ }
}
diff --git a/smali/res/values-ru/arrays.xml b/smali/res/values-ru/arrays.xml
index 859fab804..f7e29eac1 100644
--- a/smali/res/values-ru/arrays.xml
+++ b/smali/res/values-ru/arrays.xml
@@ -505,4 +505,10 @@
- π
- β
+
+ - ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
+ - 15 Π°ΠΏΡΠ΅Π»Ρ Π² 18:42
+ - 15 Π°ΠΏΡΠ΅Π»Ρ Π² 18:42:28
+ - 15 Π°ΠΏΡΠ΅Π»Ρ 2022 Π² 18:42:28
+
diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml
index 26a1e2457..042c38f5b 100644
--- a/smali/res/values-ru/strings.xml
+++ b/smali/res/values-ru/strings.xml
@@ -4064,6 +4064,8 @@
ΠΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
ΠΠΎΠΌΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ
dd MMMM yyyy Π² HH:mm:ss
+ dd MMMM Π² HH:mm:ss
+ dd MMMM Π² HH:mm
"Π€ΠΈΠ»ΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΡ
ΡΡΡΠ»ΠΎΠΊ "
"Π€ΠΈΠ»ΡΡΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΡΠΎΠ² Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ bit.ly ΠΈΠ»ΠΈ cutt.ly
ΠΡΠΎΡ ΡΠΈΠ»ΡΡΡ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΡΡΠ»ΠΊΠΈ vk.cc"
@@ -4439,5 +4441,7 @@
ΠΡΡΠ³Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
+ ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΏ ΠΏΠΎΠΊΠ°Π·Π° Π΄Π°Ρ
+
diff --git a/smali/res/values/arrays.xml b/smali/res/values/arrays.xml
index 5735b5321..f272602c3 100644
--- a/smali/res/values/arrays.xml
+++ b/smali/res/values/arrays.xml
@@ -706,4 +706,16 @@
- icon
- icon2
+
+ - Default
+ - 15 april 18:42
+ - 15 april 18:42:28
+ - 15 april 2022 18:42:28
+
+
+ - default
+ - noseconds
+ - noyear
+ - full
+
diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml
index e69a0e75d..048b296dc 100644
--- a/smali/res/values/strings.xml
+++ b/smali/res/values/strings.xml
@@ -4189,6 +4189,8 @@ Filters are case-sensitive!"
Color navigation bar
Donate
dd MMMM yyyy HH:mm:ss
+ dd MMMM HH:mm:ss
+ dd MMMM HH:mm
Short link filter
"Blocks posts containing short links, such as bit.ly or cutt.ly
Does not affect vk.cc links"
@@ -4573,6 +4575,8 @@ May look like a fake leaving the online"
Rounded messages
+ Select the date display type
+
diff --git a/smali/res/xml/preferences_activity.xml b/smali/res/xml/preferences_activity.xml
index b37953caa..41ec0d743 100644
--- a/smali/res/xml/preferences_activity.xml
+++ b/smali/res/xml/preferences_activity.xml
@@ -5,7 +5,7 @@
android:defaultValue="default"
android:dialogTitle="@string/activity_undel_dial"
android:entries="@array/undel_value"
- android:entryValues="@array/undel"
+ android:entryValues="@array/undel_value"
android:key="undeletemsg_prefix_value"
android:title="@string/activity_undel_tag" />
+
-
b:Lcom/vk/im/ui/formatters/FileSizeFormatter;
.line 28
- new-instance p1, Ljava/text/SimpleDateFormat;
+ invoke-static {}, Lru/vtosters/lite/utils/Preferences;->setDateFormat()Ljava/text/SimpleDateFormat;
- const-string v0, "dd MMMM HH:mm"
-
- invoke-direct {p1, v0}, Ljava/text/SimpleDateFormat;->(Ljava/lang/String;)V
+ move-result-object p1
iput-object p1, p0, Lcom/vk/im/ui/components/attaches_history/attaches/adapter/delegates/DocAttachViewTypeDelegate;->c:Ljava/text/SimpleDateFormat;
diff --git a/smali/smali/com/vk/im/ui/formatters/lastseen/LastSeenFormatter.smali b/smali/smali/com/vk/im/ui/formatters/lastseen/LastSeenFormatter.smali
index b475d65ca..40ee020fb 100644
--- a/smali/smali/com/vk/im/ui/formatters/lastseen/LastSeenFormatter.smali
+++ b/smali/smali/com/vk/im/ui/formatters/lastseen/LastSeenFormatter.smali
@@ -510,6 +510,16 @@
.method public final a(Lcom/vk/im/engine/models/users/UserSex;J)Ljava/lang/String;
.locals 2
+ invoke-static {p1, p2, p3}, Lru/vtosters/lite/utils/Preferences;->getFormattedDate(Lcom/vk/im/engine/models/users/UserSex;J)Ljava/lang/String;
+
+ move-result-object v0
+
+ if-eqz v0, :cond_1
+
+ return-object v0
+
+ .line 1
+ :cond_1
const-string v0, "userSex"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V
diff --git a/smali/smali/com/vtosters/lite/VKApplication.smali b/smali/smali/com/vtosters/lite/VKApplication.smali
index ee86a4199..4b7c2d834 100644
--- a/smali/smali/com/vtosters/lite/VKApplication.smali
+++ b/smali/smali/com/vtosters/lite/VKApplication.smali
@@ -731,7 +731,7 @@
move-result v0
- if-nez v0, :cond_0
+ if-eqz v0, :cond_0
.line 18
new-instance v0, Ljava/util/Date;
@@ -1531,15 +1531,7 @@
new-instance v0, Ljava/text/SimpleDateFormat;
- sget-object v3, Lcom/vk/core/util/AppContextHolder;->a:Landroid/content/Context;
-
- invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
-
- move-result-object v3
-
- const p0, 0x7f11100f
-
- invoke-virtual {v3, p0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
+ invoke-static {}, Lru/vtosters/lite/utils/Preferences;->getDateFormat()Ljava/lang/String;
move-result-object v3