diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1f7f4e7..6b5108f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,20 +9,27 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.StormWaterUtilityAndroid"> - + + + - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionFormFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionFormFragment.java new file mode 100644 index 0000000..95b3678 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionFormFragment.java @@ -0,0 +1,52 @@ +package com.sf.stormwaterutilityandroid.Construction; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.RecyclerView; + +import com.google.firebase.Timestamp; +import com.google.type.DateTime; +import com.sf.stormwaterutilityandroid.R; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import me.riddhimanadib.formmaster.FormBuilder; +import me.riddhimanadib.formmaster.model.BaseFormElement; +import me.riddhimanadib.formmaster.model.FormElementPickerDate; +import me.riddhimanadib.formmaster.model.FormElementPickerMulti; +import me.riddhimanadib.formmaster.model.FormElementPickerSingle; +import me.riddhimanadib.formmaster.model.FormElementSwitch; +import me.riddhimanadib.formmaster.model.FormElementTextMultiLine; +import me.riddhimanadib.formmaster.model.FormElementTextSingleLine; +import me.riddhimanadib.formmaster.model.FormHeader; + +public class ConstructionFormFragment extends Fragment { + private FormBuilder formBuilder; + private RecyclerView recyclerView; + private Button submitButton; + + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View root = inflater.inflate(R.layout.activity_sample_fordm, container, false); + + recyclerView = root.findViewById(R.id.recyclerView2); + + recyclerView.addView(submitButton); + + return root; + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionNav.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionNav.java new file mode 100644 index 0000000..c04de13 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionNav.java @@ -0,0 +1,164 @@ +package com.sf.stormwaterutilityandroid.Construction; + +import android.os.Bundle; +import android.view.MenuItem; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.firebase.auth.FirebaseAuth; +import com.sf.stormwaterutilityandroid.R; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayFormFragment; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayReportFragment; + +public class ConstructionNav extends AppCompatActivity { + private TextView mTextMessage; + private FirebaseAuth auth; + final Fragment fragment1 = new ConstructionFormFragment(); + final Fragment fragment2 = new ConstructionReportsFragment(); + + // final Fragment fragment4 = new Admin_fragment(); + // final Fragment fragment5 = new HR_fragment(); + final FragmentManager fm = getSupportFragmentManager(); + Fragment active = fragment1; + private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener + = new BottomNavigationView.OnNavigationItemSelectedListener() { + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case R.id.constructionHome: + // mTextMessage.setText(R.string.title_home); + fm.beginTransaction().hide(active).show(fragment1).commit(); + + active = fragment1; + fm.popBackStack(); + return true; + case R.id.constructionReports: + // mTextMessage.setText(R.string.title_dashboard); + fm.beginTransaction().hide(active).show(fragment2).commit(); + active = fragment2; + fm.popBackStack(); + return true; + + + } + return false; + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_construction); + + // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + //setSupportActionBar(toolbar); + + + BottomNavigationView navigation = findViewById(R.id.navigationConstruction); + 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_containerConstruction, fragment2, "2").hide(fragment2).commit(); + fm.beginTransaction().add(R.id.main_containerConstruction, 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/java/com/sf/stormwaterutilityandroid/notifications/NotificationsFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionReportsFragment.java similarity index 53% rename from app/src/main/java/com/sf/stormwaterutilityandroid/notifications/NotificationsFragment.java rename to app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionReportsFragment.java index 2795ade..c24b425 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/notifications/NotificationsFragment.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Construction/ConstructionReportsFragment.java @@ -1,28 +1,25 @@ -package com.sf.stormwaterutilityandroid.notifications; +package com.sf.stormwaterutilityandroid.Construction; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; - import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; import com.sf.stormwaterutilityandroid.R; - -public class NotificationsFragment extends Fragment { +public class ConstructionReportsFragment extends Fragment { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - - View root = inflater.inflate(R.layout.fragment_notifications, container, false); - final TextView textView = root.findViewById(R.id.text_notifications); - - - + View root = inflater.inflate(R.layout.fragment_dashboard, container, false); + final TextView textView = root.findViewById(R.id.text_dashboard); return root; } } \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index 0098a52..d4b0d62 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -26,6 +26,7 @@ public class InspectionForm extends AppCompatActivity { private FormBuilder formBuilder; private RecyclerView recyclerView; + private Button submitButton; @Override protected void onCreate(Bundle savedInstanceState) { @@ -33,6 +34,8 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_sample_fordm); recyclerView = findViewById(R.id.recyclerView2); + submitButton = findViewById(R.id.submitButton); + setupForm(); } @@ -43,7 +46,7 @@ private void setupForm() { FormElementTextSingleLine projectTextField = FormElementTextSingleLine.createInstance().setTitle("Project/Contact:").setHint("Enter text here"); FormElementTextSingleLine addressTextField = FormElementTextSingleLine.createInstance().setTitle("Address/Lot#(s):").setHint("Enter text here"); FormElementTextSingleLine inspectorTextField = FormElementTextSingleLine.createInstance().setTitle("Inspector:").setHint("Enter name here"); - FormElementPickerDate dataInspectedDatePicker = FormElementPickerDate.createInstance().setTitle("Date Inspected:").setDateFormat("MMM dd, yyyy"); + FormElementPickerDate dateInspectedDatePicker = FormElementPickerDate.createInstance().setTitle("Date Inspected:").setDateFormat("MMM dd, yyyy"); List typeOptions = new ArrayList<>(Arrays.asList( @@ -64,21 +67,26 @@ private void setupForm() { FormHeader correctiveActionsHeader = FormHeader.createInstance("CORRECTIVE ACTIONS REQUIRED\n***REDER TO APPROVED STORM WATER POLLUTION PREVENTION PLAN (SWP3) FOR SPECIFICATIONS AND DETAILS ON ITEMS BELOW***"); - List correctiveActionsOptions= new ArrayList<>(Arrays.asList( - "Post a laminated copy of completed 327IAC15-5 \"Rule 5\" NOI with permit number at a location visible to the public", - "Remove accumulated sediment from streets sidewalks and gutters (do not flush with water)", - "Install/maintain stable temporary construction entrances(s)", "Entire Development", - "Individual Building Lot(s)", - "Address silt fence issues which includes one or more of the following: Repair, install properly, Replace, Add (areas prone to sheet-flow erosion)", - "Install erosions and sediment control for individual building lot(s) as specified in the approved SWP3", - "Install check dam(s) according to specifications", - "Utilize appropriate construction sequence as specified in the approved SWP3", - "Remove sediment from one or more of the following: sediment traps, behind check dams, around storm drain inlets or/and other", - "Inform Contractors, subcontractors, material vendors, and others or erosion and sediment control requirements", - "Provide copy and self-monitoring inspection records to MS Coordinator within 48 hours", - "Acquire copy of Storm Water Pollution Prevention Plan and retain on project site for reference" - )); - FormElementPickerMulti correctiveActionsPickerMulti = FormElementPickerMulti.createInstance().setTitle("Corrective Actions").setOptions(correctiveActionsOptions).setPickerTitle("Pick corrective action"); + + + FormElementSwitch correctiveAction1Switch = FormElementSwitch.createInstance().setTitle("Post a laminated copy of completed 327IAC15-5 \"Rule 5\" NOI with permit number at a location visible to the public").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction2Switch = FormElementSwitch.createInstance().setTitle("Remove accumulated sediment from streets sidewalks and gutters (do not flush with water)").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction3Switch = FormElementSwitch.createInstance().setTitle("Install/maintain stable temporary construction entrances(s)\", \"Entire Development").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction4Switch = FormElementSwitch.createInstance().setTitle("Individual Building Lot(s)").setSwitchTexts("Yes", "No"); + + FormHeader correctiveAction5Header = FormHeader.createInstance(""); + List correctiveAction5Options= new ArrayList<>(Arrays.asList("Repair", "Install properly"," Replace", "Add (areas prone to sheet-flow erosion)")); + FormElementPickerMulti correctiveAction5Multi = FormElementPickerMulti.createInstance().setTitle("Address silt fence issues which includes one or more of the following: Repair, install properly, Replace, Add (areas prone to sheet-flow erosion)").setOptions(correctiveAction5Options).setPickerTitle("Address silt fence issues which includes one or more of the following:"); + + FormElementSwitch correctiveAction6Switch = FormElementSwitch.createInstance().setTitle("Install erosions and sediment control for individual building lot(s) as specified in the approved SWP3").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction7Switch = FormElementSwitch.createInstance().setTitle("Install check dam(s) according to specifications").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction8Switch = FormElementSwitch.createInstance().setTitle("Utilize appropriate construction sequence as specified in the approved SWP3").setSwitchTexts("Yes", "No"); + FormElementSwitch correctiveAction9Switch = FormElementSwitch.createInstance().setTitle("Individual Building Lot(s)").setSwitchTexts("Yes", "No"); + + FormHeader correctiveAction10Header = FormHeader.createInstance(""); + List correctiveAction10Options= new ArrayList<>(Arrays.asList("sediment traps", "behind check dams", "around storm drain inlets or/and other")); + FormElementPickerMulti correctiveAction10Multi = FormElementPickerMulti.createInstance().setTitle("Remove sediment from one or more of the following: sediment traps, behind check dams, around storm drain inlets or/and other").setOptions(correctiveAction10Options).setPickerTitle("Pick corrective action"); + FormElementTextMultiLine otherCorrectiveAction1TextField = FormElementTextMultiLine.createInstance().setTitle("Other 1:").setHint("Enter text here"); FormElementTextMultiLine otherCorrectiveAction2TextField = FormElementTextMultiLine.createInstance().setTitle("Other 2:").setHint("Enter text here"); @@ -96,21 +104,56 @@ private void setupForm() { FormElementTextMultiLine evidenceTextField = FormElementTextMultiLine.createInstance().setTitle("Evidence of off-site sediment/pollutants.\nHere is a description of type and location:").setHint("Enter text here"); - Button submitButton = new Button(getApplicationContext()); - submitButton.setText("Submit"); + submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - + System.out.println("HELLO"); + String projectContact = projectTextField.getValue(); + String address = addressTextField.getValue(); + String inspector = inspectorTextField.getValue(); + String dateInspected = dateInspectedDatePicker.getValue(); + + boolean projectRepPresent = getSwitchBool(projectRepPresentSwitch.getValue()); + + String projectManager = projectManagerTextField.getValue(); + String siteManager = siteManagerTextField.getValue(); + String projectOwner = projectOwnerTextField.getValue(); + + boolean correctiveAction1 = getSwitchBool(correctiveAction1Switch.getValue()); + boolean correctiveAction2 = getSwitchBool(correctiveAction2Switch.getValue()); + boolean correctiveAction3 = getSwitchBool(correctiveAction3Switch.getValue()); + boolean correctiveAction4 = getSwitchBool(correctiveAction4Switch.getValue()); + + List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); + + boolean correctiveAction6 = getSwitchBool(correctiveAction6Switch.getValue()); + boolean correctiveAction7 = getSwitchBool(correctiveAction6Switch.getValue()); + boolean correctiveAction8 = getSwitchBool(correctiveAction8Switch.getValue()); + boolean correctiveAction9 = getSwitchBool(correctiveAction9Switch.getValue()); + + String correctiveAction10 = correctiveAction10Multi.getValue(); + + String otherCorrectiveAction1 = otherCorrectiveAction1TextField.getValue(); + String otherCorrectiveAction2 = otherCorrectiveAction2TextField.getValue(); + String otherCorrectiveAction3 = otherCorrectiveAction3TextField.getValue(); + + List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); + + String evidence = evidenceTextField.getValue(); + + } }); + + List formItems = new ArrayList<>(); formItems.add(projectTextField); formItems.add(addressTextField); formItems.add(inspectorTextField); - formItems.add(dataInspectedDatePicker); + formItems.add(dateInspectedDatePicker); formItems.add(inspectionTypePickerSingle); formItems.add(projectRepPresentSwitch); @@ -121,7 +164,25 @@ public void onClick(View view) { formItems.add(projectOwnerTextField); formItems.add(correctiveActionsHeader); - formItems.add(correctiveActionsPickerMulti); + + formItems.add(correctiveAction1Switch); + formItems.add(correctiveAction2Switch); + formItems.add(correctiveAction3Switch); + formItems.add(correctiveAction4Switch); + + formItems.add(correctiveAction5Header); + formItems.add(correctiveAction5Multi); + formItems.add(correctiveAction5Header); + + formItems.add(correctiveAction7Switch); + formItems.add(correctiveAction8Switch); + formItems.add(correctiveAction9Switch); + + formItems.add(correctiveAction10Header); + formItems.add(correctiveAction10Multi); + formItems.add(correctiveAction10Header); + + formItems.add(otherCorrectiveAction1TextField); formItems.add(otherCorrectiveAction2TextField); formItems.add(otherCorrectiveAction3TextField); @@ -133,6 +194,11 @@ public void onClick(View view) { formBuilder.addFormElements(formItems); - recyclerView.addView(submitButton); + + } + + public boolean getSwitchBool(String value) { + if (value.equals("yes")) return true; + return false; } } diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java index c276c5a..e2fc838 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java @@ -4,7 +4,6 @@ import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -19,6 +18,7 @@ import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayNav; public class Login extends AppCompatActivity { @@ -38,8 +38,9 @@ protected void onCreate(Bundle savedInstanceState) { mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { + if (firebaseAuth.getCurrentUser() != null && auth.getCurrentUser().isEmailVerified()) { - startActivity(new Intent(Login.this, MainActivity.class)); + startActivity(new Intent(Login.this, WaterWayNav.class)); finish(); } if (firebaseAuth.getCurrentUser() == null) { @@ -112,7 +113,7 @@ public void onComplete(@NonNull Task task) { } } else { if (auth.getCurrentUser().isEmailVerified()) { - Intent intent = new Intent(Login.this, MainActivity.class); + Intent intent = new Intent(Login.this, WaterWayNav.class); startActivity(intent); progressBar.setVisibility(View.INVISIBLE); finish(); diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/MainMenu.java b/app/src/main/java/com/sf/stormwaterutilityandroid/MainMenu.java new file mode 100644 index 0000000..6dd4920 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/MainMenu.java @@ -0,0 +1,48 @@ +package com.sf.stormwaterutilityandroid; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import com.sf.stormwaterutilityandroid.Construction.ConstructionNav; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayNav; + +public class MainMenu extends AppCompatActivity { +Button launchWWF,launchCF, launchSettings; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main_menu); + launchWWF = findViewById(R.id.wwf); + launchCF = findViewById(R.id.cf); + launchSettings = findViewById(R.id.settings); + launchSettings.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(MainMenu.this, Settings.class); + startActivity(intent); + + } + }); + launchCF.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(MainMenu.this, ConstructionNav.class); + startActivity(intent); + + + } + }); + launchWWF.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(MainMenu.this, WaterWayNav.class); + startActivity(intent); + + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/SampleFordm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/SampleFordm.java index 2dfcc46..a386112 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/SampleFordm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/SampleFordm.java @@ -27,6 +27,7 @@ public class SampleFordm extends AppCompatActivity { private FormBuilder formBuilder; private RecyclerView recyclerView; FormElementTextEmail element11; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -50,6 +51,7 @@ private void setupForm() { FormElementTextNumber element23 = FormElementTextNumber.createInstance().setTitle("Zip Code").setValue("1000"); FormHeader header3 = FormHeader.createInstance("Schedule"); + FormElementPickerDate element31 = FormElementPickerDate.createInstance().setTitle("Date").setDateFormat("MMM dd, yyyy"); FormElementPickerTime element32 = FormElementPickerTime.createInstance().setTitle("Time").setTimeFormat("KK hh"); FormElementTextPassword element33 = FormElementTextPassword.createInstance().setTitle("Password").setValue("abcd1234"); @@ -60,6 +62,7 @@ private void setupForm() { fruits.add("Orange"); fruits.add("Mango"); fruits.add("Guava"); + FormElementPickerSingle element41 = FormElementPickerSingle.createInstance().setTitle("Single Item").setOptions(fruits).setPickerTitle("Pick any item"); FormElementPickerMulti element42 = FormElementPickerMulti.createInstance().setTitle("Multi Items").setOptions(fruits).setPickerTitle("Pick one or more").setNegativeText("reset"); FormElementSwitch element43 = FormElementSwitch.createInstance().setTitle("Frozen?").setSwitchTexts("Yes", "No"); diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/Settings.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Settings.java new file mode 100644 index 0000000..8eca92d --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Settings.java @@ -0,0 +1,14 @@ +package com.sf.stormwaterutilityandroid; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class Settings extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_settings); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java similarity index 94% rename from app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java rename to app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java index 75b11d9..806377b 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java @@ -1,4 +1,4 @@ -package com.sf.stormwaterutilityandroid.home; +package com.sf.stormwaterutilityandroid.WaterWay; import android.content.Intent; import android.os.Bundle; @@ -15,7 +15,7 @@ import com.sf.stormwaterutilityandroid.SampleFordm; -public class HomeFragment extends Fragment { +public class WaterWayFormFragment extends Fragment { diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/MainActivity.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java similarity index 80% rename from app/src/main/java/com/sf/stormwaterutilityandroid/MainActivity.java rename to app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java index 28caf6b..fbfc264 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/MainActivity.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java @@ -1,4 +1,4 @@ -package com.sf.stormwaterutilityandroid; +package com.sf.stormwaterutilityandroid.WaterWay; import android.os.Bundle; import android.view.MenuItem; @@ -12,17 +12,18 @@ import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.firebase.auth.FirebaseAuth; -import com.sf.stormwaterutilityandroid.dashboard.DashboardFragment; -import com.sf.stormwaterutilityandroid.home.HomeFragment; -import com.sf.stormwaterutilityandroid.notifications.NotificationsFragment; +import com.sf.stormwaterutilityandroid.R; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayReportFragment; +import com.sf.stormwaterutilityandroid.WaterWay.WaterWayFormFragment; -public class MainActivity extends AppCompatActivity { + +public class WaterWayNav extends AppCompatActivity { private Button signout2; private TextView mTextMessage; private FirebaseAuth auth; - final Fragment fragment1 = new HomeFragment(); - final Fragment fragment2 = new DashboardFragment(); - final Fragment fragment3 = new NotificationsFragment(); + final Fragment fragment1 = new WaterWayFormFragment(); + final Fragment fragment2 = new WaterWayReportFragment(); + // final Fragment fragment4 = new Admin_fragment(); // final Fragment fragment5 = new HR_fragment(); final FragmentManager fm = getSupportFragmentManager(); @@ -46,22 +47,8 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { active = fragment2; fm.popBackStack(); return true; - case R.id.navigation_notifications: - //mTextMessage.setText(R.string.title_notifications); - fm.beginTransaction().hide(active).show(fragment3).commit(); - active = fragment3; - fm.popBackStack(); - return true; - /* case R.id.admin: - fm.beginTransaction().hide(active).show(fragment4).commit(); - active = fragment4; - fm.popBackStack(); - return true; - case R.id.Homeroom: - fm.beginTransaction().hide(active).show(fragment5).commit(); - active = fragment5; - fm.popBackStack(); - return true;*/ + + } return false; } @@ -80,7 +67,7 @@ protected void onCreate(Bundle savedInstanceState) { 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, fragment3, "3").hide(fragment3).commit(); + fm.beginTransaction().add(R.id.main_container, fragment2, "2").hide(fragment2).commit(); fm.beginTransaction().add(R.id.main_container, fragment1, "1").commit(); diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java similarity index 59% rename from app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardFragment.java rename to app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java index b69c9a5..150a98d 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardFragment.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java @@ -1,4 +1,4 @@ -package com.sf.stormwaterutilityandroid.dashboard; +package com.sf.stormwaterutilityandroid.WaterWay; import android.os.Bundle; import android.view.LayoutInflater; @@ -15,22 +15,14 @@ import com.sf.stormwaterutilityandroid.R; -public class DashboardFragment extends Fragment { - - private DashboardViewModel dashboardViewModel; +public class WaterWayReportFragment extends Fragment { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - dashboardViewModel = - ViewModelProviders.of(this).get(DashboardViewModel.class); + View root = inflater.inflate(R.layout.fragment_dashboard, container, false); final TextView textView = root.findViewById(R.id.text_dashboard); - dashboardViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { - @Override - public void onChanged(@Nullable String s) { - textView.setText(s); - } - }); + return root; } } \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardViewModel.java b/app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardViewModel.java deleted file mode 100644 index 1fa1663..0000000 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/dashboard/DashboardViewModel.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.sf.stormwaterutilityandroid.dashboard; - -import androidx.lifecycle.LiveData; -import androidx.lifecycle.MutableLiveData; -import androidx.lifecycle.ViewModel; - -public class DashboardViewModel extends ViewModel { - - private MutableLiveData mText; - - public DashboardViewModel() { - mText = new MutableLiveData<>(); - mText.setValue("This is dashboard fragment"); - } - - public LiveData getText() { - return mText; - } -} \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeViewModel.java b/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeViewModel.java deleted file mode 100644 index 5db7db0..0000000 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeViewModel.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.sf.stormwaterutilityandroid.home; - -import androidx.lifecycle.LiveData; -import androidx.lifecycle.MutableLiveData; -import androidx.lifecycle.ViewModel; - -public class HomeViewModel extends ViewModel { - - private MutableLiveData mText; - - public HomeViewModel() { - mText = new MutableLiveData<>(); - mText.setValue("This is home fragment"); - } - - public LiveData getText() { - return mText; - } -} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_construction.xml b/app/src/main/res/layout/activity_construction.xml new file mode 100644 index 0000000..11a7b2d --- /dev/null +++ b/app/src/main/res/layout/activity_construction.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_menu.xml b/app/src/main/res/layout/activity_main_menu.xml new file mode 100644 index 0000000..215f990 --- /dev/null +++ b/app/src/main/res/layout/activity_main_menu.xml @@ -0,0 +1,40 @@ + + + +