0% found this document useful (0 votes)
5 views

dashboard java

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

dashboard java

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 25

package com.example.

ev_telematics;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Menu;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.ImageRequest;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.example.ev_telematics.constants.Constant_URLS;
import com.example.ev_telematics.database.PrefManager;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.navigation.NavigationView;

import androidx.cardview.widget.CardView;
import androidx.core.content.ContextCompat;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;

import com.example.ev_telematics.databinding.ActivityDashboardBinding;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.net.MalformedURLException;
import java.net.URL;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;

import android.widget.AutoCompleteTextView;

public class DashboardActivity extends AppCompatActivity {

private AppBarConfiguration mAppBarConfiguration;


private ActivityDashboardBinding binding;

ImageView imageView;

ImageView imagelogo;

TextView txtdatetime;

ImageView imagevehicle;

ImageView imagekyc;

ImageView imgignition;

//ImageView imagetrips;

ImageView imagerequests;

ImageView imgbatterylevelindicator;

//ImageView imageservice;

TextView txtcustomername;
TextView textCustomerName1;
TextView txtcustomerid;

TextView txtDataDisplayDate;
String strUserName;

TextView textViewemail;

int vehicleCount= 0;
String a="";

String strCustomerID="";

ImageView imagecustomer;

ImageView batterycharge;
Thread myThread1 = null;
String vehicleNo="";

TextView textkmsrun;
TextView textbatterylevel;
TextView textkmsleft;

String vehicles[];

ArrayList<String> mylist = new ArrayList<String>();


ArrayList<String> mylist1 = new ArrayList<String>();

ArrayAdapter<String> adapter;
AutoCompleteTextView acTextView;

TextView txtTotalVehicles;

TextView textUserName;
TextView textMobileNo;
TextView textIdleState;

private ProgressBar progressBar;

protected void onResume() {

super.onResume();

adapter = new ArrayAdapter<String>(this,


android.R.layout.select_dialog_singlechoice, mylist);
//Find TextView control
acTextView = (AutoCompleteTextView) findViewById(R.id.vehicleNos);
if (PrefManager.SelectedIMEINo.length() > 0) {
//Toast.makeText(DashboardActivity.this, " rama krishna",
Toast.LENGTH_SHORT).show();
acTextView.setText(PrefManager.SelectedVehicleNo);
}
acTextView.clearListSelection();
acTextView.setThreshold(1);
//Set the adapter
acTextView.setAdapter(adapter);

if(PrefManager.VehicleCount == 1)
{
acTextView.setText(PrefManager.SingleSelectedVehicleNo);
acTextView.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
null);
txtTotalVehicles.setVisibility(View.GONE);
acTextView.setEnabled(false);
}else{
txtTotalVehicles.setVisibility(View.VISIBLE);
txtTotalVehicles.setText("Vehicle(s) Count : " +
PrefManager.CustomerVehicleCount);
acTextView.setEnabled(true);
}

acTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

textUserName.setText(PrefManager.DisplayName == "disp" ?
PrefManager.Name : PrefManager.DisplayName);
textMobileNo.setText(PrefManager.MobileNo);
textIdleState.setText("0 mi [Idle]");

Runnable myRunnableThread = new DashboardActivity.CountDownGetSpeed();


myThread1 = new Thread(myRunnableThread);
myThread1.start();
}

@Override
public void onBackPressed()
{
myThread1=null;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

binding = ActivityDashboardBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());

setSupportActionBar(binding.appBarDashboard.toolbar);
binding.appBarDashboard.fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Snackbar.make(view, "Replace with your own action",
Snackbar.LENGTH_LONG)
//.setAction("Action", null).show();
Intent intent = new Intent(DashboardActivity.this,
RequestsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
});
DrawerLayout drawer = binding.drawerLayout;
NavigationView navigationView = binding.navView;
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_profile, R.id.nav_changepassword)
.setOpenableLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this,
R.id.nav_host_fragment_content_dashboard);
NavigationUI.setupActionBarWithNavController(this, navController,
mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);

MenuItem logOutItem = navigationView.getMenu().findItem(R.id.nav_logout);


logOutItem.setOnMenuItemClickListener(new
MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
finishAffinity();
System.exit(0);
return true;
}
});

getVehicleNosData();

vehicles= new String[mylist.size()];

