Commit f7213352 authored by iman Fauzi's avatar iman Fauzi

Merge branch 'dev' into cart

parents eb69e701 6dfd9405
package com.yono.messeripos;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.textfield.TextInputEditText;
import com.google.gson.Gson;
import com.yono.messeripos.models.MainViewModels;
import com.yono.messeripos.models.UsersModels;
import com.yono.messeripos.response.DataResponse;
public class LoginActivity extends AppCompatActivity {
TextInputEditText username, password;
MaterialButton btnLogin;
MainViewModels mainViewModels;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_m);
username = findViewById(R.id.tiUsername);
password = findViewById(R.id.tiPassword);
btnLogin = findViewById(R.id.btnLogin);
mainViewModels = ViewModelProviders.of(this).get(MainViewModels.class);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (TextUtils.isEmpty(username.getText().toString()) &&
TextUtils.isEmpty(password.getText().toString())){
username.setError("This field can't empty");
password.setError("This field can't empty");
}else if (TextUtils.isEmpty(username.getText().toString())){
username.setError("This field can't empty");
}else if (TextUtils.isEmpty(password.getText().toString())){
password.setError("This field can't empty");
}else{
mainViewModels.checkLogin(new UsersModels(username.getText().toString(),
password.getText().toString())).observe(LoginActivity.this, new Observer<DataResponse<UsersModels>>() {
@Override
public void onChanged(DataResponse<UsersModels> usersModelsDataResponse) {
if (usersModelsDataResponse.getMessageData() != "Login Failed"){
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
// ADD ELSE UNTUK LOGIN GAGAL
}
});
}
}
});
}
}
\ No newline at end of file
package com.yono.messeripos.api.service;
import com.yono.messeripos.api.ApiHelper;
import com.yono.messeripos.models.UsersModels;
import com.yono.messeripos.response.DataResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface UsersService {
@POST(ApiHelper.VERSI_API_1+"login")
Call<DataResponse<UsersModels>> checkLogin(@Body UsersModels usersModels);
}
......@@ -9,6 +9,7 @@ import com.google.gson.Gson;
import com.yono.messeripos.api.client.Client;
import com.yono.messeripos.api.service.CategoryServise;
import com.yono.messeripos.api.service.ProductService;
import com.yono.messeripos.api.service.UsersService;
import com.yono.messeripos.response.DataResponse;
import java.util.ArrayList;
......@@ -21,6 +22,7 @@ import retrofit2.Response;
public class MainViewModels extends ViewModel {
MutableLiveData<DataResponse<List<ProductModels<CategoryModels>>>> productList;
MutableLiveData<DataResponse<List<CategoryModels>>> categoryList;
MutableLiveData<DataResponse<UsersModels>> usersLogin;
Client client = new Client();
......@@ -39,6 +41,32 @@ public class MainViewModels extends ViewModel {
return categoryList;
}
public MutableLiveData<DataResponse<UsersModels>> checkLogin(UsersModels usersModels){
usersLogin = new MutableLiveData<>();
PeriksaLogin(usersModels);
return usersLogin;
}
private void PeriksaLogin(UsersModels usersModels) {
UsersService usersService = client.Client(UsersService.class);
usersService.checkLogin(usersModels).enqueue(new Callback<DataResponse<UsersModels>>() {
@Override
public void onResponse(Call<DataResponse<UsersModels>> call, Response<DataResponse<UsersModels>> response) {
if (response.body() != null){
usersLogin.setValue(response.body());
}
String js = new Gson().toJson(response.body());
Log.d("Periksa login", "Response "+js);
}
@Override
public void onFailure(Call<DataResponse<UsersModels>> call, Throwable t) {
Log.e("Error Login", "Response "+t.getMessage());
}
});
}
private void getProductList() {
ProductService productService = client.Client(ProductService.class);
......
......@@ -9,6 +9,11 @@ public class UsersModels {
@SerializedName("password")
private String passwordUsers;
public UsersModels(String usernameUsers, String passwordUsers) {
this.usernameUsers = usernameUsers;
this.passwordUsers = passwordUsers;
}
public String getUsernameUsers() {
return usernameUsers;
}
......
......@@ -18,6 +18,12 @@
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:actionBarStyle">@style/ThemeActionBar</item>
<item name="android:windowActionBarOverlay">false</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/ThemeActionBar</item>
</style>
<style name="ThemeActionBar" parent="Widget.MaterialComponents.Light.ActionBar.Solid">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment