Advertisement
kitlolz012

Dynamicresto

Nov 17th, 2023
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.81 KB | Source Code | 0 0
  1.  
  2. package com.example.gypsy;
  3.  
  4. import android.content.Intent;
  5. import android.net.Uri;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.ImageView;
  11. import android.widget.LinearLayout;
  12. import android.widget.TextView;
  13.  
  14. import androidx.annotation.NonNull;
  15. import androidx.appcompat.app.AppCompatActivity;
  16. import androidx.viewpager2.widget.ViewPager2;
  17.  
  18. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  19. import com.google.firebase.auth.FirebaseAuth;
  20. import com.google.firebase.auth.FirebaseUser;
  21. import com.google.firebase.database.DataSnapshot;
  22. import com.google.firebase.database.DatabaseError;
  23. import com.google.firebase.database.DatabaseReference;
  24. import com.google.firebase.database.FirebaseDatabase;
  25. import com.google.firebase.database.Query;
  26. import com.google.firebase.database.ValueEventListener;
  27. import com.squareup.picasso.Picasso;
  28.  
  29. import java.util.ArrayList;
  30. import java.util.List;
  31.  
  32. public class DynamicResto extends AppCompatActivity {
  33.  
  34.     private ViewPager2 imageSliderViewPager;
  35.     private  RestoImageSliderAdapter imageSliderAdapter;
  36.     private ArrayList<Uri> imageUris = new ArrayList<>();
  37.     private LinearLayout sliderDotsPanel;
  38.     private Button reserveButton;
  39.     private FloatingActionButton messageButton;
  40.     private String recepientName;
  41.     private String restoUserId;
  42.     private String currentUserName;
  43.     private FirebaseAuth mAuth;
  44.     private String currentUserId;
  45.  
  46.  
  47.  
  48.     @Override
  49.     protected void onCreate(Bundle savedInstanceState) {
  50.         super.onCreate(savedInstanceState);
  51.         setContentView(R.layout.activity_dynamic_resto);
  52.  
  53.         // retrieve galing sa resto fragment
  54.         Intent intent = getIntent();
  55.         String restoId = intent.getStringExtra("restoKey");
  56.         Log.d("DynamicResto", "restoId: " + restoId);
  57.  
  58.         mAuth = FirebaseAuth.getInstance();
  59.         FirebaseUser currentUser = mAuth.getCurrentUser();
  60.         if (currentUser != null) {
  61.             currentUserId = currentUser.getUid();
  62.             Log.d("DynamicResto", "currentUserId: " + currentUserId);
  63.         }
  64.  
  65.  
  66.         reserveButton = findViewById(R.id.reserve_button);
  67.         messageButton = findViewById(R.id.messageButton);
  68.  
  69.         imageSliderViewPager = findViewById(R.id.imageSliderViewPager);
  70.         sliderDotsPanel = findViewById(R.id.dotsLayout2);
  71.  
  72.         imageSliderAdapter = new RestoImageSliderAdapter(this, imageUris, imageSliderViewPager, sliderDotsPanel);
  73.         imageSliderViewPager.setAdapter(imageSliderAdapter);
  74.  
  75.         imageSliderAdapter.updateDotsIndicator(0);
  76.         imageSliderViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
  77.             @Override
  78.             public void onPageSelected(int position) {
  79.                 super.onPageSelected(position);
  80.                 imageSliderAdapter.updateDotsIndicator(position);
  81.             }
  82.         });
  83.  
  84.         reserveButton.setOnClickListener(new View.OnClickListener() {
  85.             @Override
  86.             public void onClick(View v) {
  87.                 Intent intent = new Intent(DynamicResto.this, ReserveForm.class);
  88.                 intent.putExtra("restoKey", restoId);
  89.                 Log.d("reserveButton", "restoId: " + restoId);
  90.                 startActivity(intent);
  91.             }
  92.         });
  93.  
  94.         Button mapButton = findViewById(R.id.map);
  95.  
  96.         mapButton.setOnClickListener(new View.OnClickListener() {
  97.             @Override
  98.             public void onClick(View v) {
  99.                 Intent intent = new Intent(DynamicResto.this, MainActivity6.class);
  100.                 intent.putExtra("restoId", restoId); // Pass the specific hotelId
  101.                 startActivity(intent);
  102.             }
  103.         });
  104.  
  105.         queryRestoUserId(restoId);
  106.         retrieveRestoUserName(restoId);
  107.         retrieveCurrentUserName(currentUserId);
  108.  
  109.  
  110.         messageButton.setOnClickListener(new View.OnClickListener() {
  111.             @Override
  112.             public void onClick(View v) {
  113.  
  114.                 Intent intent = new Intent(DynamicResto.this, TouristRestoChat.class);
  115.                 intent.putExtra("recipientUserId", restoUserId);
  116.                 intent.putExtra("recipientUserName", recepientName);
  117.                 intent.putExtra("currentUserName", currentUserName);
  118.  
  119.                 Log.d("DynamicHotel messageButton", "recipientUserId : " + restoUserId);
  120.                 Log.d("DynamicHotel messageButton", "recipientName : " + recepientName);
  121.                 Log.d("DynamicHotel messageButton", "currentUserName: " + currentUserName);
  122.                 startActivity(intent);
  123.             }
  124.         });
  125.  
  126.  
  127.         retrieve(restoId);
  128.     }
  129.  
  130.     public void retrieve(String restoId){
  131.  
  132.         TextView restoNameTV = findViewById(R.id.nameTextView);
  133.         TextView restoDescriptionTV = findViewById(R.id.descriptionTextView);
  134.         TextView restoAddressTV = findViewById(R.id.addressTextView);
  135.         TextView restoContactTV = findViewById(R.id.contactNumberTextView);
  136.         TextView restoEmailTV = findViewById(R.id.emailTextView);
  137.         TextView cancellationPolicyTV = findViewById(R.id.cancellationPolicyTextView);
  138.  
  139.  
  140.         DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
  141.         DatabaseReference restoRef = databaseReference.child("restaurants").child(restoId);
  142.  
  143.         restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
  144.             @Override
  145.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  146.                 Log.d("DynamicResto", "onDataChange called");
  147.                 if (dataSnapshot.exists()) {
  148.                     String title = dataSnapshot.child("name").getValue(String.class);
  149.                     String restoAddress = dataSnapshot.child("adress").getValue(String.class);
  150.                     String description = dataSnapshot.child("description").getValue(String.class);
  151.                     String restoContact = dataSnapshot.child("contact").getValue(String.class);
  152.                     String restoEmail = dataSnapshot.child("email").getValue(String.class);
  153.                     String cancellationPolicy = dataSnapshot.child("cancellationPolicy").getValue(String.class);
  154.  
  155.                     restoNameTV.setText(title);
  156.                     restoDescriptionTV.setText(description);
  157.                     restoAddressTV.setText(restoAddress);
  158.                     restoContactTV.setText(restoContact);
  159.                     restoEmailTV.setText(restoEmail);
  160.                     cancellationPolicyTV.setText(cancellationPolicy);
  161.  
  162.                     imageUris.clear();
  163.                     DataSnapshot imagesSnapshot = dataSnapshot.child("images");
  164.                     for (DataSnapshot imageSnapshot : imagesSnapshot.getChildren()) {
  165.                         String imageUrl = imageSnapshot.getValue(String.class);
  166.                         Uri uri = Uri.parse(imageUrl);
  167.                         imageUris.add(uri);
  168.                     }
  169.  
  170.                     imageSliderAdapter.setImageUris(imageUris);
  171.                     imageSliderAdapter.notifyDataSetChanged();
  172.                 }
  173.             }
  174.             @Override
  175.             public void onCancelled(@NonNull DatabaseError databaseError) {
  176.                 Log.e("DynamicResto", "Failed to retrieve resto data: " + databaseError.getMessage());
  177.             }
  178.         });
  179.     }
  180.  
  181.     private void queryRestoUserId(String restoId) {
  182.         DatabaseReference restoRef = FirebaseDatabase.getInstance().getReference().child("restaurants").child(restoId);
  183.         restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
  184.             @Override
  185.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  186.                 if (dataSnapshot.exists()) {
  187.                     restoUserId = dataSnapshot.child("user_id").getValue(String.class);
  188.                     Log.d("DynamicResto", "hotelUserId / recipientId: " + restoUserId);
  189.                 }
  190.             }
  191.  
  192.             @Override
  193.             public void onCancelled(@NonNull DatabaseError databaseError) {
  194.                 Log.e("DynamicResto", "Database error: " + databaseError.getMessage());
  195.             }
  196.         });
  197.     }
  198.     private void retrieveRestoUserName(String restoId) {
  199.         DatabaseReference restoRef = FirebaseDatabase.getInstance().getReference().child("restaurants").child(restoId);
  200.         restoRef.addListenerForSingleValueEvent(new ValueEventListener() {
  201.             @Override
  202.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  203.                 if (dataSnapshot.exists()) {
  204.                     restoUserId = dataSnapshot.child("user_id").getValue(String.class);
  205.                     Log.d("RetrieveRestoUserName", "restoUserId: " + restoUserId);
  206.                     retrieveRestoName(restoUserId);
  207.                 }
  208.             }
  209.  
  210.             @Override
  211.             public void onCancelled(@NonNull DatabaseError databaseError) {
  212.                 Log.e("DynamicHotel", "Hotel user id retrieval cancelled: " + databaseError.getMessage());
  213.             }
  214.         });
  215.     }
  216.     private void retrieveRestoName(String restoUserId) {
  217.         DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference().child("users").child("Restaurant").child(restoUserId);
  218.         usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
  219.             @Override
  220.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  221.                 if (dataSnapshot.exists()) {
  222.                     recepientName = dataSnapshot.child("name").getValue(String.class);
  223.                     Log.d("retrieveRestoName", "recepientName: " + recepientName);
  224.                 }
  225.             }
  226.  
  227.             @Override
  228.             public void onCancelled(@NonNull DatabaseError databaseError) {
  229.                 Log.e("DynamicResto", "Resto user name retrieval cancelled: " + databaseError.getMessage());
  230.             }
  231.         });
  232.     }
  233.     private void retrieveCurrentUserName(String currentUserId) {
  234.         DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference().child("users").child("Tourist").child(currentUserId);
  235.         Log.d("DynamicResto", " User ref: " + usersRef);
  236.         usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
  237.             @Override
  238.             public void onDataChange(DataSnapshot dataSnapshot) {
  239.                 if (dataSnapshot.exists()) {
  240.                     currentUserName = dataSnapshot.child("name").getValue(String.class);
  241.                     Log.d("DynamicResto", "Current User Name: " + currentUserName);
  242.                 }
  243.             }
  244.  
  245.             @Override
  246.             public void onCancelled(DatabaseError databaseError) {
  247.                 Log.e("BookingDetail", "Current user name retrieval cancelled: " + databaseError.getMessage());
  248.             }
  249.         });
  250.  
  251.     }
  252.  
  253. }
  254.  
Tags: Code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement