Commit de345f3b authored by Alfansyah Fadlian's avatar Alfansyah Fadlian

fixed layout with state

parents 53410090 d365a966
......@@ -188,7 +188,8 @@ public class FormProductActivity extends AppCompatActivity {
HashSet<String> set = new HashSet<>();
List<String> str = new ArrayList<>();
categoryModels = new ArrayList<>();
if (productModelsIntent == null){
Log.i("GET_CATEGORY", "setSpinner: "+utils.convertGson(productModelsIntent));
if (productModelsIntent.getCategoryProduct() == 0){
str.add("SELECT CATEGORY");
}else{
str.add(getCategoryById(productModelsIntent.getIdProduct()));
......@@ -337,11 +338,11 @@ public class FormProductActivity extends AppCompatActivity {
}
private String getCategoryById(int s) {
CategoryServise categoryServise = client.Client(CategoryServise.class);
categoryServise.getCategoryId(s).enqueue(new Callback<DataResponse<CategoryModels>>() {
@Override
public void onResponse(Call<DataResponse<CategoryModels>> call, Response<DataResponse<CategoryModels>> response) {
Log.i("ER", "onResponse: "+utils.convertGson(response.body()));
categoryName = response.body().getData().getNameCategory();
}
......
......@@ -32,16 +32,18 @@ import com.yono.messeripos.utils.Utils;
public class LoginActivity extends AppCompatActivity {
TextInputEditText username, password;
MaterialButton btnLogin,btnRegister;
MainViewModels mainViewModels;
ProgressBar progressBar;
SharedPreferences sharedPreferences;
Utils utils = new Utils();
//State
LoginState loginState;
RegisterState registerState;
MaterialButton btnSignin;
ConstraintLayout loginSheetLayout;
BottomSheetBehavior sheetBehavior;
MaterialButton btnSignup, btnSignIn;
ConstraintLayout loginSheetLayout, registerSheetLayout;
int height, width;
ImageButton closeBtn;
......@@ -60,13 +62,38 @@ public class LoginActivity extends AppCompatActivity {
mainViewModels = ViewModelProviders.of(this).get(MainViewModels.class);
// bindUI
btnSignin = findViewById(R.id.signInButtonDashboardLogin);
btnSignIn = findViewById(R.id.signInButtonDashboardLogin);
btnSignup = findViewById(R.id.signUpButtonDashboardLogin);
// bindUI
// get window height
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
height = displayMetrics.heightPixels;
width = displayMetrics.widthPixels;
// //button on click to form register
// btnSignup.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// if (sheetBehavior2.getState() != BottomSheetBehavior.STATE_EXPANDED) {
// sheetBehavior2.setState(BottomSheetBehavior.STATE_EXPANDED);
// registerSheetLayout.setMaxHeight(height - 100);
// } else {
// sheetBehavior2.setState(BottomSheetBehavior.STATE_COLLAPSED);
// }
// }
// });
// session login
sharedPreferences = getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
// button login on click
btnSignin.setOnClickListener(new View.OnClickListener() {
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loginState = new LoginState(LoginActivity.this, mainViewModels);
......@@ -74,5 +101,14 @@ public class LoginActivity extends AppCompatActivity {
loginState.show(getSupportFragmentManager(), loginState.getTag());
}
});
btnSignup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
registerState = new RegisterState(LoginActivity.this,mainViewModels);
registerState.setCancelable(false);
registerState.show(getSupportFragmentManager(),registerState.getTag());
}
});
}
}
......@@ -116,7 +116,8 @@ public class LoginState extends BottomSheetDialogFragment {
loginButton.setEnabled(false);
closeBtn.setEnabled(false);
mainViewModels.checkLogin(new UsersModels(username.getText().toString(),password.getText().toString())).observe((LifecycleOwner) context, new Observer<DataResponse<UsersModels>>() {
mainViewModels.checkLogin(new UsersModels(username.getText().toString(),
password.getText().toString())).observe((LifecycleOwner) context, new Observer<DataResponse<UsersModels>>() {
@Override
public void onChanged(DataResponse<UsersModels> usersModelsDataResponse) {
Log.d("Status", usersModelsDataResponse.getMessageData());
......
package com.yono.messeripos;
import android.app.Dialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.textfield.TextInputEditText;
import com.yono.messeripos.models.MainViewModels;
import com.yono.messeripos.utils.Utils;
public class RegisterState extends BottomSheetDialogFragment {
private static final String TAG = "RegisterState";
BottomSheetBehavior sheetBehavior2;
BottomSheetDialog sheetDialog2;
RelativeLayout registerLayout;
TextInputEditText username, email, password, repassword;
MaterialButton registerButton;
ImageView closeBtn;
Context context;
MainViewModels mainViewModels;
SharedPreferences sharedPreferences;
Utils utils;
public RegisterState(Context context, MainViewModels mainViewModels) {
this.context = context;
this.mainViewModels = mainViewModels;
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
sheetDialog2 = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
// inflating layout
View view = View.inflate(getContext(), R.layout.register_form, null);
// bindUI
registerLayout = view.findViewById(R.id.RegisterLayout);
username = view.findViewById(R.id.ETUsernameReg);
email = view.findViewById(R.id.ETEmailReg);
password = view.findViewById(R.id.ETPasswordReg);
repassword = view.findViewById(R.id.ETRePasswordReg);
registerButton = view.findViewById(R.id.MBRegister);
closeBtn = view.findViewById(R.id.ivclose);
// create session
sharedPreferences = context.getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
// utils
utils = new Utils();
sheetDialog2.setContentView(view);
sheetBehavior2 = BottomSheetBehavior.from((View) (view.getParent()));
// get Window size
int getHeight = Resources.getSystem().getDisplayMetrics().heightPixels;
int setHeight = getHeight - (getHeight * 5) / 100;
// set max height
sheetBehavior2.setPeekHeight(setHeight);
registerLayout.setMinimumHeight(setHeight);
Log.d(TAG, "onCreateDialog: " + sheetBehavior2.getState());
// loginButton.setOnClickListener(view1 -> {
// if (sheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) loginAuth(view1);
// });
// close btn is clicked
closeBtn.setOnClickListener(view12 -> {
Log.d(TAG, "onCreateDialog: " + sheetBehavior2.getState());
sheetDialog2.dismiss();
});
return sheetDialog2;
}
}
......@@ -12,6 +12,10 @@ public class UsersModels {
@SerializedName("password")
private String passwordUsers;
public UsersModels(String usernameUsers,String passwordUsers) {
this.usernameUsers = usernameUsers;
this.passwordUsers = passwordUsers;
}
public UsersModels(String usernameUsers, String emailUsers, String passwordUsers) {
this.usernameUsers = usernameUsers;
......
<?xml version="1.0" encoding="utf-8"?>
<!--<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- xmlns:app="http://schemas.android.com/apk/res-auto"-->
<!-- xmlns:tools="http://schemas.android.com/tools"-->
<!-- android:background="@drawable/gradient"-->
<!-- xmlns:android="http://schemas.android.com/apk/res/android"-->
<!-- tools:context=".LoginActivity">-->
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
......@@ -70,4 +62,3 @@
</layout>
<!--</androidx.coordinatorlayout.widget.CoordinatorLayout>-->
......@@ -7,69 +7,78 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/LoginLayout"
android:padding="20dp"
style="@style/Widget.Rounded.BottomSheet"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:padding="20dp">
<ImageButton
android:id="@+id/closeBtnLogin"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_baseline_plus_24"
android:scaleType="centerInside"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:padding="20dp"
android:backgroundTint="@android:color/transparent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
/>
android:padding="20dp"
android:scaleType="centerInside"
android:src="@drawable/ic_close" />
<ImageView
android:id="@+id/messerLogoInLogin"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/ic_messer_primary"
android:layout_below="@id/closeBtnLogin"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>
android:layout_marginTop="20dp"
android:src="@drawable/ic_messer_primary" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/messerLogoInLogin"
android:paddingLeft="12dp"
android:text="Login Your Account"
android:textColor="@color/colorPrimary"
android:textFontWeight="600"
android:textSize="16sp" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/formUsernameLogin"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
android:layout_below="@id/messerLogoInLogin"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
android:layout_below="@id/tvLogin"
android:hint="@string/username">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/ETUsernameLogin"
android:layout_width="match_parent"
android:inputType="text"
android:imeOptions="actionNext"
android:layout_height="wrap_content"
/>
android:imeOptions="actionNext"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/FormPasswordLogin"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
android:layout_below="@id/formUsernameLogin"
android:layout_marginTop="20dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
android:hint="@string/password">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/ETPasswordLogin"
android:layout_width="match_parent"
android:inputType="textPassword"
android:imeOptions="actionDone|actionGo"
android:layout_height="wrap_content"
/>
android:imeOptions="actionDone|actionGo"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
......@@ -77,29 +86,29 @@
android:id="@+id/CBRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Remember Me"
android:textColor="@color/colorPrimary"
android:layout_below="@id/FormPasswordLogin"
android:layout_marginVertical="10dp"
app:useMaterialThemeColors="true"/>
android:text="Remember Me"
android:textColor="@color/colorPrimary"
app:useMaterialThemeColors="true" />
<com.google.android.material.button.MaterialButton
android:id="@+id/SignInButtonInLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/CBRememberMe"
android:text="Sign In"
android:layout_below="@id/CBRememberMe"
android:padding="20dp"/>
android:padding="20dp"
android:text="Sign In"
app:layout_constraintTop_toBottomOf="@id/CBRememberMe" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:layout_below="@id/SignInButtonInLogin"
android:layout_marginTop="10dp"
android:layout_alignParentEnd="true"
android:textColor="@color/colorPrimary"/>
android:layout_marginTop="10dp"
android:text="Forgot Password?"
android:textColor="@color/colorPrimary" />
</RelativeLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ConstraintRegisterLayout"
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"
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:paddingTop="10dp"
android:orientation="vertical"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
style="@style/Widget.Rounded.BottomSheet">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/RegisterLayout"
android:padding="20dp"
style="@style/Widget.Rounded.BottomSheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
android:layout_height="match_parent">
<ImageButton
android:id="@+id/ivclose"
......@@ -33,7 +22,7 @@
android:padding="10dp"
android:src="@drawable/ic_close"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="MissingConstraints" />
/>
<ImageView
......@@ -41,158 +30,118 @@
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/ic_messer_primary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivclose"
app:layout_constraintVertical_bias="0.0" />
android:layout_below="@+id/ivclose"
android:layout_centerHorizontal="true" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvLoginToAcc"
android:id="@+id/tvCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Create Your Account"
android:textColor="@color/colorPrimary"
android:textFontWeight="600"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.116"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivMeserRegister"
app:layout_constraintVertical_bias="0.039" />
<com.google.android.material.card.MaterialCardView
android:id="@+id/cvLogin"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginHorizontal="30dp"
android:backgroundTint="@android:color/transparent"
app:cardElevation="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvLoginToAcc"
app:layout_constraintVertical_bias="0.0">
android:layout_below="@id/ivMeserRegister"
android:paddingLeft="12dp"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tfUsername"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:id="@+id/formUsernameReg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:hint="@string/username"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
android:layout_below="@id/tvCreate"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiUsername"
android:id="@+id/ETUsernameReg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionNext"
android:inputType="text"
android:textColor="@color/colorPrimary" />
android:imeOptions="actionNext"
android:layout_height="wrap_content"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tfEmail"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:id="@+id/formEmailReg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:hint="@string/email"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tfUsername"
app:layout_constraintVertical_bias="0.0">
android:layout_marginTop="5dp"
android:layout_below="@id/formUsernameReg"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiEmail"
android:id="@+id/ETEmailReg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionGo"
android:inputType="textEmailAddress"
android:textColor="@color/colorPrimary" />
android:imeOptions="actionNext"
android:layout_height="wrap_content"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tfPassword"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:id="@+id/FormPasswordReg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:hint="@string/password"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tfEmail"
app:layout_constraintVertical_bias="0.0">
android:layout_below="@id/formEmailReg"
android:layout_marginTop="5dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiPassword"
android:id="@+id/ETPasswordReg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionGo"
android:inputType="textPassword"
android:textColor="@color/colorPrimary" />
android:imeOptions="actionDone|actionGo"
android:layout_height="wrap_content"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tfRePassword"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:id="@+id/FormRePasswordReg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:hint="@string/password"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tfPassword"
app:layout_constraintVertical_bias="0.0">
android:hint="@string/password_Confirmation"
android:layout_below="@id/FormPasswordReg"
android:layout_marginTop="5dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiRePassword"
android:id="@+id/ETRePasswordReg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:imeOptions="actionGo"
android:inputType="textPassword"
android:textColor="@color/colorPrimary" />
android:imeOptions="actionDone|actionGo"
android:layout_height="wrap_content"
/>
</com.google.android.material.textfield.TextInputLayout>
<CheckBox
android:id="@+id/cbAgree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I Agree to terms of use"
android:text="I Agree of terms of use"
android:textColor="@color/colorPrimary"
android:fontFamily="@font/poppins_medium"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tfRePassword"
app:useMaterialThemeColors="true" />
android:layout_below="@id/FormRePasswordReg"
android:layout_marginVertical="10dp"
app:useMaterialThemeColors="true"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnRegister"
android:id="@+id/MBRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:backgroundTint="@color/colorPrimary"
android:imeOptions="actionGo"
android:paddingVertical="15dp"
android:text="create"
android:textColor="@color/colorWhite"
android:textFontWeight="600"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbAgree"
app:layout_constraintVertical_bias="0.01999998" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
android:text="Create Account"
android:layout_below="@id/cbAgree"
android:padding="20dp"/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
\ No newline at end of file
......@@ -29,6 +29,7 @@
<string name="open_cart">Open Cart</string>
<string name="text_new_category">Add New Category</string>
<string name="email">Email</string>
<string name="password_Confirmation">Password Confirmation</string>
<string-array name="planets_array">
<item>Mercury</item>
......
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