Commit ec6e6690 authored by ejcris's avatar ejcris

Searching bus schedules - Starting terminal and Destination only

parent a9b16be7
......@@ -166,7 +166,7 @@ public class ActionBarAttempt extends AppCompatActivity {
switch(position){
case 0:
Fragment fa = new SearchFragment();
fragment = new SearchFragment();
break;
case 1:
fragment = new Schedules();
......
......@@ -48,7 +48,7 @@ public class Confirmation extends Dialog{
t = busSchedule.getString("to", "").trim();
dT = busSchedule.getString("depTime", "").trim();
sA = busSchedule.getString("seatsAvailable", "").trim();
//c = busSchedule.getString("cost", "").trim();
c = busSchedule.getString("cost", "").trim();
nOS = busSchedule.getString("noOfSeats", "").trim();
a = busSchedule.getString("arrival", "").trim();
}
......@@ -59,7 +59,6 @@ public class Confirmation extends Dialog{
TextView from = (TextView) findViewById(R.id.from);
TextView to = (TextView) findViewById(R.id.to);
TextView depTime = (TextView) findViewById(R.id.depTime);
TextView seatsAvailable = (TextView) findViewById(R.id.seatsAvailable);
TextView purchase = (TextView) findViewById(R.id.purchase);
TextView noOfSeats =(TextView) findViewById(R.id.noOfSeats);
TextView seatsPurchased =(TextView) findViewById(R.id.seatsPurchased);
......@@ -70,7 +69,6 @@ public class Confirmation extends Dialog{
from.setText(f);
to.setText(t);
depTime.setText(dT);
seatsAvailable.setText(sA);
arrival.setText(a);
totalCost = Double.parseDouble(c)*Double.parseDouble(nOS);
purchase.setText(Double.toString(totalCost));
......@@ -132,14 +130,14 @@ public class Confirmation extends Dialog{
}
});
Button cancel = (Button) findViewById(R.id.cancel);
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cancel();
}
});
// Button cancel = (Button) findViewById(R.id.cancel);
// cancel.setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
// cancel();
// }
// });
}
}
package com.example.pearlsantos.project;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
......@@ -19,6 +20,7 @@ import com.parse.ParseUser;
public class Login_Screen extends AppCompatActivity {
//public final static String EXTRA_MESSAGE = ;
String name, password;
ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -35,29 +37,51 @@ public class Login_Screen extends AppCompatActivity {
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText n = (EditText) findViewById(R.id.name);
name = n.getText().toString();
EditText p = (EditText) findViewById(R.id.password);
password = p.getText().toString();
ParseUser.logInInBackground(name, password, new LogInCallback() {
public void done(ParseUser user, ParseException e) {
if (user != null) {
Intent intent = new Intent(Login_Screen.this, ActionBarAttempt.class);
//EditText editText = (EditText) findViewById(R.id.name);
//String message = editText.getText().toString();
//intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
finish();
} else {
//Log.d(e, "What happened?");
Toast.makeText(Login_Screen.this, "Name and phone number combination " +
"does not exist", Toast.LENGTH_LONG).show();
final ProgressDialog ringProgressDialog = ProgressDialog.show(Login_Screen.this,
"Maaring maghintay lamang ...", "Logging in ...", true);
ringProgressDialog.setCancelable(true);
new Thread(new Runnable() {
@Override
public void run() {
try {
EditText n = (EditText) findViewById(R.id.name);
name = n.getText().toString();
EditText p = (EditText) findViewById(R.id.password);
password = p.getText().toString();
ParseUser.logInInBackground(name, password, new LogInCallback() {
public void done(ParseUser user, ParseException e) {
if (user != null) {
Intent intent = new Intent(Login_Screen.this, ActionBarAttempt.class);
//EditText editText = (EditText) findViewById(R.id.name);
//String message = editText.getText().toString();
//intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
ringProgressDialog.dismiss();
finish();
} else {
//Log.d(e, "What happened?");
Toast.makeText(Login_Screen.this, "Name and phone number combination " +
"does not exist", Toast.LENGTH_LONG).show();
ringProgressDialog.dismiss();
}
}
});
Thread.sleep(10000);
} catch (Exception e) {
}
ringProgressDialog.dismiss();
}
}
});
}).start();
}
});
......@@ -94,4 +118,5 @@ public class Login_Screen extends AppCompatActivity {
startActivity(intent);
}
}
......@@ -18,7 +18,8 @@ import android.widget.Toast;
public class ReservingSeats extends Dialog {
SharedPreferences busSchedule;
EditText noOfSeats;
String bN, pN, f, t, dT, sA, c, nOS, a;
String sA;
int nOS;
NumberPicker tens;
NumberPicker ones;
......@@ -31,6 +32,7 @@ public class ReservingSeats extends Dialog {
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_reserving_seats);
busSchedule = getContext().getSharedPreferences("bus", Context.MODE_PRIVATE);
// if(busSchedule!=null){
// bN = busSchedule.getString("busNum", "").trim();
......@@ -38,7 +40,7 @@ public class ReservingSeats extends Dialog {
// f = busSchedule.getString("from", "").trim();
// t = busSchedule.getString("to", "").trim();
// dT = busSchedule.getString("depTime", "").trim();
sA = busSchedule.getString("seatsAvailable", "").trim();
sA = busSchedule.getString("seatsAvailable", "").trim();
// c = busSchedule.getString("cost", "").trim();
// a = busSchedule.getString("arrival", "").trim();
// }
......@@ -56,7 +58,6 @@ public class ReservingSeats extends Dialog {
ones.setWrapSelectorWheel(true);
setContentView(R.layout.activity_reserving_seats);
// noOfSeats = (EditText) findViewById(R.id.noOfSeats);
// noOfSeats.setText("1");
......@@ -69,12 +70,13 @@ public class ReservingSeats extends Dialog {
NumberPicker tensSeats = (NumberPicker) findViewById(R.id.numberPicker);
NumberPicker unitSeats = (NumberPicker) findViewById(R.id.numberPicker2);
int nOS1 = (tensSeats.getValue()*10) + unitSeats.getValue();
nOS = (tensSeats.getValue()*10) + unitSeats.getValue();
int remainingSeats = Integer.parseInt(sA) - nOS1;
int remainingSeats = Integer.parseInt(sA) - nOS;
if (remainingSeats > 0) {
SharedPreferences.Editor edit = busSchedule.edit();
edit.putString("noOfSeats", noOfSeats.getText().toString().trim());
edit.putString("noOfSeats", Integer.toString(nOS).trim());
edit.putString("seatsAvailable", Integer.toString(remainingSeats).trim());
edit.commit();
Confirmation confirm = new Confirmation(getContext());
confirm.show();
......
package com.example.pearlsantos.project;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
......@@ -13,17 +16,24 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.DigitalClock;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.parse.FindCallback;
import com.parse.LogInCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseUser;
import java.util.ArrayList;
import java.util.List;
......@@ -32,7 +42,7 @@ import java.util.List;
* A placeholder fragment containing a simple view.
*/
public class SearchFragment extends Fragment {
SharedPreferences time;
SharedPreferences busSchedule;
View rootView;
Spinner s;
public SearchFragment() {
......@@ -64,37 +74,92 @@ public class SearchFragment extends Fragment {
searchFor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
time = getContext().getSharedPreferences("bus", getContext().MODE_PRIVATE);
String hour = time.getString("hourOfDay", "");
String minute = time.getString("minute", "");
final ProgressDialog ringProgressDialog = ProgressDialog.show(getContext(),
"Maaring maghintay lamang ...", "Kinukuha ang talaan ng bus ...", true);
ringProgressDialog.setCancelable(true);
new Thread(new Runnable() {
@Override
public void run() {
try {
busSchedule = getContext().getSharedPreferences("bus", getContext().MODE_PRIVATE);
String hour = busSchedule.getString("hourOfDay", "");
String minute = busSchedule.getString("minute", "");
EditText from = (EditText) rootView.findViewById(R.id.fromSearch);
String fromSearch = from.getText().toString().trim();
EditText from = (EditText) rootView.findViewById(R.id.fromSearch);
String fromSearch = from.getText().toString().trim();
EditText to = (EditText) rootView.findViewById(R.id.toSearch);
String toSearch = to.getText().toString().trim();
EditText to = (EditText) rootView.findViewById(R.id.toSearch);
String toSearch = to.getText().toString().trim();
String bC = s.getSelectedItem().toString().trim();
String bC = s.getSelectedItem().toString().trim();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Schedule");
query.orderByAscending("departure");
query.whereContains("startingTerminal", fromSearch);
query.whereContains("destination", toSearch);
query.whereContains("busCompany", bC);
ParseQuery<ParseObject> query = ParseQuery.getQuery("Schedule");
query.orderByAscending("departure");
query.whereContains("startingTerminal", fromSearch);
query.whereContains("destination", toSearch);
if(!(bC.equals("None")))
query.whereContains("busCompany", bC);
// query.whereContains("departure", hour);
// query.whereContains("arrival", minute);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> bC, ParseException e) {
if (e == null) {
Log.d("score", "Retrieved " + bC.size() + " scores");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> bC, ParseException e) {
if (e == null) {
ListView lv = (ListView) rootView.findViewById(R.id.schedule);
SampleCustomAdapter adapter2 = new SampleCustomAdapter(bC);
lv.setTextFilterEnabled(true);
lv.setAdapter(adapter2);
} else {
Log.d("score", "Error: " + e.getMessage());
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
SharedPreferences.Editor edit2 = busSchedule.edit();
//System.out.println(adapter.getObjectIDOfItem());
// edit2.putString("ID", adapter.getObjectIDOfItem());
// TextView busNum = (TextView) rootView.findViewById(R.id.busNum);
// TextView plateNum = (TextView) rootView.findViewById(R.id.plateNum);
TextView from = (TextView) rootView.findViewById(R.id.from);
TextView to = (TextView) rootView.findViewById(R.id.to);
TextView depTime = (TextView) rootView.findViewById(R.id.depTime);
TextView seatsAvailable = (TextView) rootView.findViewById(R.id.seatsAvailable);
TextView cost = (TextView) rootView.findViewById(R.id.cost);
TextView arrival = (TextView) rootView.findViewById(R.id.arrTime);
SharedPreferences.Editor edit = busSchedule.edit();
// edit.putString("busNum", busNum.getText().toString().trim());
// edit.putString("plateNum", plateNum.getText().toString().trim());
edit.putString("from", from.getText().toString().trim());
edit.putString("to", to.getText().toString().trim());
edit.putString("depTime", depTime.getText().toString().trim());
edit.putString("seatsAvailable", seatsAvailable.getText().toString().trim());
edit.putString("cost", cost.getText().toString().trim());
edit.putString("arrival", arrival.getText().toString().trim());
edit.commit();
ReservingSeats dialog = new ReservingSeats(rootView.getContext());
dialog.show();
}
});
} else {
}
}
});
Thread.sleep(10000);
} catch (Exception e) {
}
ringProgressDialog.dismiss();
}
});
}).start();
}
......@@ -117,7 +182,79 @@ public class SearchFragment extends Fragment {
}
private class SampleCustomAdapter extends BaseAdapter {
private List<ParseObject> internalList;
public SampleCustomAdapter(List<ParseObject> contacts) {
internalList = contacts;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return internalList.size();
}
@Override
public Object getItem(int index) {
// TODO Auto-generated method stub
return internalList.get(index);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// NOTE: you can only do this if you have access to the Activity object
// which is why this is an inner class
//LayoutInflater inflater = getLayoutInflater();
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view;
System.out.println(parent.getClass().getName());
System.out.println(position);
if (convertView == null) {
view = inflater.inflate(R.layout.schedule_list, null);
} else {
view = convertView;
}
// extract the views to be populated
// TextView busNum = (TextView) view.findViewById(R.id.busNum);
// TextView plateNum = (TextView) view.findViewById(R.id.plateNum);
ImageView companyLogo = (ImageView) view.findViewById(R.id.busCompanyLogo);
TextView from = (TextView) view.findViewById(R.id.from);
TextView to = (TextView) view.findViewById(R.id.to);
TextView depTime = (TextView) view.findViewById(R.id.depTime);
TextView seatsAvailable = (TextView) view.findViewById(R.id.seatsAvailable);
TextView cost = (TextView) view.findViewById(R.id.cost);
TextView arrival = (TextView) view.findViewById(R.id.arrTime);
// extract the object that will fill these
ParseObject contact = internalList.get(position);
// busNum.setText(contact.getString("busCompany"));
// plateNum.setText(contact.getString("busPlate"));
// companyLogo.setImageBitmap();
from.setText(contact.getString("startingTerminal"));
to.setText(contact.getString("destination"));
depTime.setText(contact.getString("departure"));
seatsAvailable.setText(contact.getString("seatsAmount"));
cost.setText(contact.getString("ticketPrice"));
arrival.setText(contact.getString("arrival"));
// return the view
return view;
}
}
}
......@@ -107,5 +107,11 @@
</LinearLayout>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/schedule"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</LinearLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment