diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index ebc7b109..570a9269 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -9,6 +9,7 @@ plugins {
id("kotlin-kapt")
// If you use Kotlin Parcelize, uncomment the next line:
// id("kotlin-parcelize")
+ id("com.google.android.gms.oss-licenses-plugin")
}
android {
@@ -122,6 +123,7 @@ android {
dependencies {
val kotlinVersion = "1.9.0"
val materialVersion = "1.12.0"
+ val ossLicenseVersion = "17.2.1"
val appCompatVersion = "1.7.0"
val roomVersion = "2.7.2"
// val jsonVersion = "20250517"
@@ -136,6 +138,7 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
implementation("com.google.android.material:material:$materialVersion")
+ implementation("com.google.android.gms:play-services-oss-licenses:$ossLicenseVersion")
implementation("androidx.appcompat:appcompat:$appCompatVersion")
// viewbinding is often not explicitly needed here if buildFeatures.viewBinding = true
// implementation("androidx.databinding:viewbinding:7.4.1")
diff --git a/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt b/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt
index 6a3c7aa9..b726c733 100644
--- a/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt
+++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt
@@ -1,53 +1,52 @@
-package com.jeeldobariya.passcodes.ui;
+package com.jeeldobariya.passcodes.ui
-import android.content.Context
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.view.WindowCompat;
+import com.jeeldobariya.passcodes.databinding.ActivityAboutUsBinding
+import com.jeeldobariya.passcodes.utils.Constant
-import com.jeeldobariya.passcodes.R
-import com.jeeldobariya.passcodes.databinding.ActivityAboutUsBinding;
-import com.jeeldobariya.passcodes.utils.Constant;
+import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
-public class AboutUsActivity : AppCompatActivity() {
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.net.toUri
+
+class AboutUsActivity : AppCompatActivity() {
private lateinit var binding: ActivityAboutUsBinding
-
+
override fun onCreate(savedInstanceState: Bundle?) {
- val sharedPrefs = getSharedPreferences(SettingsActivity.THEME_PREFS_NAME, Context.MODE_PRIVATE)
- val savedThemeStyle = sharedPrefs.getInt(SettingsActivity.THEME_KEY, R.style.PasscodesTheme_Default)
- setTheme(savedThemeStyle)
-
- super.onCreate(savedInstanceState);
- binding = ActivityAboutUsBinding.inflate(layoutInflater);
- setContentView(binding.root);
-
- // Add event onclick listener
- addOnClickListenerOnButton();
-
- // Make window fullscreen
- WindowCompat.setDecorFitsSystemWindows(window, false);
+ super.onCreate(savedInstanceState)
+ binding = ActivityAboutUsBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ binding.toolbar.setNavigationOnClickListener {
+ onBackPressedDispatcher.onBackPressed()
+ }
+
+ // Set up button click listeners
+ setupButtonListeners()
}
private fun openBrowser(url: String) {
- val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(browserIntent);
+ val browserIntent = Intent(Intent.ACTION_VIEW, url.toUri())
+ startActivity(browserIntent)
}
- // Added all the onclick event listiners
- private fun addOnClickListenerOnButton() {
- binding.viewSecurityGuidelinesBtn.setOnClickListener {
- openBrowser(Constant.SECURITY_GUIDE_URL);
- };
+ private fun setupButtonListeners() {
+ binding.cardSecurityGuidelines.setOnClickListener {
+ openBrowser(Constant.SECURITY_GUIDE_URL)
+ }
+
+ binding.cardChangeLog.setOnClickListener {
+ openBrowser(Constant.CHANGELOG_URL)
+ }
- binding.viewChangeLogBtn.setOnClickListener {
- openBrowser(Constant.CHANGELOG_URL);
- };
+ binding.cardLicense.setOnClickListener {
+ startActivity(Intent(this, OssLicensesMenuActivity::class.java))
+ }
- binding.viewLicenseBtn.setOnClickListener {
- openBrowser(Constant.LICENSE_URL);
- };
+ binding.cardReportBug.setOnClickListener {
+ openBrowser(Constant.REPORT_BUG_URL)
+ }
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt b/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt
index 01e41ee7..d7af1c9d 100644
--- a/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt
+++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt
@@ -2,7 +2,7 @@ package com.jeeldobariya.passcodes.utils
object Constant {
const val REPO_URL = "https://github.com/JeelDobariya38/Passcodes"
- const val LICENSE_URL = "https://github.com/JeelDobariya38/Passcodes/blob/main/LICENSE.txt"
+ const val REPORT_BUG_URL = "https://github.com/JeelDobariya38/password-manager/issues/new?template=bug-report.md"
const val CHANGELOG_URL = "https://github.com/JeelDobariya38/Passcodes/blob/main/changelog.md"
const val SECURITY_GUIDE_URL = "https://github.com/JeelDobariya38/Passcodes/blob/main/docs/security_guide.md"
}
diff --git a/app/src/main/res/drawable/ic_article.png b/app/src/main/res/drawable/ic_article.png
new file mode 100644
index 00000000..d3498a39
Binary files /dev/null and b/app/src/main/res/drawable/ic_article.png differ
diff --git a/app/src/main/res/drawable/ic_bug_report.png b/app/src/main/res/drawable/ic_bug_report.png
new file mode 100644
index 00000000..0b6f542b
Binary files /dev/null and b/app/src/main/res/drawable/ic_bug_report.png differ
diff --git a/app/src/main/res/drawable/ic_history.png b/app/src/main/res/drawable/ic_history.png
new file mode 100644
index 00000000..8a3dec1a
Binary files /dev/null and b/app/src/main/res/drawable/ic_history.png differ
diff --git a/app/src/main/res/drawable/ic_security.png b/app/src/main/res/drawable/ic_security.png
new file mode 100644
index 00000000..874e68ef
Binary files /dev/null and b/app/src/main/res/drawable/ic_security.png differ
diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml
index f502745d..0cc2147e 100644
--- a/app/src/main/res/layout/activity_about_us.xml
+++ b/app/src/main/res/layout/activity_about_us.xml
@@ -1,103 +1,230 @@
-
+ android:background="?attr/colorSurface"
+ tools:context=".ui.AboutUsActivity">
-
+ android:background="?attr/colorSurface">
-
+
+
-
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
-
-
+ android:orientation="vertical"
+ android:padding="16dp">
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index c6336819..fa0ac42b 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -6,7 +6,7 @@
Entwickelt von: Jeel Dobariya
UI/UX Design von: Hamada Issas (Native)
- Codepflege & Tests: Achmad Daniel (Kudanill)
+ Codepflege & Tests: Achmad Daniel (Kudanill)
Beenden
@@ -35,7 +35,9 @@
Einstellungen
Design wechseln
Sprache:
+ Mitwirkender:
Design:
+ Fehler melden
Über uns
Lizenz anzeigen
Sicherheitsrichtlinien
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index fb178c2e..4527ee0f 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -5,7 +5,7 @@
Desarrollado por: Dobariya Jeel
Diseño UI/UX por: Hamada Issas (Native)
- Mantenimiento de código y pruebas: Achmad Daniel (Kudanill)
+ Mantenimiento de código y pruebas: Achmad Daniel (Kudanill)
Salir
@@ -34,7 +34,9 @@
Ajustes
Cambiar Tema
Idioma:
+ Colaborador:
Temas:
+ Informar un error
Sobre Nosotros
Ver Licencia
Ver Seguridad
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 506ac27b..91ca610e 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -6,7 +6,7 @@
डेवलप किया गया: जीत डोबरिया
यूआई/यूएक्स डिजाइन: हामदा इस्सास (नेटिव)
- कोड मेंटेनेंस और टेस्टिंग: अहमद डेनियल (कुडानिल)
+ कोड मेंटेनेंस और टेस्टिंग: अहमद डेनियल (कुडानिल)
बंद करें
@@ -35,7 +35,9 @@
सेटिंग्स
थीम बदलें
भाषा:
+ योगदानकर्ता:
थीम:
+ रिपोर्ट बग
हमारे बारे में
लाइसेंस देखें
सिक्योरिटी गाइडलाइंस
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 5f0c204f..6cb1c129 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -6,7 +6,7 @@
Dikembangkan oleh: Jeel Dobariya
Desain UI/UX oleh: Hamada Issas (Native)
- Pemeliharaan & Pengujian Kode: Achmad Daniel (Kudanill)
+ Tester: Achmad Daniel (Kudanill)
Keluar
@@ -35,7 +35,9 @@
Pengaturan
Ganti Tema
Bahasa:
+ Kontributor:
Tema:
+ Laporkan Bug
Tentang Kami
Lihat Lisensi
Panduan Keamanan
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 1a852c6b..3bc170b9 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -6,7 +6,7 @@
開発者:Jeel Dobariya
UI/UXデザイン:Hamada Issas(Native)
- コード管理・テスト:Achmad Daniel(Kudanill)
+ コード管理・テスト:Achmad Daniel(Kudanill)
終了
@@ -35,7 +35,9 @@
設定
テーマ切替
言語:
+ 寄稿者:
テーマ:
+ バグ報告
アプリについて
ライセンスを見る
セキュリティガイドライン
diff --git a/app/src/main/res/values-ko/string.xml b/app/src/main/res/values-ko/string.xml
index af921d05..ad6a3a4a 100644
--- a/app/src/main/res/values-ko/string.xml
+++ b/app/src/main/res/values-ko/string.xml
@@ -6,7 +6,7 @@
개발자: Jeel Dobariya
UI/UX 디자인: Hamada Issas (Native)
- 코드 유지보수 및 테스트: Achmad Daniel (Kudanill)
+ 코드 유지보수 및 테스트: Achmad Daniel (Kudanill)
종료
@@ -35,7 +35,9 @@
설정
테마 전환
언어:
+ 기여자:
테마:
+ 버그 보고
앱 정보
라이선스 보기
보안 지침 보기
diff --git a/app/src/main/res/values-kr/strings.xml b/app/src/main/res/values-kr/strings.xml
index ef756684..22e8b872 100644
--- a/app/src/main/res/values-kr/strings.xml
+++ b/app/src/main/res/values-kr/strings.xml
@@ -5,7 +5,7 @@
Jaejak: Dobariya Jeel
UI/UX Design: Hamada Issas (Native)
- Code Maintenance & Test: Achmad Daniel (Kudanill)
+ Code Maintenance & Test: Achmad Daniel (Kudanill)
Jeolryo
@@ -34,7 +34,9 @@
Seoljeong
Tema Byeongyeong
Eon-eo:
+ Gibuja:
Tema:
+ Beogeu Singo
Ulineun Nuguinga
Laiseonse Bogi
Anjeon Jichim Bogi
diff --git a/app/src/main/res/values-vi/string.xml b/app/src/main/res/values-vi/string.xml
index e72ab62b..d7de7e75 100644
--- a/app/src/main/res/values-vi/string.xml
+++ b/app/src/main/res/values-vi/string.xml
@@ -6,7 +6,7 @@
Phát triển bởi: Jeel Dobariya
Thiết kế UI/UX: Hamada Issas (Native)
- Bảo trì & Kiểm thử mã: Achmad Daniel (Kudanill)
+ Bảo trì & Kiểm thử mã: Achmad Daniel (Kudanill)
Thoát
@@ -35,7 +35,9 @@
Cài đặt
Chuyển giao diện
Ngôn ngữ:
+ Người đóng góp:
Giao diện:
+ Báo cáo lỗi
Giới thiệu
Xem giấy phép
Hướng dẫn bảo mật
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index fa1d75f7..e83c5932 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -6,7 +6,7 @@
开发者:Jeel Dobariya
UI/UX 设计:Hamada Issas(Native)
- 代码维护与测试:Achmad Daniel(Kudanill)
+ 代码维护与测试:Achmad Daniel(Kudanill)
退出
@@ -35,7 +35,9 @@
设置
切换主题
语言:
+ 贡献者:
主题:
+ 报告错误
关于我们
查看许可证
查看安全指南
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 17c6e12b..6f99dbdb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
Developed by: Dobariya Jeel
UI/UX Design by: Hamada Issas (Native)
- Code Maintenance & Testing: Achmad Daniel (Kudanill)
+ Code Maintenance & Testing: Achmad Daniel (Kudanill)
Quit
@@ -35,10 +35,12 @@
Settings
Toggle Theme
Language:
+ Contributor:
Themes:
+ Report Bug
About Us
View License
- View Security Guidelines
+ Security Guidelines
View Changelog
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e6814d9b..39b506a9 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -4,6 +4,13 @@ pluginManagement {
mavenCentral()
gradlePluginPortal() // Recommended for fetching Gradle plugins
}
+ resolutionStrategy {
+ eachPlugin {
+ if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") {
+ useModule("com.google.android.gms:oss-licenses-plugin:0.10.6")
+ }
+ }
+ }
}
// Defines all modules in your project