pulling
This commit is contained in:
commit
56e0b9e13e
24 changed files with 1037 additions and 67 deletions
BIN
Deliverable3.zip
Normal file
BIN
Deliverable3.zip
Normal file
Binary file not shown.
|
@ -68,8 +68,12 @@
|
|||
<activity
|
||||
android:name=".ServiceProviderAvailabilities"
|
||||
android:label="Availabilities"
|
||||
android:screenOrientation="portrait"></activity>
|
||||
<activity android:name=".SignUpPart2"></activity>
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".SignUpPart2" />
|
||||
<activity android:name=".ServiceProviderBookings" />
|
||||
<activity android:name=".HomeOwnerBookings" />
|
||||
<activity android:name=".FindServiceProvider" />
|
||||
<activity android:name=".MakeBooking"></activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,124 @@
|
|||
package com.uottawa.olympus.olympusservices;
|
||||
|
||||
public class Booking {
|
||||
private int starth;
|
||||
private int startmin;
|
||||
private int endh;
|
||||
private int endmin;
|
||||
private int day;
|
||||
private int month;
|
||||
private int year;
|
||||
private String serviceprovider; //username
|
||||
private String homeowner; //username
|
||||
public enum Status {
|
||||
PENDING, CONFIRMED, CANCELLED
|
||||
}
|
||||
private Status status;
|
||||
|
||||
int rating; //out of 5
|
||||
|
||||
public Booking(int starth, int startmin, int endh, int endmin, int day, int month, int year,
|
||||
String serviceprovider, String homeowner){
|
||||
this.starth = starth;
|
||||
this.startmin = startmin;
|
||||
this.endh = endh;
|
||||
this.endmin = endmin;
|
||||
this.day = day;
|
||||
this.month = month;
|
||||
this.year = year;
|
||||
this.serviceprovider = serviceprovider;
|
||||
this.homeowner = homeowner;
|
||||
this.status = Status.PENDING;
|
||||
}
|
||||
|
||||
|
||||
public int getStarth() {
|
||||
return starth;
|
||||
}
|
||||
|
||||
public void setStarth(int starth) {
|
||||
this.starth = starth;
|
||||
}
|
||||
|
||||
public int getStartmin() {
|
||||
return startmin;
|
||||
}
|
||||
|
||||
public void setStartmin(int startmin) {
|
||||
this.startmin = startmin;
|
||||
}
|
||||
|
||||
public int getEndh() {
|
||||
return endh;
|
||||
}
|
||||
|
||||
public void setEndh(int endh) {
|
||||
this.endh = endh;
|
||||
}
|
||||
|
||||
public int getEndmin() {
|
||||
return endmin;
|
||||
}
|
||||
|
||||
public void setEndmin(int endmin) {
|
||||
this.endmin = endmin;
|
||||
}
|
||||
|
||||
public int getDay() {
|
||||
return day;
|
||||
}
|
||||
|
||||
public void setDay(int day) {
|
||||
this.day = day;
|
||||
}
|
||||
|
||||
public int getMonth() {
|
||||
return month;
|
||||
}
|
||||
|
||||
public void setMonth(int month) {
|
||||
this.month = month;
|
||||
}
|
||||
|
||||
public int getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
public void setYear(int year) {
|
||||
this.year = year;
|
||||
}
|
||||
|
||||
public String getServiceprovider() {
|
||||
return serviceprovider;
|
||||
}
|
||||
|
||||
public void setServiceprovider(String serviceprovider) {
|
||||
this.serviceprovider = serviceprovider;
|
||||
}
|
||||
|
||||
public String getHomeowner() {
|
||||
return homeowner;
|
||||
}
|
||||
|
||||
public void setHomeowner(String homeowner) {
|
||||
this.homeowner = homeowner;
|
||||
}
|
||||
|
||||
public void setStatus(Status status){
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Status getStatus(){
|
||||
return this.status;
|
||||
}
|
||||
|
||||
public int getRating() {
|
||||
return rating;
|
||||
}
|
||||
|
||||
public void setRating(int rating) {
|
||||
this.rating = rating;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -353,7 +353,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
|||
if (phonenumber != null && !phonenumber.equals(""))values.put(COLUMN_PHONE, phonenumber);
|
||||
if (companyname != null && !companyname.equals(""))values.put(COLUMN_COMPANY, companyname);
|
||||
if (licensed != null) values.put(COLUMN_LICENSED, String.valueOf(licensed));
|
||||
if (description != null && !description.equals(""))values.put(COLUMN_DESCRIPTION, description);
|
||||
if (description != null )values.put(COLUMN_DESCRIPTION, description);
|
||||
|
||||
|
||||
return writeDB.update(TABLE_LOGIN, values, COLUMN_USERNAME+" = ?",
|
||||
|
|
|
@ -12,6 +12,10 @@ public class EditProfile extends AppCompatActivity {
|
|||
String username;
|
||||
DBHelper dbHelper;
|
||||
|
||||
/**
|
||||
* Prepoplates the fields with user information when the activity is created
|
||||
* @param savedInstanceState
|
||||
*/
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
@ -56,6 +60,11 @@ public class EditProfile extends AppCompatActivity {
|
|||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves updated user information to the database
|
||||
* @param view
|
||||
*/
|
||||
public void Save(View view){
|
||||
TextView firstname = findViewById(R.id.FirstNameInput);
|
||||
TextView lastname = findViewById(R.id.LastNameInput);
|
||||
|
@ -66,6 +75,7 @@ public class EditProfile extends AppCompatActivity {
|
|||
TextView description = findViewById(R.id.DescriptionInput);
|
||||
CheckBox licensed = findViewById(R.id.LicensedInput);
|
||||
|
||||
//Checks for the fields
|
||||
if(password.getText().toString().length()>=5 && firstname.getText().toString().length()>0
|
||||
&& lastname.getText().toString().length()>0 && companyname.getText().toString().length()>0
|
||||
&& address.getText().toString().length()>0 && phonenumber.getText().toString().length()>0
|
||||
|
|
|
@ -0,0 +1,315 @@
|
|||
package com.uottawa.olympus.olympusservices;
|
||||
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.TimePickerDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.design.widget.Snackbar;
|
||||
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.Button;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.RatingBar;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.jaredrummler.materialspinner.MaterialSpinner;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class FindServiceProvider extends AppCompatActivity {
|
||||
String username;
|
||||
DBHelper dbHelper;
|
||||
|
||||
//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;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_find_service_provider);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
username = bundle.getString("username");
|
||||
|
||||
MaterialSpinner spinner = findViewById(R.id.RatingInput);
|
||||
spinner.setItems("",1, 2, 3, 4, 5);
|
||||
|
||||
dbHelper = new DBHelper(this);
|
||||
MaterialSpinner spinner2 = findViewById(R.id.ServicesInput);
|
||||
|
||||
List<String[]> serviceslist = dbHelper.getAllServices();
|
||||
String[] services = new String[(serviceslist.size())];
|
||||
Iterator iter = serviceslist.iterator();
|
||||
for (int i=0; i<serviceslist.size();i++){
|
||||
String[] current = (String[])iter.next();
|
||||
services[i] = current[0];
|
||||
}
|
||||
spinner2.setItems(services);
|
||||
|
||||
|
||||
//iffy code
|
||||
ServiceProvider provider = (ServiceProvider)dbHelper.findUserByUsername("testing");
|
||||
ServiceProvider[] providerslist = {provider};
|
||||
|
||||
mRecyclerView = (RecyclerView) findViewById(R.id.ServiceProviders);
|
||||
|
||||
|
||||
mLayoutManager = new LinearLayoutManager(this);
|
||||
mRecyclerView.setLayoutManager(mLayoutManager);
|
||||
|
||||
mAdapter = new MyAdapter(providerslist, this);
|
||||
mRecyclerView.setAdapter(mAdapter);
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed(){
|
||||
Intent intent = new Intent(getApplicationContext(),Welcome.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
public void Search(View view){
|
||||
MaterialSpinner spinner = findViewById(R.id.ServicesInput);
|
||||
Button button = findViewById(R.id.Start);
|
||||
Button button2 = findViewById(R.id.End);
|
||||
Button button3 = findViewById(R.id.Date);
|
||||
MaterialSpinner spinner2 = findViewById(R.id.RatingInput);
|
||||
|
||||
String service = spinner.getText().toString();
|
||||
int start;
|
||||
int end;
|
||||
String date;
|
||||
if(button.getText().toString()!="Start" && button.getText().toString()!="End"
|
||||
&& button3.getText().toString()!="Date"){
|
||||
start = Integer.parseInt(button.getText().toString());
|
||||
end = Integer.parseInt(button2.getText().toString());
|
||||
date = button3.getText().toString();
|
||||
}
|
||||
else{
|
||||
//figure out with dbhelper
|
||||
}
|
||||
|
||||
int rating;
|
||||
if(spinner2.getText().toString()!=""){
|
||||
rating = Integer.parseInt(spinner2.getText().toString());
|
||||
}
|
||||
else{
|
||||
//figure out with dbhelper
|
||||
}
|
||||
//do search here
|
||||
//update recylcler view
|
||||
|
||||
}
|
||||
|
||||
public void makeBooking(String serviceprovider){
|
||||
MaterialSpinner spinner = findViewById(R.id.ServicesInput);
|
||||
String service = spinner.getText().toString();
|
||||
Intent intent = new Intent(getApplicationContext(),MakeBooking.class);
|
||||
intent.putExtra("homeowner", username);
|
||||
intent.putExtra("serviceprovider", serviceprovider);
|
||||
intent.putExtra("service", service);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void onClickDate(View view){
|
||||
|
||||
final Button button = (Button)view;
|
||||
final Calendar c = Calendar.getInstance();
|
||||
|
||||
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int month, int day) {
|
||||
Calendar newDate = Calendar.getInstance();
|
||||
newDate.set(year, month, day);
|
||||
String daystring;
|
||||
String monthstring;
|
||||
if((""+day).length()==1){
|
||||
daystring = "0"+day;
|
||||
}
|
||||
else{
|
||||
daystring = day+"";
|
||||
}
|
||||
if((""+month).length()==1){
|
||||
monthstring = "0"+month;
|
||||
}
|
||||
else{
|
||||
monthstring = ""+month;
|
||||
}
|
||||
button.setText(monthstring + " / " + daystring + " / "
|
||||
+ year);
|
||||
}
|
||||
|
||||
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
|
||||
datePickerDialog.show();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void onClickTime(View view){
|
||||
final Calendar c = Calendar.getInstance();
|
||||
int hour = c.get(Calendar.HOUR_OF_DAY);
|
||||
int minute = c.get(Calendar.MINUTE);
|
||||
final Button button = (Button)view;
|
||||
|
||||
// Launch Time Picker Dialog
|
||||
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
|
||||
new TimePickerDialog.OnTimeSetListener() {
|
||||
|
||||
@Override
|
||||
public void onTimeSet(TimePicker view, int hourOfDay,
|
||||
int minute) {
|
||||
String time = "";
|
||||
|
||||
button.setText(formatTime(hourOfDay,minute));
|
||||
//set availibility for service provider and check start time is less than finish
|
||||
}
|
||||
|
||||
}, hour, minute, false);
|
||||
timePickerDialog.show();
|
||||
|
||||
}
|
||||
|
||||
private String formatTime(int hours, int minutes){
|
||||
String time = "";
|
||||
if(hours<10){
|
||||
time = time+"0"+hours+":";
|
||||
}else{
|
||||
time = time+hours+":";
|
||||
}
|
||||
if (minutes<10){
|
||||
time = time+"0"+minutes;
|
||||
}
|
||||
else {
|
||||
time = time+minutes;
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
||||
private int[] parseTime(String startTime, String endTime){
|
||||
int[] times = new int[4];
|
||||
if(startTime.equals("START")){
|
||||
times[0]=0;
|
||||
times[1]=0;
|
||||
}else{
|
||||
times[0] = Integer.parseInt(startTime.substring(0,2));
|
||||
times[1] = Integer.parseInt(startTime.substring(3));
|
||||
}
|
||||
if(endTime.equals("END")){
|
||||
times[2]=0;
|
||||
times[3]=0;
|
||||
}else{
|
||||
times[2] = Integer.parseInt(endTime.substring(0,2));
|
||||
times[3] = Integer.parseInt(endTime.substring(3));
|
||||
}
|
||||
return times;
|
||||
}
|
||||
|
||||
private boolean validateTime(int[] time){
|
||||
if(time[0]==0&&time[1]==0&&time[2]==0&&time[3]==0){
|
||||
return true;
|
||||
}
|
||||
if(time[2]>time[0]){
|
||||
return true;
|
||||
}else{
|
||||
if(time[2]==time[0]&&time[3]>time[1]){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ProviderHolder> {
|
||||
|
||||
private ServiceProvider[] serviceProviders;
|
||||
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(ServiceProvider[] serviceProviders, Context context) {
|
||||
this.serviceProviders = serviceProviders;
|
||||
}
|
||||
|
||||
// Create new views (invoked by the layout manager)
|
||||
@NonNull
|
||||
@Override
|
||||
public ProviderHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.service_list_item, parent, false);
|
||||
ProviderHolder vh = new ProviderHolder(v);
|
||||
return vh;
|
||||
}
|
||||
|
||||
// Replace the contents of a view (invoked by the layout manager)
|
||||
@Override
|
||||
public void onBindViewHolder(ProviderHolder holder, int position) {
|
||||
ServiceProvider serviceprovider = serviceProviders[position];
|
||||
holder.name.setText(serviceprovider.getFirstname()+" "+serviceprovider.getLastname());
|
||||
holder.rate.setText("5");
|
||||
//serviceprovider.getRating()
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Return the size of your dataset (invoked by the layout manager)
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return serviceProviders.length;
|
||||
}
|
||||
|
||||
class ProviderHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
|
||||
|
||||
TextView name;
|
||||
TextView rate;
|
||||
|
||||
public ProviderHolder(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();
|
||||
makeBooking(name);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package com.uottawa.olympus.olympusservices;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class HomeOwnerBookings extends AppCompatActivity {
|
||||
String username;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_home_owner_bookings);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
username = bundle.getString("username");
|
||||
}
|
||||
|
||||
/**
|
||||
* Override so that previous screen refreshes when pressing the
|
||||
* back button on this activity of the app.
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public void onBackPressed(){
|
||||
Intent intent = new Intent(getApplicationContext(),Welcome.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,166 @@
|
|||
package com.uottawa.olympus.olympusservices;
|
||||
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.TimePickerDialog;
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
public class MakeBooking extends AppCompatActivity {
|
||||
String homeowner;
|
||||
String serviceprovider;
|
||||
String service;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_make_booking);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
homeowner = bundle.getString("homeowner");
|
||||
serviceprovider = bundle.getString("serviceprovider");
|
||||
service = bundle.getString("service");
|
||||
|
||||
TextView homeo = findViewById(R.id.HomeOwner);
|
||||
TextView servicep = findViewById(R.id.ServiceProvider);
|
||||
TextView serv = findViewById(R.id.Service);
|
||||
|
||||
homeo.setText("Home Owner: \n"+homeowner);
|
||||
servicep.setText("ServiceProvider: \n"+serviceprovider);
|
||||
serv.setText("Service: \n"+service);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed(){
|
||||
Intent intent = new Intent(getApplicationContext(),Welcome.class);
|
||||
intent.putExtra("username", homeowner);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
public void Cancel(View view){
|
||||
onBackPressed();
|
||||
}
|
||||
|
||||
public void Book(View view){
|
||||
//
|
||||
}
|
||||
|
||||
public void onClickDate(View view){
|
||||
|
||||
final Button button = (Button)view;
|
||||
final Calendar c = Calendar.getInstance();
|
||||
|
||||
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int month, int day) {
|
||||
Calendar newDate = Calendar.getInstance();
|
||||
newDate.set(year, month, day);
|
||||
String daystring;
|
||||
String monthstring;
|
||||
if((""+day).length()==1){
|
||||
daystring = "0"+day;
|
||||
}
|
||||
else{
|
||||
daystring = day+"";
|
||||
}
|
||||
if((""+month).length()==1){
|
||||
monthstring = "0"+month;
|
||||
}
|
||||
else{
|
||||
monthstring = ""+month;
|
||||
}
|
||||
button.setText(monthstring + " / " + daystring + " / "
|
||||
+ year);
|
||||
}
|
||||
|
||||
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
|
||||
datePickerDialog.show();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void onClickTime(View view){
|
||||
final Calendar c = Calendar.getInstance();
|
||||
int hour = c.get(Calendar.HOUR_OF_DAY);
|
||||
int minute = c.get(Calendar.MINUTE);
|
||||
final Button button = (Button)view;
|
||||
|
||||
// Launch Time Picker Dialog
|
||||
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
|
||||
new TimePickerDialog.OnTimeSetListener() {
|
||||
|
||||
@Override
|
||||
public void onTimeSet(TimePicker view, int hourOfDay,
|
||||
int minute) {
|
||||
String time = "";
|
||||
|
||||
button.setText(formatTime(hourOfDay,minute));
|
||||
//set availibility for service provider and check start time is less than finish
|
||||
}
|
||||
|
||||
}, hour, minute, false);
|
||||
timePickerDialog.show();
|
||||
|
||||
}
|
||||
|
||||
private String formatTime(int hours, int minutes){
|
||||
String time = "";
|
||||
if(hours<10){
|
||||
time = time+"0"+hours+":";
|
||||
}else{
|
||||
time = time+hours+":";
|
||||
}
|
||||
if (minutes<10){
|
||||
time = time+"0"+minutes;
|
||||
}
|
||||
else {
|
||||
time = time+minutes;
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
||||
private int[] parseTime(String startTime, String endTime){
|
||||
int[] times = new int[4];
|
||||
if(startTime.equals("START")){
|
||||
times[0]=0;
|
||||
times[1]=0;
|
||||
}else{
|
||||
times[0] = Integer.parseInt(startTime.substring(0,2));
|
||||
times[1] = Integer.parseInt(startTime.substring(3));
|
||||
}
|
||||
if(endTime.equals("END")){
|
||||
times[2]=0;
|
||||
times[3]=0;
|
||||
}else{
|
||||
times[2] = Integer.parseInt(endTime.substring(0,2));
|
||||
times[3] = Integer.parseInt(endTime.substring(3));
|
||||
}
|
||||
return times;
|
||||
}
|
||||
|
||||
private boolean validateTime(int[] time){
|
||||
if(time[0]==0&&time[1]==0&&time[2]==0&&time[3]==0){
|
||||
return true;
|
||||
}
|
||||
if(time[2]>time[0]){
|
||||
return true;
|
||||
}else{
|
||||
if(time[2]==time[0]&&time[3]>time[1]){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -30,6 +30,7 @@ public class ServiceProvider extends UserType {
|
|||
private String companyname;
|
||||
private boolean licensed;
|
||||
private String description;
|
||||
private int rating;
|
||||
|
||||
|
||||
|
||||
|
@ -53,6 +54,7 @@ public class ServiceProvider extends UserType {
|
|||
this.companyname = companyname;
|
||||
this.licensed = licensed;
|
||||
this.description = "";
|
||||
this.rating = 0;
|
||||
}
|
||||
|
||||
ServiceProvider(String username, String password, String firstname, String lastname, String address,
|
||||
|
@ -162,4 +164,12 @@ public class ServiceProvider extends UserType {
|
|||
this.description = description;
|
||||
}
|
||||
|
||||
public int getRating() {
|
||||
return rating;
|
||||
}
|
||||
|
||||
public void setRating(int rating) {
|
||||
this.rating = rating;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package com.uottawa.olympus.olympusservices;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class ServiceProviderBookings extends AppCompatActivity {
|
||||
String username;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_service_provider_bookings);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
username = bundle.getString("username");
|
||||
}
|
||||
|
||||
/**
|
||||
* Override so that previous screen refreshes when pressing the
|
||||
* back button on this activity of the app.
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public void onBackPressed(){
|
||||
Intent intent = new Intent(getApplicationContext(),ServiceProviderWelcome.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}
|
|
@ -83,15 +83,6 @@ public class ServiceProviderServicesList extends AppCompatActivity implements De
|
|||
spinner.setItems(services);
|
||||
|
||||
|
||||
|
||||
|
||||
spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {
|
||||
|
||||
@Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
|
||||
Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -207,6 +198,7 @@ public class ServiceProviderServicesList extends AppCompatActivity implements De
|
|||
return services.length;
|
||||
}
|
||||
|
||||
//nested class for the items in the recycler view
|
||||
class ServicesHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
|
||||
|
||||
TextView name;
|
||||
|
@ -218,6 +210,11 @@ public class ServiceProviderServicesList extends AppCompatActivity implements De
|
|||
rate = row.findViewById(R.id.Rate);
|
||||
row.setOnClickListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Onclick function for the items in the recycler view
|
||||
* @param view
|
||||
*/
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
TextView nameview = (TextView)view.findViewById(R.id.Name);
|
||||
|
|
|
@ -32,8 +32,7 @@ public class ServiceProviderWelcome extends AppCompatActivity {
|
|||
UserType user;
|
||||
user = dbHelper.findUserByUsername(username);
|
||||
TextView welcome = findViewById(R.id.Welcome);
|
||||
welcome.setText("Welcome "+user.getFirstname()+ " you are logged in as a Service Provider");
|
||||
|
||||
welcome.setText("Welcome "+user.getFirstname()+ " you are logged in as a Home Owner");
|
||||
|
||||
|
||||
}
|
||||
|
@ -79,6 +78,12 @@ public class ServiceProviderWelcome extends AppCompatActivity {
|
|||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
public void SeeBookings(View view){
|
||||
Intent intent = new Intent(getApplicationContext(),ServiceProviderBookings.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -37,12 +37,12 @@ public class SignUpPart2 extends AppCompatActivity {
|
|||
if(companyname.length()>0 && address.length()>0 && phonenumber.length()>0
|
||||
&& companyname.matches("^[a-zA-Z0-9_ ]*$") && address.matches("^[a-zA-Z0-9_ ]*$")
|
||||
&& phonenumber.matches("^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$")
|
||||
&& description.matches("^[a-zA-Z0-9_ ]*$")
|
||||
&& companyname.replaceAll("\\s+","").length()>0
|
||||
&& address.replaceAll("\\s+","").length()>0) {
|
||||
|
||||
ServiceProvider serviceProvider = new ServiceProvider(username, password, firstname, lastname,
|
||||
address, phonenumber, companyname, licensed);
|
||||
serviceProvider.setDescription(description);
|
||||
address, phonenumber, companyname, licensed, description);
|
||||
if(dbHelper.addUser(serviceProvider)){
|
||||
startActivity(intent);
|
||||
finish();
|
||||
|
|
|
@ -13,6 +13,7 @@ import android.content.Intent;
|
|||
*
|
||||
*/
|
||||
public class Welcome extends AppCompatActivity {
|
||||
String username;
|
||||
|
||||
/**
|
||||
* On creation of this object the app will display the xml file for
|
||||
|
@ -26,14 +27,13 @@ public class Welcome extends AppCompatActivity {
|
|||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_welcome);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
String username = bundle.getString("username");
|
||||
username = bundle.getString("username");
|
||||
DBHelper dbHelper = new DBHelper(this);
|
||||
UserType user;
|
||||
user = dbHelper.findUserByUsername(username);
|
||||
TextView role = findViewById(R.id.Role);
|
||||
TextView name = findViewById(R.id.name);
|
||||
role.setText(user.getRole());
|
||||
name.setText(user.getFirstname());
|
||||
TextView welcome = findViewById(R.id.Welcome);
|
||||
welcome.setText("Welcome "+user.getFirstname()+ " you are logged in as a Service Provider");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -60,5 +60,19 @@ public class Welcome extends AppCompatActivity {
|
|||
finish();
|
||||
}
|
||||
|
||||
public void SeeBookings(View view){
|
||||
Intent intent = new Intent(getApplicationContext(),HomeOwnerBookings.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void FindServiceProvider(View view){
|
||||
Intent intent = new Intent(getApplicationContext(),FindServiceProvider.class);
|
||||
intent.putExtra("username", username);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:background="@drawable/background"
|
||||
tools:context=".Welcome">
|
||||
tools:context=".AdminWelcome">
|
||||
<TextView
|
||||
android:id="@+id/Welcome"
|
||||
android:layout_width="300dp"
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:background="@drawable/background"
|
||||
tools:context=".FindServiceProvider">
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginBottom="5dp">
|
||||
<TextView
|
||||
android:id="@+id/ServicePick"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="45dp"
|
||||
android:gravity="center"
|
||||
android:text="By Service:"
|
||||
android:paddingRight="5dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="15sp" />
|
||||
<com.jaredrummler.materialspinner.MaterialSpinner
|
||||
android:id="@+id/ServicesInput"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginTop="5dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<TextView
|
||||
android:id="@+id/DatePick"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="45dp"
|
||||
android:gravity="center"
|
||||
android:text="By Time:"
|
||||
android:paddingRight="20dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="15sp"/>
|
||||
<Button
|
||||
android:id="@+id/Start"
|
||||
android:layout_width="115dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Start"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickTime"
|
||||
android:layout_marginRight="5dp"/>
|
||||
<Button
|
||||
android:id="@+id/End"
|
||||
android:layout_width="115dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="End"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickTime"
|
||||
android:layout_marginRight="5dp"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
<Button
|
||||
android:id="@+id/Date"
|
||||
android:layout_width="235dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Date"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickDate"
|
||||
android:layout_gravity="end"/>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginBottom="5dp">
|
||||
<TextView
|
||||
android:id="@+id/RatingPick"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="45dp"
|
||||
android:gravity="center"
|
||||
android:text="By Rating:"
|
||||
android:paddingRight="10dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="15sp"
|
||||
/>
|
||||
<com.jaredrummler.materialspinner.MaterialSpinner
|
||||
android:id="@+id/RatingInput"
|
||||
android:layout_width="235dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginTop="5dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
<Button
|
||||
android:id="@+id/Search"
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="45dp"
|
||||
android:text="Search"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="Search"
|
||||
android:layout_marginRight="10dp"
|
||||
/>
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/ServiceProviders"
|
||||
android:scrollbars="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="250dp"/>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".HomeOwnerBookings">
|
||||
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:background="@drawable/background"
|
||||
tools:context=".MakeBooking">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="10dp">
|
||||
<TextView
|
||||
android:background="@color/colorWhite"
|
||||
android:id="@+id/HomeOwner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Home Owner:"
|
||||
android:paddingRight="5dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="20sp"
|
||||
android:layout_gravity="start"/>
|
||||
<TextView
|
||||
android:background="@color/colorWhite"
|
||||
android:id="@+id/ServiceProvider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Service Provider:"
|
||||
android:paddingRight="5dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="20sp"
|
||||
android:layout_gravity="start"/>
|
||||
<TextView
|
||||
android:background="@color/colorWhite"
|
||||
android:id="@+id/Service"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Service:"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="5dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="20sp"
|
||||
android:layout_gravity="start"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="10dp">
|
||||
<Button
|
||||
android:id="@+id/Start"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Start"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickTime"
|
||||
android:layout_marginRight="5dp"/>
|
||||
<Button
|
||||
android:id="@+id/End"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="End"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickTime"
|
||||
android:layout_marginRight="5dp"/>
|
||||
<Button
|
||||
android:id="@+id/Date"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Date"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="onClickDate"
|
||||
android:layout_gravity="end"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="30dp">
|
||||
<Button
|
||||
android:id="@+id/Book"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Book"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="Book"
|
||||
android:layout_marginRight="20dp"
|
||||
android:layout_marginLeft="20dp"/>
|
||||
<Button
|
||||
android:id="@+id/Cancel"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cancel"
|
||||
android:theme="@style/AppTheme.Button"
|
||||
android:onClick="Cancel"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ServiceProviderBookings">
|
||||
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -57,6 +57,7 @@
|
|||
android:layout_height="60dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="Bookings"
|
||||
android:onClick="SeeBookings"
|
||||
android:theme="@style/AppTheme.Button" />
|
||||
<Button
|
||||
android:id="@+id/LogOut"
|
||||
|
|
|
@ -80,6 +80,21 @@
|
|||
android:buttonTint="@color/colorWhite"
|
||||
android:layout_marginBottom="15dp"/>
|
||||
|
||||
//component used from https://github.com/rengwuxian/MaterialEditText
|
||||
<com.rengwuxian.materialedittext.MaterialEditText
|
||||
android:id="@+id/DescriptionInput"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="80dp"
|
||||
android:background="@drawable/customborder"
|
||||
android:hint="General Description"
|
||||
android:text=""
|
||||
android:textSize="15sp"
|
||||
app:met_baseColor="@android:color/white"
|
||||
app:met_floatingLabel="highlight"
|
||||
app:met_primaryColor="@color/colorWhite"
|
||||
app:met_singleLineEllipsis="true"
|
||||
android:textCursorDrawable="@color/colorWhite"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/SignUp"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:background="@drawable/background"
|
||||
tools:context=".Welcome">
|
||||
tools:context=".UsersList">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -17,59 +17,44 @@
|
|||
android:id="@+id/Welcome"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="80dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center"
|
||||
android:text="Welcome"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="30sp"
|
||||
android:layout_marginTop="50dp"
|
||||
app:fontFamily="@font/julius_sans_one" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="FirstNameHere"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="20sp"
|
||||
android:background="@drawable/customborder"
|
||||
android:layout_marginTop="10dp"
|
||||
app:fontFamily="@font/julius_sans_one" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Roleis"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="You are logged in as a"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="18sp"
|
||||
app:fontFamily="@font/julius_sans_one" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Role"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="Role Here"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:textColor="@android:color/white"
|
||||
android:background="@drawable/customborder"
|
||||
android:textSize="20sp"
|
||||
app:fontFamily="@font/julius_sans_one" />
|
||||
<Button
|
||||
android:id="@+id/Profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="Profile"
|
||||
android:theme="@style/AppTheme.Button" />
|
||||
<Button
|
||||
android:id="@+id/Find"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text="Find a Service Provider"
|
||||
android:onClick="FindServiceProvider"
|
||||
android:theme="@style/AppTheme.Button" />
|
||||
<Button
|
||||
android:id="@+id/Bookings"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="Bookings"
|
||||
android:onClick="SeeBookings"
|
||||
android:theme="@style/AppTheme.Button" />
|
||||
<Button
|
||||
android:id="@+id/LogOut"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:onClick="LogOut"
|
||||
android:text="Logout"
|
||||
android:theme="@style/AppTheme.Button" />
|
||||
|
||||
</LinearLayout>
|
|
@ -13,5 +13,10 @@
|
|||
<item name="android:textColor">@color/colorBlack</item>
|
||||
</style>
|
||||
|
||||
<style name="RatingBar" parent="Theme.AppCompat">
|
||||
<item name="colorControlNormal">@color/colorWhite</item>
|
||||
<item name="colorControlActivated">@color/colorWhite</item>
|
||||
</style>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue