Advertisement
kitlolz012

dynamicresto only

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