for (int i = 0; i < mylist.size(); i++) {

vehicles[i] = mylist.get(i);

textkmsrun = findViewById(R.id.textkmsrun);
textbatterylevel = findViewById(R.id.textbatterylevel);
textkmsleft = findViewById(R.id.textkmsleft);

txtTotalVehicles = findViewById(R.id.txtTotalVehicles);
txtDataDisplayDate= findViewById(R.id.txtDataDisplayDate);

batterycharge= findViewById(R.id.batterycharge);

textUserName= findViewById(R.id.textUserName);
textMobileNo= findViewById(R.id.textMobileNo);
textIdleState= findViewById(R.id.textIdleState);

/*Integer[] image =
{ R.drawable.b10,R.drawable.b9,R.drawable.b8,R.drawable.b7,R.drawable.b6,R.drawable
.b5,R.drawable.b4,R.drawable.b3,R.drawable.b2 };
new CountDownTimer(30000, 1000) {

public void onTick(long millisUntilFinished) {


//batterycharge.setImageResource(R.drawable.b10);
for(int i=0;i<9;i++){
batterycharge.setImageResource(image[i]);
}
}

public void onFinish() {


//mTextField.setText("done!");
}
}.start();*/

progressBar = findViewById(R.id.idPBD);

imgbatterylevelindicator= findViewById(R.id.imgbatterylevelindicator);

imgignition= findViewById(R.id.imgignition);

imagevehicle = findViewById(R.id.imagevehicle);
imagevehicle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

vehiclesInfo();
progressBar.setVisibility(View.GONE);
}
});

imagekyc = findViewById(R.id.imagekyc);
imagekyc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DashboardActivity.this,
CustomerKYCActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
});
/*
imageservice= findViewById(R.id.imageservice);
imageservice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DashboardActivity.this,
ServiceActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
});

imagetrips= findViewById(R.id.imagetrips);
imagetrips.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DashboardActivity.this,
TripsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
});
*/
imagerequests= findViewById(R.id.imagerequests);
imagerequests.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DashboardActivity.this,
RequestsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
});

strUserName="suresh";

PrefManager.UserName=strUserName;

txtdatetime= findViewById(R.id.txtdatetime);
//imagecustomer = findViewById(R.id.imagecustomer);

//nav_view
//NavigationView navigationView1 = (NavigationView)
findViewById(R.id.nav_header_dashboard);
//View header = navigationView1.getHeaderView(0) ;
//TextView userTxt = (TextView) header.findViewById(R.id.textView); //your
ID
// userTxt.setText(email);

//View header = navigationView.getHeaderView(0);

//LinearLayout navHeader=(LinearLayout)
LayoutInflater.from(this).inflate(R.layout.nav_header_dashboard, null);
//navigationView.addHeaderView(linearLayout);

//TextView mProfileName = (TextView)


navHeader.findViewById(R.id.profile_name);
//TextView mProfileEmail = (TextView)
navHeader.findViewById(R.id.profile_email);

//View headerView =
navigationView.inflateHeaderView(R.layout.nav_header_dashboard);
//headerView.findViewById(R.id.navigation_header_text);

View header = navigationView.getHeaderView(0) ;


MenuItem homeItem = navigationView.getMenu().findItem(R.id.nav_home);

homeItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener()
{
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(DashboardActivity.this,
DashboardActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
return true;
}
});

try {

textViewemail = (TextView) header.findViewById(R.id.textViewemail);


textCustomerName1 = (TextView)
header.findViewById(R.id.textCustomerName1);
imageView= (ImageView) header.findViewById(R.id.imageView);
//textViewemail.setText("rama");

//Toast.makeText(DashboardActivity.this, " EV Telematics Data " +


textViewemail.getText(), Toast.LENGTH_SHORT).show();
}catch(Exception ex){
//Toast.makeText(DashboardActivity.this, " EV Telematics Data null " +
ex.toString(), Toast.LENGTH_SHORT).show();
}

Thread myThread = null;

Runnable myRunnableThread = new CountDownRunner();


myThread = new Thread(myRunnableThread);
myThread.start();

//Toast.makeText(DashboardActivity.this, "1", Toast.LENGTH_LONG).show();


