diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index a5f05cd..2370474 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -21,5 +21,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index eea8c58..e22b778 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -40,6 +40,7 @@ dependencies {
implementation 'me.riddhimanadib.form-master:form-master:1.1.0'
implementation 'androidx.annotation:annotation:1.1.0'
implementation 'com.google.firebase:firebase-auth:19.4.0'
+ implementation 'com.github.addisonelliott:SegmentedButton:3.1.9'
implementation 'com.google.firebase:firebase-firestore:21.6.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java
index 35fbe5a..1263147 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java
@@ -175,6 +175,7 @@ private void setupForm() {
String projectManager = projectManagerTextField.getValue();
String siteManager = siteManagerTextField.getValue();
String projectOwner = projectOwnerTextField.getValue();
+
answersList.add(projectManager);
answersList.add(siteManager);
answersList.add(projectOwner);
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java
index 2d934ac..8ceee50 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java
@@ -48,9 +48,11 @@ public class WaterWayForm extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
setContentView(R.layout.activity_sample_fordm);
recyclerView = findViewById(R.id.recyclerView2);
setupHQForm();
+
}
private void setupHQForm() {
@@ -98,6 +100,7 @@ private void setupHQForm() {
formBuilder.addFormElements(formItems);
+
subVal = Double.parseDouble(subSize.getValue());
smothVal = Double.parseDouble(smothering.getValue());
siltVal = Double.parseDouble(silting.getValue());
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
index 806377b..a31a832 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
@@ -9,51 +9,298 @@
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.RecyclerView;
+
+
+import com.addisonelliott.segmentedbutton.SegmentedButton;
-import com.sf.stormwaterutilityandroid.InspectionForm;
import com.sf.stormwaterutilityandroid.R;
import com.sf.stormwaterutilityandroid.SampleFordm;
+import java.util.ArrayList;
+import java.util.List;
-public class WaterWayFormFragment extends Fragment {
+import me.riddhimanadib.formmaster.FormBuilder;
+import me.riddhimanadib.formmaster.model.BaseFormElement;
+import me.riddhimanadib.formmaster.model.FormElementTextNumber;
+import me.riddhimanadib.formmaster.model.FormElementTextSingleLine;
+import me.riddhimanadib.formmaster.model.FormHeader;
+public class WaterWayFormFragment extends Fragment {
+RecyclerView rvGen, rvDWS, rvHQ, rvBM,rvCT;
+ FormBuilder fbGEn,fbDWS,fbBM,fbHQ,fbCT;
+SegmentedButton gen,dws,ct,bm,hq;
+Button submit;
+Boolean boolgen,booldws,boolct,boolbm,boolhq;
+ List formItemsHQ, formItemsGen, formItemsBM, formItemsCT, formItemsDWS;
- Button b1,b2,b3,b4,b5;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.fragment_home, container, false);
- b1 = root.findViewById(R.id.button);
- b1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- startActivity(new Intent(getContext(), SampleFordm.class));
- }
- });
-
- b1 = root.findViewById(R.id.button2);
- b1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- startActivity(new Intent(getContext(), InspectionForm.class));
- }
- });
-
-
- //CHeck To5a.03 project for dealing saved instance state
- /*
- if (savedInstanceState != null) {
- String allPreviousLifecycleCallbacks = savedInstanceState
- .getString("Email");
- System.out.println("SavedInstanceState: "+allPreviousLifecycleCallbacks);
- element11.setValue(allPreviousLifecycleCallbacks);
- }
-*/
+ View root = inflater.inflate(R.layout.fragment_wwform, container, false);
+ //recylerViews for each piece of the form
+ submit = root.findViewById(R.id.submitForm);
+ rvGen = root.findViewById(R.id.rvWWF);
+ rvDWS = root.findViewById(R.id.rvDWS);
+ rvHQ = root.findViewById(R.id.rvHQ);
+ rvBM = root.findViewById(R.id.rvBM);
+ rvCT = root.findViewById(R.id.rvCT);
+
+ //making recyclerViews invisible
+ rvDWS.setVisibility(View.INVISIBLE);
+ rvHQ.setVisibility(View.INVISIBLE);
+ rvBM.setVisibility(View.INVISIBLE);
+ rvCT.setVisibility(View.INVISIBLE);
+ setupFormGen();
+ //Segemented Control Bar buttons
+ gen = root.findViewById(R.id.gen);
+ dws = root.findViewById(R.id.dws);
+ ct = root.findViewById(R.id.ct);
+ bm = root.findViewById(R.id.bm);
+ hq = root.findViewById(R.id.hq);
+//setting booleans to false. If they are true, then an instance of the form section has been created.
+ boolbm = false;
+ boolct = false;
+ booldws = false;
+ boolhq = false;
+ boolgen = false;
+ gen.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rvGen.setVisibility(View.VISIBLE);
+ rvDWS.setVisibility(View.INVISIBLE);
+ rvHQ.setVisibility(View.INVISIBLE);
+ rvBM.setVisibility(View.INVISIBLE);
+ rvCT.setVisibility(View.INVISIBLE);
+ if (!boolgen)
+ setupFormGen();
+
+ }
+ });
+ submit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ }
+ });
+ dws.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rvGen.setVisibility(View.INVISIBLE);
+ rvDWS.setVisibility(View.VISIBLE);
+ rvHQ.setVisibility(View.INVISIBLE);
+ rvBM.setVisibility(View.INVISIBLE);
+ rvCT.setVisibility(View.INVISIBLE);
+ if (!booldws)
+ setupFormDWS();
+
+ }
+ });
+ ct.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rvGen.setVisibility(View.INVISIBLE);
+ rvDWS.setVisibility(View.INVISIBLE);
+ rvHQ.setVisibility(View.INVISIBLE);
+ rvBM.setVisibility(View.INVISIBLE);
+ rvCT.setVisibility(View.VISIBLE);
+ if (!boolct)
+ setupFormCT();
+
+ }
+ });
+ bm.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ rvGen.setVisibility(View.INVISIBLE);
+ rvDWS.setVisibility(View.INVISIBLE);
+ rvHQ.setVisibility(View.INVISIBLE);
+ rvBM.setVisibility(View.VISIBLE);
+ rvCT.setVisibility(View.INVISIBLE);
+ if (!boolbm)
+ setupFormBM();
+ }
+ });
+ hq.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ rvGen.setVisibility(View.INVISIBLE);
+ rvDWS.setVisibility(View.INVISIBLE);
+ rvHQ.setVisibility(View.VISIBLE);
+ rvBM.setVisibility(View.INVISIBLE);
+ rvCT.setVisibility(View.INVISIBLE);
+ if (!boolhq)
+ setupFormHQ();
+ }
+ });
+
+
return root;
}
+ private void setupFormGen() {
+ boolgen = true;
+
+
+ }
+ private void setupFormHQ() {
+ boolhq = true;
+ fbHQ = new FormBuilder(getContext(),rvHQ);
+ FormElementTextNumber element2 = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0");
+ FormElementTextNumber element3 = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0");
+ FormElementTextNumber element4 = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0");
+ FormElementTextNumber element5 = FormElementTextNumber.createInstance().setTitle("Rootwads").setValue("0");
+ FormElementTextNumber element6 = FormElementTextNumber.createInstance().setTitle("Overhanging Veg.").setValue("0");
+ FormElementTextNumber element7 = FormElementTextNumber.createInstance().setTitle("Oxbows/Black Waters").setValue("0");
+ FormElementTextNumber element8 = FormElementTextNumber.createInstance().setTitle("Downed Trees/Logs").setValue("0");
+ FormElementTextNumber element9 = FormElementTextNumber.createInstance().setTitle("Shallows (slow water)").setValue("0");
+ FormElementTextNumber element10 = FormElementTextNumber.createInstance().setTitle("Water Plants").setValue("0");
+ FormElementTextNumber element11 = FormElementTextNumber.createInstance().setTitle("Deep Pools").setValue("0");
+ FormElementTextNumber element12 = FormElementTextNumber.createInstance().setTitle("Logs/Woody Debris").setValue("0");
+ FormElementTextNumber element13 = FormElementTextNumber.createInstance().setTitle("Boulders").setValue("0");
+ FormElementTextNumber element14 = FormElementTextNumber.createInstance().setTitle("Undercut Banks").setValue("0");
+ FormElementTextNumber element15 = FormElementTextNumber.createInstance().setTitle("Sinuosity").setValue("0");
+ FormElementTextNumber element16 = FormElementTextNumber.createInstance().setTitle("Natural").setValue("0");
+ FormElementTextNumber element17 = FormElementTextNumber.createInstance().setTitle("Riparian Width").setValue("0");
+ FormElementTextNumber element18 = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0");
+ FormElementTextNumber element19 = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0");
+
+ formItemsHQ = new ArrayList<>();
+
+ formItemsHQ.add(element2);
+ formItemsHQ.add(element3);
+ formItemsHQ.add(element4);
+ formItemsHQ.add(element5);
+ formItemsHQ.add(element6);
+ formItemsHQ.add(element7);
+ formItemsHQ.add(element8);
+ formItemsHQ.add(element9);
+ formItemsHQ.add(element10);
+ formItemsHQ.add(element11);
+ formItemsHQ.add(element12);
+ formItemsHQ.add(element13);
+ formItemsHQ.add(element14);
+ formItemsHQ.add(element15);
+ formItemsHQ.add(element16);
+ formItemsHQ.add(element17);
+ formItemsHQ.add(element18);
+ formItemsHQ.add(element19);
+ fbHQ.addFormElements(formItemsHQ);
+
+ }
+ private void setupFormDWS() {
+ booldws = true;
+ fbDWS = new FormBuilder(getContext(), rvDWS);
+ FormHeader title = (FormHeader) new FormHeader().setTitle("Dry Weather Screening");
+
+ //Outfall --> Question: How do you do a subheading?
+ FormElementTextSingleLine flow = new FormElementTextSingleLine().setTitle("Presence of Flow");
+ FormElementTextNumber flowData = FormElementTextNumber.createInstance(); //what data type is this?
+
+ FormElementTextSingleLine odor = new FormElementTextSingleLine().setTitle("Unusual Odor");
+ FormElementTextNumber odorData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine color = new FormElementTextSingleLine().setTitle("Unusual Color");
+ FormElementTextNumber colorData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine polutants = new FormElementTextSingleLine().setTitle("Polutants Nearby");
+ FormElementTextNumber polutantsData = FormElementTextNumber.createInstance();
+ polutantsData.setTitle("Polutants Data");
+ FormElementTextSingleLine obstruction = new FormElementTextSingleLine().setTitle("Obstruction");
+ FormElementTextNumber obstructionData = FormElementTextNumber.createInstance();
+ FormElementTextSingleLine maintenance = new FormElementTextSingleLine().setTitle("Needs Maintenance");
+ FormElementTextNumber maintenanceData = FormElementTextNumber.createInstance();
+ FormElementTextSingleLine screen = new FormElementTextSingleLine().setTitle("Screen OK");
+ FormElementTextNumber screenData = FormElementTextNumber.createInstance();
+
+ formItemsDWS = new ArrayList<>();
+
+ formItemsDWS.add(flow);
+ formItemsDWS.add(flowData);
+ formItemsDWS.add(odor);
+ formItemsDWS.add(odorData);
+ formItemsDWS.add(color);
+ formItemsDWS.add(colorData);
+ formItemsDWS.add(polutants);
+ formItemsDWS.add(polutantsData);
+ formItemsDWS.add(obstruction);
+ formItemsDWS.add(obstructionData);
+ formItemsDWS.add(maintenance);
+ formItemsDWS.add(maintenanceData);
+ formItemsDWS.add(screen);
+ formItemsDWS.add(screenData);
+
+ fbDWS.addFormElements(formItemsDWS);
+ }
+ private void setupFormCT() {
+ boolct = true;
+ fbCT = new FormBuilder(getContext(), rvCT);
+
+ FormHeader title = (FormHeader) new FormHeader().setTitle("Chemical Testing");
+
+ //Outfall --> Question: How do you do a subheading?
+
+ FormElementTextSingleLine temperature = new FormElementTextSingleLine().setTitle("Temperature (C) Change");
+ //FormHeader temp = FormHeader.createInstance("Temperature (C) Change");
+ FormElementTextNumber tempData = FormElementTextNumber.createInstance(); //what data type is this?
+
+ FormElementTextSingleLine tubidity = new FormElementTextSingleLine().setTitle("Tubidity (NTU)");
+ FormElementTextNumber tubidityData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine pH = new FormElementTextSingleLine().setTitle("pH");
+ FormElementTextNumber pHData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine nitrate = new FormElementTextSingleLine().setTitle("Nitrate (mg/L)");
+ FormElementTextNumber nitrateData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine phosphate = new FormElementTextSingleLine().setTitle("Total Phosphate (mg/L)");
+ FormElementTextNumber phosphateData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine oxygen = new FormElementTextSingleLine().setTitle("Dissolved Oxygen (mg/L)");
+ FormElementTextNumber oxygenData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine coli = new FormElementTextSingleLine().setTitle("E Coli (col/100mL)");
+ FormElementTextNumber coliData = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine other1 = new FormElementTextSingleLine().setTitle("Other 1");
+ FormElementTextNumber other1Data = FormElementTextNumber.createInstance();
+
+ FormElementTextSingleLine other2 = new FormElementTextSingleLine().setTitle("Other 2");
+ FormElementTextNumber other2Data = FormElementTextNumber.createInstance();
+
+ formItemsCT = new ArrayList<>();
+
+ formItemsCT.add(title);
+ formItemsCT.add(temperature);
+ formItemsCT.add(tempData);
+ formItemsCT.add(tubidity);
+ formItemsCT.add(tubidityData);
+ formItemsCT.add(pH);
+ formItemsCT.add(pHData);
+ formItemsCT.add(nitrate);
+ formItemsCT.add(nitrateData);
+ formItemsCT.add(phosphate);
+ formItemsCT.add(phosphateData);
+ formItemsCT.add(oxygen);
+ formItemsCT.add(oxygenData);
+ formItemsCT.add(coli);
+ formItemsCT.add(coliData);
+ formItemsCT.add(other1);
+ formItemsCT.add(other1Data);
+ formItemsCT.add(other2);
+ formItemsCT.add(other2Data);
+
+ fbCT.addFormElements(formItemsCT);
+
+ }
+ private void setupFormBM() {
+ boolbm = true;
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
index b851df5..c3a8b6b 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
@@ -51,4 +51,119 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
return false;
}
};
-};
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ //setSupportActionBar(toolbar);
+
+
+ BottomNavigationView navigation = findViewById(R.id.navigation);
+ navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
+ // fm.beginTransaction().add(R.id.main_container, fragment5, "5").hide(fragment5).commit();
+ // fm.beginTransaction().add(R.id.main_container, fragment4, "4").hide(fragment4).commit();
+
+ fm.beginTransaction().add(R.id.main_container, fragment2, "2").hide(fragment2).commit();
+ fm.beginTransaction().add(R.id.main_container, fragment1, "1").commit();
+
+ }
+
+ /* @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ signout2 = (Button) findViewById(R.id.sign_out);
+
+ signout2.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ FirebaseAuth.getInstance().signOut();
+ startActivity(new Intent(com.samuelford48gmail.thsconnect.teacher.MainActivity.this, LoginActivity.class));
+ finish();
+ }
+ });
+
+
+ mTextMessage = (TextView) findViewById(R.id.message);
+ BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
+ navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
+
+ }
+
+ FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
+ FirebaseUser user = firebaseAuth.getCurrentUser();
+ if (user == null) {
+ // user auth state is changed - user is null
+ // launch login activity
+ startActivity(new Intent(com.samuelford48gmail.thsconnect.teacher.MainActivity.this, LoginActivity.class));
+ finish();
+ }
+ }
+
+
+ };
+ // public void signout (View v){
+ // signOut();
+ //}
+/*
+ public void signOut() {
+ auth.signOut();
+
+
+// this listener will be called when there is change in firebase user session
+ FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
+ @Override
+ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
+ FirebaseUser user = firebaseAuth.getCurrentUser();
+ if (user == null) {
+ // user auth state is changed - user is null
+ // launch login activity
+ startActivity(new Intent(com.samuelford48gmail.thsconnect.teacher.MainActivity.this, LoginActivity.class));
+ finish();
+ }
+ }
+ };
+
+ }
+
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ auth.addAuthStateListener(authListener);
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ if (authListener != null) {
+ auth.removeAuthStateListener(authListener);
+ }
+ */
+ /*@Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu., menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int id = item.getItemId();
+
+ if (id == R.id.action_settings) {
+ startActivity(new Intent(com.samuelford48gmail.thsconnect.teacher.MainActivity.this, SettingsActivity.class));
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+*/
+}
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_wwform.xml b/app/src/main/res/layout/fragment_wwform.xml
index f3062b4..0df8324 100644
--- a/app/src/main/res/layout/fragment_wwform.xml
+++ b/app/src/main/res/layout/fragment_wwform.xml
@@ -1,14 +1,163 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@+id/submitForm"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/buttonGroup_vectorDrawable" />
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/waterway_menu.xml b/app/src/main/res/menu/waterway_menu.xml
index fe187c0..97a3a2d 100644
--- a/app/src/main/res/menu/waterway_menu.xml
+++ b/app/src/main/res/menu/waterway_menu.xml
@@ -1,4 +1,12 @@
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 6fde8eb..46c9cf6 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -10,4 +10,485 @@
#6200EE
#3700B3
#03DAC5
+
+
+
+
+ -- http://www.google.com/design/spec/style/color.html#color-color-palette -->
+
+
+ #FFEBEE
+ #FFCDD2
+ #EF9A9A
+ #E57373
+ #EF5350
+ #F44336
+ #E53935
+ #D32F2F
+ #C62828
+ #B71C1C
+ #FF8A80
+ #FF5252
+ #FF1744
+ #D50000
+
+
+
+
+ #FCE4EC
+ #F8BBD0
+ #F48FB1
+ #F06292
+ #EC407A
+ #E91E63
+ #D81B60
+ #C2185B
+ #AD1457
+ #880E4F
+ #FF80AB
+ #FF4081
+ #F50057
+ #C51162
+
+
+
+ #F3E5F5
+ #E1BEE7
+
+ #BA68C8
+ #AB47BC
+
+ #8E24AA
+
+ #6A1B9A
+ #4A148C
+ #EA80FC
+ #E040FB
+ #D500F9
+ #AA00FF
+
+
+
+ #EDE7F6
+ #D1C4E9
+ #B39DDB
+ #9575CD
+ #7E57C2
+ #673AB7
+ #5E35B1
+ #512DA8
+ #4527A0
+ #311B92
+ #B388FF
+ #7C4DFF
+ #651FFF
+ #6200EA
+
+
+
+ #E8EAF6
+ #C5CAE9
+ #9FA8DA
+ #7986CB
+ #5C6BC0
+ #3F51B5
+ #3949AB
+ #303F9F
+ #283593
+ #1A237E
+ #8C9EFF
+ #536DFE
+ #3D5AFE
+ #304FFE
+
+
+
+ #E3F2FD
+ #BBDEFB
+ #90CAF9
+ #64B5F6
+ #42A5F5
+ #2196F3
+ #1E88E5
+ #1976D2
+ #1565C0
+ #0D47A1
+ #82B1FF
+ #448AFF
+ #2979FF
+ #2962FF
+
+
+
+ #E1F5FE
+ #B3E5FC
+ #81D4FA
+ #4FC3F7
+ #29B6F6
+ #03A9F4
+ #039BE5
+ #0288D1
+ #0277BD
+ #01579B
+ #80D8FF
+ #40C4FF
+ #00B0FF
+ #0091EA
+
+
+
+ #E0F7FA
+ #B2EBF2
+ #80DEEA
+ #4DD0E1
+ #26C6DA
+ #00BCD4
+ #00ACC1
+ #0097A7
+ #00838F
+ #006064
+ #84FFFF
+ #18FFFF
+ #00E5FF
+ #00B8D4
+
+
+
+ #aab2dfdb
+
+ #E0F2F1
+ #B2DFDB
+
+ #4DB6AC
+ #26A69A
+ #009688
+ #00897B
+
+ #00695C
+ #004D40
+ #A7FFEB
+ #64FFDA
+ #1DE9B6
+ #00BFA5
+
+
+
+ #E8F5E9
+ #C8E6C9
+ #A5D6A7
+ #81C784
+ #66BB6A
+ #4CAF50
+ #43A047
+ #388E3C
+ #2E7D32
+ #1B5E20
+ #B9F6CA
+ #69F0AE
+ #00E676
+ #00C853
+
+
+
+ #F1F8E9
+ #DCEDC8
+ #C5E1A5
+ #AED581
+ #9CCC65
+ #8BC34A
+ #7CB342
+ #689F38
+ #558B2F
+ #33691E
+ #CCFF90
+ #B2FF59
+ #76FF03
+ #64DD17
+
+
+
+ #F9FBE7
+ #F0F4C3
+ #E6EE9C
+ #DCE775
+ #D4E157
+ #CDDC39
+ #C0CA33
+ #AFB42B
+ #9E9D24
+ #827717
+ #F4FF81
+ #EEFF41
+ #C6FF00
+ #AEEA00
+
+
+
+ #FFFDE7
+ #FFF9C4
+ #FFF59D
+ #FFF176
+ #FFEE58
+ #FFEB3B
+ #FDD835
+ #FBC02D
+ #F9A825
+ #F57F17
+ #FFFF8D
+ #FFFF00
+ #FFEA00
+ #FFD600
+
+
+
+ #FFF8E1
+ #FFECB3
+ #FFE082
+ #FFD54F
+ #FFCA28
+ #FFC107
+ #FFB300
+ #FFA000
+ #FF8F00
+ #FF6F00
+ #FFE57F
+ #FFD740
+ #FFC400
+ #FFAB00
+
+
+
+ #FFF3E0
+ #FFE0B2
+ #FFCC80
+ #FFB74D
+ #FFA726
+ #FF9800
+ #FB8C00
+ #F57C00
+ #EF6C00
+ #E65100
+ #FFD180
+ #FFAB40
+ #FF9100
+ #FF6D00
+
+
+
+ #FBE9E7
+ #FFCCBC
+ #FFAB91
+ #FF8A65
+ #FF7043
+ #FF5722
+ #F4511E
+ #E64A19
+ #D84315
+ #BF360C
+ #FF9E80
+ #FF6E40
+ #FF3D00
+ #DD2C00
+
+
+
+ #EFEBE9
+ #D7CCC8
+ #BCAAA4
+ #A1887F
+ #8D6E63
+ #795548
+ #6D4C41
+ #5D4037
+ #4E342E
+ #3E2723
+
+
+
+ #FAFAFA
+ #F5F5F5
+ #EEEEEE
+ #E0E0E0
+ #BDBDBD
+ #9E9E9E
+ #757575
+ #616161
+ #424242
+ #212121
+
+ #aa9e9e9e
+
+
+
+
+ #ECEFF1
+ #CFD8DC
+ #B0BEC5
+ #90A4AE
+ #78909C
+ #607D8B
+ #546E7A
+ #455A64
+ #37474F
+ #263238
+
+
+
+
+ #FFFF00
+ #FF00FF
+ #FF0000
+ #C0C0C0
+ #808080
+ #808000
+ #800080
+ #800000
+ #00FFFF
+ #00FF00
+ #008080
+ #008000
+ #0000FF
+ #000080
+ #FFFFFF
+ #FFFFF0
+ #FFFFE0
+ #FFFF00
+ #FFFAFA
+ #FFFAF0
+ #FFFACD
+ #FFF8DC
+ #FFF5EE
+ #FFF0F5
+ #FFEFD5
+ #FFEBCD
+ #FFE4E1
+ #FFE4C4
+ #FFE4B5
+ #FFDEAD
+ #FFDAB9
+ #FFD700
+ #FFC0CB
+ #FFB6C1
+ #FFA500
+ #FFA07A
+ #FF8C00
+ #FF7F50
+ #FF69B4
+ #FF6347
+ #FF4500
+ #FF1493
+ #FF00FF
+ #FF00FF
+ #FF0000
+ #FDF5E6
+ #FAFAD2
+ #FAF0E6
+ #FAEBD7
+ #FA8072
+ #F8F8FF
+ #F5FFFA
+ #F5F5F5
+ #F5F5DC
+ #F5DEB3
+ #F4A460
+ #F0FFFF
+ #F0FFF0
+ #F0F8FF
+ #F0E68C
+ #F08080
+ #EEE8AA
+ #EE82EE
+ #E9967A
+ #E6E6FA
+ #E0FFFF
+ #DEB887
+ #DDA0DD
+ #DCDCDC
+ #DC143C
+ #DB7093
+ #DAA520
+ #DA70D6
+ #D8BFD8
+ #D3D3D3
+ #D2B48C
+ #D2691E
+ #CD853F
+ #CD5C5C
+ #C71585
+ #C0C0C0
+ #BDB76B
+ #BC8F8F
+ #BA55D3
+ #B8860B
+ #B22222
+ #B0E0E6
+ #B0C4DE
+ #AFEEEE
+ #ADFF2F
+ #ADD8E6
+ #A9A9A9
+ #A52A2A
+ #A0522D
+ #9ACD32
+ #9932CC
+ #98FB98
+ #9400D3
+ #9370DB
+ #90EE90
+ #8FBC8F
+ #8B4513
+ #8B008B
+ #8B0000
+ #8A2BE2
+ #87CEFA
+ #87CEEB
+ #808080
+ #808000
+ #800080
+ #800000
+ #7FFFD4
+ #7FFF00
+ #7CFC00
+ #7B68EE
+ #4B0082
+ #778899
+ #708090
+ #6B8E23
+ #6A5ACD
+ #696969
+ #66CDAA
+ #6495ED
+ #5F9EA0
+ #556B2F
+ #48D1CC
+ #483D8B
+ #4682B4
+ #4169E1
+ #40E0D0
+ #3CB371
+ #32CD32
+ #2F4F4F
+ #2E8B57
+ #228B22
+ #20B2AA
+ #1E90FF
+ #191970
+ #00FFFF
+ #00FFFF
+ #00FF7F
+ #00FF00
+ #00FA9A
+ #00CED1
+ #00BFFF
+ #008B8B
+ #008080
+ #008000
+ #006400
+ #0000FF
+ #0000CD
+ #00008B
+ #000080
+ #000000
+ #0000A0
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 926f153..481fbb3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,16 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
+
google()
jcenter()
}
dependencies {
+ classpath "com.android.tools.build:gradle:4.1.2"
+ classpath 'com.google.gms:google-services:4.3.4'
+
+
classpath 'com.google.gms:google-services:4.3.5'
@@ -14,6 +19,7 @@ buildscript {
+
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -21,6 +27,7 @@ buildscript {
allprojects {
repositories {
+ maven { url "https://jitpack.io" }
google()
jcenter()
}