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