use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class LoginActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
username = findViewById(R.id.name);
password = findViewById(R.id.password);
// set up Cancel button
Button cancel_btn = findViewById(R.id.cancel_button);
cancel_btn.setOnClickListener(this);
db = new Db("pinkpanther", "PinkPantherReturns!");
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class SearchActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
db = new Db("pinkpanther", "PinkPantherReturns!");
Intent intent = getIntent();
Bundle extra = intent.getExtras();
assert extra != null;
username = extra.getString("username");
// data to populate the RecyclerView with
shelterNames = new ArrayList<>();
// contain all shelters
shelters = db.getAllShelters();
myShelters = shelters;
// set up the RecyclerView
search_recycler_view = findViewById(R.id.search_recycler_view);
search_recycler_view.setLayoutManager(new LinearLayoutManager(this));
recycler_adapter = new RecyclerAdapter(this, shelterNames);
recycler_adapter.setClickListener(this);
search_recycler_view.setAdapter(recycler_adapter);
choices.add("Gender");
choices.add("Age Range");
choices.add("Name");
genders.add("None");
genders.add("Men");
genders.add("Women");
// for extra credit purposes
genders.add("Non-Binary");
ageRanges.add("None");
ageRanges.add("Families with Newborns");
ageRanges.add("Children");
ageRanges.add("Young Adults");
ageRanges.add("Anyone");
choices_spinner = findViewById(R.id.choices_spinner);
age_range_gender_spinner = findViewById(R.id.age_range_gender_spinner);
shelter_name_edit_text = findViewById(R.id.shelter_name_edit_text);
age_range_gender_spinner.setVisibility(View.INVISIBLE);
ArrayAdapter<String> choices_adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, choices);
choices_spinner.setAdapter(choices_adapter);
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);
age_range_gender_spinner.setAdapter(gender_adapter);
choices_spinner.setSelection(0);
age_range_gender_spinner.setSelection(0);
age_range_gender_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Object item = choices_spinner.getSelectedItem();
String mainSelection = item.toString();
if ("Gender".equals(mainSelection)) {
String searchBy = sqlConverter(genders.get(i));
if ("None".equals(searchBy)) {
shelterNames.clear();
recycler_adapter.notifyDataSetChanged();
} else {
shelterNames.clear();
try {
myShelters = db.getShelterByRestriction(searchBy);
for (Shelter sh : myShelters) {
shelterNames.add(sh.getShelterName());
}
} catch (NoSuchUserException e) {
shelterNames.add("No results found");
}
recycler_adapter.notifyDataSetChanged();
}
} else if ("Age Range".equals(mainSelection)) {
String searchBy = sqlConverter(ageRanges.get(i));
if ("None".equals(searchBy)) {
shelterNames.clear();
recycler_adapter.notifyDataSetChanged();
} else {
shelterNames.clear();
try {
myShelters = db.getShelterByRestriction(searchBy);
for (Shelter sh : myShelters) {
shelterNames.add(sh.getShelterName());
}
} catch (NoSuchUserException e) {
shelterNames.add("No results found");
}
recycler_adapter.notifyDataSetChanged();
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// nothing happens when nothing is selected
}
});
choices_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String searchBy = choices.get(i);
switch(searchBy) {
case // search by gender was selected
"Gender":
age_range_gender_spinner.setAdapter(gender_adapter);
age_range_gender_spinner.setVisibility(View.VISIBLE);
shelter_name_edit_text.setVisibility(View.INVISIBLE);
break;
case // search by age range was selected
"Age Range":
age_range_gender_spinner.setAdapter(age_range_adapter);
age_range_gender_spinner.setVisibility(View.VISIBLE);
shelter_name_edit_text.setVisibility(View.INVISIBLE);
break;
case // search by name was selected
"Name":
age_range_gender_spinner.setVisibility(View.INVISIBLE);
shelter_name_edit_text.setVisibility(View.VISIBLE);
// clear out old results found by different categories
shelterNames.clear();
// fill recyclerView with all shelters
for (int j = 0; j < shelters.size(); j++) {
Shelter s = shelters.get(j);
shelterNames.add(s.getShelterName());
}
// set interaction for the previewed list of shelter before starting the search
recycler_adapter = new RecyclerAdapter(SearchActivity.this, shelterNames);
recycler_adapter.setClickListener(SearchActivity.this);
search_recycler_view.setAdapter(recycler_adapter);
shelter_name_edit_text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// nothing changes before user types anything
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// grabs each new character that the user types into the textView
shelterNames.clear();
try {
myShelters = db.getShelterByName(charSequence.toString());
for (Shelter s : myShelters) {
shelterNames.add(s.getShelterName());
}
// set interaction between the suggestions and shelter details
recycler_adapter = new RecyclerAdapter(SearchActivity.this, shelterNames);
recycler_adapter.setClickListener(SearchActivity.this);
search_recycler_view.setAdapter(recycler_adapter);
} catch (NoSuchUserException e) {
shelterNames.add("No results found");
}
recycler_adapter.notifyDataSetChanged();
}
@Override
public void afterTextChanged(Editable editable) {
// changes occurred during onTextChanged
// so no changes after text changed
}
});
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// nothing changes when nothing is selected
}
});
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class UserInfoActivity method getUserAccount.
/**
* Retrieving active account
*
* @throws NoSuchUserException when there is no user with that name
*/
private void getUserAccount() throws NoSuchUserException {
db = new Db("pinkpanther", "PinkPantherReturns!");
Intent intent = getIntent();
Bundle extra = intent.getExtras();
assert extra != null;
String username = extra.getString("username");
account = db.getAccountByUsername(username);
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class AccountListActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
Toolbar title = findViewById(R.id.titleBar);
title.setTitle("Account List");
// data to populate the RecyclerView with
ArrayList<String> allAccountName = new ArrayList<>();
DBI db = new Db("pinkpanther", "PinkPantherReturns!");
allAccountList = db.getAllAccounts();
for (int i = 0; i < allAccountList.size(); i++) {
Account a = allAccountList.get(i);
allAccountName.add(a.getUsername());
// allAccountName.add(a.getAccountState());
}
// set up the RecyclerView
RecyclerView recyclerView = findViewById(R.id.rvShelters);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
RecyclerAdapter adapter = new RecyclerAdapter(this, allAccountName);
adapter.setClickListener(this);
recyclerView.setAdapter(adapter);
}
use of pinkpanthers.pinkshelters.Model.Db in project pink-panthers by MrTrai.
the class HomePageActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
// Grab name and user type to show in homepage
Context context = getApplicationContext();
SharedPreferences preferences = context.getSharedPreferences(PREFS_NAME, Registration.MODE_PRIVATE);
TextView textUserType = findViewById(R.id.textView3);
TextView textName = findViewById(R.id.textView1);
TextView textWelcome = findViewById(R.id.textView2);
// Get name and user type
String prefName = preferences.getString("NAME", "");
String prefUserType = preferences.getString("USER_TYPE", "");
textName.setText("Hello " + prefName + "!");
textWelcome.setText("Welcome to Pink Shelter");
textUserType.setText(prefUserType);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
assert extras != null;
username = extras.getString("username");
db = new Db("pinkpanther", "PinkPantherReturns!");
try {
user = db.getAccountByUsername(username);
} catch (NoSuchUserException e) {
throw new RuntimeException("cannot find the account");
}
if (user instanceof Homeless) {
setShelterText();
} else {
Button infoButton = findViewById(R.id.myInfo_btn);
infoButton.setVisibility(View.INVISIBLE);
}
if (user instanceof Admin) {
Button viewAccountButton = findViewById(R.id.accountList_btn);
viewAccountButton.setVisibility(View.VISIBLE);
} else {
Button viewAccountButton = findViewById(R.id.accountList_btn);
viewAccountButton.setVisibility(View.INVISIBLE);
}
}
Aggregations