Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 2 additions & 19 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
}

android {
compileSdk 33
namespace "com.jeeldobariya.passcodes"
namespace "com.passwordmanager"

defaultConfig {
applicationId "com.jeeldobariya.passcodes"
applicationId "com.passwordmanager"
minSdk 26
targetSdk 33
versionCode 1
Expand Down Expand Up @@ -90,35 +88,20 @@ android {
}
}

// You can update these to Java 11 or higher if your project allows,
// but 1.8 is fine for basic Kotlin interop.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

// Add kotlinOptions for JVM target if you have specific requirements,
// though often not strictly necessary for simple cases as it defaults
// to Java 8 compatible bytecode.
kotlinOptions {
jvmTarget = '1.8' // Ensure Kotlin compiles to Java 8 bytecode
}

viewBinding {
enabled = true
}
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0"

implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.databinding:viewbinding:7.4.1'

implementation 'androidx.room:room-ktx:2.5.0'
kapt 'androidx.room:room-compiler:2.5.0'

implementation 'org.json:json:20250517'

testImplementation 'junit:junit:4.13.2'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.database;
package com.passwordmanager.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.models;
package com.passwordmanager.models;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
Expand Down
48 changes: 48 additions & 0 deletions app/src/main/java/com/passwordmanager/ui/AboutUsActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.passwordmanager.ui;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;
import com.passwordmanager.databinding.ActivityAboutUsBinding;
import com.passwordmanager.utils.Constant;
// import com.passwordmanager.utils.Permissions;

public class AboutUsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityAboutUsBinding binding = ActivityAboutUsBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());

// Add event onclick listener
addOnClickListenerOnButton(binding);

// Make window fullscreen
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
}

private void openBrowser(String url) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(browserIntent);
}

// Added all the onclick event listiners
private void addOnClickListenerOnButton(ActivityAboutUsBinding binding) {
binding.viewSecurityGuidelinesBtn.setOnClickListener(
v -> {
openBrowser(Constant.SECURITY_GUIDE_URL);
});

binding.viewChangeLogBtn.setOnClickListener(
v -> {
openBrowser(Constant.CHANGELOG_URL);
});

binding.viewLicenseBtn.setOnClickListener(
v -> {
openBrowser(Constant.LICENSE_URL);
});
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package com.jeeldobariya.passcodes.ui;
package com.passwordmanager.ui;

import android.os.Bundle;
import android.content.Intent;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;

import com.jeeldobariya.passcodes.R;
import com.jeeldobariya.passcodes.utils.Controller;
import com.jeeldobariya.passcodes.models.PasswordModel;
import com.jeeldobariya.passcodes.databinding.ActivityLoadPasswordBinding;
import com.jeeldobariya.passcodes.ui.adapter.PasswordAdapter;
import com.passwordmanager.R;
import com.passwordmanager.utils.Controller;
import com.passwordmanager.models.PasswordModel;
import com.passwordmanager.databinding.ActivityLoadPasswordBinding;
import com.passwordmanager.ui.adapter.PasswordAdapter;

import java.util.List;

Expand Down
69 changes: 69 additions & 0 deletions app/src/main/java/com/passwordmanager/ui/MainActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.passwordmanager.ui;

import android.os.Bundle;
import android.content.Intent;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;
import android.view.LayoutInflater;

import com.passwordmanager.R;
import com.passwordmanager.databinding.ActivityMainBinding;
// import com.passwordmanager.utils.Permissions;

public class MainActivity extends AppCompatActivity {

// private Permissions permissionsHandle;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());

// Add event onclick listener
addOnClickListenerOnButton(binding);

// Make window fullscreen
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);

/* Comment the code as permission is not need to write into app data dir.
// Check and request permission when the app is first opened
permissionsHandle = new Permissions(this);
if (!permissionsHandle.checkPermission()) permissionsHandle.requestPermission();
*/
}

/* Comment the code as permission is not need to write into app data dir.
@Override
public void onRequestPermissionsResult(
int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == Permissions.PERMISSION_REQUEST_CODE) {
if (permissionsHandle.isPermissionGranted(grantResults)) {
// Permission has been granted
Toast.makeText(this, getString(R.string.permission_granted), Toast.LENGTH_LONG).show();
} else {
// Permission not granted
Toast.makeText(this, getString(R.string.permission_denied), Toast.LENGTH_LONG).show();
}
}
}
*/

