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