if (PrefManager.Name == "") {
try {
//Toast.makeText(DashboardActivity.this, "12",
Toast.LENGTH_LONG).show();

String url = Constant_URLS.BASE_URL +


"/customerRoutes/getCustomerDataByUserName/" + PrefManager.UserName;
//Toast.makeText(DashboardActivity.this,"Result" +
url,Toast.LENGTH_LONG).show();
//simpleProgressBar.setVisibility(View.VISIBLE);
final RequestQueue requestQueue =
Volley.newRequestQueue(DashboardActivity.this);
final RequestQueue mRequestQueue =
Volley.newRequestQueue(DashboardActivity.this);//image request
final RequestQueue mRequestQueueRCFront =
Volley.newRequestQueue(DashboardActivity.this);//image request
//final RequestQueue mRequestStateQueue =
Volley.newRequestQueue(DashboardActivity.this);//state name
//final RequestQueue mRequestCityQueue =
Volley.newRequestQueue(DashboardActivity.this);//city name

StringRequest stringRequest = new


StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {

if (response != null) {
//Toast.makeText(DashboardActivity.this,
"123", Toast.LENGTH_LONG).show();
try {

//Toast.makeText(DashboardActivity.this, "1234", Toast.LENGTH_LONG).show();


JSONObject object = new
JSONObject(response);
//URL newurl = new
URL(Constant_URLS.BASE_URL + "/customer/" + object.getString("UserPhoto"));
String name
=object.getString("FirstName") + " " + (object.getString("LastName") != "null" ?
object.getString("LastName") : "");
PrefManager.Name =name;

//txtcustomername.setText(object.getString("FirstName") + " " +


object.getString("LastName"));
//txtcustomerid.setText(object.getString("CustomerID"));

textCustomerName1.setText(object.getString("FirstName") + " " +


object.getString("LastName"));

strCustomerID=object.getString("CustomerID");

PrefManager.UserName =
object.getString("UserName");
PrefManager.CustomerID =
object.getString("CustomerID");

PrefManager.DisplayName =
object.getString("DisplayName");

//Toast.makeText(DashboardActivity.this,PrefManager.DisplayName,Toast.LENGTH_LONG).
show();

if(PrefManager.DisplayName.equals("disp"))
{

textUserName.setText(PrefManager.Name);
}else{

textUserName.setText(PrefManager.DisplayName);
}

textMobileNo.setText(PrefManager.MobileNo);
textIdleState.setText("0 mi [Idle]");

getVehicleCount();

//strCustomerID=
object.getString("CustomerID");

PrefManager.DealerID =
object.getString("DealerID");
PrefManager.MobileNo =
object.getString("MobileNo");
PrefManager.EmailAddress =
object.getString("EmailAddress");

//textViewemail.setText(object.getString("EmailAddress"));

textViewemail.setText(object.getString("EmailAddress"));
PrefManager.Address =
object.getString("Address");
PrefManager.StateCode =
object.getString("StateCode");
PrefManager.CityCode =
object.getString("CityCode");
PrefManager.AadharCardNo =
object.getString("AadharCardNo");
PrefManager.PanCardNo =
object.getString("PanCardNo");
PrefManager.RCFrontTitle =
object.getString("RCFrontTitle");
//PrefManager.RCFrontImage =
object.getString("RCFrontImage");
PrefManager.RCBackTitle =
object.getString("RCBackTitle");
//PrefManager.RCBackImage =
object.getString("RCBackImage");
PrefManager.Kyc2Title =
object.getString("Kyc2Title");
//PrefManager.Kyc2Image =
object.getString("Kyc2Image");
PrefManager.Kyc3Title =
object.getString("Kyc3Title");
//PrefManager.Kyc3Image =
object.getString("Kyc3Image");
PrefManager.Kyc4Title =
object.getString("Kyc4Title");
//PrefManager.Kyc4Image =
object.getString("Kyc4Image");

PrefManager.Status =
object.getString("Status");
//Customer Image
ImageRequest imageRequest = new
ImageRequest(Constant_URLS.BASE_URL + "/customer/" + object.getString("UserPhoto"),
new BitmapListener(), 0, 0, null, null, new MyErrorListener());
mRequestQueue.add(imageRequest);

ImageRequest imageRequestRCF = new


ImageRequest(Constant_URLS.BASE_URL + "/customer/" +
object.getString("RCFrontImage"), new BitmapListenerRCFront(), 0, 0, null, null,
new MyErrorListener());
mRequestQueue.add(imageRequestRCF);

ImageRequest imageRequestRCB = new


ImageRequest(Constant_URLS.BASE_URL + "/customer/" +
object.getString("RCBackImage"), new BitmapListenerRCBack(), 0, 0, null, null, new
MyErrorListener());
mRequestQueue.add(imageRequestRCB);

ImageRequest imageRequestBWB = new


ImageRequest(Constant_URLS.BASE_URL + "/customer/" + object.getString("Kyc2Image"),
new BitmapListenerBWB(), 0, 0, null, null, new MyErrorListener());
mRequestQueue.add(imageRequestBWB);

if(PrefManager.Kyc3Title.equals(""))
{
PrefManager.Kyc3Title="";
}else {
ImageRequest imageRequestKYC1 = new
ImageRequest(Constant_URLS.BASE_URL + "/customer/" + object.getString("Kyc3Image"),
new BitmapListenerKYC1(), 0, 0, null, null, new MyErrorListener());
mRequestQueue.add(imageRequestKYC1);
}
if(PrefManager.Kyc4Title.equals(""))
{
PrefManager.Kyc4Title="";
}else {
ImageRequest imageRequestKYC2 = new
ImageRequest(Constant_URLS.BASE_URL + "/customer/" + object.getString("Kyc4Image"),
new BitmapListenerKYC2(), 0, 0, null, null, new MyErrorListener());

mRequestQueue.add(imageRequestKYC2);
}

//progressBar.setVisibility(View.GONE);

//dialog.hide();

progressBar.setVisibility(View.GONE);

} catch (JSONException e) {
Toast.makeText(DashboardActivity.this,
"12345", Toast.LENGTH_LONG).show();
throw new RuntimeException(e);
}

} else {
Toast.makeText(DashboardActivity.this, " EV
Telematics Data null ", Toast.LENGTH_SHORT).show();
}
//Log.d("response", response.toString());

//Toast.makeText(DashboardActivity.this,"Result" +
response,Toast.LENGTH_LONG).show();
//requestQueue.stop();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Do something when get error
//tv_respuesta.setText(error.toString());
Log.d("error", error.toString());
Toast.makeText(DashboardActivity.this, "hello
Not Okey" + error, Toast.LENGTH_LONG).show();
requestQueue.stop();

//simpleProgressBar.setVisibility(View.INVISIBLE);
}
}
);
//requestQueue.add(stringRequest);
requestQueue.add(stringRequest);
//Toast.makeText(DashboardActivity.this, "123456",
Toast.LENGTH_LONG).show();
}catch (Exception e)
{
//Toast.makeText(DashboardActivity.this, "1234567",
Toast.LENGTH_LONG).show();
}
//simpleProgressBar.setVisibility(View.INVISIBLE);
} else {
//Toast.makeText(DashboardActivity.this, "12345678",
Toast.LENGTH_LONG).show();
progressBar.setVisibility(View.GONE);
//txtcustomername.setText(PrefManager.Name);
//txtcustomerid.setText(PrefManager.CustomerID);
textViewemail.setText(PrefManager.EmailAddress);
textCustomerName1.setText(PrefManager.Name);
//textViewemail.setText(PrefManager.EmailAddress);
imageView.setImageBitmap(PrefManager.CustomerImage);
//imagecustomer.setImageBitmap(PrefManager.CustomerImage);
}

