Commit e7a1cd85 authored by Ahmad Abi Mulya's avatar Ahmad Abi Mulya

create alert dialog template

parent bc11d54b
......@@ -2,6 +2,7 @@ package com.example.yourcashiertest.activities;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
......@@ -42,7 +43,7 @@ public class CartActivity extends AppCompatActivity {
CartViewModel cartViewModel;
OrderDetailVM orderDetailVM;
List<Cart> cartList = new ArrayList<>();
public static List<Cart> cartList = new ArrayList<>();
@SuppressLint("SetTextI18n")
@Override
......@@ -130,7 +131,7 @@ public class CartActivity extends AppCompatActivity {
getOrderList();
cartViewModel.clear();
finish();
startActivity(new Intent(CartActivity.this, OrderActivity.class));
startActivity(new Intent(CartActivity.this, MainActivity.class));
Toast.makeText(getApplicationContext(), "Please Continue Payment", Toast.LENGTH_LONG).show();
}
......
......@@ -39,7 +39,7 @@ public class LoginActivity extends AppCompatActivity {
private PrefManager prefManager;
UserViewModel viewModel;
InetChecker network = new InetChecker();
ViewUtil utils;
ViewUtil utils = new ViewUtil();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -102,7 +102,7 @@ public class LoginActivity extends AppCompatActivity {
ResponseLogin responseLogin = new Gson().fromJson(errorJson, ResponseLogin.class);
final View customLayout = getLayoutInflater()
.inflate(R.layout.alert_dialog, null);
loginFailed(customLayout, responseLogin.getMessages());
utils.Alert(LoginActivity.this, false, customLayout, "ERROR", responseLogin.getMessages(), "Try Again");
// Toast.makeText(getApplicationContext(), responseLogin.getMessages(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
......@@ -125,24 +125,4 @@ public class LoginActivity extends AppCompatActivity {
startActivity(new Intent(LoginActivity.this, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
finish();
}
public void loginFailed(View customLayout, String message){
utils = new ViewUtil(customLayout);
utils.dialog(LoginActivity.this, false, customLayout, "ERROR",
message,
"Close")
.show();
utils.setListener(new ViewUtil.DialogListener() {
@Override
public void onClickDisimiss(AlertDialog alertDialog) {
alertDialog.dismiss();
}
@Override
public void onClickLink(AlertDialog alertDialog) {
}
});
}
}
\ No newline at end of file
......@@ -96,6 +96,8 @@ public class OrderActivity extends AppCompatActivity {
if (!isDialogClose) {
viewModel.clearTransaksi();
}
finish();
startActivity(new Intent(OrderActivity.this, MainActivity.class));
}).setNegativeButton("No", (dialogInterface, i) -> dialogInterface.cancel());
AlertDialog alertDialog = builder.create();
......
......@@ -110,7 +110,7 @@ public class PaymentActivity extends AppCompatActivity {
void updateDataProduct(){
List<Product> products = DBHelper.getAllProduct(getApplicationContext());
List<Cart> carts = DBHelper.getAllCart(getApplicationContext());
List<Cart> carts = CartActivity.cartList;
for (int c = 0; c < carts.size(); c++){
for (int p = 0; p < products.size(); p++){
......
......@@ -8,16 +8,29 @@ import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.example.yourcashiertest.R;
import com.example.yourcashiertest.clients.ApiClient;
import com.example.yourcashiertest.databinding.ActivityRegisterBinding;
import com.example.yourcashiertest.models.Login;
import com.example.yourcashiertest.models.ResponseLogin;
import com.example.yourcashiertest.models.ResponseUser;
import com.example.yourcashiertest.models.User;
import com.example.yourcashiertest.services.UserService;
import com.example.yourcashiertest.utils.ViewUtil;
import com.example.yourcashiertest.viewmodels.UserViewModel;
import com.google.gson.Gson;
import java.io.IOException;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class RegisterActivity extends AppCompatActivity {
WebView wbCompany;
......@@ -25,8 +38,9 @@ public class RegisterActivity extends AppCompatActivity {
private static final String urLCompany = "http://multidaya.id/";
ActivityRegisterBinding binding;
User user;
InetChecker network = new InetChecker();
UserViewModel viewModel;
ViewUtil utils;
ViewUtil utils = new ViewUtil();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -44,18 +58,67 @@ public class RegisterActivity extends AppCompatActivity {
}else if(!binding.etPassword.getText().toString().equals(binding.etConfirmPassword.getText().toString())){
binding.etConfirmPassword.setError("Password doesn't match!");
}else {
if (!network.isNetworkConnected(getApplicationContext())) {
Toast.makeText(getApplicationContext(), "Please connect your device to Internet", Toast.LENGTH_SHORT).show();
}else{
binding.setLoading(true);
launchMain();
}
// user.setEmail(binding.etEmail.getText().toString());
// user.setFullName(binding.etUsername.getText().toString());
// user.setPassword(binding.etPassword.getText().toString());
// user.setPhoneNumber(binding.etPhoneNumber.getText().toString());
// viewModel.registrasi(user);
// final View customLayout = getLayoutInflater()
// .inflate(R.layout.alert_dialog, null);
// Alert2(RegisterActivity.this, false, customLayout, "ERROR", "TEST" ,"Verify", "Back");
}
});
}
public void launchMain() {
User user = new User();
user.setEmail(binding.etEmail.getText().toString());
user.setFullName(binding.etUsername.getText().toString());
user.setPassword(binding.etPassword.getText().toString());
user.setPhoneNumber(binding.etPhoneNumber.getText().toString());
viewModel.registrasi(user);
// viewModel.registrasi(user);
requestRegister(user);
}
public void requestRegister(User user) {
ApiClient.client(UserService.class, UserViewModel.BASE_URL).registerUser(user).enqueue(new Callback<ResponseUser>() {
@Override
public void onResponse(Call<ResponseUser> call, Response<ResponseUser> response) {
if (response.code() < 400) {
final View customLayout = getLayoutInflater()
.inflate(R.layout.alert_dialog, null);
Alert2(RegisterActivity.this, false, customLayout, "REGISTER SUCCESS", getString(R.string.register_success) ,"Verify", "Back");
startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
finish();
}else {
String errorJson = null;
try {
errorJson = response.errorBody().string();
Log.d("response", "" + errorJson);
ResponseUser responseUser = new Gson().fromJson(errorJson, ResponseUser.class);
final View customLayout = getLayoutInflater()
.inflate(R.layout.alert_dialog, null);
utils.Alert(RegisterActivity.this, false, customLayout, "ERROR", responseUser.getMessages(), "Try Again");
// Toast.makeText(getApplicationContext(), responseLogin.getMessages(), Toast.LENGTH_LONG).show();
// startActivity(new Intent(getApplicationContext(), LoginActivity.class));
// finish();
} catch (IOException e) {
e.printStackTrace();
}
});
}
binding.setLoading(false);
}
@Override
public void onFailure(Call<ResponseUser> call, Throwable t) {
binding.setLoading(false);
Toast.makeText(getApplicationContext(), "Connection Time Out", Toast.LENGTH_LONG).show();
}
});
}
public void tvSignInHere(View view) {
startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
finish();
......@@ -64,4 +127,29 @@ public class RegisterActivity extends AppCompatActivity {
public void tvSK(View view) {
startActivity(new Intent(RegisterActivity.this, SkActivity.class));
}
public void Alert2(Context context, Boolean cancelable, View customlayout, String titles, String message,String ok, String dismiss){
utils = new ViewUtil(customlayout);
utils.dialog(context, cancelable, customlayout, titles,
message,
dismiss,
ok)
.show();
utils.setListener(new ViewUtil.DialogListener() {
@Override
public void onClickDisimiss(AlertDialog alertDialog) {
alertDialog.dismiss();
}
@Override
public void onClickLink(AlertDialog alertDialog) {
Intent pm = getPackageManager().getLaunchIntentForPackage("com.google.android.gm");
if (pm != null) {
startActivity(pm);
finish();
}
}
});
}
}
\ No newline at end of file
......@@ -8,8 +8,8 @@ public class ResponseUser{
@SerializedName("data")
private List<User> user;
@SerializedName("message")
private String message;
@SerializedName("messages")
private String messages;
@SerializedName("status")
private boolean status;
......@@ -22,12 +22,12 @@ public class ResponseUser{
return user;
}
public void setMessage(String message){
this.message = message;
public void setMessages(String messages){
this.messages = messages;
}
public String getMessage(){
return message;
public String getMessages(){
return messages;
}
public void setStatus(boolean status){
......
......@@ -23,7 +23,7 @@ public interface UserService {
@Headers("Content-Type: application/json")
@POST("v1/customer")
Call<User> registerUser(@Body User user);
Call<ResponseUser> registerUser(@Body User user);
// @Headers("Content-Type: application/json")
@POST("v1/login")
......
......@@ -2,6 +2,7 @@ package com.example.yourcashiertest.utils;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.TextView;
......@@ -9,11 +10,16 @@ import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import com.example.yourcashiertest.R;
import com.example.yourcashiertest.activities.LoginActivity;
import com.example.yourcashiertest.databinding.ActivityForgetPasswordBinding;
import com.google.android.material.snackbar.Snackbar;
import java.util.function.Function;
public class ViewUtil {
public ViewUtil(){};
public ViewUtil(View v){};
ViewUtil utils;
public static void showMessage(View view, String message) {
Snackbar.make(view, message, Snackbar.LENGTH_LONG).show();
}
......@@ -110,4 +116,24 @@ public class ViewUtil {
return dialog;
}
public void Alert(Context context, Boolean cancelable, View customlayout, String titles, String message, String dismiss){
utils = new ViewUtil(customlayout);
utils.dialog(context, cancelable, customlayout, titles,
message,
dismiss)
.show();
utils.setListener(new ViewUtil.DialogListener() {
@Override
public void onClickDisimiss(AlertDialog alertDialog) {
alertDialog.dismiss();
}
@Override
public void onClickLink(AlertDialog alertDialog) {
}
});
}
}
......@@ -30,19 +30,19 @@ public class UserViewModel extends ViewModel {
public MutableLiveData<List<User>> getListUser(){
return this.listUser;
}
public void registrasi(User user){
ApiClient.client(UserService.class, BASE_URL).registerUser(user)
.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
}
@Override
public void onFailure(Call<User> call, Throwable t) {
}
});
}
// public void registrasi(User user){
// ApiClient.client(UserService.class, BASE_URL).registerUser(user)
// .enqueue(new Callback<User>() {
// @Override
// public void onResponse(Call<User> call, Response<User> response) {
// }
//
// @Override
// public void onFailure(Call<User> call, Throwable t) {
//
// }
// });
// }
public void setListUser(){
......
......@@ -2,7 +2,13 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View"/>
<variable
name="loading"
type="boolean" />
</data>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
......@@ -179,6 +185,17 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSK" />
<ProgressBar
android:id="@+id/pgLoading"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:visibility="@{loading ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSK"
app:layout_constraintVertical_bias="0.346" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvDontHaveAnAccount"
android:layout_width="wrap_content"
......
......@@ -8,6 +8,7 @@
</string-array>
<!-- strings.xml -->
<string name="register_success">Thank you for registering Your Cashier. Please verify your Email before login your account</string>
<string name="burger_medi">Burger \nMedium</string>
<string name="some_id">$600.00</string>
<string name="cart">Cart</string>
......@@ -45,4 +46,5 @@
<string name="slide_3_title">FUTURE PAYMENT</string>
<string name="slide_3_desc">Integrated with easy and secure payments</string>
<string name="test">test</string>
</resources>
\ No newline at end of file
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