Merge branch 'master' of https://github.com/ebivibe/SEG2105-Olympus into DBBranch
This commit is contained in:
		
						commit
						07d180b4c0
					
				
					 4 changed files with 112 additions and 25 deletions
				
			
		| 
						 | 
					@ -9,9 +9,11 @@ import android.support.v7.app.AppCompatActivity;
 | 
				
			||||||
import android.os.Bundle;
 | 
					import android.os.Bundle;
 | 
				
			||||||
import android.support.v7.widget.LinearLayoutManager;
 | 
					import android.support.v7.widget.LinearLayoutManager;
 | 
				
			||||||
import android.support.v7.widget.RecyclerView;
 | 
					import android.support.v7.widget.RecyclerView;
 | 
				
			||||||
 | 
					import android.support.v7.widget.SwitchCompat;
 | 
				
			||||||
import android.view.LayoutInflater;
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
import android.view.View;
 | 
					import android.view.View;
 | 
				
			||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
 | 
					import android.widget.CompoundButton;
 | 
				
			||||||
import android.widget.EditText;
 | 
					import android.widget.EditText;
 | 
				
			||||||
import android.widget.RadioButton;
 | 
					import android.widget.RadioButton;
 | 
				
			||||||
import android.widget.RadioGroup;
 | 
					import android.widget.RadioGroup;
 | 
				
			||||||
| 
						 | 
					@ -54,6 +56,27 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
        mAdapter = new MyAdapter(bookings, this);
 | 
					        mAdapter = new MyAdapter(bookings, this);
 | 
				
			||||||
        mRecyclerView.setAdapter(mAdapter);
 | 
					        mRecyclerView.setAdapter(mAdapter);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        SwitchCompat toggle = findViewById(R.id.Switch);
 | 
				
			||||||
 | 
					        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
 | 
				
			||||||
 | 
					            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
 | 
				
			||||||
 | 
					                if (isChecked) {
 | 
				
			||||||
 | 
					                    List<Booking> booking = (List<Booking>)dbhelper.findBookings(username);
 | 
				
			||||||
 | 
					                    Booking[] bookings = new Booking[booking.size()];
 | 
				
			||||||
 | 
					                    bookings = booking.toArray(bookings);
 | 
				
			||||||
 | 
					                    mAdapter = new MyAdapter(bookings, Bookings.this);
 | 
				
			||||||
 | 
					                    mRecyclerView.setAdapter(mAdapter);
 | 
				
			||||||
 | 
					                    mAdapter.notifyDataSetChanged();
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    List<Booking> booking = (List<Booking>)dbhelper.findNonCancelledBookings(username);
 | 
				
			||||||
 | 
					                    Booking[] bookings = new Booking[booking.size()];
 | 
				
			||||||
 | 
					                    bookings = booking.toArray(bookings);
 | 
				
			||||||
 | 
					                    mAdapter = new MyAdapter(bookings, Bookings.this);
 | 
				
			||||||
 | 
					                    mRecyclerView.setAdapter(mAdapter);
 | 
				
			||||||
 | 
					                    mAdapter.notifyDataSetChanged();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					@ -128,6 +151,8 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
            holder.start.setText(formatTime(booking.getStarth(), booking.getStartmin()));
 | 
					            holder.start.setText(formatTime(booking.getStarth(), booking.getStartmin()));
 | 
				
			||||||
            holder.end.setText(formatTime(booking.getEndh(), booking.getEndmin()));
 | 
					            holder.end.setText(formatTime(booking.getEndh(), booking.getEndmin()));
 | 
				
			||||||
            holder.status.setText(booking.getStatus().toString());
 | 
					            holder.status.setText(booking.getStatus().toString());
 | 
				
			||||||
 | 
					            holder.ho = booking.getHomeowner().getUsername();
 | 
				
			||||||
 | 
					            holder.sp = booking.getServiceprovider().getUsername();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -147,6 +172,8 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
            TextView start;
 | 
					            TextView start;
 | 
				
			||||||
            TextView end;
 | 
					            TextView end;
 | 
				
			||||||
            TextView status;
 | 
					            TextView status;
 | 
				
			||||||
 | 
					            String ho;
 | 
				
			||||||
 | 
					            String sp;
 | 
				
			||||||
            int starth;
 | 
					            int starth;
 | 
				
			||||||
            int startmin;
 | 
					            int startmin;
 | 
				
			||||||
            int endh;
 | 
					            int endh;
 | 
				
			||||||
| 
						 | 
					@ -165,6 +192,7 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                end = row.findViewById(R.id.EndTime);
 | 
					                end = row.findViewById(R.id.EndTime);
 | 
				
			||||||
                status = row.findViewById(R.id.StatusName);
 | 
					                status = row.findViewById(R.id.StatusName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                row.setOnClickListener(this);
 | 
					                row.setOnClickListener(this);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
| 
						 | 
					@ -176,10 +204,18 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                                    new DialogInterface.OnClickListener() {
 | 
					                                    new DialogInterface.OnClickListener() {
 | 
				
			||||||
                                        @Override
 | 
					                                        @Override
 | 
				
			||||||
                                        public void onClick(DialogInterface arg0, int arg1) {
 | 
					                                        public void onClick(DialogInterface arg0, int arg1) {
 | 
				
			||||||
                                            if(dbhelper.confirmBooking(new Booking(starth, startmin, endh, endmin, day, month,
 | 
					                                            int[] times = parseTime(start.getText().toString(), end.getText().toString());
 | 
				
			||||||
                                                    year, (ServiceProvider)dbhelper.findUserByUsername(serviceprovider.getText().toString()),
 | 
					                                            starth = times[0];
 | 
				
			||||||
                                                    (HomeOwner)dbhelper.findUserByUsername(homeowner.getText().toString()),
 | 
					                                            startmin = times[1];
 | 
				
			||||||
                                                    dbhelper.findService(service.getText().toString())))){
 | 
					                                            endh = times[2];
 | 
				
			||||||
 | 
					                                            endmin = times[3];
 | 
				
			||||||
 | 
					                                            String[] dates = date.getText().toString().split("/");
 | 
				
			||||||
 | 
					                                            month = Integer.parseInt(dates[0].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                            day = Integer.parseInt(dates[1].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                            year = Integer.parseInt(dates[2].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                            if(dbhelper.confirmBooking(new Booking(starth, startmin, endh, endmin, day, month, year, (ServiceProvider)dbhelper.findUserByUsername(sp),
 | 
				
			||||||
 | 
					                                                    (HomeOwner)dbhelper.findUserByUsername(ho),
 | 
				
			||||||
 | 
					                                                    new Service(service.getText().toString(), 5)))){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                                Toast.makeText(Bookings.this,"Booking is confirmed",Toast.LENGTH_LONG).show();
 | 
					                                                Toast.makeText(Bookings.this,"Booking is confirmed",Toast.LENGTH_LONG).show();
 | 
				
			||||||
                                                Bookings.this.recreate();
 | 
					                                                Bookings.this.recreate();
 | 
				
			||||||
| 
						 | 
					@ -195,10 +231,18 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                            new DialogInterface.OnClickListener() {
 | 
					                            new DialogInterface.OnClickListener() {
 | 
				
			||||||
                        @Override
 | 
					                        @Override
 | 
				
			||||||
                        public void onClick(DialogInterface dialog, int which) {
 | 
					                        public void onClick(DialogInterface dialog, int which) {
 | 
				
			||||||
                            if(dbhelper.cancelBooking(new Booking(starth, startmin, endh, endmin, day, month,
 | 
					                            int[] times = parseTime(start.getText().toString(), end.getText().toString());
 | 
				
			||||||
                                    year, (ServiceProvider)dbhelper.findUserByUsername(serviceprovider.getText().toString()),
 | 
					                            starth = times[0];
 | 
				
			||||||
                                    (HomeOwner)dbhelper.findUserByUsername(homeowner.getText().toString()),
 | 
					                            startmin = times[1];
 | 
				
			||||||
                                    dbhelper.findService(service.getText().toString())))){
 | 
					                            endh = times[2];
 | 
				
			||||||
 | 
					                            endmin = times[3];
 | 
				
			||||||
 | 
					                            String[] dates = date.getText().toString().split("/");
 | 
				
			||||||
 | 
					                            month = Integer.parseInt(dates[0].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                            day = Integer.parseInt(dates[1].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                            year = Integer.parseInt(dates[2].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                            if(dbhelper.cancelBooking(new Booking(starth, startmin, endh, endmin, day, month, year, (ServiceProvider)dbhelper.findUserByUsername(sp),
 | 
				
			||||||
 | 
					                                    (HomeOwner)dbhelper.findUserByUsername(ho),
 | 
				
			||||||
 | 
					                                    new Service(service.getText().toString(), 5)))){
 | 
				
			||||||
                                Toast.makeText(Bookings.this,"Booking is cancelled",Toast.LENGTH_LONG).show();
 | 
					                                Toast.makeText(Bookings.this,"Booking is cancelled",Toast.LENGTH_LONG).show();
 | 
				
			||||||
                                Bookings.this.recreate();
 | 
					                                Bookings.this.recreate();
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
| 
						 | 
					@ -218,6 +262,15 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                            new DialogInterface.OnClickListener() {
 | 
					                            new DialogInterface.OnClickListener() {
 | 
				
			||||||
                                @Override
 | 
					                                @Override
 | 
				
			||||||
                                public void onClick(DialogInterface arg0, int arg1) {
 | 
					                                public void onClick(DialogInterface arg0, int arg1) {
 | 
				
			||||||
 | 
					                                    int[] times = parseTime(start.getText().toString(), end.getText().toString());
 | 
				
			||||||
 | 
					                                    starth = times[0];
 | 
				
			||||||
 | 
					                                    startmin = times[1];
 | 
				
			||||||
 | 
					                                    endh = times[2];
 | 
				
			||||||
 | 
					                                    endmin = times[3];
 | 
				
			||||||
 | 
					                                    String[] dates = date.getText().toString().split("/");
 | 
				
			||||||
 | 
					                                    month = Integer.parseInt(dates[0].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                    day = Integer.parseInt(dates[1].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                    year = Integer.parseInt(dates[2].replaceAll("\\s+",""));
 | 
				
			||||||
                                    RadioGroup ratingselect = ((AlertDialog) arg0).findViewById(R.id.RatingSelect);
 | 
					                                    RadioGroup ratingselect = ((AlertDialog) arg0).findViewById(R.id.RatingSelect);
 | 
				
			||||||
                                    int selectedId = ratingselect.getCheckedRadioButtonId();
 | 
					                                    int selectedId = ratingselect.getCheckedRadioButtonId();
 | 
				
			||||||
                                    RadioButton ratingpicked;
 | 
					                                    RadioButton ratingpicked;
 | 
				
			||||||
| 
						 | 
					@ -225,17 +278,12 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                                    if(selectedId!=-1 && !comment.getText().toString().equals("")){
 | 
					                                    if(selectedId!=-1 && !comment.getText().toString().equals("")){
 | 
				
			||||||
                                        ratingpicked = (RadioButton)((AlertDialog) arg0).findViewById(selectedId);
 | 
					                                        ratingpicked = (RadioButton)((AlertDialog) arg0).findViewById(selectedId);
 | 
				
			||||||
                                        double rating = Double.parseDouble(ratingpicked.getText().toString());
 | 
					                                        double rating = Double.parseDouble(ratingpicked.getText().toString());
 | 
				
			||||||
                                        /*Booking booking = new Booking(starth, startmin, endh, endmin, day, month,
 | 
					
 | 
				
			||||||
                                                year, (ServiceProvider)dbhelper.findUserByUsername(serviceprovider.getText().toString()),
 | 
					                                        Booking booking = new Booking(starth, startmin, endh, endmin, day, month, year, (ServiceProvider)dbhelper.findUserByUsername(sp),
 | 
				
			||||||
                                                (HomeOwner)dbhelper.findUserByUsername(homeowner.getText().toString()),
 | 
					                                                (HomeOwner)dbhelper.findUserByUsername(ho),
 | 
				
			||||||
                                                dbhelper.findService(service.getText().toString()));
 | 
					 | 
				
			||||||
                                                */
 | 
					 | 
				
			||||||
                                        Booking booking = new Booking(starth, startmin, endh, endmin, day, month, year, new ServiceProvider(serviceprovider.getText().toString(),
 | 
					 | 
				
			||||||
                                        "", "", "", "", "", "", true),
 | 
					 | 
				
			||||||
                                                new HomeOwner(homeowner.getText().toString(), "", "", ""),
 | 
					 | 
				
			||||||
                                                new Service(service.getText().toString(), 5));
 | 
					                                                new Service(service.getText().toString(), 5));
 | 
				
			||||||
                                        if(!dbhelper.addRating(booking, rating, comment.getText().toString())){
 | 
					                                        if(!dbhelper.addRating(booking, rating, comment.getText().toString())){
 | 
				
			||||||
                                            Toast.makeText(Bookings.this, "Rating could not be added", Toast.LENGTH_SHORT).show();
 | 
					                                            Toast.makeText(Bookings.this, "Rating cannot be added before the appointment", Toast.LENGTH_SHORT).show();
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                        else{
 | 
					                                        else{
 | 
				
			||||||
                                            Bookings.this.recreate();
 | 
					                                            Bookings.this.recreate();
 | 
				
			||||||
| 
						 | 
					@ -253,10 +301,19 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
                            new DialogInterface.OnClickListener() {
 | 
					                            new DialogInterface.OnClickListener() {
 | 
				
			||||||
                                @Override
 | 
					                                @Override
 | 
				
			||||||
                                public void onClick(DialogInterface dialog, int which) {
 | 
					                                public void onClick(DialogInterface dialog, int which) {
 | 
				
			||||||
                                    if(dbhelper.cancelBooking(new Booking(starth, startmin, endh, endmin, day, month,
 | 
					
 | 
				
			||||||
                                            year, (ServiceProvider)dbhelper.findUserByUsername(serviceprovider.getText().toString()),
 | 
					                                    int[] times = parseTime(start.getText().toString(), end.getText().toString());
 | 
				
			||||||
                                            (HomeOwner)dbhelper.findUserByUsername(homeowner.getText().toString()),
 | 
					                                    starth = times[0];
 | 
				
			||||||
                                            dbhelper.findService(service.getText().toString())))){
 | 
					                                    startmin = times[1];
 | 
				
			||||||
 | 
					                                    endh = times[2];
 | 
				
			||||||
 | 
					                                    endmin = times[3];
 | 
				
			||||||
 | 
					                                    String[] dates = date.getText().toString().split("/");
 | 
				
			||||||
 | 
					                                    month = Integer.parseInt(dates[0].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                    day = Integer.parseInt(dates[1].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                    year = Integer.parseInt(dates[2].replaceAll("\\s+",""));
 | 
				
			||||||
 | 
					                                    if(dbhelper.cancelBooking(new Booking(starth, startmin, endh, endmin, day, month, year, (ServiceProvider)dbhelper.findUserByUsername(sp),
 | 
				
			||||||
 | 
					                                            (HomeOwner)dbhelper.findUserByUsername(ho),
 | 
				
			||||||
 | 
					                                            new Service(service.getText().toString(), 5)))){
 | 
				
			||||||
                                        Toast.makeText(Bookings.this,"Booking is cancelled",Toast.LENGTH_LONG).show();
 | 
					                                        Toast.makeText(Bookings.this,"Booking is cancelled",Toast.LENGTH_LONG).show();
 | 
				
			||||||
                                        Bookings.this.recreate();
 | 
					                                        Bookings.this.recreate();
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
| 
						 | 
					@ -294,4 +351,24 @@ public class Bookings extends AppCompatActivity {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return time;
 | 
					        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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,11 +12,20 @@
 | 
				
			||||||
    android:paddingTop="@dimen/activity_vertical_margin"
 | 
					    android:paddingTop="@dimen/activity_vertical_margin"
 | 
				
			||||||
    android:background="@drawable/background"
 | 
					    android:background="@drawable/background"
 | 
				
			||||||
    tools:context=".Bookings">
 | 
					    tools:context=".Bookings">
 | 
				
			||||||
 | 
					    <android.support.v7.widget.SwitchCompat
 | 
				
			||||||
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:text="Show cancelled bookings"
 | 
				
			||||||
 | 
					        android:id="@+id/Switch"
 | 
				
			||||||
 | 
					        android:checked="true"
 | 
				
			||||||
 | 
					        android:theme="@style/Switch"
 | 
				
			||||||
 | 
					        android:layout_marginBottom="10dp"
 | 
				
			||||||
 | 
					        android:textColor="@color/colorWhite"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <android.support.v7.widget.RecyclerView
 | 
					    <android.support.v7.widget.RecyclerView
 | 
				
			||||||
        android:id="@+id/Bookings"
 | 
					        android:id="@+id/Bookings"
 | 
				
			||||||
        android:scrollbars="vertical"
 | 
					        android:scrollbars="vertical"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="500dp"/>
 | 
					        android:layout_height="450dp"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
| 
						 | 
					@ -142,7 +142,7 @@
 | 
				
			||||||
                        android:layout_width="wrap_content"
 | 
					                        android:layout_width="wrap_content"
 | 
				
			||||||
                        android:layout_height="wrap_content"
 | 
					                        android:layout_height="wrap_content"
 | 
				
			||||||
                        android:layout_weight="1"
 | 
					                        android:layout_weight="1"
 | 
				
			||||||
                        android:text="Start"
 | 
					                        android:text=""
 | 
				
			||||||
                        android:textColor="@color/colorBlack"
 | 
					                        android:textColor="@color/colorBlack"
 | 
				
			||||||
                        android:textSize="15sp"
 | 
					                        android:textSize="15sp"
 | 
				
			||||||
                        />
 | 
					                        />
 | 
				
			||||||
| 
						 | 
					@ -163,7 +163,7 @@
 | 
				
			||||||
                        android:layout_width="wrap_content"
 | 
					                        android:layout_width="wrap_content"
 | 
				
			||||||
                        android:layout_height="wrap_content"
 | 
					                        android:layout_height="wrap_content"
 | 
				
			||||||
                        android:layout_weight="1"
 | 
					                        android:layout_weight="1"
 | 
				
			||||||
                        android:text="End"
 | 
					                        android:text=""
 | 
				
			||||||
                        android:textColor="@color/colorBlack"
 | 
					                        android:textColor="@color/colorBlack"
 | 
				
			||||||
                        android:textSize="15sp"
 | 
					                        android:textSize="15sp"
 | 
				
			||||||
                        />
 | 
					                        />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,10 +13,11 @@
 | 
				
			||||||
        <item name="android:textColor">@color/colorBlack</item>
 | 
					        <item name="android:textColor">@color/colorBlack</item>
 | 
				
			||||||
    </style>
 | 
					    </style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <style name="RatingBar" parent="Theme.AppCompat">
 | 
					    <style name="Switch" parent="Theme.AppCompat">
 | 
				
			||||||
        <item name="colorControlNormal">@color/colorWhite</item>
 | 
					        <item name="colorControlNormal">@color/colorWhite</item>
 | 
				
			||||||
        <item name="colorControlActivated">@color/colorWhite</item>
 | 
					        <item name="colorControlActivated">@color/colorWhite</item>
 | 
				
			||||||
    </style>
 | 
					    </style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue