diff --git a/README.md b/README.md index 36f470db..9ebd7c72 100644 --- a/README.md +++ b/README.md @@ -83,10 +83,18 @@ It was general, intuitive, short and sweet description, For more detailed descri ## Support Docs -You can checkout support docs, provided in [docs/](docs/) Or You can even seek help on our [telegram community](https://t.me/passwordmanagercommunity) +You can checkout support docs, provided in [docs/](docs/) Or You can even seek help on our [telegram community](https://t.me/passcodescommunity) ## Contribution Are Appreciated!!! +> [!important] +> Currently the project (more or less also me) is not ready for (code) contributions. +> This project is currently limited by my expertise. Meaning I don;t want others code in codebase, that I don;t understand, I am learning android and will surely learn basic off by start of 2026.. then i will allow the contibution... but not now as i am beginner in android and might have difficuly understand code not written by me... +> +> There are still other ways to contribute to project.. like testing app, documenation and just spreading the word around about the app. but contribution to code is limited.... And i hope you can understand... +> +> For more infomation on what kind of contribtuion we approve, please open a issue in repo. that way you avoid wasteing your time... + By, contributing to project you accept the [CONTRIBUTING.md](CONTRIBUTING.md) & [MIT License](LICENSE.txt). ## Licence diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 570a9269..503b1fe3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,7 +6,7 @@ import com.android.build.api.dsl.ApplicationExtension plugins { id("com.android.application") id("org.jetbrains.kotlin.android") - id("kotlin-kapt") + id("com.google.devtools.ksp") // If you use Kotlin Parcelize, uncomment the next line: // id("kotlin-parcelize") id("com.google.android.gms.oss-licenses-plugin") @@ -22,15 +22,9 @@ android { minSdk = 26 targetSdk = 34 versionCode = 1 - versionName = "0.1.0-Alpha" + versionName = "v1.0.0-Stable" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - - kapt { - arguments { - arg("room.schemaLocation", "$projectDir/schemas") - } - } } signingConfigs { @@ -110,14 +104,19 @@ android { targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = "11" - } - buildFeatures { viewBinding = true } } + + ksp { + val location = "$projectDir/schemas" + arg("room.schemaLocation", location) + } + + kotlinOptions { + jvmTarget = "11" + } } dependencies { @@ -144,7 +143,7 @@ dependencies { // implementation("androidx.databinding:viewbinding:7.4.1") implementation("androidx.room:room-ktx:$roomVersion") - kapt("androidx.room:room-compiler:$roomVersion") + ksp("androidx.room:room-compiler:$roomVersion") // Kotlin Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 197002ab..eaa3fe1b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,55 +1,44 @@ + xmlns:tools="http://schemas.android.com/tools"> - + + + + - + + + - - - - - - - - - - - - - - + + + + + + + - - - - + + + + diff --git a/app/src/main/assets/LICENSE.txt b/app/src/main/assets/LICENSE.txt new file mode 100644 index 00000000..3910f836 --- /dev/null +++ b/app/src/main/assets/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jeel Dobariya + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/app/src/main/kotlin/com/jeeldobariya/passcodes/database/MasterDatabase.kt b/app/src/main/kotlin/com/jeeldobariya/passcodes/database/MasterDatabase.kt index 80ca8fa4..9adf6926 100644 --- a/app/src/main/kotlin/com/jeeldobariya/passcodes/database/MasterDatabase.kt +++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/database/MasterDatabase.kt @@ -7,8 +7,8 @@ import androidx.room.RoomDatabase; @Database( entities = [Password::class], - version = 1 - // exportSchema = false + version = 1, + exportSchema = true ) abstract class MasterDatabase : RoomDatabase() { abstract val passwordsDao: PasswordsDao 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 b726c733..1171c8cb 100644 --- a/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt +++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/AboutUsActivity.kt @@ -2,9 +2,6 @@ package com.jeeldobariya.passcodes.ui import com.jeeldobariya.passcodes.databinding.ActivityAboutUsBinding import com.jeeldobariya.passcodes.utils.Constant - -import com.google.android.gms.oss.licenses.OssLicensesMenuActivity - import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity @@ -42,7 +39,7 @@ class AboutUsActivity : AppCompatActivity() { } binding.cardLicense.setOnClickListener { - startActivity(Intent(this, OssLicensesMenuActivity::class.java)) + startActivity(Intent(this, LicenseActivity::class.java)) } binding.cardReportBug.setOnClickListener { diff --git a/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/LicenseActivity.kt b/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/LicenseActivity.kt new file mode 100644 index 00000000..512e7b71 --- /dev/null +++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/ui/LicenseActivity.kt @@ -0,0 +1,33 @@ +package com.jeeldobariya.passcodes.ui + +import android.content.Intent +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity +import com.jeeldobariya.passcodes.databinding.ActivityLicenseBinding +import java.io.BufferedReader +import java.io.InputStreamReader + +class LicenseActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + var binding = ActivityLicenseBinding.inflate(layoutInflater) + setContentView(binding.root) + + try { + val inputStream = assets.open("LICENSE.txt") + val bufferedReader = BufferedReader(InputStreamReader(inputStream)) + val licenseText = bufferedReader.use { it.readText() } + binding.licenseTextView.text = licenseText + } catch (e: Exception) { + binding.licenseTextView.text = "Error loading license file." + e.printStackTrace() + } + + binding.thirdPartyBtn.setOnClickListener { v -> + val thirdPartyLicenseActivity = Intent(this, OssLicensesMenuActivity::class.java) + startActivity(thirdPartyLicenseActivity) + } + } +} 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 d7af1c9d..6a8f5d46 100644 --- a/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt +++ b/app/src/main/kotlin/com/jeeldobariya/passcodes/utils/Constants.kt @@ -3,6 +3,6 @@ package com.jeeldobariya.passcodes.utils object Constant { const val REPO_URL = "https://github.com/JeelDobariya38/Passcodes" 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" + const val CHANGELOG_URL = "https://github.com/JeelDobariya38/Passcodes/blob/main/docs/release-notes.md" + const val SECURITY_GUIDE_URL = "https://github.com/JeelDobariya38/Passcodes/blob/main/docs/security-guide.md" } diff --git a/app/src/main/res/layout/activity_license.xml b/app/src/main/res/layout/activity_license.xml new file mode 100644 index 00000000..d5be9141 --- /dev/null +++ b/app/src/main/res/layout/activity_license.xml @@ -0,0 +1,25 @@ + + + + + + + + \ 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 fa0ac42b..abf87fa1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,7 +1,7 @@ Passcodes - v0.1.0-Alpha + v1.0.0-Stable Entwickelt von: Jeel Dobariya diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4527ee0f..4cfb45a6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,6 +1,6 @@ Passcodes - v0.1.0-Alpha + v1.0.0-Stable Desarrollado por: Dobariya Jeel diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 91ca610e..cab4b395 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1,7 +1,7 @@ पासकोड्स - v0.1.0-Alpha + v1.0.0-Stable डेवलप किया गया: जीत डोबरिया diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 6cb1c129..46d95ea3 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -1,7 +1,7 @@ Passcodes - v0.1.0-Alpha + v1.0.0-Stable Dikembangkan oleh: Jeel Dobariya diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 3bc170b9..0f545cec 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1,7 +1,7 @@ パスコード - v0.1.0-Alpha + v1.0.0-Stable 開発者:Jeel Dobariya diff --git a/app/src/main/res/values-ko/string.xml b/app/src/main/res/values-ko/string.xml index ad6a3a4a..9f3432b9 100644 --- a/app/src/main/res/values-ko/string.xml +++ b/app/src/main/res/values-ko/string.xml @@ -1,7 +1,7 @@ 패스코드 - v0.1.0-Alpha + v1.0.0-Stable 개발자: Jeel Dobariya diff --git a/app/src/main/res/values-kr/strings.xml b/app/src/main/res/values-kr/strings.xml index 22e8b872..b08ee31a 100644 --- a/app/src/main/res/values-kr/strings.xml +++ b/app/src/main/res/values-kr/strings.xml @@ -1,6 +1,6 @@ Passcodes - v0.1.0-Alpha + v1.0.0-Stable Jaejak: Dobariya Jeel diff --git a/app/src/main/res/values-vi/string.xml b/app/src/main/res/values-vi/string.xml index d7de7e75..e59ec11f 100644 --- a/app/src/main/res/values-vi/string.xml +++ b/app/src/main/res/values-vi/string.xml @@ -1,7 +1,7 @@ Mã Bảo Mật - v0.1.0-Alpha + v1.0.0-Stable Phát triển bởi: Jeel Dobariya diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index e83c5932..2f5fe7ac 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1,7 +1,7 @@ 密码本 - v0.1.0-Alpha + v1.0.0-Stable 开发者:Jeel Dobariya diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f99dbdb..853303ac 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ Passcodes - v0.1.0-Alpha + v1.0.0-Stable Developed by: Dobariya Jeel diff --git a/build.gradle.kts b/build.gradle.kts index b3762bba..b982f053 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,8 @@ plugins { // If you need to define shared properties or tasks for all subprojects, you can do it here. id("com.android.application") version "8.11.0" apply false // id("com.android.library") version "8.11.0" apply false - id("org.jetbrains.kotlin.android") version "2.1.20" apply false + id("org.jetbrains.kotlin.android") version "2.1.21" apply false + id("com.google.devtools.ksp") version "2.1.21-2.0.2" apply false } // Allprojects block is common for setting up common repositories for all subprojects. diff --git a/changelog.md b/changelog.md index d8f567bb..586777d7 100644 --- a/changelog.md +++ b/changelog.md @@ -5,12 +5,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +Release Notes: [docs/release-notes.md](docs/release-notes.md), there you will find short and sweet release notes. + ## [Unreleased] -## Added +## v1.0.0-Stable + +### Added - **Localized App**: add language support for English, Chinese, Hindi, Indonesian, Japanese, Korean, German, Spanish, Vietnamese. Contributed by [@JeelDobariya]. -- **Improved UI/UX**: add confirmation dialogs, support for light & dark theme with additional minor changes. Contributed by [@JeelDobariya]. +- **Improved UI/UX**: add confirmation dialogs, support for light & dark theme with additional minor changes. Contributed by [@JeelDobariya & @kudanilll]. - **New Icon**: add new icons to app. Contributed by [@JeelDobariya]. ### Changed diff --git a/docs/release-notes.md b/docs/release-notes.md new file mode 100644 index 00000000..14b93c90 --- /dev/null +++ b/docs/release-notes.md @@ -0,0 +1,41 @@ +# Release Notes + +Here, You will find short ad sweet and casual `tldrs` for release notes or changelog. +For more details and more professional tone, see [changelog.md](/changelog.md). + +### v1.0.0-Stable + +``` +Pacakage Name = "com.jeeldobariya.passcodes" +Min Android = 8.0 (API level 26) +Max Android = 14 (API level 34) +Version Code = 1 +Version Name = "v1.0.0-Stable" +Master Database Version = "v1" +``` + +`TL;DR`: Our first stable release.. | Not much has change in terms of look and feature.. | Name of project has changed to "Passcodes".. + +This is our first stable release, even though it look and behave same as prototype release. +it now more stable and more realiable as the data storage part is now tested and optimised and uses more mordern apporach (room libaray).. +things have change internally also... like app was first build using java.. but, now it is build using kotlin. +now, you can also switch theme and languages in app.. +also improve UI/UX by providing help text.. especially as you all have question like "what is domain?" "what can i write in domain?" and so on..... + +### v0.1.0-Alpha + +``` +Pacakage Name = "com.passwordmanager" +Min Android = 8.0 (API level 26) +Max Android = 13 (API level 33) +Version Code = 1 +Version Name = "0.1.0-Alpha" +Master Database Version = "v1" +``` + +`TL;DR`: Our first initial release.. | Prototype release.. + +It a prototype release which mean it can have bugs... +It has all core features, like create, read, update and delete passwords... +It has basic ui that allow you do do things, really intuitively and more structure... +But structure and intuitively doesn;t necessary means mordern ui... ui is now so cool but has structure... diff --git a/docs/security_guide.md b/docs/security-guide.md similarity index 100% rename from docs/security_guide.md rename to docs/security-guide.md