// Added all the onclick event listiners
private void addOnClickListenerOnButton(ActivityMainBinding binding) {
binding.passwordManagerBtn.setOnClickListener(v -> {
Intent passwordmanagerintent = new Intent(MainActivity.this, PasswordManagerActivity.class);
startActivity(passwordmanagerintent);
});

binding.aboutUsBtn.setOnClickListener(v -> {
Intent aboutusintent = new Intent(MainActivity.this, AboutUsActivity.class);
startActivity(aboutusintent);
});

binding.quitBtn.setOnClickListener(v -> {
finishAndRemoveTask();
});
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.ui;
package com.passwordmanager.ui;

import android.net.Uri;
import android.os.Bundle;
Expand All @@ -14,10 +14,10 @@
import org.json.JSONException;
import org.json.JSONObject;

import com.jeeldobariya.passcodes.R;
import com.jeeldobariya.passcodes.utils.Controller;
import com.jeeldobariya.passcodes.models.PasswordModel;
import com.jeeldobariya.passcodes.databinding.ActivityPasswordManagerBinding;
import com.passwordmanager.R;
import com.passwordmanager.utils.Controller;
import com.passwordmanager.models.PasswordModel;
import com.passwordmanager.databinding.ActivityPasswordManagerBinding;

import java.util.List;
import java.io.OutputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.jeeldobariya.passcodes.ui;
package com.passwordmanager.ui;

import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;

import com.jeeldobariya.passcodes.R;
import com.jeeldobariya.passcodes.utils.Controller;
import com.jeeldobariya.passcodes.databinding.ActivitySavePasswordBinding;
import com.passwordmanager.R;
import com.passwordmanager.utils.Controller;
import com.passwordmanager.databinding.ActivitySavePasswordBinding;

public class SavePasswordActivity extends AppCompatActivity {
private Controller controller;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.ui;
package com.passwordmanager.ui;

import android.os.Bundle;
import android.content.Intent;
Expand All @@ -7,10 +7,10 @@
import androidx.core.view.WindowCompat;
import android.view.LayoutInflater;

import com.jeeldobariya.passcodes.R;
import com.jeeldobariya.passcodes.utils.Controller;
import com.jeeldobariya.passcodes.models.PasswordModel;
import com.jeeldobariya.passcodes.databinding.ActivityUpdatePasswordBinding;
import com.passwordmanager.R;
import com.passwordmanager.utils.Controller;
import com.passwordmanager.models.PasswordModel;
import com.passwordmanager.databinding.ActivityUpdatePasswordBinding;

/*
Activity expects id as intent parameters.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.ui;
package com.passwordmanager.ui;

import android.os.Bundle;
import android.content.Intent;
Expand All @@ -7,10 +7,10 @@
import androidx.core.view.WindowCompat;
import android.view.LayoutInflater;

import com.jeeldobariya.passcodes.R;
import com.jeeldobariya.passcodes.utils.Controller;
import com.jeeldobariya.passcodes.models.PasswordModel;
import com.jeeldobariya.passcodes.databinding.ActivityViewPasswordBinding;
import com.passwordmanager.R;
import com.passwordmanager.utils.Controller;
import com.passwordmanager.models.PasswordModel;
import com.passwordmanager.databinding.ActivityViewPasswordBinding;

/*
Activity expects id, domain, username, password, notes, createdat, updatedat as intent parameters.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.jeeldobariya.passcodes.ui.adapter;
package com.passwordmanager.ui.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.view.LayoutInflater;
import android.widget.BaseAdapter;

import com.jeeldobariya.passcodes.models.PasswordModel;
import com.jeeldobariya.passcodes.databinding.PasswordListItemBinding;
import com.passwordmanager.models.PasswordModel;
import com.passwordmanager.databinding.PasswordListItemBinding;

import java.util.List;

Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/com/passwordmanager/utils/Constant.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.passwordmanager.utils;

public class Constant {
public static final String REPO_URL = "https://github.com/JeelDobariya38/password-manager";
public static final String LICENSE_URL = "https://github.com/JeelDobariya38/password-manager/blob/main/LICENSE.txt";
public static final String CHANGELOG_URL = "https://github.com/JeelDobariya38/password-manager/blob/main/changelog.md";
public static final String SECURITY_GUIDE_URL = "https://github.com/JeelDobariya38/password-manager/blob/main/docs/security_guide.md";
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.utils;
package com.passwordmanager.utils;

import android.content.ContentValues;
import android.content.Context;
Expand All @@ -8,8 +8,8 @@
import java.util.List;
import java.util.ArrayList;

import com.jeeldobariya.passcodes.database.MyDatabaseHelper;
import com.jeeldobariya.passcodes.models.PasswordModel;
import com.passwordmanager.database.MyDatabaseHelper;
import com.passwordmanager.models.PasswordModel;

public class Controller {
private MyDatabaseHelper dbHelper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.jeeldobariya.passcodes.utils
package com.passwordmanager.utils;

class ExampleTestableCode {
fun checkStrength(password: String): Int {
int checkStrength(String password) {
if (password == null || password.isEmpty()) {
return -1;
}

val length = password.length;
int length = password.length();

if (length < 8) {
return 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jeeldobariya.passcodes.utils;
package com.passwordmanager.utils;

import android.Manifest;
import android.app.Activity;
Expand Down

This file was deleted.

Loading