mirror of
https://github.com/Nezumi-2711/Foodify.git
synced 2026-09-22 13:38:41 +00:00
164 lines
6.4 KiB
Java
164 lines
6.4 KiB
Java
package com.capstone.foodify.Fragment;
|
|
|
|
import static com.capstone.foodify.Common.firebaseAppDistribution;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.fragment.app.Fragment;
|
|
|
|
import com.capstone.foodify.Activity.AccountAndProfileActivity;
|
|
import com.capstone.foodify.Activity.AddressManagerActivity;
|
|
import com.capstone.foodify.Activity.FavoriteFoodActivity;
|
|
import com.capstone.foodify.Activity.MainActivity;
|
|
import com.capstone.foodify.Activity.OrderActivity;
|
|
import com.capstone.foodify.Common;
|
|
import com.capstone.foodify.R;
|
|
import com.google.android.gms.tasks.OnCompleteListener;
|
|
import com.google.android.gms.tasks.Task;
|
|
import com.google.firebase.appdistribution.FirebaseAppDistribution;
|
|
import com.google.firebase.auth.FirebaseAuth;
|
|
import com.makeramen.roundedimageview.RoundedImageView;
|
|
import com.saadahmedsoft.popupdialog.PopupDialog;
|
|
import com.saadahmedsoft.popupdialog.Styles;
|
|
import com.saadahmedsoft.popupdialog.listener.OnDialogButtonClickListener;
|
|
import com.squareup.picasso.Picasso;
|
|
|
|
import io.paperdb.Paper;
|
|
|
|
public class ProfileFragment extends Fragment {
|
|
private static final String TAG = "ProfileFragment";
|
|
LinearLayout account_and_profile, manage_address, favorite_food, order_history, feed_back, log_out;
|
|
PopupDialog popupDialog;
|
|
TextView user_name;
|
|
RoundedImageView profile_avatar;
|
|
@Override
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
Bundle savedInstanceState) {
|
|
// Inflate the layout for this fragment
|
|
View rootView = inflater.inflate(R.layout.fragment_profile, container, false);
|
|
|
|
//Init component
|
|
initComponent(rootView);
|
|
|
|
popupDialog = PopupDialog.getInstance(getContext());
|
|
|
|
//Check status internet
|
|
if(Common.getConnectionType(requireContext()) == 0){
|
|
Common.showErrorInternetConnectionNotification(getActivity());
|
|
}
|
|
|
|
//Set image for user
|
|
if(Common.CURRENT_USER.getImageUrl().isEmpty()){
|
|
profile_avatar.setImageResource(R.drawable.profile_avatar);
|
|
} else {
|
|
Picasso.get().load(Common.CURRENT_USER.getImageUrl()).into(profile_avatar);
|
|
}
|
|
|
|
account_and_profile.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View view) {
|
|
startActivity(new Intent(getActivity(), AccountAndProfileActivity.class));
|
|
}
|
|
});
|
|
|
|
manage_address.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View view) {
|
|
startActivity(new Intent(getActivity(), AddressManagerActivity.class));
|
|
}
|
|
});
|
|
|
|
favorite_food.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
startActivity(new Intent(getActivity(), FavoriteFoodActivity.class));
|
|
}
|
|
});
|
|
|
|
order_history.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View view) {
|
|
startActivity(new Intent(getActivity(), OrderActivity.class));
|
|
}
|
|
});
|
|
|
|
feed_back.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
firebaseAppDistribution.startFeedback("Cảm ơn vì sự đóng góp ý kiến từ các bạn!");
|
|
}
|
|
});
|
|
|
|
log_out.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
|
|
PopupDialog.getInstance(getContext())
|
|
.setStyle(Styles.STANDARD)
|
|
.setHeading("Đăng xuất?")
|
|
.setDescription("Bạn thực sự muốn đăng xuất?")
|
|
.setPopupDialogIcon(R.drawable.baseline_logout)
|
|
.setPopupDialogIconTint(R.color.primaryColor)
|
|
.setPositiveButtonBackground(R.drawable.bg_color_primary_corner)
|
|
.setPositiveButtonText("Có")
|
|
.setNegativeButtonText("Không")
|
|
.setCancelable(false)
|
|
.showDialog(new OnDialogButtonClickListener() {
|
|
@Override
|
|
public void onPositiveClicked(Dialog dialog) {
|
|
FirebaseAuth.getInstance().signOut();
|
|
|
|
//Delete user from local storage
|
|
// Paper.book().delete("user");
|
|
|
|
Common.TOKEN = null;
|
|
Common.CURRENT_USER = null;
|
|
dialog.dismiss();
|
|
getActivity().startActivity(new Intent(getContext(), MainActivity.class));
|
|
getActivity().finish();
|
|
}
|
|
|
|
@Override
|
|
public void onNegativeClicked(Dialog dialog) {
|
|
super.onNegativeClicked(dialog);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
return rootView;
|
|
}
|
|
|
|
private void initComponent(View rootView) {
|
|
account_and_profile = rootView.findViewById(R.id.account_and_profile);
|
|
manage_address = rootView.findViewById(R.id.manage_address);
|
|
favorite_food = rootView.findViewById(R.id.favorite_food);
|
|
order_history = rootView.findViewById(R.id.order_history);
|
|
log_out = rootView.findViewById(R.id.log_out);
|
|
user_name = rootView.findViewById(R.id.user_name);
|
|
profile_avatar = rootView.findViewById(R.id.profile_avatar);
|
|
feed_back = rootView.findViewById(R.id.feedback);
|
|
}
|
|
|
|
@Override
|
|
public void onResume() {
|
|
super.onResume();
|
|
|
|
//Update user name on textview
|
|
user_name.setText(Common.CURRENT_USER.getFullName());
|
|
|
|
//Set image for user
|
|
if(Common.CURRENT_USER.getImageUrl().isEmpty()){
|
|
profile_avatar.setImageResource(R.drawable.profile_avatar);
|
|
} else {
|
|
Picasso.get().load(Common.CURRENT_USER.getImageUrl()).into(profile_avatar);
|
|
}
|
|
}
|
|
} |