Files
Foodify/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java
T
2023-04-15 10:21:09 +07:00

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);
}
}
}