diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 357f575..88c9093 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -9,9 +9,10 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" + android:usesCleartextTraffic="true" android:theme="@style/AppTheme"> - + diff --git a/android/app/src/main/java/de/hft/geotracker/GeofenceService.kt b/android/app/src/main/java/de/hft/geotracker/GeofenceService.kt index 31320ae..c9faeb3 100644 --- a/android/app/src/main/java/de/hft/geotracker/GeofenceService.kt +++ b/android/app/src/main/java/de/hft/geotracker/GeofenceService.kt @@ -1,13 +1,11 @@ package de.hft.geotracker -import okhttp3.Authenticator import retrofit2.Call import retrofit2.http.* interface GeofenceService { @POST("/login") - fun login(@Query("user") user : String, - @Query("pw") password : String) : Call + fun login(@Body login_data : ValuesUserLogin) : Call diff --git a/android/app/src/main/java/de/hft/geotracker/Login.kt b/android/app/src/main/java/de/hft/geotracker/Login.kt index 153899f..30af167 100644 --- a/android/app/src/main/java/de/hft/geotracker/Login.kt +++ b/android/app/src/main/java/de/hft/geotracker/Login.kt @@ -4,21 +4,13 @@ import android.content.Intent import android.os.Bundle import androidx.fragment.app.Fragment import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import okhttp3.Authenticator -import okhttp3.OkHttpClient import retrofit2.Call import retrofit2.Callback import retrofit2.Response import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory -import retrofit2.http.Header -import retrofit2.http.Headers -import java.net.HttpRetryException /** * A simple [Fragment] subclass. @@ -28,18 +20,20 @@ class Login : AppCompatActivity() { lateinit var reg : TextView lateinit var service : GeofenceService lateinit var token : JWToken + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) val retrofit = Retrofit.Builder() - .baseUrl("http://localhost:5000") + .baseUrl("http://plesk.icaotix.de:5000") .addConverterFactory(GsonConverterFactory.create()) .build() service = retrofit.create(GeofenceService::class.java) login = findViewById(R.id.button_create_account) login.setOnClickListener { + intent = Intent(this, MainActivity::class.java) login() } reg = findViewById(R.id.button_register) @@ -54,29 +48,35 @@ class Login : AppCompatActivity() { } private fun login() { - var call= service.login("wito","tobias") + val name = findViewById(R.id.setting_input_username).text.toString() + val pswd = findViewById(R.id.input_password).text.toString() + var call= service.login(ValuesUserLogin(name, pswd)) - call.enqueue(object : Callback { - override fun onResponse(call: Call?, response: Response?) { + call.enqueue(object : Callback { + override fun onResponse(call: Call?, response: Response?) { if(response != null && response.isSuccessful) { + var headers = response.headers() + var authentication = headers.get("Authorization") - var headers = response.headers() - var authentication = headers.get("Authorization") + token = JWToken(authentication) + println(response.code()) + println(token.token) - token = JWToken(authentication) - println("Erfolg") + startActivity(intent) } else { - println("Fehler1") + if (response != null) { + println(response.code()) + Toast.makeText(this@Login, "Wrong Username or Password!", Toast.LENGTH_LONG).show() + } else { + println("Response is null") + } } } - override fun onFailure(call: Call?, t: Throwable?) { - println("Fehler2 ${t.toString()}") + override fun onFailure(call: Call?, t: Throwable?) { + println("Error: ${t.toString()}") } }) -// var token = call.execute().body() -// val intent = Intent(this, MainActivity::class.java) -// startActivity(intent) } } diff --git a/android/app/src/main/java/de/hft/geotracker/ValuesUserLogin.kt b/android/app/src/main/java/de/hft/geotracker/ValuesUserLogin.kt new file mode 100644 index 0000000..429b9b2 --- /dev/null +++ b/android/app/src/main/java/de/hft/geotracker/ValuesUserLogin.kt @@ -0,0 +1,12 @@ +package de.hft.geotracker + +import com.google.gson.annotations.SerializedName + +class ValuesUserLogin (name : String, pswd : String) { + + @SerializedName("username") + var username = name + @SerializedName("password") + var password = pswd + +} \ No newline at end of file