aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt91
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt7
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt4
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml1
4 files changed, 102 insertions, 1 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt
index fbe3f4d..2501f8a 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt
@@ -1,11 +1,102 @@
package com.example.brzodolokacije.Activities
+import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import android.widget.Button
+import android.widget.TextView
+import android.widget.Toast
+import androidx.core.view.isVisible
+import com.exam.DBHelper.Companion.activity
+import com.example.brzodolokacije.Models.UserReceive
+import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import retrofit2.Call
+import retrofit2.Response
class ActivityChangePassword : AppCompatActivity() {
+
+ private lateinit var oldPass:TextView
+ private lateinit var oldPassError:TextView
+ private lateinit var newPass:TextView
+ private lateinit var newPassError:TextView
+ private lateinit var confirmPass:TextView
+ private lateinit var confirmPassError:TextView
+ private lateinit var forgotten:TextView
+ private lateinit var submit:Button
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_change_password)
+
+ oldPass=findViewById(R.id.changeDataOldPassword)
+ oldPassError=findViewById(R.id.ActivityChangePasswordOldError)
+ newPass=findViewById(R.id.tvActivityChangePasswordNewPass)
+ newPassError=findViewById(R.id.btnActivityChangePasswordNewError)
+ confirmPass=findViewById(R.id.ActivityChangePasswordNewPasswordConfirm)
+ confirmPassError=findViewById(R.id.btnActivityChangePasswordConfirmError)
+ forgotten=findViewById(R.id.btnActivityChangePasswordForgottenPass)
+ submit=findViewById(R.id.ActivityChangePasswordChangePassword)
+
+ oldPassError.isVisible=false
+ newPassError.isVisible=false
+ confirmPassError.isVisible=false
+
+ submit.setOnClickListener{
+ oldPassError.isVisible=false
+ newPassError.isVisible=false
+ confirmPassError.isVisible=false
+
+ if(oldPass.text.toString().trim().isNotEmpty()&&newPass.text.toString().trim().isNotEmpty()
+ &&confirmPass.text.toString().trim().isNotEmpty()){
+
+ if(newPass.text.toString().trim() == confirmPass.text.toString().trim()){
+
+ //PROVERI DA LI JE TRENUTA LOZINKA ISTA KAO TRENUTNI UNOS
+
+ val authApi= RetrofitHelper.getInstance()
+ val token= SharedPreferencesHelper.getValue("jwt",this@ActivityChangePassword)
+ val request=authApi.changePass("Bearer "+token)
+
+ request.enqueue(object : retrofit2.Callback<Int> {
+ override fun onResponse(call: Call<Int>, response: Response<Int>) {
+ if(response.isSuccessful()){
+ var done=response.body()!!
+ if(done==1){
+ Toast.makeText(this@ActivityChangePassword, "Lozinka je uspešno promenjena.", Toast.LENGTH_LONG).show();
+ }
+ else if(done==-1){
+ oldPassError.isVisible=true
+ oldPassError.text="Uneta lozinka nije odgovarajuća, pokušajte ponovo."
+ oldPassError.setTextColor(Color.RED)
+
+ }
+ else if(done==-2){
+ Toast.makeText(this@ActivityChangePassword, "Lozinka nije promenjena. Pokušajte ponovo", Toast.LENGTH_LONG).show();
+ }
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(this@ActivityChangePassword, response.errorBody()!!.string(), Toast.LENGTH_LONG).show();
+ }
+ }
+ override fun onFailure(call: Call<Int>, t: Throwable) {
+ Toast.makeText(
+ activity, t.toString(), Toast.LENGTH_LONG
+ ).show();
+ }
+ })
+ }
+ else{
+ confirmPassError.isVisible=true
+ confirmPassError.text="Lozinke se ne podudaraju."
+ confirmPassError.setTextColor(Color.RED)
+ }
+ }
+ }
+
+
+
+
}
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
index d6e345b..23de46e 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
@@ -9,6 +9,7 @@ import android.widget.Button
import androidx.core.content.ContextCompat.startActivity
import androidx.fragment.app.Fragment
import com.exam.DBHelper
+import com.example.brzodolokacije.Activities.ActivityChangePassword
import com.example.brzodolokacije.Activities.ActivityChangeUserData
import com.example.brzodolokacije.Activities.ActivityForgottenPassword
import com.example.brzodolokacije.Activities.ActivityLoginRegister
@@ -19,6 +20,7 @@ import com.example.brzodolokacije.Services.SharedPreferencesHelper
class FragmentMyProfileInfo : Fragment() {
private lateinit var logout:Button
private lateinit var changeAccount:Button
+ private lateinit var changePassword:Button
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -29,6 +31,7 @@ class FragmentMyProfileInfo : Fragment() {
logout=view.findViewById<View>(R.id.buttonLogOut) as Button
changeAccount=view.findViewById(R.id.changeAccountData)
+ changePassword=view.findViewById(R.id.ChangePassword)
logout.setOnClickListener{
logOut()
@@ -38,6 +41,10 @@ class FragmentMyProfileInfo : Fragment() {
val intent = Intent (getActivity(), ActivityChangeUserData::class.java)
getActivity()?.startActivity(intent)
}
+ changePassword.setOnClickListener {
+ val intent = Intent (getActivity(), ActivityChangePassword::class.java)
+ getActivity()?.startActivity(intent)
+ }
return view
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
index 19b1bb5..960c56d 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
@@ -121,4 +121,8 @@ interface IBackendApi {
@GET("/api/user/{newName}/changeMyName")
fun changeMyName(@Header("Authorization") authHeader:String,@Path("newName") newName:String):Call<Boolean>
+
+ @POST("/api/user/changePass")
+ fun changePass(@Header("Authorization") authHeader:String):Call<Int>
+
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml
index a7a1d5f..dc8243e 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_change_password.xml
@@ -154,7 +154,6 @@
android:hint="Unesi novu lozinku"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/changeDataNewPasswordConfirmInputt" />