diff --git a/app/src/main/java/com/anabasis/vkchatmanager/MainActivity.java b/app/src/main/java/com/anabasis/vkchatmanager/MainActivity.java
index 4a440e0..0145790 100644
--- a/app/src/main/java/com/anabasis/vkchatmanager/MainActivity.java
+++ b/app/src/main/java/com/anabasis/vkchatmanager/MainActivity.java
@@ -1,13 +1,17 @@
package com.anabasis.vkchatmanager;
import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.Editable;
import android.text.TextWatcher;
+import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
+import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
@@ -188,6 +192,11 @@ public class MainActivity extends AppCompatActivity {
return true;
}
+ if (id == R.id.action_about) {
+ showAboutDialog();
+ return true;
+ }
+
if (id == R.id.action_sign_out) {
TokenManager.clear(this);
recreate();
@@ -207,6 +216,30 @@ public class MainActivity extends AppCompatActivity {
/* ===================== UI ===================== */
+ private void showAboutDialog() {
+ View dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_about, null);
+
+ TextView appNameVersion = dialogView.findViewById(R.id.app_name_version);
+ TextView appDescription = dialogView.findViewById(R.id.app_description);
+ TextView appCreator = dialogView.findViewById(R.id.app_creator);
+
+ try {
+ PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
+ String version = pInfo.versionName;
+ appNameVersion.setText(getString(R.string.app_name_version_format, getString(R.string.app_name), version));
+ } catch (PackageManager.NameNotFoundException e) {
+ appNameVersion.setText(getString(R.string.app_name));
+ }
+
+ appDescription.setText(R.string.about_description);
+ appCreator.setText(R.string.about_creator);
+
+ new MaterialAlertDialogBuilder(this)
+ .setView(dialogView)
+ .setPositiveButton(R.string.ok_button, null)
+ .show();
+ }
+
private void showTokenStatus() {
long exp = TokenManager.expiration(this);
String message;
diff --git a/app/src/main/res/layout/dialog_about.xml b/app/src/main/res/layout/dialog_about.xml
new file mode 100644
index 0000000..4b76851
--- /dev/null
+++ b/app/src/main/res/layout/dialog_about.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
index 6a2ad51..c2d2349 100644
--- a/app/src/main/res/menu/main_menu.xml
+++ b/app/src/main/res/menu/main_menu.xml
@@ -15,7 +15,10 @@
+
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 4900673..99ce4a8 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -42,5 +42,9 @@
❌ %1$s в %2$s: %3$s
Выйти
Ошибка API: %s
+ О приложении
Ваша сессия истекла. Пожалуйста, войдите снова.
+ %1$s v%2$s
+ Это приложение предназначено для управления чатами ВКонтакте.
+ Создатель: Александр Денисов
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 88ae4aa..2dbd8de 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -42,5 +42,9 @@
❌ %1$s in %2$s: %3$s
Sign Out
API error: %s
+ About
Your session has expired. Please log in again.
+ %1$s v%2$s
+ This application is designed for managing VK chats.
+ Created by: Alex Denisov
\ No newline at end of file