diff --git a/.gitignore b/.gitignore
index 39fb081..642b296 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/build
/captures
.externalNativeBuild
+/.idea/misc.xml
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index d4f4821..5d19981 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,46 +27,6 @@
-
-
-
-
-
-
-
-
- Class structureJava
-
-
- Code maturity issuesJava
-
-
- Java
-
-
- Java language level migration aidsJava
-
-
- Javadoc issuesJava
-
-
- Performance issuesJava
-
-
- TestNGJava
-
-
- Threading issuesJava
-
-
-
-
- Android
-
-
-
-
-
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/com/cognitioco/drunkster/controller/UserController.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/com/cognitioco/drunkster/controller/UserController.java
index 4053780..a03818a 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/com/cognitioco/drunkster/controller/UserController.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/com/cognitioco/drunkster/controller/UserController.java
@@ -46,4 +46,7 @@ public User retrieveUserByName(User user) {
public List retirveAll() {
return dao.retrieveUsers();
}
+
+ /*@Override
+ public void setNewPrefferedTaxiService(String newservice) {dao.setNewPrefferedTaxiService(newservice);}*/
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/User.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/User.java
index 6468839..ce9eabe 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/User.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/User.java
@@ -15,12 +15,13 @@ public class User extends SugarRecord
private Sex sex;
private int sexDB;
private String prefferedTaxiService;
+ private int prefferedTaxiServicePosition;
private String emergencyNumber;
public User() {
}
- public User(long id, String name, int age, double weight, Sex sex, String prefferedTaxiService, String emergencyNumber) {
+ public User(long id, String name, int age, double weight, Sex sex, String prefferedTaxiService, int prefferedTaxiServicePosition, String emergencyNumber) {
setId(id);
this.name = name;
this.age = age;
@@ -29,6 +30,7 @@ public User(long id, String name, int age, double weight, Sex sex, String preffe
else if (sex == Sex.MALE) sexDB = 0;
this.sex = sex;
this.prefferedTaxiService = prefferedTaxiService;
+ this.prefferedTaxiServicePosition = 0;
this.emergencyNumber = emergencyNumber;
}
@@ -94,6 +96,12 @@ public void setPrefferedTaxiService(String prefferedTaxiService) {
this.prefferedTaxiService = prefferedTaxiService;
}
+ public int getPrefferedTaxiServicePosition() { return prefferedTaxiServicePosition;}
+
+ public void setPrefferedTaxiServicePosition(int _position) {
+ this.prefferedTaxiServicePosition = _position;
+ }
+
public String getEmergencyNumber() {
return emergencyNumber;
}
@@ -142,6 +150,7 @@ public int hashCode() {
result = 31 * result + (int) (temp ^ (temp >>> 32));
result = 31 * result + sex.hashCode();
result = 31 * result + (prefferedTaxiService != null ? prefferedTaxiService.hashCode() : 0);
+ result = 31 * result + prefferedTaxiServicePosition;
result = 31 * result + (emergencyNumber != null ? emergencyNumber.hashCode() : 0);
return result;
}
@@ -155,6 +164,7 @@ public String toString() {
", weight=" + weight +
", sex=" + sex +
", prefferedTaxiService='" + prefferedTaxiService + '\'' +
+ ", prefferedTaxiServicePosition='" + prefferedTaxiServicePosition + '\'' +
", emergencyNumber='" + emergencyNumber + '\'' +
'}';
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAO.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAO.java
index 4f49e46..c3faaa5 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAO.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAO.java
@@ -33,4 +33,7 @@ public User retrieveUserByName(User user) {
public List retrieveUsers() {
return User.listAll(User.class);
}
+
+ /*@Override
+ public void setNewPrefferedTaxiService(String newservice) {}*/
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAOInterface.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAOInterface.java
index caa9a82..e9fc733 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAOInterface.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/model/UserDAOInterface.java
@@ -11,4 +11,5 @@ public interface UserDAOInterface {
void deleteUser(User user);
User retrieveUserById(User user);
User retrieveUserByName(User user);
+ //void setNewPrefferedTaxiService(String newservice);
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/BaseClass.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/BaseClass.java
index 1baca84..ed75b83 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/BaseClass.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/BaseClass.java
@@ -189,7 +189,7 @@ else if (id == R.id.btn_contactsOpen)
else {
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentFrame, contactSettingsFragment, "ContactSettingsFragment").addToBackStack(null).commit();
}
- drawerLayout.closeDrawer(GravityCompat.START);
+ //drawerLayout.closeDrawer(GravityCompat.START);
}
return false;
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/ProgressBarFragment.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/ProgressBarFragment.java
index d8190a8..f7638f6 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/ProgressBarFragment.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/ProgressBarFragment.java
@@ -7,15 +7,27 @@
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
+import android.support.v7.widget.CardView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.TextView;
+import android.content.pm.PackageManager;
+import android.content.pm.ApplicationInfo;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.graphics.drawable.RippleDrawable;
+import android.os.Build;
+import android.os.Handler;
import com.cognitioco.drunkster.R;
import com.cognitioco.drunkster.com.cognitioco.drunkster.com.cognitioco.drunkster.controller.RegistryController;
+import com.cognitioco.drunkster.com.cognitioco.drunkster.com.cognitioco.drunkster.controller.UserController;
import com.cognitioco.drunkster.com.cognitioco.drunkster.model.Registry;
+import com.cognitioco.drunkster.com.cognitioco.drunkster.model.User;
import java.util.List;
import java.util.Locale;
@@ -34,6 +46,41 @@ public void onClick(View v) {
onAddDrinkPressed();
}
};
+ private View.OnClickListener uberListener = new View.OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ Intent intent = getContext().getPackageManager().getLaunchIntentForPackage("com.ubercab");
+ if (intent == null)
+ return;
+ List list = getContext().getPackageManager().queryIntentActivities(intent,
+ PackageManager.MATCH_DEFAULT_ONLY);
+ if(list.size() > 0)
+ {
+ Intent LaunchApp = getContext().getPackageManager().getLaunchIntentForPackage("com.ubercab");
+ startActivity( LaunchApp );
+ }
+
+ }
+ };
+ private View.OnClickListener lyftListener = new View.OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ Intent intent = getContext().getPackageManager().getLaunchIntentForPackage("me.lyft.android");
+ if (intent == null)
+ return;
+ List list = getContext().getPackageManager().queryIntentActivities(intent,
+ PackageManager.MATCH_DEFAULT_ONLY);
+ if(list.size() > 0)
+ {
+ Intent LaunchApp = getContext().getPackageManager().getLaunchIntentForPackage("me.lyft.android");
+ startActivity( LaunchApp );
+ }
+ }
+ };
private FragmentManager.OnBackStackChangedListener backStackListener = new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
@@ -78,6 +125,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
FloatingActionButton addDrinkFAB = (FloatingActionButton) v.findViewById(R.id.addDrinkButton);
addDrinkFAB.setOnClickListener(clickReact);
+
+
ProgressBar pb = (ProgressBar) v.findViewById(R.id.circle_progress_bar);
List list = regcontroller.retrieveAllRegistries();
@@ -98,6 +147,41 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
th.start();
+ //Check User for selected taxi service and set to visible
+ UserController userc = new UserController();
+ User user = userc.retirveAll().get(0);
+
+ FloatingActionButton uberFAB = (FloatingActionButton) v.findViewById(R.id.btn_openUber);
+ uberFAB.setOnClickListener(uberListener);
+ FloatingActionButton lyftFAB = (FloatingActionButton) v.findViewById(R.id.btn_openLyft);
+ lyftFAB.setOnClickListener(lyftListener);
+
+ if (user.getPrefferedTaxiServicePosition() == 1 && bac > 0.04)
+ {
+ //make uber button visible
+ uberFAB.show();
+ lyftFAB.hide();
+
+ forceRippleAnimation(uberFAB);
+ }
+ else if (user.getPrefferedTaxiServicePosition() == 2 && bac > 0.04)
+ {
+ //make lyft button visible
+ uberFAB.hide();
+ lyftFAB.show();
+
+ forceRippleAnimation(lyftFAB);
+
+ //RippleDrawable rippledraw = new RippleDrawable();
+ //RippleDrawable.setState(new int[] { android.R.attr.state_pressed, android.R.attr.state_enabled });
+ }
+ else
+ {
+ //make all taxi buttons invisible
+ uberFAB.hide();
+ lyftFAB.hide();
+ }
+
return v;
}
@@ -107,6 +191,13 @@ public void onAddDrinkPressed() {
mListener.onAddDrinkPressed();
}
}
+ /*public void onUberPressed()
+ {
+ if (mListener != null)
+ {
+ mListener.onUberPressed();
+ }
+ }*/
@@ -195,4 +286,26 @@ private int getPercentage(double number) {
return (int) percentage;
}
}
+ protected void forceRippleAnimation(View view)
+ {
+ Drawable background = view.getBackground();
+
+ if(Build.VERSION.SDK_INT >= 21 && background instanceof RippleDrawable)
+ {
+ final RippleDrawable rippleDrawable = (RippleDrawable) background;
+
+ rippleDrawable.setState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled});
+
+ Handler handler = new Handler();
+
+ handler.postDelayed(new Runnable()
+ {
+ @Override public void run()
+ {
+ rippleDrawable.setState(new int[]{});
+ }
+ }, 900000000);
+ }
+ }
+
}
diff --git a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/UserSettings.java b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/UserSettings.java
index 8601ed1..36ef2f8 100644
--- a/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/UserSettings.java
+++ b/app/src/main/java/com/cognitioco/drunkster/com/cognitioco/drunkster/view/UserSettings.java
@@ -14,6 +14,8 @@
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
+import android.widget.Spinner;
+import android.widget.ArrayAdapter;
import com.cognitioco.drunkster.R;
import com.cognitioco.drunkster.com.cognitioco.drunkster.com.cognitioco.drunkster.controller.UserController;
@@ -101,7 +103,7 @@ public void onClick(View v)
{
// TODO: Correct fragment_contacts_display loading. Crashes on each attempt.
/*ContactsDisplaySettings CDS = new ContactsDisplaySettings() ;
- getFragmentManager().beginTransaction().add(R.id.fragmentContactsDisplay, CDS).addToBackStack(null).commit();*/
+ getFragmentManager().beginTransaction().add(R.id.fragmentContactsDisplay, CDS, null).addToBackStack(null).commit();*/
/*ContactsDisplaySettings CDS= new ContactsDisplaySettings();
getActivity().getFragmentManager().beginTransaction()
@@ -170,6 +172,13 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
RadioButton maleButton = (RadioButton) v.findViewById(R.id.radio_male);
RadioButton femaleButton = (RadioButton) v.findViewById(R.id.radio_female);
+ //fill spinner values
+ Spinner taxi = (Spinner) v.findViewById((R.id.spin_taxiservice));
+ ArrayAdapter taxiadapter = ArrayAdapter.createFromResource(getContext(),
+ R.array.taxi_spinner_list, android.R.layout.simple_spinner_item);
+ taxiadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ taxi.setAdapter(taxiadapter);
+
if (user.getSexDB() == 1) {
femaleButton.setSelected(true);
} else {
@@ -181,6 +190,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
age.setProgress(user.getAge());
weight.setOnSeekBarChangeListener(seekbarWeightListener);
age.setOnSeekBarChangeListener(seekbarAgeListener);
+ //set spinner place to previously entered value
+ taxi.setSelection(user.getPrefferedTaxiServicePosition());
return v;
}
@@ -247,6 +258,16 @@ private boolean saveUserSettings()
newSettings.setSex(User.Sex.FEMALE);
}
+
+ //save spinner position and text
+ Spinner spinner = (Spinner)getView().findViewById(R.id.spin_taxiservice);
+ String selectedItemAsText = spinner.getSelectedItem().toString();
+ int selectedItemAsInt = spinner.getSelectedItemPosition();
+
+ newSettings.setPrefferedTaxiService(selectedItemAsText);
+ //newSettings.setPrefferedTaxiServicePosition(spinner.getSelectedItemPosition());
+ newSettings.setPrefferedTaxiServicePosition(selectedItemAsInt);
+
usercontroller.updateUser(newSettings);
return true;
diff --git a/app/src/main/res/drawable/specialripple.xml b/app/src/main/res/drawable/specialripple.xml
new file mode 100644
index 0000000..f34dc05
--- /dev/null
+++ b/app/src/main/res/drawable/specialripple.xml
@@ -0,0 +1,13 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_contacts_display.xml b/app/src/main/res/layout/fragment_contacts_display.xml
index e68d145..3de1b3a 100644
--- a/app/src/main/res/layout/fragment_contacts_display.xml
+++ b/app/src/main/res/layout/fragment_contacts_display.xml
@@ -1,8 +1,10 @@
diff --git a/app/src/main/res/layout/fragment_progress_bar.xml b/app/src/main/res/layout/fragment_progress_bar.xml
index e639229..06659e2 100644
--- a/app/src/main/res/layout/fragment_progress_bar.xml
+++ b/app/src/main/res/layout/fragment_progress_bar.xml
@@ -93,6 +93,20 @@
android:layout_marginEnd="10dp"
android:onClick="onAddDrinkPressed"/>
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_user_settings.xml b/app/src/main/res/layout/fragment_user_settings.xml
index 3954e88..6498188 100644
--- a/app/src/main/res/layout/fragment_user_settings.xml
+++ b/app/src/main/res/layout/fragment_user_settings.xml
@@ -7,7 +7,6 @@
tools:context=".com.cognitioco.drunkster.view.UserSettings">
-
+ android:layout_marginTop="67dp"
+
+
+ android:spinnerMode="dropdown" />
+
+
+ - No Service
+ - Uber
+ - Lyft
+
+
+
+