aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbranislav.radivojevic <wafflemynxyt@gmail.com>2022-10-28 15:58:46 +0200
committerbranislav.radivojevic <wafflemynxyt@gmail.com>2022-10-28 15:58:46 +0200
commitac90f269b3658f8273a942a0d760fcd2e158a3d6 (patch)
treebc2184421ef741e34b6fe570100a2b837bc0f16f
parent174a2de4261dc2f4ea89e20a661a6a69475ed45a (diff)
parentd94e5ee97a20b0ad6ee1df5f9fe5574750f25c65 (diff)
Merge branch 'develop' of http://gitlab.pmf.kg.ac.rs/BrzoDoLokacije2022/odyssey/brzodolokacije into develop
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt44
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt44
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt4
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt33
4 files changed, 107 insertions, 18 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
index d47a16e..ab6794c 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
@@ -10,7 +10,13 @@ import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
+import com.example.brzodolokacije.Interfaces.IAuthApi
+import com.example.brzodolokacije.Models.Auth.Login
import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import retrofit2.Call
+import retrofit2.Response
class FragmentLogin : Fragment() {
@@ -60,15 +66,35 @@ class FragmentLogin : Fragment() {
}
if(!emailString.isEmpty() && !passwordString.isEmpty()) {
-
- //proveri da li postoji u bazi
-
- //UPIT BAZI - ako postoji - idi na pocetnu stranu za logovanog
-
-
- //UPIT BAZI - ako ne postoji ili je pogresan unos - ispisi poruku
-
- //DODATI da li postoji korisnicko ime i da li je tacna lozinka
+ var loginData= Login(emailString,passwordString)
+ val authApi= RetrofitHelper.getInstance().create(IAuthApi::class.java)
+ val request=authApi.login(loginData)
+
+ request.enqueue(object : retrofit2.Callback<String?> {
+ override fun onResponse(call: Call<String?>, response: Response<String?>) {
+ if(response.isSuccessful()){
+ val token=response.body().toString()
+ Toast.makeText(
+ activity, token, Toast.LENGTH_LONG
+ ).show();
+ //TODO(navigate to main page)
+ SharedPreferencesHelper.addValue("jwt",token,activity!!)
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(
+ activity, response.errorBody()!!.string(), Toast.LENGTH_LONG
+ ).show();
+ }
+
+
+ }
+
+ override fun onFailure(call: Call<String?>, t: Throwable) {
+ Toast.makeText(
+ activity, "Greska, pokusajte ponovo.", Toast.LENGTH_LONG
+ ).show();
+ }
+ })
Toast.makeText(
activity, "Korisnik sa unetim podacima nije pronađen. " + "\n" +
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt
index 05348a2..4843675 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt
@@ -1,7 +1,9 @@
package com.example.brzodolokacije.Fragments
+import android.graphics.BitmapFactory
import android.graphics.Color
import android.os.Bundle
+import android.util.Base64
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
@@ -9,7 +11,14 @@ import android.view.ViewGroup
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
+import com.example.brzodolokacije.Interfaces.IAuthApi
+import com.example.brzodolokacije.Models.Auth.Register
import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import okhttp3.ResponseBody
+import retrofit2.Call
+import retrofit2.Response
+import javax.security.auth.callback.Callback
class FragmentRegister : Fragment() {
// TODO: Rename and change types of parameters
@@ -68,16 +77,37 @@ class FragmentRegister : Fragment() {
}
if(!emailString.isEmpty() && !passwordString.isEmpty() && !nameString.isEmpty() && !usernameString.isEmpty()) {
+ var registerData=Register(nameString,usernameString,emailString,passwordString)
- //proveri da li postoji u bazi
+ val authApi=RetrofitHelper.getInstance().create(IAuthApi::class.java)
+
+ val request=authApi.register(registerData)
+
+ request.enqueue(object : retrofit2.Callback<ResponseBody?> {
+ override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) {
+ if(response.isSuccessful()){
+ Toast.makeText(
+ activity, "Uspesna registracija. Verifikujte email. TODO(navigate to login)", Toast.LENGTH_LONG
+ ).show();
+ //TODO(navigate to login)
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(
+ activity, response.errorBody()!!.string(), Toast.LENGTH_LONG
+ ).show();
+ }
+
+
+ }
+
+ override fun onFailure(call: Call<ResponseBody?>, t: Throwable) {
+ Toast.makeText(
+ activity, "Greska, pokusajte ponovo.", Toast.LENGTH_LONG
+ ).show();
+ }
+ })
- //UPIT BAZI - ako postoji - greska korisnik je registrovan
- Toast.makeText(
- activity, "Korisnik sa unetim podacima već postoji. " + "\n" +
- "Da li želite da se prijavite?", Toast.LENGTH_LONG
- ).show();
- //UPIT BAZI - ako ne postoji dodaj u bazu
//***DODATI broj karaktera lozinke, provera da li je email sa @ i .com
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
index 6ff3899..bd430a8 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
@@ -2,8 +2,8 @@ package com.example.brzodolokacije.Interfaces
import com.example.brzodolokacije.Models.Auth.Login
import com.example.brzodolokacije.Models.Auth.Register
+import okhttp3.ResponseBody
import retrofit2.Call
-import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.POST
@@ -11,5 +11,5 @@ interface IAuthApi {
@POST("/api/auth/login")
fun login(@Body obj:Login): Call<String>
@POST("/api/auth/register")
- fun register(@Body obj:Register):Call<Boolean>
+ fun register(@Body obj:Register):Call<ResponseBody>
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt
new file mode 100644
index 0000000..83e88be
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt
@@ -0,0 +1,33 @@
+package com.example.brzodolokacije.Services
+
+import android.app.Activity
+import android.content.Context
+import android.content.SharedPreferences
+import android.content.SharedPreferences.Editor
+import androidx.fragment.app.FragmentActivity
+
+object SharedPreferencesHelper {
+ val prefName:String="OdysseyPreferences"
+
+ fun getValue(key:String,act: FragmentActivity):String?{
+ var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE)
+ return pref.getString(key,null)
+ }
+ fun addValue(key:String,value:String,act:FragmentActivity):Boolean{
+ var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE)
+ var editor:Editor=pref.edit()
+ editor.putString(key,value)
+ return editor.commit()
+ }
+ fun getValue(key:String,act: Activity):String?{
+ var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE)
+ return pref.getString(key,null)
+ }
+ fun addValue(key:String,value:String,act:Activity):Boolean{
+ var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE)
+ var editor:Editor=pref.edit()
+ editor.putString(key,value)
+ return editor.commit()
+ }
+
+} \ No newline at end of file