Parcourir la source

Implements login process when user is login starting Main Activity else Login Activity .

pull/3/head
Mushegh Sahakyan il y a 4 ans
Parent
révision
e28720b888
4 fichiers modifiés avec 23 ajouts et 5 suppressions
  1. +1
    -1
      ui/src/main/java/com/wireguard/android/activity/LoginActivity.java
  2. +11
    -1
      ui/src/main/java/com/wireguard/android/activity/MainActivity.java
  3. +7
    -1
      ui/src/main/java/com/wireguard/android/repository/DataRepository.java
  4. +4
    -2
      ui/src/main/java/com/wireguard/android/viewmodel/LoginViewModel.java

+ 1
- 1
ui/src/main/java/com/wireguard/android/activity/LoginActivity.java Voir le fichier

@@ -49,7 +49,7 @@ public class LoginActivity extends AppCompatActivity {
final String inputPassword = password.getText().toString();
data.put("username",username);
data.put("password",inputPassword);
loginViewModel.login(data).observe(this, new Observer<StatusResource<User>>() {
loginViewModel.login(data,this).observe(this, new Observer<StatusResource<User>>() {
@Override public void onChanged(final StatusResource<User> userStatusResource) {
switch (userStatusResource.status){
case SUCCESS:


+ 11
- 1
ui/src/main/java/com/wireguard/android/activity/MainActivity.java Voir le fichier

@@ -2,15 +2,25 @@ package com.wireguard.android.activity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;

import com.wireguard.android.R;
import com.wireguard.android.util.UserStore;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if("-1".equals(UserStore.getInstance(this).getUserResponse())) {
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
finish();
}
else
{
setContentView(R.layout.activity_main);
}
}
}

+ 7
- 1
ui/src/main/java/com/wireguard/android/repository/DataRepository.java Voir le fichier

@@ -1,10 +1,14 @@
package com.wireguard.android.repository;

import android.content.Context;

import com.wireguard.android.api.network.ClientApi;
import com.wireguard.android.api.network.ClientService;
import com.wireguard.android.api.network.NetworkBoundStatusResource;
import com.wireguard.android.model.User;
import com.wireguard.android.resource.StatusResource;
import com.wireguard.android.util.UserStore;

import java.util.HashMap;
import androidx.lifecycle.MutableLiveData;
import retrofit2.Call;
@@ -35,13 +39,15 @@ public class DataRepository {
return instance;
}

public MutableLiveData<StatusResource<User>> login(final HashMap<String, String> params){
public MutableLiveData<StatusResource<User>> login(final HashMap<String, String> params , Context context){
return new NetworkBoundStatusResource<User>(){

@Override protected void createCall() {
clientApi.login(params).enqueue(new Callback<User>() {
@Override public void onResponse(final Call<User> call, final Response<User> response) {
if(response.isSuccessful()) {
String token = response.body().getToken();
UserStore.getInstance(context).setUserResponse(token);
setMutableLiveData(StatusResource.success());
}
else {


+ 4
- 2
ui/src/main/java/com/wireguard/android/viewmodel/LoginViewModel.java Voir le fichier

@@ -1,5 +1,7 @@
package com.wireguard.android.viewmodel;

import android.content.Context;

import com.wireguard.android.model.User;
import com.wireguard.android.repository.DataRepository;
import com.wireguard.android.resource.StatusResource;
@@ -10,7 +12,7 @@ import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModel;

public class LoginViewModel extends ViewModel {
public LiveData<StatusResource<User>> login(HashMap<String,String> params){
return DataRepository.getRepositoryInstance().login(params);
public LiveData<StatusResource<User>> login(HashMap<String,String> params, Context context){
return DataRepository.getRepositoryInstance().login(params,context);
}
}

Chargement…
Annuler
Enregistrer