progressBar.setVisibility(View.GONE);

//dialog.hide();
}

public void getVehicleNo(){


RequestQueue queue = Volley.newRequestQueue(DashboardActivity.this);
// in this case the data we are getting is in the form
// of array so we are making a json array request.
// below is the line where we are making an json array
// request and then extracting data from each json object.
String url = Constant_URLS.BASE_URL +
"/vehicleRoutes/getVehiclesByCustomerID/" + PrefManager.CustomerID;
JsonArrayRequest jsonArrayRequest = new
JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>()
{
@Override
public void onResponse(JSONArray response) {
progressBar.setVisibility(View.GONE);
//idRVVehiclesInfo.setVisibility(View.VISIBLE);
for (int i = 0; i < response.length(); i++) {
// creating a new json object and
// getting each object from our json array.
try {
// we are getting each json object.
JSONObject responseObj = response.getJSONObject(i);

// now we get our response from API in json object format.


// in below line we are extracting a string with
// its key value from our json object.
// similarly we are extracting all the strings from our
json object.

//String vehicleno="Vehicle No : " +


responseObj.getString("VehicleNo");
PrefManager.SingleSelectedVehicleNo=
responseObj.getString("VehicleNo");
acTextView.setText(PrefManager.SingleSelectedVehicleNo);
acTextView.setEnabled(false);

getSelectedVehicleNoIMEINo(PrefManager.SingleSelectedVehicleNo);

} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(DashboardActivity.this, "Fail " + error,
Toast.LENGTH_SHORT).show();
}
});
queue.add(jsonArrayRequest);
}

