Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.gypsy;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.viewpager2.widget.ViewPager2;
- import com.google.android.material.floatingactionbutton.FloatingActionButton;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.Query;
- import com.google.firebase.database.ValueEventListener;
- import com.squareup.picasso.Picasso;
- import java.util.ArrayList;
- import java.util.List;
- public class DynamicResto extends AppCompatActivity {
- private ViewPager2 imageSliderViewPager;
- private RestoImageSliderAdapter imageSliderAdapter;
- private ArrayList<Uri> imageUris = new ArrayList<>();
- private LinearLayout sliderDotsPanel;
- private Button reserveButton;
- private FloatingActionButton messageButton;
- private String recepientName;
- private String restoUserId;
- private String currentUserName;
- private FirebaseAuth mAuth;
- private String currentUserId;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_dynamic_resto);
- // retrieve galing sa resto fragment
- Intent intent = getIntent();
- String restoId = intent.getStringExtra("restoKey");
- Log.d("DynamicResto", "restoId: " + restoId);
- mAuth = FirebaseAuth.getInstance();
- FirebaseUser currentUser = mAuth.getCurrentUser();
- if (currentUser != null) {
- currentUserId = currentUser.getUid();
- Log.d("DynamicResto", "currentUserId: " + currentUserId);
- }
- reserveButton = findViewById(R.id.reserve_button);
- messageButton = findViewById(R.id.messageButton);
- imageSliderViewPager = findViewById(R.id.imageSliderViewPager);
- sliderDotsPanel = findViewById(R.id.dotsLayout2);
- imageSliderAdapter = new RestoImageSliderAdapter(this, imageUris, imageSliderViewPager, sliderDotsPanel);
- imageSliderViewPager.setAdapter(imageSliderAdapter);
- imageSliderAdapter.updateDotsIndicator(0);
- imageSliderViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
- @Override
- public void onPageSelected(int position) {
- super.onPageSelected(position);
- imageSliderAdapter.updateDotsIndicator(position);
- }
- });
- reserveButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(DynamicResto.this, ReserveForm.class);
- intent.putExtra("restoKey", restoId);
- Log.d("reserveButton", "restoId: " + restoId);
- startActivity(intent);
- }
- });
- Button mapButton = findViewById(R.id.map);
- mapButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(DynamicResto.this, MainActivity6.class);
- intent.putExtra("restoId", restoId); // Pass the specific hotelId
- startActivity(intent);
- }
- });
- queryRestoUserId(restoId);
- retrieveRestoUserName(restoId);
- retrieveCurrentUserName(currentUserId);
- messageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(DynamicResto.this, TouristRestoChat.class);
- intent.putExtra("recipientUserId", restoUserId);
- intent.putExtra("recipientUserName", recepientName);
- intent.putExtra("currentUserName", currentUserName);
- Log.d("DynamicHotel messageButton", "recipientUserId : " + restoUserId);
- Log.d("DynamicHotel messageButton", "recipientName : " + recepientName);
- Log.d("DynamicHotel messageButton", "currentUserName: " + currentUserName);
- startActivity(intent);
- }
- });
- retrieve(restoId);
- }
- public void retrieve(String restoId){
- TextView restoNameTV = findViewById(R.id.nameTextView);
- TextView restoDescriptionTV = findViewById(R.id.descriptionTextView);
- TextView restoAddressTV = findViewById(R.id.addressTextView);
- TextView restoContactTV = findViewById(R.id.contactNumberTextView);
- TextView restoEmailTV = findViewById(R.id.emailTextView);
- TextView cancellationPolicyTV = findViewById(R.id.cancellationPolicyTextView);
- DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
- DatabaseReference restoRef = databaseReference.child("restaurants").child(restoId);
- restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- Log.d("DynamicResto", "onDataChange called");
- if (dataSnapshot.exists()) {
- String title = dataSnapshot.child("name").getValue(String.class);
- String restoAddress = dataSnapshot.child("adress").getValue(String.class);
- String description = dataSnapshot.child("description").getValue(String.class);
- String restoContact = dataSnapshot.child("contact").getValue(String.class);
- String restoEmail = dataSnapshot.child("email").getValue(String.class);
- String cancellationPolicy = dataSnapshot.child("cancellationPolicy").getValue(String.class);
- restoNameTV.setText(title);
- restoDescriptionTV.setText(description);
- restoAddressTV.setText(restoAddress);
- restoContactTV.setText(restoContact);
- restoEmailTV.setText(restoEmail);
- cancellationPolicyTV.setText(cancellationPolicy);
- imageUris.clear();
- DataSnapshot imagesSnapshot = dataSnapshot.child("images");
- for (DataSnapshot imageSnapshot : imagesSnapshot.getChildren()) {
- String imageUrl = imageSnapshot.getValue(String.class);
- Uri uri = Uri.parse(imageUrl);
- imageUris.add(uri);
- }
- imageSliderAdapter.setImageUris(imageUris);
- imageSliderAdapter.notifyDataSetChanged();
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- Log.e("DynamicResto", "Failed to retrieve resto data: " + databaseError.getMessage());
- }
- });
- }
- private void queryRestoUserId(String restoId) {
- DatabaseReference restoRef = FirebaseDatabase.getInstance().getReference().child("restaurants").child(restoId);
- restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- restoUserId = dataSnapshot.child("user_id").getValue(String.class);
- Log.d("DynamicResto", "hotelUserId / recipientId: " + restoUserId);
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- Log.e("DynamicResto", "Database error: " + databaseError.getMessage());
- }
- });
- }
- private void retrieveRestoUserName(String restoId) {
- DatabaseReference restoRef = FirebaseDatabase.getInstance().getReference().child("restaurants").child(restoId);
- restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- restoUserId = dataSnapshot.child("user_id").getValue(String.class);
- Log.d("RetrieveRestoUserName", "restoUserId: " + restoUserId);
- retrieveRestoName(restoUserId);
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- Log.e("DynamicHotel", "Hotel user id retrieval cancelled: " + databaseError.getMessage());
- }
- });
- }
- private void retrieveRestoName(String restoUserId) {
- DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference().child("users").child("Restaurant").child(restoUserId);
- usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- recepientName = dataSnapshot.child("name").getValue(String.class);
- Log.d("retrieveRestoName", "recepientName: " + recepientName);
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- Log.e("DynamicResto", "Resto user name retrieval cancelled: " + databaseError.getMessage());
- }
- });
- }
- private void retrieveCurrentUserName(String currentUserId) {
- DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference().child("users").child("Tourist").child(currentUserId);
- Log.d("DynamicResto", " User ref: " + usersRef);
- usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- currentUserName = dataSnapshot.child("name").getValue(String.class);
- Log.d("DynamicResto", "Current User Name: " + currentUserName);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- Log.e("BookingDetail", "Current user name retrieval cancelled: " + databaseError.getMessage());
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement