use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class ListOfSheltersActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
// data to populate the RecyclerView with
ArrayList<String> shelterNames = new ArrayList<>();
DBI db = new Db("pinkpanther", "PinkPantherReturns!");
shelters = db.getAllShelters();
for (int i = 0; i < shelters.size(); i++) {
Shelter s = shelters.get(i);
shelterNames.add(s.getShelterName());
}
// set up the RecyclerView
RecyclerView recyclerView = findViewById(R.id.rvShelters);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
RecyclerAdapter adapter = new RecyclerAdapter(this, shelterNames);
adapter.setClickListener(this);
recyclerView.setAdapter(adapter);
// set up search button
Button search_button = findViewById(R.id.search_button);
search_button.setVisibility(View.VISIBLE);
search_button.setOnClickListener(this);
Button map_search = findViewById(R.id.button2);
map_search.setVisibility(View.VISIBLE);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
assert extras != null;
username = extras.getString("username");
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class MapsActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
// set up Db workspace
db = new Db("pinkpanther", "PinkPantherReturns!");
noResult = findViewById(R.id.no_result_found);
// only shows at the beginning
shelters = db.getAllShelters();
myShelters = shelters;
try {
Intent intent = getIntent();
Bundle extra = intent.getExtras();
assert extra != null;
String username = extra.getString("username");
user = db.getAccountByUsername(username);
} catch (NoSuchUserException e) {
throw new RuntimeException("There is not account with this username");
}
// set adapter for the first spinner
choices = Arrays.asList("Gender", "Age Range", "Name");
choices_spinner = findViewById(R.id.choices_spinner);
ArrayAdapter<String> choices_adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, choices);
choices_spinner.setAdapter(choices_adapter);
// set adapter for second spinner, depending on which choice was made
genders = Arrays.asList("None", "Men", "Women", "Non-Binary");
ageRanges = Arrays.asList("None", "Families with Newborns", "Children", "Young Adults", "Anyone");
second_spinner = findViewById(R.id.age_range_gender_spinner);
second_spinner.setVisibility(View.INVISIBLE);
gender_adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, genders);
age_range_adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, ageRanges);
second_spinner.setAdapter(gender_adapter);
// end
shelter_name_edit_text = findViewById(R.id.shelter_name_edit_text);
choices_spinner.setSelection(0);
second_spinner.setSelection(0);
choices_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String searchBy = choices.get(i);
String gender = "Gender";
String ageRange = "Age Range";
String name = "Name";
if (searchBy.equals(gender)) {
// search by gender was selected
second_spinner.setAdapter(gender_adapter);
second_spinner.setVisibility(View.VISIBLE);
shelter_name_edit_text.setVisibility(View.INVISIBLE);
noResult.setText("");
} else if (searchBy.equals(ageRange)) {
// search by age range was selected
second_spinner.setAdapter(age_range_adapter);
second_spinner.setVisibility(View.VISIBLE);
shelter_name_edit_text.setVisibility(View.INVISIBLE);
noResult.setText("");
} else if (searchBy.equals(name)) {
// search by name was selected
second_spinner.setVisibility(View.INVISIBLE);
shelter_name_edit_text.setVisibility(View.VISIBLE);
// set interaction for the previewed list of shelter before starting the search
shelter_name_edit_text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
myShelters = shelters;
setMarkersOnMap();
noResult.setText("");
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// grabs each new character that the user types into the textView
try {
myShelters = db.getShelterByName(charSequence.toString());
setMarkersOnMap();
} catch (NoSuchUserException e) {
noResult.setText("No Result Found");
MapsActivity.this.mMap.clear();
}
}
@Override
public void afterTextChanged(Editable editable) {
// changes occurred during onTextChanged
// so no changes after text changed
}
});
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// nothing changes when nothing is selected
}
});
second_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Object item = choices_spinner.getSelectedItem();
String firstSelection = item.toString();
String gender = "Gender";
if (firstSelection.equals(gender)) {
String searchBy = sqlConverter(genders.get(i));
noResult.setText("");
if (!("None".equals(searchBy))) {
try {
myShelters = db.getShelterByRestriction(searchBy);
setMarkersOnMap();
} catch (NoSuchUserException e) {
noResult.setText("No Result Found");
mMap.clear();
}
} else {
myShelters = shelters;
setMarkersOnMap();
}
} else if ("Age Range".equals(firstSelection)) {
String searchBy = sqlConverter(ageRanges.get(i));
noResult.setText("");
if (!("None".equals(searchBy))) {
try {
myShelters = db.getShelterByRestriction(searchBy);
setMarkersOnMap();
} catch (NoSuchUserException e) {
noResult.setText("No Result Found");
mMap.clear();
}
} else {
myShelters = shelters;
setMarkersOnMap();
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// nothing happens when nothing is selected
}
});
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class AccountDetailsActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_details);
Toolbar title = findViewById(R.id.titleBar);
title.setTitle("Account Details");
db = new Db("pinkpanther", "PinkPantherReturns!");
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.activity_account_details);
// remoteViews.setTextViewText(R.id.ban_btn, "Ban");
togglebutton = (ToggleButton) findViewById(R.id.toggleButton1);
togglebutton.setChecked(false);
button = (Button) findViewById(R.id.button1);
button.setEnabled(false);
togglebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String accountState = a.getAccountState();
String blocked = "blocked";
if (togglebutton.isChecked()) // && (accountState.equals(blocked) ))
{
// Disabling button on toggle button off.
a.setAccountState(new String("blocked"));
TextView accountState2 = findViewById(R.id.accountState);
// bButton.setText("Ban");
String forAccountState = "Account State: " + a.getAccountState();
accountState2.setText(forAccountState);
txtView.setText("You have banned this account successfully");
txtView.setVisibility(View.VISIBLE);
button.setEnabled(false);
} else {
// Enabling button on toggle button on.
TextView accountState1 = findViewById(R.id.accountState);
String block = "active";
a.setAccountState(block);
txtView.setText("You have un-banned this account successfully");
txtView.setVisibility(View.VISIBLE);
String forAccountState = "Account State: " + a.getAccountState();
accountState1.setText(forAccountState);
button.setEnabled(true);
}
try {
db.updateAccount(a);
} catch (SQLException e) {
throw new RuntimeException("Failed to update account " + e.toString());
} catch (NoSuchUserException e) {
// this shouldn't happen
txtView.setText("Your account doesn't exist");
}
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(AccountDetailsActivity.this, " Button is Enable ", Toast.LENGTH_LONG).show();
}
});
try {
Intent detailAccount = getIntent();
Bundle extra = detailAccount.getExtras();
String username = extra.getString("accUserName");
a = db.getAccountByUsername(username);
updateView(a);
} catch (NoSuchUserException e) {
throw new RuntimeException("This is not how it works " + e.toString());
} catch (NullPointerException e) {
throw new RuntimeException("NullPointerException is raised: " + "getExtras() returns null in Account List");
}
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class Registration method onCreate.
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
Toolbar toolbar = findViewById(R.id.titleBar);
setSupportActionBar(toolbar);
// set up the spinner (user type)
List<String> legalUsers = Arrays.asList("", "Homeless", "Shelter Volunteer", "Admin");
userTypes = findViewById(R.id.user_type_spinner);
@SuppressWarnings("unchecked") ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, legalUsers);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
userTypes.setAdapter(adapter);
// grabbing user inputs: name, email, username, password
name = findViewById(R.id.accountUserName);
email = findViewById(R.id.email);
username = findViewById(R.id.username);
password = findViewById(R.id.pw);
db = new Db("pinkpanther", "PinkPantherReturns!");
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class ShelterDetails method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shelter_details);
db = new Db("pinkpanther", "PinkPantherReturns!");
errorMessage = findViewById(R.id.errorMessage);
vacancy = findViewById(R.id.vacancy);
Button claimBedButton = findViewById(R.id.claimBed);
updateInfoButton = findViewById(R.id.updateAccountButton);
Button cancelBedButton = findViewById(R.id.cancelReservation);
checkIn = findViewById(R.id.check_in_btn);
viewResident = findViewById(R.id.view_all_homeless);
peopleNumber = findViewById(R.id.people_number);
List<Integer> number = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
ArrayAdapter<Integer> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, number);
peopleNumber.setAdapter(adapter);
try {
Intent intent = getIntent();
Bundle extra = intent.getExtras();
assert extra != null;
int shelterId = extra.getInt("shelterId");
s = db.getShelterById(shelterId);
updateView(s);
} catch (NoSuchUserException e) {
throw new RuntimeException("This is not how it works " + e.toString());
} catch (NullPointerException e) {
throw new RuntimeException("NullPointerException is raised: " + "getExtras() returns null in ListOfShelter");
}
try {
Intent intent = getIntent();
Bundle extra = intent.getExtras();
assert extra != null;
username = extra.getString("username");
Account user = db.getAccountByUsername(username);
if (user instanceof Homeless) {
// user is a homeless person
a = (Homeless) user;
claimBedButton.setVisibility(View.VISIBLE);
try {
reservedShelter = db.getShelterById(a.getShelterId());
if (reservedShelter.getId() == s.getId()) {
cancelBedButton.setVisibility(View.VISIBLE);
message = "You have claimed " + a.getFamilyMemberNumber() + " bed(s) at this shelter";
errorMessage.setText(message);
errorMessage.setTextColor(Color.GREEN);
errorMessage.setVisibility(View.VISIBLE);
}
} catch (NoSuchUserException e) {
// this shelter is not the one that the user reserved to
// so nothing happens (cancel reservation button remains invisible)
}
} else {
// user is not a homeless person
claimBedButton.setVisibility(View.INVISIBLE);
checkIn.setVisibility(View.VISIBLE);
peopleNumber.setVisibility(View.VISIBLE);
viewResident.setVisibility(View.VISIBLE);
}
} catch (NoSuchUserException e) {
throw new RuntimeException("There is no user with that " + "username or shelter with that ID");
} catch (NullPointerException e) {
throw new RuntimeException("getExtras() returns null username");
}
addListenerOnRatingBar();
addListenerOnButton();
checkInButton();
}
Aggregations