public void getVehicleCount(){

try {
final RequestQueue requestQueue1 =
Volley.newRequestQueue(DashboardActivity.this);

String url1 = Constant_URLS.BASE_URL +


"/vehicleRoutes/getAllVehiclesCountByCustomerID/" + PrefManager.CustomerID;

StringRequest stringRequest1 = new StringRequest(Request.Method.GET,


url1,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response != null) {
try {
JSONObject object1 = new JSONObject(response);
PrefManager.CustomerVehicleCount =
object1.getString("VehicleCount");
PrefManager.VehicleCount =
object1.getInt("VehicleCount");
if(PrefManager.VehicleCount == 1)
{

acTextView.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);


txtTotalVehicles.setVisibility(View.GONE);
//Toast.makeText(DashboardActivity.this, "
Vehicle No Code ", Toast.LENGTH_SHORT).show();
getVehicleNo();

}else{

txtTotalVehicles.setVisibility(View.VISIBLE);
txtTotalVehicles.setText("Vehicle(s)
Count : " + PrefManager.CustomerVehicleCount);
}

progressBar.setVisibility(View.GONE);
//vehiclesInfo();
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSON", "Json parsing error: " +
e.getMessage());
}
} else {
Toast.makeText(DashboardActivity.this, " Vehicle
Count Data null ", Toast.LENGTH_SHORT).show();
}
//Log.d("response", response.toString());
//Toast.makeText(DashboardActivity.this,"Result" +
response,Toast.LENGTH_LONG).show();
//requestQueue.stop();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

Log.d("error", error.toString());
Toast.makeText(DashboardActivity.this, "Not Okey
Vehicle Count" + error, Toast.LENGTH_LONG).show();
}
}
);
requestQueue1.add(stringRequest1);
}catch(Exception e){
Toast.makeText(DashboardActivity.this, "Not Okey Vehicle Count
getVehicleCount" + e, Toast.LENGTH_LONG).show();
}
//progressBar.setVisibility(View.GONE);
}

public Bitmap fudiao(Bitmap bmpOriginal) {


int width, height, r,g, b, c,a, gry,c1,a1,r1,g1,b1,red,green,blue;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
int depth = 30;

Bitmap bmpSephia = Bitmap.createBitmap(width, height,


Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bmpSephia);
Paint paint = new Paint();
// ColorMatrix cm = new ColorMatrix();
// cm.setScale(.3f, .3f, .3f, 1.0f);
// ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
// paint.setColorFilter(f);
canvas.drawBitmap(bmpOriginal, 0, 0, null);
for(int y=1; y< height-1; y++) {
for(int x=1; x < width-1; x++) {
c = bmpOriginal.getPixel(x, y);

r = Color.red(c);
g = Color.green(c);
b = Color.blue(c);

c1 = bmpOriginal.getPixel(x-1, y-1);

r1 = Color.red(c1);
g1 = Color.green(c1);
b1 = Color.blue(c1);

red = Math.max(67, Math.min(255, Math.abs(r - r1 + 128)));


green = Math.max(67, Math.min(255, Math.abs(g - g1 + 128)));
blue = Math.max(67, Math.min(255, Math.abs(b - b1 + 128)));
if (red > 255)
{
red = 255;
}
else if (red < 0)
{
red = 0;
}

if (green > 255)


{
green = 255;
}
else if (green < 0)
{
green = 0;
}

if (blue > 255)


{
blue = 255;
}
else if (blue < 0)
{
blue = 0;
}

bmpSephia.setPixel(x, y, Color.rgb(red, green, blue));


// bmpSephia.setPixel(x, y, Color.argb(a1, red, green, blue));
}
}
return bmpSephia;
}

