diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fbcc161..d484cbc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.VirtualQueue"> + diff --git a/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListActivity.java b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListActivity.java new file mode 100644 index 0000000..ed8a161 --- /dev/null +++ b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListActivity.java @@ -0,0 +1,63 @@ +package org.gptccherthala.virtualqueue; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.Toast; + +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.ValueEventListener; + +import java.util.ArrayList; + +public class BusinessDataListActivity extends AppCompatActivity { + + private RecyclerView mBusinessDataListRecView; + private DatabaseReference mDataBase; + String category; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_business_data_list); + + Intent intent = getIntent(); + + category = intent.getStringExtra("category"); + + mBusinessDataListRecView = findViewById(R.id.businessDataListRecView); + mDataBase = FirebaseDatabase.getInstance().getReference("/business/" + category); + + ArrayList businessDatabase = new ArrayList<>(); + + mDataBase.addValueEventListener(new ValueEventListener() { + @Override + public void onDataChange(@NonNull DataSnapshot snapshot) { + if (snapshot.exists()) { + for (DataSnapshot dataSnapshot : snapshot.getChildren()) { + businessDatabase.add(dataSnapshot.getValue(BusinessDatabase.class)); + } + + BusinessDataListRecViewAdapter adapter = new BusinessDataListRecViewAdapter(); + adapter.setBusinessDatabase(businessDatabase); + + mBusinessDataListRecView.setAdapter(adapter); + } + } + + @Override + public void onCancelled(@NonNull DatabaseError error) { + + } + }); + + mBusinessDataListRecView.setLayoutManager(new LinearLayoutManager(this)); + } +} \ No newline at end of file diff --git a/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListRecViewAdapter.java b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListRecViewAdapter.java new file mode 100644 index 0000000..0e3b8df --- /dev/null +++ b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDataListRecViewAdapter.java @@ -0,0 +1,52 @@ +package org.gptccherthala.virtualqueue; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; + +public class BusinessDataListRecViewAdapter extends RecyclerView.Adapter{ + + private ArrayList businessDatabase = new ArrayList<>(); + + public BusinessDataListRecViewAdapter() { + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.business_data_list_item, parent, false); + ViewHolder holder = new ViewHolder(view); + return holder; + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + holder.txtName.setText(businessDatabase.get(position).getName()); + } + + @Override + public int getItemCount() { + return businessDatabase.size(); + } + + public void setBusinessDatabase(ArrayList businessDatabase){ + this.businessDatabase = businessDatabase; + notifyDataSetChanged(); + } + + public class ViewHolder extends RecyclerView.ViewHolder{ + + private TextView txtName; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + txtName = itemView.findViewById(R.id.text_name); + } + } +} diff --git a/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDatabase.java b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDatabase.java index b9949e2..963afcb 100644 --- a/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDatabase.java +++ b/app/src/main/java/org/gptccherthala/virtualqueue/BusinessDatabase.java @@ -10,6 +10,10 @@ public class BusinessDatabase { public BusinessDatabase(){} + public BusinessDatabase(String name) { + this.name = name; + } + public BusinessDatabase(String name, String address, long phone, int pincode, String description, String category) { this.name = name; this.address = address; @@ -18,4 +22,52 @@ public BusinessDatabase(String name, String address, long phone, int pincode, St this.description = description; this.category = category; } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public long getPhone() { + return phone; + } + + public void setPhone(long phone) { + this.phone = phone; + } + + public int getPincode() { + return pincode; + } + + public void setPincode(int pincode) { + this.pincode = pincode; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } } diff --git a/app/src/main/java/org/gptccherthala/virtualqueue/LoginActivity.java b/app/src/main/java/org/gptccherthala/virtualqueue/LoginActivity.java index 1bde00a..46c42fc 100644 --- a/app/src/main/java/org/gptccherthala/virtualqueue/LoginActivity.java +++ b/app/src/main/java/org/gptccherthala/virtualqueue/LoginActivity.java @@ -32,11 +32,11 @@ protected void onCreate(Bundle savedInstanceState) { FirebaseUser currentUser = mAuth.getCurrentUser(); - /* if (currentUser != null) { + if (currentUser != null) { Intent UserHomeActivity = new Intent(getApplicationContext(), UserHomeActivity.class); startActivity(UserHomeActivity); LoginActivity.this.finish(); - }*/ + } etEmail = findViewById(R.id.email); etPassword = findViewById(R.id.password); diff --git a/app/src/main/java/org/gptccherthala/virtualqueue/UserHomeActivity.java b/app/src/main/java/org/gptccherthala/virtualqueue/UserHomeActivity.java index b5d915c..b3b38c9 100644 --- a/app/src/main/java/org/gptccherthala/virtualqueue/UserHomeActivity.java +++ b/app/src/main/java/org/gptccherthala/virtualqueue/UserHomeActivity.java @@ -1,14 +1,111 @@ package org.gptccherthala.virtualqueue; +import android.content.Intent; +import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; +import android.widget.Button; +import android.widget.ImageButton; +import android.widget.Toast; + +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; -import android.os.Bundle; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.firebase.auth.FirebaseAuth; public class UserHomeActivity extends AppCompatActivity { + //creating objects for each btn + + ImageButton BtnHotel, BtnOffice, BtnShop, BtnBank; + + BottomNavigationView BottomNav; + String test = ""; + //BottomNavigator code + private final BottomNavigationView.OnNavigationItemSelectedListener nav = new BottomNavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + Fragment fragment; + switch (item.getItemId()) { + case R.id.Home: + Toast.makeText(UserHomeActivity.this, "home....", Toast.LENGTH_LONG).show(); + return true; + case R.id.Profile: + FirebaseAuth.getInstance().signOut(); + Intent LoginActivity = new Intent(getApplicationContext(), LoginActivity.class); + startActivity(LoginActivity); + finish(); + + return true; + case R.id.Qr: + Toast.makeText(UserHomeActivity.this, "qr is clicked.....", Toast.LENGTH_LONG).show(); + return true; + + } + return false; + } + }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_home); + //for retriving button object id + + BtnHotel = findViewById(R.id.BtnHotel); + BtnOffice = findViewById(R.id.BtnOffice); + BtnShop = findViewById(R.id.BtnShop); + BtnBank = findViewById(R.id.BtnBank); + BottomNav = findViewById(R.id.BottomNav); + + + BottomNav.setOnNavigationItemSelectedListener(nav); + + + // checking whether BtnHotel is clicked + + BtnHotel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent businessDataListActivity = new Intent(getApplicationContext(), BusinessDataListActivity.class); + businessDataListActivity.putExtra("category", "Hotel"); + startActivity(businessDataListActivity); + } + }); + + // checking whether BtnOffice is clicked + + BtnOffice.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent businessDataListActivity = new Intent(getApplicationContext(), BusinessDataListActivity.class); + businessDataListActivity.putExtra("category", "Office"); + startActivity(businessDataListActivity); + } + }); + + + // checking whether BtnShop is clicked + + BtnShop.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent businessDataListActivity = new Intent(getApplicationContext(), BusinessDataListActivity.class); + businessDataListActivity.putExtra("category", "Shop"); + startActivity(businessDataListActivity); + } + }); + + // checking whether BtnBank is clicked + + BtnBank.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent businessDataListActivity = new Intent(getApplicationContext(), BusinessDataListActivity.class); + businessDataListActivity.putExtra("category", "Bank"); + startActivity(businessDataListActivity); + } + }); } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bank.png b/app/src/main/res/drawable/bank.png new file mode 100644 index 0000000..53f0b4a Binary files /dev/null and b/app/src/main/res/drawable/bank.png differ diff --git a/app/src/main/res/drawable/banks.png b/app/src/main/res/drawable/banks.png new file mode 100644 index 0000000..6dc61c3 Binary files /dev/null and b/app/src/main/res/drawable/banks.png differ diff --git a/app/src/main/res/drawable/home.xml b/app/src/main/res/drawable/home.xml new file mode 100644 index 0000000..abe2bd7 --- /dev/null +++ b/app/src/main/res/drawable/home.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/hotel.png b/app/src/main/res/drawable/hotel.png new file mode 100644 index 0000000..ba9c3d3 Binary files /dev/null and b/app/src/main/res/drawable/hotel.png differ diff --git a/app/src/main/res/drawable/my_border.xml b/app/src/main/res/drawable/my_border.xml new file mode 100644 index 0000000..7812961 --- /dev/null +++ b/app/src/main/res/drawable/my_border.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/office.png b/app/src/main/res/drawable/office.png new file mode 100644 index 0000000..ca9642d Binary files /dev/null and b/app/src/main/res/drawable/office.png differ diff --git a/app/src/main/res/drawable/person.xml b/app/src/main/res/drawable/person.xml new file mode 100644 index 0000000..2754d2a --- /dev/null +++ b/app/src/main/res/drawable/person.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/qrcode.xml b/app/src/main/res/drawable/qrcode.xml new file mode 100644 index 0000000..1597785 --- /dev/null +++ b/app/src/main/res/drawable/qrcode.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/shop.png b/app/src/main/res/drawable/shop.png new file mode 100644 index 0000000..2c41045 Binary files /dev/null and b/app/src/main/res/drawable/shop.png differ diff --git a/app/src/main/res/layout/activity_business_data_list.xml b/app/src/main/res/layout/activity_business_data_list.xml new file mode 100644 index 0000000..d988732 --- /dev/null +++ b/app/src/main/res/layout/activity_business_data_list.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_user_home.xml b/app/src/main/res/layout/activity_user_home.xml index 27e8b1e..13dc662 100644 --- a/app/src/main/res/layout/activity_user_home.xml +++ b/app/src/main/res/layout/activity_user_home.xml @@ -4,4 +4,128 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".UserHomeActivity"/> \ No newline at end of file + tools:context=".UserHomeActivity"> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/border.xml b/app/src/main/res/layout/border.xml new file mode 100644 index 0000000..6b0c114 --- /dev/null +++ b/app/src/main/res/layout/border.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/business_data_list_item.xml b/app/src/main/res/layout/business_data_list_item.xml new file mode 100644 index 0000000..f71540b --- /dev/null +++ b/app/src/main/res/layout/business_data_list_item.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/button_navigation_menu.xml b/app/src/main/res/layout/button_navigation_menu.xml new file mode 100644 index 0000000..27d25f4 --- /dev/null +++ b/app/src/main/res/layout/button_navigation_menu.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file