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