private void getVehicleNosData() {


final RequestQueue requestQueue1 =
Volley.newRequestQueue(DashboardActivity.this);

String url1 = Constant_URLS.BASE_URL +


"/vehicleRoutes/getVehiclesByCustomerID/" + PrefManager.CustomerID;//to be changed
JsonArrayRequest jsonArrayRequest = new
JsonArrayRequest(Request.Method.GET, url1, null, new Response.Listener<JSONArray>()
{
@Override
public void onResponse(JSONArray response) {
//progressBar.setVisibility(View.GONE);
//idRVVehiclesInfo.setVisibility(View.VISIBLE);
for (int i = 0; i < response.length(); i++) {
// creating a new json object and
// getting each object from our json array.
try {

JSONObject responseObj = response.getJSONObject(i);

String vehicleno= responseObj.getString("VehicleNo");


//Toast.makeText(DashboardActivity.this, "Oket " +
vehicleno, Toast.LENGTH_SHORT).show();
mylist.add(vehicleno);
mylist1.add(vehicleno);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(DashboardActivity.this, "Fail " + e,
Toast.LENGTH_SHORT).show();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//Toast.makeText(DashboardActivity.this, "Fail " + error,
Toast.LENGTH_SHORT).show();
}
});
requestQueue1.add(jsonArrayRequest);

adapter = new
ArrayAdapter<String>(this,android.R.layout.select_dialog_singlechoice, mylist);
//Find TextView control
acTextView = (AutoCompleteTextView) findViewById(R.id.vehicleNos);
//Set the number of characters the user must type before the drop down list
is shown
acTextView.setThreshold(1);
//Set the adapter
acTextView.setAdapter(adapter);

acTextView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int
after) {

@Override
public void onTextChanged(CharSequence s, int start, int before, int
count) {

@Override
public void afterTextChanged(Editable s) {

String selectedItem=s.toString();
if(selectedItem != "" && selectedItem.length()>9) {
vehicleNo=selectedItem.toString();
PrefManager.SelectedVehicleNo=vehicleNo;
getSelectedVehicleNoIMEINo(PrefManager.SelectedVehicleNo);

// Showing selected spinner item


Toast.makeText(DashboardActivity.this, "Selected: " +
selectedItem, Toast.LENGTH_LONG).show();
}
}
});

acTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String
selectedItem=acTextView.getAdapter().getItem(position).toString();
if(selectedItem != "") {
vehicleNo=selectedItem.toString();
PrefManager.SelectedVehicleNo=vehicleNo;
getSelectedVehicleNoIMEINo(PrefManager.SelectedVehicleNo);

// Showing selected spinner item


Toast.makeText(parent.getContext(), "Selected: " +
selectedItem, Toast.LENGTH_LONG).show();
}
}
});
//progressBar.setVisibility(View.GONE);
}

public void getSelectedVehicleNoIMEINo(String strVehicleNO){


String url2 = Constant_URLS.BASE_URL +
"/deviceRoutes/getDeviceByVehicelNo/" + strVehicleNO;
//Toast.makeText(DashboardActivity.this,"Result" +
url,Toast.LENGTH_LONG).show();
//simpleProgressBar.setVisibility(View.VISIBLE);
final RequestQueue requestQueue =
Volley.newRequestQueue(DashboardActivity.this);
StringRequest stringRequest1 = new StringRequest(Request.Method.GET, url2,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response != null) {
try {
JSONObject object1 = new JSONObject(response);

PrefManager.SelectedIMEINo=object1.getString("IMEINo");

} catch (JSONException e) {
e.printStackTrace();
Log.e("JSON", "Json parsing error: " +
e.getMessage());
}
} else {
Toast.makeText(DashboardActivity.this, " Vehicle Count
Data null ", Toast.LENGTH_SHORT).show();
}
//Log.d("response", response.toString());
//Toast.makeText(DashboardActivity.this,"Result" +
response,Toast.LENGTH_LONG).show();
//requestQueue.stop();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

Log.d("error", error.toString());
Toast.makeText(DashboardActivity.this, "Not Okey Vehicle
Count" + error, Toast.LENGTH_LONG).show();
}
}
);
requestQueue.add(stringRequest1);
Runnable myRunnableThread = new DashboardActivity.CountDownGetSpeed();
myThread1 = new Thread(myRunnableThread);
myThread1.start();
}

public void vehiclesInfo(){


if(PrefManager.CustomerVehicleCount.equals("0")){

}else {

//Toast.makeText(VehicleActivity.this, " Vehicle Count Data " +


PrefManager.CustomerVehicleCount, Toast.LENGTH_SHORT).show();

//if (Integer.parseInt(PrefManager.CustomerVehicleCount) > 1) {


Intent intent = new Intent(DashboardActivity.this,
VehiclesInfoActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
/*} else {
Intent intent = new Intent(DashboardActivity.this,
VehicleInfoActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}*/
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.dashboard, menu);
return true;
}

@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this,
R.id.nav_host_fragment_content_dashboard);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}

private String getDateTime() {


DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss aa");
Date date = new Date();
return dateFormat.format(date);
}

