Skip to content

added construction form, location #25

Merged
merged 2 commits into from
Apr 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,17 @@ android {
}

dependencies {

implementation 'com.google.maps.android:android-maps-utils:0.4.4'
implementation 'com.google.android.libraries.places:places:2.4.0'
implementation 'com.google.android.gms:play-services-location:18.0.0'
implementation 'com.google.android.gms:play-services-games:21.0.0'
implementation 'com.google.android.gms:play-services-maps:17.0.0'


//Added this:
implementation 'com.github.AnyChart:AnyChart-Android:0.0.3'
//Done adding

implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
Expand Down
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sf.stormwaterutilityandroid">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


<uses-permission android:name="android.permission.CAMERA" />
Expand All @@ -11,6 +12,7 @@


<application

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
Expand All @@ -32,10 +34,11 @@
<activity android:name=".Construction.ConstructionNav"></activity>
<activity android:name=".Reset_password" />
<activity android:name=".SampleFordm" />
<activity android:name=".InspectionForm" />

<activity android:name=".GraphPicker" />
<activity android:name=".PDFCreator" />
<activity android:name=".Grapher" />

<activity android:name=".Login">

<intent-filter>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@

import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.firebase.auth.FirebaseAuth;
import com.sf.stormwaterutilityandroid.InspectionForm;
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 fragment1 = new InspectionForm();
final Fragment fragment2 = new ConstructionReportsFragment();

// final Fragment fragment4 = new Admin_fragment();
Expand Down Expand Up @@ -65,8 +66,8 @@ protected void onCreate(Bundle savedInstanceState) {
// 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();
fm.beginTransaction().add(R.id.include, fragment2, "2").hide(fragment2).commit();
fm.beginTransaction().add(R.id.include, fragment1, "1").commit();

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class ConstructionReportsFragment extends Fragment {
private RecyclerView recyclerView;
private Button btnSiteName, btnDate, btnInspectorName;
//TODO: Need vars for formdata

public ConstructionReportsFragment(){}
//TODO: Need a var for tvReports: UITableView!
List<ConstructionFormData> reportList = new ArrayList<>();
//TODO: LayoutInflator inflater, ViewGroup container,Might not be needed
Expand All @@ -58,6 +58,7 @@ public class ConstructionReportsFragment extends Fragment {
// List<Report> reportList = new ArrayList<>();
//TODO: LayoutInflator inflater, ViewGroup container,Might not be needed
//This was a public void

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
import android.content.Intent;
import android.net.Uri;
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.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.gms.tasks.OnFailureListener;
Expand Down Expand Up @@ -34,9 +38,12 @@
import me.riddhimanadib.formmaster.model.FormElementTextSingleLine;
import me.riddhimanadib.formmaster.model.FormHeader;

public class InspectionForm extends AppCompatActivity {

public class InspectionForm extends Fragment {

private final int UPLOAD_IMAGE_REQUEST = 1;


private RecyclerView recyclerView;

private Button submitButton;
Expand All @@ -47,29 +54,42 @@ public class InspectionForm extends AppCompatActivity {

private ArrayList<Uri> imageURIs;



public InspectionForm() {
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_fordm);
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

recyclerView = findViewById(R.id.recyclerView2);

View view = inflater.inflate(R.layout.activity_sample_fordm, container, false);
recyclerView = view.findViewById(R.id.recyclerView2);
submitButton = view.findViewById(R.id.submitButton);
setupForm();
return view;
}

this.submitButton = findViewById(R.id.submitButton);
this.uploadImageBtn = findViewById(R.id.uploadImageBtn);

// submitButton = findViewById(R.id.submitButton);

private void uploadToFirestore(ConstructionFormData constructionFormData) {
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("ConstructionSiteForm")
.add(constructionFormData.getMap())
.addOnSuccessListener(documentReference -> System.out.println("SUCCESSFUL - FIRESTORE"))
.addOnFailureListener(e -> System.out.println("FAILED - FIRESTORE: " + e));


this.storage = FirebaseStorage.getInstance();
this.storageReference = storage.getReference();

setupForm();

}

private void setupForm() {
FormBuilder formBuilder = new FormBuilder(this, recyclerView);
FormBuilder formBuilder = new FormBuilder(getContext(), recyclerView);

FormElementTextSingleLine projectTextField = FormElementTextSingleLine.createInstance().setTitle("Project/Contact:").setHint("Enter text here");
FormElementTextSingleLine addressTextField = FormElementTextSingleLine.createInstance().setTitle("Address/Lot#(s):").setHint("Enter text here");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.sf.stormwaterutilityandroid.WaterWay;

public class AppConstants {

public static final int LOCATION_REQUEST = 1000;
public static final int GPS_REQUEST = 1001;
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
package com.sf.stormwaterutilityandroid.WaterWay;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.IntentSender;
import android.location.LocationManager;
import android.util.Log;
import android.widget.Toast;

import androidx.annotation.NonNull;

import com.google.android.gms.common.api.ApiException;
import com.google.android.gms.common.api.ResolvableApiException;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.LocationSettingsResponse;
import com.google.android.gms.location.LocationSettingsStatusCodes;
import com.google.android.gms.location.SettingsClient;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;

public class GpsUtils {


private static final String TAG = "GPSUTILS" ;
private Context context;
private SettingsClient mSettingsClient;
private LocationSettingsRequest mLocationSettingsRequest;
private LocationManager locationManager;
private LocationRequest locationRequest;

public GpsUtils(Context context) {
this.context = context;
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
mSettingsClient = LocationServices.getSettingsClient(context);

locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(10 * 1000);
locationRequest.setFastestInterval(2 * 1000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest);
mLocationSettingsRequest = builder.build();

//**************************
builder.setAlwaysShow(true); //this is the key ingredient
//**************************
}

// method for turn on GPS
public void turnGPSOn(onGpsListener onGpsListener) {

if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
if (onGpsListener != null) {
onGpsListener.gpsStatus(true);
}
} else {
mSettingsClient
.checkLocationSettings(mLocationSettingsRequest)
.addOnSuccessListener((Activity) context, new OnSuccessListener<LocationSettingsResponse>() {
@SuppressLint("MissingPermission")
@Override
public void onSuccess(LocationSettingsResponse locationSettingsResponse) {

// GPS is already enable, callback GPS status through listener
if (onGpsListener != null) {
onGpsListener.gpsStatus(true);
}
}
})
.addOnFailureListener((Activity) context, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
int statusCode = ((ApiException) e).getStatusCode();
switch (statusCode) {
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:

try {
// Show the dialog by calling startResolutionForResult(), and check the
// result in onActivityResult().
ResolvableApiException rae = (ResolvableApiException) e;
rae.startResolutionForResult((Activity) context, AppConstants.GPS_REQUEST);
} catch (IntentSender.SendIntentException sie) {
Log.i(TAG, "PendingIntent unable to execute request.");
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
String errorMessage = "Location settings are inadequate, and cannot be " +
"fixed here. Fix in Settings.";
Log.e(TAG, errorMessage);

Toast.makeText((Activity) context, errorMessage, Toast.LENGTH_LONG).show();
}
}
});
}
}

public interface onGpsListener {
void gpsStatus(boolean isGPSEnable);
}

}
Loading