Added files of Alex and fixed the code.
This commit is contained in:
parent
c3d1f605d7
commit
ccd5a1d53b
872 changed files with 15722 additions and 26674 deletions
25
UI/app/src/main/java/com/example/capstone/About.java
Normal file
25
UI/app/src/main/java/com/example/capstone/About.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
|
||||
public class About extends AppCompatActivity {
|
||||
FirebaseAuth fAuth;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_about);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
132
UI/app/src/main/java/com/example/capstone/Drivers.java
Normal file
132
UI/app/src/main/java/com/example/capstone/Drivers.java
Normal file
|
@ -0,0 +1,132 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.firestore.DocumentReference;
|
||||
import com.google.firebase.firestore.DocumentSnapshot;
|
||||
import com.google.firebase.firestore.EventListener;
|
||||
import com.google.firebase.firestore.FieldValue;
|
||||
import com.google.firebase.firestore.FirebaseFirestore;
|
||||
import com.google.firebase.firestore.FirebaseFirestoreException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class Drivers extends AppCompatActivity{
|
||||
FirebaseAuth fAuth;
|
||||
FirebaseFirestore fstore;
|
||||
String userID;
|
||||
private RecyclerView mRecyclerView;
|
||||
private eAdapter mAdapter;
|
||||
private RecyclerView.LayoutManager mLayoutManager;
|
||||
ArrayList<driveritem> mExampleList = new ArrayList<>();
|
||||
private Button add, remove;
|
||||
String Fname, email, phone;
|
||||
int numOfDrivers;
|
||||
int removeP;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_drivers);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
fstore = FirebaseFirestore.getInstance();
|
||||
add = findViewById(R.id.adddriver);
|
||||
remove = findViewById(R.id.removedriver);
|
||||
|
||||
userID = fAuth.getCurrentUser().getUid();
|
||||
|
||||
DocumentReference documentReference = fstore.collection("users").document(userID);
|
||||
|
||||
documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
|
||||
@Override
|
||||
public void onEvent(@Nullable DocumentSnapshot value, @Nullable FirebaseFirestoreException error) {
|
||||
|
||||
String test = value.getString("Number of Drivers");
|
||||
numOfDrivers = Integer.parseInt(test);
|
||||
|
||||
Fname = value.getString("First Name") + " " + value.getString("Last Name");
|
||||
email = value.getString("Email");
|
||||
phone = value.getString("Phone Number");
|
||||
mExampleList.add(new driveritem(Fname, email, phone));
|
||||
|
||||
for(int i=1; i<numOfDrivers; i++){
|
||||
Fname = value.getString("First Name"+(i+1)) + " " + value.getString("Last Name"+(i+1));
|
||||
email = value.getString("Email"+(i+1));
|
||||
phone = value.getString("Phone Number"+(i+1));
|
||||
mExampleList.add(new driveritem(Fname, email, phone));
|
||||
}
|
||||
|
||||
mRecyclerView = findViewById(R.id.recyclerview);
|
||||
mRecyclerView.setHasFixedSize(true);
|
||||
mLayoutManager = new LinearLayoutManager(Drivers.this);
|
||||
mAdapter = new eAdapter(mExampleList);
|
||||
mRecyclerView.setLayoutManager(mLayoutManager);
|
||||
mRecyclerView.setAdapter(mAdapter);
|
||||
|
||||
mAdapter.setOnItemClickListener(new eAdapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(int position) {
|
||||
removeP = position;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
add.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
addDriver();
|
||||
}
|
||||
});
|
||||
|
||||
remove.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
removeDriver();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void addDriver(){
|
||||
startActivity(new Intent(getApplicationContext(), add.class));
|
||||
}
|
||||
|
||||
public void removeDriver(){
|
||||
if(removeP != 0){
|
||||
Map<String,Object> user = new HashMap<>();
|
||||
DocumentReference documentReference = fstore.collection("users").document(userID);
|
||||
documentReference.update("First Name"+String.valueOf(removeP+1), FieldValue.delete());
|
||||
documentReference.update("Last Name"+String.valueOf(removeP+1), FieldValue.delete());
|
||||
documentReference.update("Email"+String.valueOf(removeP+1), FieldValue.delete());
|
||||
documentReference.update("Phone Number"+String.valueOf(removeP+1), FieldValue.delete());
|
||||
user.put("Number of Drivers",String.valueOf(removeP));
|
||||
documentReference.update(user);
|
||||
finish();
|
||||
startActivity(getIntent());
|
||||
} else {
|
||||
Toast.makeText(Drivers.this, "Cannot delete main driver", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
128
UI/app/src/main/java/com/example/capstone/Enrollment.java
Normal file
128
UI/app/src/main/java/com/example/capstone/Enrollment.java
Normal file
|
@ -0,0 +1,128 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.provider.MediaStore;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.gms.tasks.OnFailureListener;
|
||||
import com.google.android.gms.tasks.OnSuccessListener;
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.storage.FirebaseStorage;
|
||||
import com.google.firebase.storage.StorageReference;
|
||||
import com.google.firebase.storage.UploadTask;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class Enrollment extends AppCompatActivity {
|
||||
private static final int CAMERA_REQUEST = 10;
|
||||
private static final int IMAGE_GALLERY_REQUEST = 20;
|
||||
FirebaseAuth fAuth;
|
||||
FirebaseStorage storage;
|
||||
StorageReference storageReference;
|
||||
ImageView preview;
|
||||
Button upload;
|
||||
Uri imageUri;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_enrollment);
|
||||
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
storage = FirebaseStorage.getInstance();
|
||||
storageReference = storage.getReference();
|
||||
preview = findViewById(R.id.imagepreview);
|
||||
upload = findViewById(R.id.upload);
|
||||
|
||||
upload.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
StorageReference riversRef = storageReference.child("Images/"+fAuth.getCurrentUser().getUid()+"/"+ imageUri.getLastPathSegment());
|
||||
|
||||
riversRef.putFile(imageUri)
|
||||
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
|
||||
@Override
|
||||
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
|
||||
|
||||
}
|
||||
})
|
||||
.addOnFailureListener(new OnFailureListener() {
|
||||
@Override
|
||||
public void onFailure(@NonNull Exception exception) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
if (resultCode == RESULT_OK) {
|
||||
if (requestCode == CAMERA_REQUEST) {
|
||||
Bitmap cameraImage = (Bitmap) data.getExtras().get("data");
|
||||
preview.setImageBitmap(cameraImage);
|
||||
}
|
||||
if (requestCode == IMAGE_GALLERY_REQUEST) {
|
||||
imageUri = data.getData();
|
||||
InputStream inputStream;
|
||||
|
||||
try {
|
||||
inputStream = getContentResolver().openInputStream(imageUri);
|
||||
Bitmap image = BitmapFactory.decodeStream(inputStream);
|
||||
preview.setImageBitmap(image);
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
Toast.makeText(this, "Unable to open image", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void takepic(View v) {
|
||||
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
||||
startActivityForResult(cameraIntent, CAMERA_REQUEST);
|
||||
}
|
||||
|
||||
public void loadpic(View v){
|
||||
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
|
||||
|
||||
File pictureDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
||||
String pictureDirectoryPath = pictureDirectory.getPath();
|
||||
Uri data = Uri.parse(pictureDirectoryPath);
|
||||
photoPickerIntent.setDataAndType(data, "image/*");
|
||||
startActivityForResult(photoPickerIntent, IMAGE_GALLERY_REQUEST);
|
||||
|
||||
|
||||
}
|
||||
}
|
80
UI/app/src/main/java/com/example/capstone/Login.java
Normal file
80
UI/app/src/main/java/com/example/capstone/Login.java
Normal file
|
@ -0,0 +1,80 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.firebase.auth.AuthResult;
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
|
||||
public class Login extends AppCompatActivity {
|
||||
private EditText email, password;
|
||||
private Button save;
|
||||
private TextView account;
|
||||
FirebaseAuth fAuth;
|
||||
private String em, pw;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_login);
|
||||
|
||||
email = (EditText) findViewById(R.id.username);
|
||||
password = (EditText) findViewById(R.id.password);
|
||||
save = (Button) findViewById(R.id.signin);
|
||||
account = findViewById(R.id.account);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
|
||||
account.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), signup.class));
|
||||
}
|
||||
});
|
||||
|
||||
save.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
em = email.getText().toString().trim();
|
||||
pw = password.getText().toString().trim();
|
||||
|
||||
if(TextUtils.isEmpty(em)){
|
||||
email.setError("Email is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(pw)){
|
||||
password.setError("Email is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
fAuth.signInWithEmailAndPassword(em, pw).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
|
||||
@Override
|
||||
public void onComplete(@NonNull Task<AuthResult> task) {
|
||||
if(task.isSuccessful()){
|
||||
Toast.makeText(Login.this, "Successful Login", Toast.LENGTH_LONG).show();
|
||||
openHomepage();
|
||||
} else {
|
||||
Toast.makeText(Login.this, task.getException().toString(), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void openHomepage() {
|
||||
Intent intent = new Intent(this, homepage.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
|
@ -1,44 +1,44 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
private Button login;
|
||||
private Button sign;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
login = (Button) findViewById(R.id.signin);
|
||||
login.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
openLogin();
|
||||
}
|
||||
});
|
||||
|
||||
sign = (Button) findViewById(R.id.signup);
|
||||
sign.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
openSignup();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void openLogin() {
|
||||
Intent intent = new Intent(this, Login.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public void openSignup() {
|
||||
Intent intent2 = new Intent(this, signup.class);
|
||||
startActivity(intent2);
|
||||
}
|
||||
}
|
||||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
private Button login;
|
||||
private Button sign;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
login = (Button) findViewById(R.id.signin);
|
||||
login.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
openLogin();
|
||||
}
|
||||
});
|
||||
|
||||
sign = (Button) findViewById(R.id.signup);
|
||||
sign.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
openSignup();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void openLogin() {
|
||||
Intent intent = new Intent(this, Login.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public void openSignup() {
|
||||
Intent intent2 = new Intent(this, signup.class);
|
||||
startActivity(intent2);
|
||||
}
|
||||
}
|
||||
|
|
25
UI/app/src/main/java/com/example/capstone/Password.java
Normal file
25
UI/app/src/main/java/com/example/capstone/Password.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
|
||||
public class Password extends AppCompatActivity {
|
||||
FirebaseAuth fAuth;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_password);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
70
UI/app/src/main/java/com/example/capstone/Settings.java
Normal file
70
UI/app/src/main/java/com/example/capstone/Settings.java
Normal file
|
@ -0,0 +1,70 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
|
||||
public class Settings extends AppCompatActivity {
|
||||
FirebaseAuth fAuth;
|
||||
private Button dri, enr, sup, pas, abu;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_settings);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
|
||||
dri = findViewById(R.id.managedrivers);
|
||||
enr = findViewById(R.id.enrollment);
|
||||
sup = findViewById(R.id.support);
|
||||
pas = findViewById(R.id.password);
|
||||
abu = findViewById(R.id.aboutus);
|
||||
|
||||
dri.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Drivers.class));
|
||||
}
|
||||
});
|
||||
|
||||
enr.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Enrollment.class));
|
||||
}
|
||||
});
|
||||
|
||||
sup.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Support.class));
|
||||
}
|
||||
});
|
||||
|
||||
pas.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Password.class));
|
||||
}
|
||||
});
|
||||
|
||||
abu.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), About.class));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
36
UI/app/src/main/java/com/example/capstone/Signal.java
Normal file
36
UI/app/src/main/java/com/example/capstone/Signal.java
Normal file
|
@ -0,0 +1,36 @@
|
|||
package com.example.capstone;
|
||||
|
||||
public class Signal {
|
||||
|
||||
private String power;
|
||||
private String alarm;
|
||||
private String motor;
|
||||
|
||||
public Signal() {
|
||||
}
|
||||
|
||||
public String getPower() {
|
||||
return power;
|
||||
}
|
||||
|
||||
public void setPower(String power) {
|
||||
this.power = power;
|
||||
}
|
||||
|
||||
public String getAlarm() {
|
||||
return alarm;
|
||||
}
|
||||
|
||||
public void setAlarm(String alarm) {
|
||||
this.alarm = alarm;
|
||||
}
|
||||
|
||||
public String getMotor() {
|
||||
return motor;
|
||||
}
|
||||
|
||||
public void setMotor(String motor) {
|
||||
this.motor = motor;
|
||||
}
|
||||
}
|
||||
|
26
UI/app/src/main/java/com/example/capstone/Support.java
Normal file
26
UI/app/src/main/java/com/example/capstone/Support.java
Normal file
|
@ -0,0 +1,26 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
|
||||
public class Support extends AppCompatActivity {
|
||||
FirebaseAuth fAuth;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_support);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
58
UI/app/src/main/java/com/example/capstone/User.java
Normal file
58
UI/app/src/main/java/com/example/capstone/User.java
Normal file
|
@ -0,0 +1,58 @@
|
|||
package com.example.capstone;
|
||||
|
||||
public class User {
|
||||
|
||||
private String Firstname;
|
||||
private String Lastname;
|
||||
private Long phone;
|
||||
private String email;
|
||||
private String password;
|
||||
|
||||
public User(String fn, String ln, Long ph, String em, String pw) {
|
||||
Firstname = fn;
|
||||
Lastname = ln;
|
||||
phone = ph;
|
||||
email = em;
|
||||
password = pw;
|
||||
}
|
||||
|
||||
public String getFirstname() {
|
||||
return Firstname;
|
||||
}
|
||||
|
||||
public void setFirstname(String firstname) {
|
||||
Firstname = firstname;
|
||||
}
|
||||
|
||||
public String getLastname() {
|
||||
return Lastname;
|
||||
}
|
||||
|
||||
public void setLastname(String lastname) {
|
||||
Lastname = lastname;
|
||||
}
|
||||
|
||||
public Long getPhone() {
|
||||
return phone;
|
||||
}
|
||||
|
||||
public void setPhone(Long phone) {
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
}
|
155
UI/app/src/main/java/com/example/capstone/add.java
Normal file
155
UI/app/src/main/java/com/example/capstone/add.java
Normal file
|
@ -0,0 +1,155 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.OnSuccessListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.firebase.auth.AuthResult;
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.firestore.DocumentReference;
|
||||
import com.google.firebase.firestore.DocumentSnapshot;
|
||||
import com.google.firebase.firestore.EventListener;
|
||||
import com.google.firebase.firestore.FirebaseFirestore;
|
||||
import com.google.firebase.firestore.FirebaseFirestoreException;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class add extends AppCompatActivity {
|
||||
private EditText firstname, lastname, phone, email;
|
||||
private Button save, cancel;
|
||||
FirebaseAuth fAuth;
|
||||
private boolean check;
|
||||
FirebaseFirestore fstore;
|
||||
String userID;
|
||||
int numOfDrivers;
|
||||
private String fn, ln, em, ph;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_add);
|
||||
|
||||
firstname = (EditText) findViewById(R.id.fname);
|
||||
lastname = (EditText) findViewById(R.id.lname);
|
||||
phone = (EditText) findViewById(R.id.phone);
|
||||
email = (EditText) findViewById(R.id.email);
|
||||
save = (Button) findViewById(R.id.adddriver);
|
||||
cancel = (Button) findViewById(R.id.cancel);
|
||||
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
fstore = FirebaseFirestore.getInstance();
|
||||
|
||||
userID = fAuth.getCurrentUser().getUid();
|
||||
|
||||
DocumentReference documentReference = fstore.collection("users").document(userID);
|
||||
|
||||
documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
|
||||
@Override
|
||||
public void onEvent(@Nullable DocumentSnapshot value, @Nullable FirebaseFirestoreException error) {
|
||||
|
||||
String test = value.getString("Number of Drivers");
|
||||
numOfDrivers = Integer.parseInt(test);
|
||||
}
|
||||
});
|
||||
|
||||
save.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
fn = firstname.getText().toString().trim();
|
||||
ln = lastname.getText().toString().trim();
|
||||
ph = phone.getText().toString().trim();
|
||||
em = email.getText().toString().trim();
|
||||
|
||||
if(TextUtils.isEmpty(fn)){
|
||||
firstname.setError("First name is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(ln)){
|
||||
lastname.setError("Last name is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(ph)){
|
||||
phone.setError("Phone number is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
check = onlyDigits(ph, ph.length());
|
||||
if(!check){
|
||||
phone.setError("Invalid phone number");
|
||||
return;
|
||||
}
|
||||
|
||||
if(ph.length() < 10){
|
||||
phone.setError("Invalid phone number");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(em)){
|
||||
email.setError("Email is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
numOfDrivers++;
|
||||
|
||||
DocumentReference documentReference = fstore.collection("users").document(userID);
|
||||
Map<String,Object> user = new HashMap<>();
|
||||
user.put("First Name"+String.valueOf(numOfDrivers),fn);
|
||||
user.put("Last Name"+String.valueOf(numOfDrivers),ln);
|
||||
user.put("Email"+String.valueOf(numOfDrivers),em);
|
||||
user.put("Phone Number"+String.valueOf(numOfDrivers),ph);
|
||||
user.put("Number of Drivers",String.valueOf(numOfDrivers));
|
||||
documentReference.update(user).addOnSuccessListener(new OnSuccessListener<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void aVoid) {
|
||||
}
|
||||
});
|
||||
openDriver();
|
||||
}
|
||||
});
|
||||
|
||||
cancel.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Drivers.class));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void openDriver() {
|
||||
Intent intent = new Intent(this, Drivers.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public static boolean onlyDigits(String str, int n) {
|
||||
for(int i = 0; i < n; i++) {
|
||||
if(str.charAt(i) >= '0'
|
||||
&& str.charAt(i) <= '9') {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
62
UI/app/src/main/java/com/example/capstone/addDriver.java
Normal file
62
UI/app/src/main/java/com/example/capstone/addDriver.java
Normal file
|
@ -0,0 +1,62 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatDialogFragment;
|
||||
|
||||
public class addDriver extends AppCompatDialogFragment {
|
||||
private EditText fn, ln, ph, em;
|
||||
private addDriverListener listener;
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||
View view = inflater.inflate(R.layout.add_driver, null);
|
||||
|
||||
builder.setView(view).setTitle("Add Driver").setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
||||
}
|
||||
})
|
||||
.setPositiveButton("Add", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
String fns = fn.getText().toString();
|
||||
String lns = ln.getText().toString();
|
||||
String phs = ph.getText().toString();
|
||||
String ems = fn.getText().toString();
|
||||
listener.applyTexts(fns, lns, phs, ems);
|
||||
}
|
||||
});
|
||||
|
||||
fn = view.findViewById(R.id.fname);
|
||||
ln = view.findViewById(R.id.lname);
|
||||
ph = view.findViewById(R.id.phone);
|
||||
em = view.findViewById(R.id.email);
|
||||
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
|
||||
try {
|
||||
listener = (addDriverListener) context;
|
||||
} catch (ClassCastException e) {
|
||||
throw new ClassCastException(context.toString()+"must implement addDriverListener");
|
||||
}
|
||||
}
|
||||
|
||||
public interface addDriverListener{
|
||||
void applyTexts(String fn, String ln, String ph, String em);
|
||||
}
|
||||
}
|
24
UI/app/src/main/java/com/example/capstone/driveritem.java
Normal file
24
UI/app/src/main/java/com/example/capstone/driveritem.java
Normal file
|
@ -0,0 +1,24 @@
|
|||
package com.example.capstone;
|
||||
|
||||
public class driveritem {
|
||||
|
||||
private String mText1;
|
||||
private String mText2;
|
||||
private String mText3;
|
||||
|
||||
public driveritem( String text1, String text2, String text3) {
|
||||
mText1 = text1;
|
||||
mText2 = text2;
|
||||
mText3 = text3;
|
||||
}
|
||||
|
||||
public String getText1() { return mText1; }
|
||||
|
||||
public String getText2() {
|
||||
return mText2;
|
||||
}
|
||||
|
||||
public String getText3() {
|
||||
return mText3;
|
||||
}
|
||||
}
|
81
UI/app/src/main/java/com/example/capstone/eAdapter.java
Normal file
81
UI/app/src/main/java/com/example/capstone/eAdapter.java
Normal file
|
@ -0,0 +1,81 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
public class eAdapter extends RecyclerView.Adapter<eAdapter.ExampleViewHolder> {
|
||||
|
||||
private ArrayList<driveritem> mExampleList;
|
||||
private OnItemClickListener mListener;
|
||||
|
||||
public interface OnItemClickListener {
|
||||
void onItemClick(int position);
|
||||
}
|
||||
|
||||
public void setOnItemClickListener(OnItemClickListener listener) {
|
||||
mListener = listener;
|
||||
}
|
||||
|
||||
public static class ExampleViewHolder extends RecyclerView.ViewHolder {
|
||||
public TextView mTextView1;
|
||||
public TextView mTextView2;
|
||||
public TextView mTextView3;
|
||||
|
||||
public ExampleViewHolder(View itemView, final OnItemClickListener listener) {
|
||||
super(itemView);
|
||||
mTextView1 = itemView.findViewById(R.id.textView);
|
||||
mTextView2 = itemView.findViewById(R.id.textView2);
|
||||
mTextView3 = itemView.findViewById(R.id.textView3);
|
||||
|
||||
itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (listener != null) {
|
||||
int position = getAdapterPosition();
|
||||
if (position != RecyclerView.NO_POSITION) {
|
||||
listener.onItemClick(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public eAdapter(ArrayList<driveritem> exampleList) {
|
||||
mExampleList = exampleList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.driveritem, parent, false);
|
||||
ExampleViewHolder evh = new ExampleViewHolder(v, mListener);
|
||||
return evh;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ExampleViewHolder holder, int position) {
|
||||
driveritem currentItem = mExampleList.get(position);
|
||||
|
||||
holder.mTextView1.setText(currentItem.getText1());
|
||||
holder.mTextView2.setText(currentItem.getText2());
|
||||
holder.mTextView3.setText(currentItem.getText3());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mExampleList.size();
|
||||
}
|
||||
|
||||
public void filterList(ArrayList<driveritem> filteredList) {
|
||||
mExampleList = filteredList;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,108 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
public class homepage extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_homepage);
|
||||
}
|
||||
}
|
||||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.database.DataSnapshot;
|
||||
import com.google.firebase.database.DatabaseError;
|
||||
import com.google.firebase.database.DatabaseReference;
|
||||
import com.google.firebase.database.FirebaseDatabase;
|
||||
import com.google.firebase.database.ValueEventListener;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class homepage extends AppCompatActivity {
|
||||
FirebaseAuth fAuth;
|
||||
private Button setting, poweron, alarmoff;
|
||||
DatabaseReference reff;
|
||||
Signal sig;
|
||||
int check = 0;
|
||||
int check2 = 0;
|
||||
private ImageView a, e;
|
||||
private TextView at, et;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_homepage);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
setting = findViewById(R.id.settings);
|
||||
poweron = findViewById(R.id.poweron);
|
||||
alarmoff = findViewById(R.id.alarmoff);
|
||||
at = findViewById(R.id.alarmtitle3);
|
||||
a = findViewById(R.id.alarm);
|
||||
et = findViewById(R.id.enginetitle3);
|
||||
e = findViewById(R.id.engine);
|
||||
|
||||
reff = FirebaseDatabase.getInstance().getReference().child("signal");
|
||||
sig = new Signal();
|
||||
sig.setMotor("off");
|
||||
sig.setPower("off");
|
||||
sig.setAlarm("off");
|
||||
reff.child("1").setValue(sig);
|
||||
|
||||
setting.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Settings.class));
|
||||
}
|
||||
});
|
||||
|
||||
poweron.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if(check == 0){
|
||||
sig.setPower("on");
|
||||
sig.setMotor("on");
|
||||
e.setImageResource(R.drawable.ic_power_on);
|
||||
et.setText("ON");
|
||||
check = 1;
|
||||
} else {
|
||||
sig.setPower("off");
|
||||
sig.setMotor("off");
|
||||
e.setImageResource(R.drawable.ic_power_off);
|
||||
et.setText("OFF");
|
||||
check = 0;
|
||||
|
||||
}
|
||||
reff.child("1").setValue(sig);
|
||||
}
|
||||
});
|
||||
|
||||
alarmoff.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if(check2 == 0){
|
||||
sig.setAlarm("on");
|
||||
a.setImageResource(R.drawable.ic_alarm_on);
|
||||
at.setText("ON");
|
||||
check2 = 1;
|
||||
} else {
|
||||
sig.setAlarm("off");
|
||||
a.setImageResource(R.drawable.ic_alarm_off);
|
||||
at.setText("OFF");
|
||||
check2 = 0;
|
||||
|
||||
}
|
||||
reff.child("1").setValue(sig);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void logout(View view){
|
||||
fAuth.signOut();
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
|
156
UI/app/src/main/java/com/example/capstone/signup.java
Normal file
156
UI/app/src/main/java/com/example/capstone/signup.java
Normal file
|
@ -0,0 +1,156 @@
|
|||
package com.example.capstone;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Button;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.gms.tasks.OnCompleteListener;
|
||||
import com.google.android.gms.tasks.OnSuccessListener;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.firebase.auth.AuthResult;
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.database.DatabaseReference;
|
||||
import com.google.firebase.database.FirebaseDatabase;
|
||||
import com.google.firebase.firestore.DocumentReference;
|
||||
import com.google.firebase.firestore.FirebaseFirestore;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class signup extends AppCompatActivity {
|
||||
private EditText firstname, lastname, phone, email, password;
|
||||
private Button save;
|
||||
FirebaseAuth fAuth;
|
||||
private TextView account;
|
||||
private String fn, ln, em, pw, ph;
|
||||
private boolean check;
|
||||
FirebaseFirestore fstore;
|
||||
String userID;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_signup);
|
||||
|
||||
firstname = (EditText) findViewById(R.id.Fname);
|
||||
lastname = (EditText) findViewById(R.id.Lname);
|
||||
phone = (EditText) findViewById(R.id.phone);
|
||||
email = (EditText) findViewById(R.id.username);
|
||||
password = (EditText) findViewById(R.id.password);
|
||||
save = (Button) findViewById(R.id.siup);
|
||||
fAuth = FirebaseAuth.getInstance();
|
||||
account = findViewById(R.id.account1);
|
||||
fstore = FirebaseFirestore.getInstance();
|
||||
account.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getApplicationContext(), Login.class));
|
||||
}
|
||||
});
|
||||
|
||||
save.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
fn = firstname.getText().toString().trim();
|
||||
ln = lastname.getText().toString().trim();
|
||||
ph = phone.getText().toString().trim();
|
||||
em = email.getText().toString().trim();
|
||||
pw = password.getText().toString().trim();
|
||||
|
||||
if(TextUtils.isEmpty(fn)){
|
||||
firstname.setError("First name is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(ln)){
|
||||
lastname.setError("Last name is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(ph)){
|
||||
phone.setError("Phone number is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
check = onlyDigits(ph, ph.length());
|
||||
if(!check){
|
||||
phone.setError("Invalid phone number");
|
||||
return;
|
||||
}
|
||||
|
||||
if(ph.length() < 10){
|
||||
phone.setError("Invalid phone number");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(em)){
|
||||
email.setError("Email is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(TextUtils.isEmpty(pw)){
|
||||
password.setError("Password is Required.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(pw.length() < 6){
|
||||
password.setError("Password must be more than 6 characters.");
|
||||
return;
|
||||
}
|
||||
|
||||
fAuth.createUserWithEmailAndPassword(em, pw).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
|
||||
@Override
|
||||
public void onComplete(@NonNull Task<AuthResult> task) {
|
||||
if(task.isSuccessful()){
|
||||
Toast.makeText(signup.this, "Successful Registration", Toast.LENGTH_LONG).show();
|
||||
userID = fAuth.getCurrentUser().getUid();
|
||||
DocumentReference documentReference = fstore.collection("users").document(userID);
|
||||
Map<String,Object> user = new HashMap<>();
|
||||
user.put("First Name",fn);
|
||||
user.put("Last Name",ln);
|
||||
user.put("Email",em);
|
||||
user.put("Phone Number",ph);
|
||||
user.put("Number of Drivers",String.valueOf(1));
|
||||
documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void aVoid) {
|
||||
}
|
||||
});
|
||||
openHomepage();
|
||||
} else {
|
||||
Toast.makeText(signup.this, task.getException().toString(), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void openHomepage() {
|
||||
Intent intent = new Intent(this, homepage.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public static boolean onlyDigits(String str, int n) {
|
||||
for(int i = 0; i < n; i++) {
|
||||
if(str.charAt(i) >= '0'
|
||||
&& str.charAt(i) <= '9') {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue