From 534bb270f45528cf2cfd8b01a290991f4273045f Mon Sep 17 00:00:00 2001 From: IvanaE Date: Mon, 19 Nov 2018 20:37:32 -0500 Subject: [PATCH] added some new ui --- .../olympusservices/FindServiceProvider.java | 3 +- .../olympusservices/HomeOwnerBookings.java | 90 ++++++++++ .../ServiceProviderBookings.java | 94 +++++++++- .../src/main/res/drawable/customborder2.xml | 6 + .../layout/activity_home_owner_bookings.xml | 17 +- .../activity_service_provider_bookings.xml | 17 +- .../src/main/res/layout/booking_list_item.xml | 166 ++++++++++++++++++ 7 files changed, 386 insertions(+), 7 deletions(-) create mode 100644 OlympusServices/app/src/main/res/drawable/customborder2.xml create mode 100644 OlympusServices/app/src/main/res/layout/booking_list_item.xml diff --git a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/FindServiceProvider.java b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/FindServiceProvider.java index 895f2d0..4201a75 100644 --- a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/FindServiceProvider.java +++ b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/FindServiceProvider.java @@ -60,9 +60,10 @@ public class FindServiceProvider extends AppCompatActivity { spinner2.setItems(services); - //iffy code + //iffy code, update once we can pull the actual service providers ServiceProvider provider = (ServiceProvider)dbHelper.findUserByUsername("testing"); ServiceProvider[] providerslist = {provider}; + //iffy code ends here mRecyclerView = (RecyclerView) findViewById(R.id.ServiceProviders); diff --git a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/HomeOwnerBookings.java b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/HomeOwnerBookings.java index 432bc80..e530dff 100644 --- a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/HomeOwnerBookings.java +++ b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/HomeOwnerBookings.java @@ -1,10 +1,26 @@ package com.uottawa.olympus.olympusservices; +import android.content.Context; import android.content.Intent; +import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; public class HomeOwnerBookings extends AppCompatActivity { + + //field for RecyclerView + private RecyclerView mRecyclerView; + //field for adapter of Recycler view + private RecyclerView.Adapter mAdapter; + //field for layout manager of Recyler view. + private RecyclerView.LayoutManager mLayoutManager; + String username; @Override @@ -13,6 +29,16 @@ public class HomeOwnerBookings extends AppCompatActivity { setContentView(R.layout.activity_home_owner_bookings); Bundle bundle = getIntent().getExtras(); username = bundle.getString("username"); + + /* + Booking[] bookings; + //get bookings here + mRecyclerView = (RecyclerView) findViewById(R.id.Bookings); + mLayoutManager = new LinearLayoutManager(this); + mRecyclerView.setLayoutManager(mLayoutManager); + mAdapter = new AdminServicesList.MyAdapter(booking, this); + mRecyclerView.setAdapter(mAdapter); + */ } /** @@ -27,4 +53,68 @@ public class HomeOwnerBookings extends AppCompatActivity { startActivity(intent); finish(); } + + public class MyAdapter extends RecyclerView.Adapter { + + private Booking[] bookings; + private Context context; + + // Provide a reference to the views for each data item + // Complex data items may need more than one view per item, and + // you provide access to all the views for a data item in a view holder + + // Provide a suitable constructor (depends on the kind of dataset) + public MyAdapter(Booking[] bookings, Context context) { + this.bookings = bookings; + } + + // Create new views (invoked by the layout manager) + @NonNull + @Override + public BookingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View v = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.booking_list_item, parent, false); + BookingHolder vh = new BookingHolder(v); + return vh; + } + + // Replace the contents of a view (invoked by the layout manager) + @Override + public void onBindViewHolder(BookingHolder holder, int position) { + Booking booking = bookings[position]; + holder.name.setText(booking.getServiceprovider()); + + + + } + + // Return the size of your dataset (invoked by the layout manager) + @Override + public int getItemCount() { + return bookings.length; + } + + class BookingHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ + + TextView name; + TextView rate; + + public BookingHolder(View row){ + super(row); + name = row.findViewById(R.id.Name); + rate = row.findViewById(R.id.Rate); + row.setOnClickListener(this); + } + @Override + public void onClick(View view) { + TextView nameview = (TextView)view.findViewById(R.id.Name); + String name = nameview.getText().toString(); + + } + + + } + + + } } diff --git a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/ServiceProviderBookings.java b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/ServiceProviderBookings.java index 8d1ccff..765fde5 100644 --- a/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/ServiceProviderBookings.java +++ b/OlympusServices/app/src/main/java/com/uottawa/olympus/olympusservices/ServiceProviderBookings.java @@ -1,18 +1,44 @@ package com.uottawa.olympus.olympusservices; +import android.content.Context; import android.content.Intent; +import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; public class ServiceProviderBookings extends AppCompatActivity { + + //field for RecyclerView + private RecyclerView mRecyclerView; + //field for adapter of Recycler view + private RecyclerView.Adapter mAdapter; + //field for layout manager of Recyler view. + private RecyclerView.LayoutManager mLayoutManager; + String username; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_service_provider_bookings); + setContentView(R.layout.activity_home_owner_bookings); Bundle bundle = getIntent().getExtras(); username = bundle.getString("username"); + + /* + Booking[] bookings; + //get bookings here + mRecyclerView = (RecyclerView) findViewById(R.id.Bookings); + mLayoutManager = new LinearLayoutManager(this); + mRecyclerView.setLayoutManager(mLayoutManager); + mAdapter = new AdminServicesList.MyAdapter(booking, this); + mRecyclerView.setAdapter(mAdapter); + */ } /** @@ -22,9 +48,73 @@ public class ServiceProviderBookings extends AppCompatActivity { */ @Override public void onBackPressed(){ - Intent intent = new Intent(getApplicationContext(),ServiceProviderWelcome.class); + Intent intent = new Intent(getApplicationContext(),Welcome.class); intent.putExtra("username", username); startActivity(intent); finish(); } + + public class MyAdapter extends RecyclerView.Adapter { + + private Booking[] bookings; + private Context context; + + // Provide a reference to the views for each data item + // Complex data items may need more than one view per item, and + // you provide access to all the views for a data item in a view holder + + // Provide a suitable constructor (depends on the kind of dataset) + public MyAdapter(Booking[] bookings, Context context) { + this.bookings = bookings; + } + + // Create new views (invoked by the layout manager) + @NonNull + @Override + public BookingHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View v = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.booking_list_item, parent, false); + BookingHolder vh = new BookingHolder(v); + return vh; + } + + // Replace the contents of a view (invoked by the layout manager) + @Override + public void onBindViewHolder(BookingHolder holder, int position) { + Booking booking = bookings[position]; + holder.name.setText(booking.getServiceprovider()); + + + + } + + // Return the size of your dataset (invoked by the layout manager) + @Override + public int getItemCount() { + return bookings.length; + } + + class BookingHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ + + TextView name; + TextView rate; + + public BookingHolder(View row){ + super(row); + name = row.findViewById(R.id.Name); + rate = row.findViewById(R.id.Rate); + row.setOnClickListener(this); + } + @Override + public void onClick(View view) { + TextView nameview = (TextView)view.findViewById(R.id.Name); + String name = nameview.getText().toString(); + + } + + + } + + + } } diff --git a/OlympusServices/app/src/main/res/drawable/customborder2.xml b/OlympusServices/app/src/main/res/drawable/customborder2.xml new file mode 100644 index 0000000..e26ab52 --- /dev/null +++ b/OlympusServices/app/src/main/res/drawable/customborder2.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OlympusServices/app/src/main/res/layout/activity_home_owner_bookings.xml b/OlympusServices/app/src/main/res/layout/activity_home_owner_bookings.xml index dd7754a..a1c5d1d 100644 --- a/OlympusServices/app/src/main/res/layout/activity_home_owner_bookings.xml +++ b/OlympusServices/app/src/main/res/layout/activity_home_owner_bookings.xml @@ -1,9 +1,22 @@ - - \ No newline at end of file + + + \ No newline at end of file diff --git a/OlympusServices/app/src/main/res/layout/activity_service_provider_bookings.xml b/OlympusServices/app/src/main/res/layout/activity_service_provider_bookings.xml index 28b14a4..4c3593b 100644 --- a/OlympusServices/app/src/main/res/layout/activity_service_provider_bookings.xml +++ b/OlympusServices/app/src/main/res/layout/activity_service_provider_bookings.xml @@ -1,9 +1,22 @@ - - \ No newline at end of file + + + \ No newline at end of file diff --git a/OlympusServices/app/src/main/res/layout/booking_list_item.xml b/OlympusServices/app/src/main/res/layout/booking_list_item.xml new file mode 100644 index 0000000..2f8d2cb --- /dev/null +++ b/OlympusServices/app/src/main/res/layout/booking_list_item.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +