Skip to content

Commit

Permalink
Added a feature to copy password in Home Fragment.
Browse files Browse the repository at this point in the history
  • Loading branch information
aritra-tech committed Mar 1, 2023
1 parent e0e698e commit dcb15a0
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ class EditFragment : Fragment() {
_binding = FragmentEditBinding.inflate(inflater,container,false)


val keyStore = KeyStore.getInstance("AndroidKeyStore")
keyStore.load(null)
val secretKeyEntry = keyStore.getEntry("MyKeyAlias", null) as KeyStore.SecretKeyEntry
secretKey = secretKeyEntry.secretKey

initialization()
initObservers()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.geekymusketeers.uncrack.ui.fragments

import android.annotation.SuppressLint
import android.content.ClipData
import android.content.ClipboardManager
import com.geekymusketeers.uncrack.R
import android.content.Intent
import android.os.Bundle
Expand All @@ -10,6 +12,7 @@ import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
Expand Down Expand Up @@ -79,6 +82,17 @@ class HomeFragment : Fragment() {
val decryptedViewPassword = encryption.decryptOrNull(currentAccount.password)
accountPassword.setText(decryptedViewPassword)

// Copy password to clipboard
CopyPassword.setOnClickListener {
val clipboard: ClipboardManager? = ContextCompat.getSystemService(
requireContext(),
ClipboardManager::class.java
)
val clip = ClipData.newPlainText("Copy Password", accountPassword.text.toString())
clipboard?.setPrimaryClip(clip)
Toast.makeText(requireContext(),"Password Copied to Clipboard",Toast.LENGTH_SHORT).show()
}

// Share button feature
shareBtn.setOnClickListener {

Expand Down Expand Up @@ -120,6 +134,7 @@ class HomeFragment : Fragment() {

}


// Favourite button feature

// favBtn.setOnClickListener {
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/drawable/copy_button.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="5dp"/>
<stroke android:width="1dp" android:color="@color/black"/>
</shape>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/favorite.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FF0000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/favorite_border.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FF0000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M16.5,3c-1.74,0 -3.41,0.81 -4.5,2.09C10.91,3.81 9.24,3 7.5,3 4.42,3 2,5.42 2,8.5c0,3.78 3.4,6.86 8.55,11.54L12,21.35l1.45,-1.32C18.6,15.36 22,12.28 22,8.5 22,5.42 19.58,3 16.5,3zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z"/>
</vector>
71 changes: 47 additions & 24 deletions app/src/main/res/layout/viewpassword_modal.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,32 +82,55 @@
android:layout_marginBottom="10dp"
android:textSize="15sp" />


<com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_box"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColorHint="@android:color/darker_gray"
app:boxBackgroundColor="#F5F8FA"
app:endIconMode="password_toggle"
android:layout_gravity="start"
app:layout_constraintEnd_toEndOf="@+id/email_box"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/email_box"
app:layout_constraintTop_toBottomOf="@+id/email_box">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_password"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fontFamily="@font/dm_sans"
android:inputType="textPassword"
android:hint="Password"
android:lines="1"
android:textColor="@color/black" />
</com.google.android.material.textfield.TextInputLayout>
android:layout_marginTop="20dp"
android:orientation="horizontal">

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_box"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
android:layout_width="325dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColorHint="@android:color/darker_gray"
app:boxBackgroundColor="#F5F8FA"
app:endIconMode="password_toggle"
android:layout_gravity="start"
app:layout_constraintEnd_toEndOf="@+id/email_box"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/email_box"
app:layout_constraintTop_toBottomOf="@+id/email_box">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_password"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fontFamily="@font/dm_sans"
android:inputType="textPassword"
android:hint="Password"
android:lines="1"
android:textColor="@color/black" />
</com.google.android.material.textfield.TextInputLayout>

<ImageView
android:id="@+id/CopyPassword"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="?selectableItemBackgroundBorderless"
android:clickable="true"
android:layout_marginTop="13dp"
android:layout_marginStart="10dp"
android:focusable="true"
android:src="@drawable/copy"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>




<TextView
Expand Down

0 comments on commit dcb15a0

Please sign in to comment.