public void doWork() {


runOnUiThread(new Runnable() {
public void run() {
try{
TextView txtdatetime= (TextView)findViewById(R.id.txtdatetime);
/*Date dt = new Date();
int day = dt.getDay();
int month = dt.getMonth();
int year = dt.getYear();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = day + "-" + month+"-" + year + " " + hours +
":" + minutes + ":" + seconds;*/
String curTime =getDateTime();
txtdatetime.setText(curTime);
}catch (Exception e) {}
}
});
}

public void doWork1() {


runOnUiThread(new Runnable() {
public void run() {
try{
getSpeed();
}catch (Exception e) {}
}
});
}
/*
Check Internet and Network Connectivity
private boolean NetworkIsConnected() {
ConnectivityManager cm = (ConnectivityManager)
getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null;
}

public boolean InternetIsConnected() {


try {
String command = "ping -c 1 google.com";
return (Runtime.getRuntime().exec(command).waitFor() == 0);
} catch (Exception e) {
return false;
}
}

*/
String recNo="";
public void getSpeed(){
//Toast.makeText(DashboardActivity.this, "New IMEI No : " +
PrefManager.SelectedIMEINo , Toast.LENGTH_SHORT).show();
if(PrefManager.SelectedIMEINo.length()>0) {
String url = Constant_URLS.BASE_URL +
"/locationDataRoutes/getAllDashboardDataIMEINoRange/" + PrefManager.SelectedIMEINo;
final RequestQueue requestQueue =
Volley.newRequestQueue(DashboardActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.GET,
url,
new Response.Listener<String>() {

@Override
public void onResponse(String response) {
if (response != null) {
try {
JSONObject object = new
JSONObject(response);

String dspeed = object.getString("speed");


String dvoltage =
object.getString("voltage");
String iprojected =
object.getString("projectedMilage");
int iIgnition = object.getInt("ignition");
String iLastRecordDate =
object.getString("logDateTime");

//recNo= object.getString("slno");

//Double
dlongitude=object.getDouble("longitude");
//createmarker(dlatitude,dlongitude);

//TextView textkmsrun=
(TextView)findViewById(R.id.textkmsrun);
if(iIgnition== 0)
{

imgignition.setImageDrawable(ContextCompat.getDrawable(DashboardActivity.this,
R.drawable.off));
}else{

imgignition.setImageDrawable(ContextCompat.getDrawable(DashboardActivity.this,
R.drawable.on));
}

textkmsrun.setText(dspeed.toString());

textbatterylevel.setText(dvoltage.toString() + " %");


textkmsleft.setText(iprojected.toString());
//DateConverter(iLastRecordDate);
//Date date = new Date(iLastRecordDate);
//String strDate1 =
formatDateToString(date, "dd MMM yyyy hh:mm:ss a", "IST");
//Toast.makeText(DashboardActivity.this, "
strDate1 " + strDate1, Toast.LENGTH_SHORT).show();

txtDataDisplayDate.setText(PrefManager.DateConverter(iLastRecordDate));
DateDifference(iLastRecordDate);

//double iVoltage=
object.getDouble("voltage");
double
iVoltage=Integer.parseInt(dvoltage.toString());
//Toast.makeText(DashboardActivity.this, "
Battery Level " + iVoltage, Toast.LENGTH_SHORT).show();
if(iVoltage >= 90)
{

imgbatterylevelindicator.setImageResource(R.drawable.b10);
}else if(iVoltage >= 80 && iVoltage <=89){
imgbatterylevelindicator.setImageResource(R.drawable.b9);
}
else if(iVoltage >= 70 && iVoltage <=79){

imgbatterylevelindicator.setImageResource(R.drawable.b8);
}
else if(iVoltage >= 60 && iVoltage <=69){

imgbatterylevelindicator.setImageResource(R.drawable.b7);
}
else if(iVoltage >= 50 && iVoltage <=59){

imgbatterylevelindicator.setImageResource(R.drawable.b6);
}
else if(iVoltage >= 40 && iVoltage <=49){

imgbatterylevelindicator.setImageResource(R.drawable.b5);
}
else if(iVoltage >= 30 && iVoltage <=39){

imgbatterylevelindicator.setImageResource(R.drawable.b4);
}
else if(iVoltage >= 20 && iVoltage <=29){

imgbatterylevelindicator.setImageResource(R.drawable.b3);
}
else if(iVoltage >= 10 && iVoltage <=19) {

imgbatterylevelindicator.setImageResource(R.drawable.b2);
}
else if(iVoltage >= 0 && iVoltage <=10){

imgbatterylevelindicator.setImageResource(R.drawable.b2);
}
else if(iVoltage < 0 && iVoltage <=10){

imgbatterylevelindicator.setImageResource(R.drawable.b1);
}

//Toast.makeText(DashboardActivity.this,
"Speed : " + dspeed , Toast.LENGTH_SHORT).show();

} catch (JSONException e) {
e.printStackTrace();
Log.e("JSON", "Json parsing error: " +
e.getMessage());
}

} else {
Toast.makeText(DashboardActivity.this, " IMEI
Data null ", Toast.LENGTH_SHORT).show();
}
//Log.d("response", response.toString());
//Toast.makeText(DashboardActivity.this,"Result" +
response,Toast.LENGTH_LONG).show();
requestQueue.stop();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Do something when get error
//tv_respuesta.setText(error.toString());
Log.d("error", error.toString());
Toast.makeText(DashboardActivity.this, " Not Okey "
+ error, Toast.LENGTH_LONG).show();
requestQueue.stop();
//simpleProgressBar.setVisibility(View.INVISIBLE);
}
}
);
requestQueue.add(stringRequest);
}
}

public void DateDifference(String lastDate){


String formattedDate="";
try {
SimpleDateFormat readFormat = new SimpleDateFormat("yyyy-MM-
dd'T'HH:mm:ss.SSS'Z'");
TimeZone utcZone = TimeZone.getTimeZone("UTC");
readFormat.setTimeZone(utcZone);
java.util.Date convertedDate = readFormat.parse(lastDate);

//formattedDate = writeFormat.format(convertedDate);
Date currentDate = new Date();
long diff = currentDate.getTime() - convertedDate.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;

if(minutes != 0 && hours== 0 && days == 0)


{
textIdleState.setText(minutes + " minutes [Idle]");
}else if(hours != 0 && days == 0)
{
textIdleState.setText(hours + " hours [Idle]");
}else if( days !=0)
{
textIdleState.setText(days + " days [Idle]");
}
} catch (ParseException e) {

//Toast.makeText(DashboardActivity.this, recNo + " " + e.getMessage(),


Toast.LENGTH_LONG).show();

e.printStackTrace();
}

/*
String toyBornTime = "2014-06-18 12:56:50";
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");

try {

Date oldDate = dateFormat.parse(toyBornTime);


System.out.println(oldDate);

Date currentDate = new Date();

long diff = currentDate.getTime() - oldDate.getTime();


long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;

if (oldDate.before(currentDate)) {

Log.e("oldDate", "is previous date");


Log.e("Difference: ", " seconds: " + seconds + " minutes: " +
minutes
+ " hours: " + hours + " days: " + days);
Toast.makeText(DashboardActivity.this, "Difference: "+ " seconds:
" + seconds + " minutes: " + minutes
+ " hours: " + hours + " days: " + days,
Toast.LENGTH_LONG).show();

// Log.e("toyBornTime", "" + toyBornTime);

} catch (ParseException e) {

e.printStackTrace();
}*/
}

private class BitmapListener implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
imageView.setImageBitmap(response);
PrefManager.CustomerImage=response;
}
}

private class BitmapListenerRCFront implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
PrefManager.RCFrontImage=response;
}
}

private class BitmapListenerRCBack implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
PrefManager.RCBackImage=response;
}
}

private class BitmapListenerBWB implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
PrefManager.Kyc2Image=response;
}
}

private class BitmapListenerKYC1 implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
PrefManager.Kyc3Image=response;
}
}

private class BitmapListenerKYC2 implements Response.Listener<Bitmap> {


@Override
public void onResponse(Bitmap response) {
// response = your url's bitmap
//imagecustomer.setImageBitmap(response);
PrefManager.Kyc4Image=response;
}
}

private class MyErrorListener implements Response.ErrorListener {


@Override
public void onErrorResponse(VolleyError error) {
//store a default image if connection failed
//imagecustomer.setImageResource(R.drawable.error_icon);
}
}

class CountDownRunner implements Runnable{


// @Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
try {
doWork();
Thread.sleep(1000); // Pause of 1 Second
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch(Exception e){
}
}
}
}

class CountDownGetSpeed implements Runnable{


// @Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
try {

doWork1();
Thread.sleep(1000); // Pause of 1 Second
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch(Exception e){
}
}
}
}
}

You might also like