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