Coding of Java Only
Coding of Java Only
truckapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
//Initialize Variables
TextView tvTimer;
int tHour,tMinute;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
button= findViewById(R.id.orderBtn);
button.setOnClickListener(this);
//Assign Variables
tvTimer = findViewById(R.id.tv_time);
tvTimer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Initialize Time Picker Dialogue
//Initialize Calender
Calendar calendar = Calendar.getInstance();
button = findViewById(R.id.orderBtn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openMainActivity();
Toast.makeText(BookActivity.this,"Your Order has been
Successfully Booked",Toast.LENGTH_LONG).show();
}
});
@Override
public void onClick(View v) {
}
}
.
package com.example.truckapp;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.ArrayList;
import java.util.Collections;
Button addButton;
TextView tItems, lItems;
boolean[] selectedItems;
ArrayList<Integer> itemsList = new ArrayList<>();
String[] itemsArray =
{"Tomato","Cucumber","Avocado","Eggplant","Pepper","Butternut
Squash","Pumpkin",
"Zucchini","Portobello Mushroom","Shiitake Mushroom","White Button
Mushroom","Beet","Radish",
"Potato","Sweet
Potato","Carrot","Garlic","Onion","Asparagus","Rhubarb","Celery","Lettuce",
"Spinach","Kale","Cabbage","Arugula","Broccoli","Artichoke","Cauliflower"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eatables);
// assign variable
tItems = findViewById(R.id.Items);
addButton = findViewById(R.id.add_btn);
lItems = findViewById(R.id.items_txt);
tItems.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//initialize alert dialogue
AlertDialog.Builder builder = new AlertDialog.Builder(
EatablesActivity.this
);
// set title
builder.setTitle("Select Items");
//check condition
if (b){
//when checkbox is selected
// add position in items list
itemsList.add(i);
// sort items list
Collections.sort(itemsList);
}
else {
// when checkbox Un selected
// remove position from items list
itemsList.remove(i);
}
}
});
builder.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int
which) {
//intialize string builder
StringBuilder stringBuilder = new StringBuilder();
// use for loop
for (int j=0; j<itemsList.size(); j++){
// concat array value
stringBuilder.append(itemsArray[itemsList.get(j)]);
// check condition
if (j !=itemsList.size()-1){
// when j value is not equal to items list
size -1
// Add new line
stringBuilder.append("\n ");
}
}
SaveSharedPrefrences sp = new SaveSharedPrefrences();
sp.setStringBuilder(getApplicationContext(),
stringBuilder.toString());
lItems.setText(sp.getStringBuilder(getApplicationContext()));
//
//
// lItems.setText(stringBuilder.toString());
// set text on text view
// tItems.setText(stringBuilder.toString());
addButton.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
if(itemsList == null)
{
Toast.makeText(EatablesActivity.this, "No
Item Selected", Toast.LENGTH_LONG).show();
}
else
{
Intent intent = new
Intent(EatablesActivity.this,BookActivity.class);
startActivity(intent);
}
// Intent intent = new
Intent(HouseholdActivity.this,BookActivity.class);
// startActivity(intent);
}
});
}
});
builder.setNegativeButton("Cancel", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int
which) {
// dismiss dialogue
dialogInterface.dismiss();
}
});
});
}
.
.
package com.example.truckapp;
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;
mEditTextTo = findViewById(R.id.edit_text_to);
mEditTextSubject = findViewById(R.id.edit_text_subject);
mEditTextMessage = findViewById(R.id.edit_text_message);
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent,"Choose an Email client"));
}
}
.
.
package com.example.truckapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.GridLayout;
GridLayout mainGridLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_items);
mainGridLayout = (GridLayout)findViewById(R.id.mainGridLayout);
setSingleEvent(mainGridLayout);
}
}
else if (finalI==1)
{
Intent intent = new
Intent(ItemsActivity.this,Electronics.class);
startActivity(intent);
}
else if (finalI==2)
{
Intent intent = new
Intent(ItemsActivity.this,OfficeActivity.class);
startActivity(intent);
}
else if (finalI==3)
{
Intent intent = new
Intent(ItemsActivity.this,EatablesActivity.class);
startActivity(intent);
}
}
});
}
}
}
..
..
.
.
package com.example.truckapp;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.navigation.NavigationView;
import com.google.firebase.auth.FirebaseAuth;
import org.jetbrains.annotations.NotNull;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
logout = findViewById(R.id.nav_Logout);
Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar);
// now it is time to tell the system that we are going to use this
action bar or toolbar
setSupportActionBar(toolbar);
navigationView=(NavigationView)findViewById(R.id.nav_view);
drawerLayout =(DrawerLayout)findViewById(R.id.drawer);
toggle=new
ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.navigation_drawer_op
en,R.string.navigation_drawer_close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(new
NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull MenuItem
menuItem)
{
switch (menuItem.getItemId())
{
case R.id.nav_profile:
Intent intent = new
Intent(MainActivity.this,ProfileActivity.class);
startActivity(intent);
drawerLayout.closeDrawer(GravityCompat.START);
break;
case R.id.nav_orders:
Intent intent1 = new
Intent(MainActivity.this,MyOrdersActivity.class);
startActivity(intent1);
drawerLayout.closeDrawer(GravityCompat.START);
break;
case R.id.nav_help:
Intent intent2 = new
Intent(MainActivity.this,HelpActivity.class);
startActivity(intent2);
drawerLayout.closeDrawer(GravityCompat.START);
break;
case R.id.nav_settings:
Toast.makeText(getApplicationContext(),"Settings
options are not yet available ",Toast.LENGTH_LONG).show();
drawerLayout.closeDrawer(GravityCompat.START);
break;
case R.id.nav_Logout:
FirebaseAuth.getInstance().signOut();
startActivity(new
Intent(getApplicationContext(),LoginActivity.class));
finish();
break;
}
return true;
}
});
button = findViewById(R.id.Maps_view);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openMapsView();
}
});
@Override
public void onBackPressed() {
super.onBackPressed();
finishAffinity();
}
}
..
.
.
package com.example.truckapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
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.OnFailureListener;
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 org.jetbrains.annotations.NotNull;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mEmail =findViewById(R.id.emailtext);
mPassword = findViewById(R.id.passwordtext);
fAuth = FirebaseAuth.getInstance();
mLoginBtn = findViewById(R.id.Loginbutton);
mCreateBtn = findViewById(R.id.createText);
forgotTextLink = findViewById(R.id.forgotPassword);
mLoginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = mEmail.getText().toString().trim();
String password = mPassword.getText().toString().trim();
if (TextUtils.isEmpty(email)){
mEmail.setError("Email is required");
return;
}
if (TextUtils.isEmpty(password)){
mPassword.setError("Password is required");
return;
}
fAuth.signInWithEmailAndPassword(email,
password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull @NotNull Task<AuthResult>
task) {
if (task.isSuccessful()){
if (fAuth.getCurrentUser().isEmailVerified()){
Toast.makeText(LoginActivity.this, "Logged in
successfully", Toast.LENGTH_SHORT).show();
startActivity(new
Intent(getApplicationContext(),MainActivity.class));
}
else {
Toast.makeText(LoginActivity.this, "Please
Verify your Email", Toast.LENGTH_LONG).show();
}
}
else {
Toast.makeText(LoginActivity.this, "Error Occurred
!" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
});
mCreateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new
Intent(getApplicationContext(),RegisterActivity.class));
}
});
forgotTextLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
passwordResetDialog.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/// for getting the email and sending a reset link
fAuth.sendPasswordResetEmail(mail).addOnSuccessListener(new
OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
}
});
passwordResetDialog.setNegativeButton("No", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// if the user selects no then nothing happens just
closes the dialog and be back at login
}
});
passwordResetDialog.create().show();
}
});
@Override
public void onBackPressed() {
super.onBackPressed();
finishAffinity();
}
}
………………………………………
package com.example.truckapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SearchView;
import android.widget.Toast;
//import com.firebase.geofire.GeoFire;
import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.Polyline;
import com.google.android.gms.maps.model.PolylineOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.database.DatabaseReference;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
import java.util.List;
GoogleMap map;
SearchView searchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
searchView = findViewById(R.id.sv_location);
mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.maps);
client =
LocationServices.getFusedLocationProviderClient(MapsActivity.this);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextSubmit(String query) {
String location = searchView.getQuery().toString();
List<Address> addressList = null;
try {
addressList =
geocoder.getFromLocationName(location,1);
} catch (IOException e) {
e.printStackTrace();
}
Address address= addressList.get(0);
LatLng latLng = new LatLng(address.getLatitude(),
address.getLongitude());
map.addMarker(new
MarkerOptions().position(latLng).title(location));
map.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,14));
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
mapFragment.getMapAsync(this);
if (ActivityCompat.checkSelfPermission(MapsActivity.this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
getCurrentLocation();
}else{
ActivityCompat.requestPermissions(MapsActivity.this,new String[]
{Manifest.permission.ACCESS_FINE_LOCATION},REQUEST_CODE);
}
button = findViewById(R.id.Booking);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openItemsActivity();
}
});
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode,
String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission.
// for ActivityCompat#requestPermissions
return;
}
Task<Location> task = client.getLastLocation();
task.addOnSuccessListener(new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location != null) {
//then sync maps
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng latLng = new LatLng(location.getLatitude(),
location.getLongitude());
MarkerOptions markerOptions = new
MarkerOptions().position(latLng).title("You are Here");
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 14));
googleMap.addMarker(markerOptions).showInfoWindow();
});
}
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull @NotNull
String[] permissions, @NonNull @NotNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions,
grantResults);
if (requestCode == REQUEST_CODE){
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED){
getCurrentLocation();
}
}else {
Toast.makeText(this, "Permission Denied",
Toast.LENGTH_SHORT).show();
}
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
}
}
.
.
.
package com.example.truckapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_orders);
TextView t1;
t1 = findViewById(R.id.show_order);
t1.setText(name);
}
}
………………………………………
..
.
.
.
package com.example.truckapp;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
class SaveSharedPrefrences {
editor.putString(PREF_KEY, names);
editor.commit();
}
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
class SaveSharedPrefrences {
editor.putString(PREF_KEY, names);
editor.commit();
}
.
.
.
package com.example.truckapp;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
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;
Button logout;
TextView fullName, email, phone;
FirebaseAuth fAuth;
FirebaseFirestore fstore;
String userID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
logout = findViewById(R.id.logoutBtn);
fullName = findViewById(R.id.text_name);
email = findViewById(R.id.text_email);
phone = findViewById(R.id.text_phn);
userID = fAuth.getCurrentUser().getUid();
DocumentReference documentReference =
fstore.collection("users").document(userID);
documentReference.addSnapshotListener(this, new
EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot documentSnapshot,
@Nullable FirebaseFirestoreException e) {
phone.setText(documentSnapshot.getString("phone"));
fullName.setText(documentSnapshot.getString("fName"));
email.setText(documentSnapshot.getString("email"));
}
});
logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FirebaseAuth.getInstance().signOut();
startActivity(new
Intent(getApplicationContext(),LoginActivity.class));
finish();
}
});
}
…………………….
.
.
.
package com.example.truckapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
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;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
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.auth.FirebaseUser;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.Map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mFullName = findViewById(R.id.fullname);
mEmail = findViewById(R.id.emailtext);
mPassword = findViewById(R.id.passwordtext);
mPhone = findViewById(R.id.Phonetext);
mRegistrationBtn = findViewById(R.id.Loginbutton);
mLoginBtn = findViewById(R.id.createText);
// Initializing Firebase Auth & fire store
fAuth = FirebaseAuth.getInstance();
fstore = FirebaseFirestore.getInstance();
mRegistrationBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = mEmail.getText().toString().trim();
String password = mPassword.getText().toString().trim();
String fullname = mFullName.getText().toString();
String phone = mPhone.getText().toString();
if (TextUtils.isEmpty(fullname)){
mFullName.setError("Name is Compulsory");
return;
}
if (TextUtils.isEmpty(email)){
mEmail.setError("Email is required");
return;
}
if (TextUtils.isEmpty(password)){
mPassword.setError("Password is required");
return;
}
fAuth.getCurrentUser().sendEmailVerification().addOnCompleteListener(new
OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull @NotNull
Task<Void> task) {
Toast.makeText(RegisterActivity.this,
"User Registered and verification Email has been Sent",
Toast.LENGTH_LONG).show();
mFullName.setText("");
mEmail.setText("");
mPassword.setText("");
mPhone.setText("");
}
});
userID = fAuth.getCurrentUser().getUid();
DocumentReference documentReference =
fstore.collection("users").document(userID);
Map<String,Object> user = new HashMap<>();
user.put("fName",fullname);
user.put("email",email);
user.put("phone",phone);
documentReference.set(user).addOnSuccessListener(new OnSuccessListener<Void>()
{
@Override
public void onSuccess(Void unused) {
Log.d(TAG, "onSuccess: User profile is
created for "+ userID);
}
});
}
else {
Toast.makeText(RegisterActivity.this, "Error
Occurred !" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
});
mLoginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new
Intent(getApplicationContext(),LoginActivity.class));
}
});
}
}
…………………………..
..
.
.
..
.
package com.example.truckapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
..