Commit 09a5ed21 authored by @Thilakasiri_M.D.T.S's avatar @Thilakasiri_M.D.T.S

Dashboard initial change

parent 16e98c19
...@@ -78,4 +78,6 @@ Vehicle Parking System(2022-235) ...@@ -78,4 +78,6 @@ Vehicle Parking System(2022-235)
Objective:- Objective:-
Ensure the safety of the vehicle while parked in the vehicle-park using image processing and Machine Learning. Ensure the safety of the vehicle while parked in the vehicle-park using image processing and Machine Learning.
Also display of unsecured status by notification. Also display of unsecured status by notification.
\ No newline at end of file
test
\ No newline at end of file
package com.example.vehicleparkingsystem;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;
import androidx.core.content.ContextCompat;
import android.app.AlertDialog;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;
import com.example.vehicleparkingsystem.Models.BaseURL;
import com.example.vehicleparkingsystem.SQLite.Sqlitedb;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.Objects;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
public class Dashboard extends AppCompatActivity {
Button button1;
Button button2;
Button button3;
Button button4;
Button button5;
String type;
String number;
int threatStatus;
int parkingStatus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
button1 = findViewById(R.id.parking);
button2 =findViewById(R.id.logout);
button3 =findViewById(R.id.entrance);
button4 =findViewById(R.id.violation);
button5 =findViewById(R.id.threat);
new entranceDetection().execute();
new ParkingViolation().execute();
new threatDetection().execute();
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainIntent = new Intent(Dashboard.this,ParkingSlots.class);
Dashboard.this.startActivity(mainIntent);
Dashboard.this.finish();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainIntent = new Intent(Dashboard.this,Login.class);
Dashboard.this.startActivity(mainIntent);
Dashboard.this.finish();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new entranceDetection().execute();
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ParkingViolation().execute();
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new threatDetection().execute();
}
});
}
private class entranceDetection extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(String s) {
// AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Dashboard.this);
// LayoutInflater inflater = LayoutInflater.from(Dashboard.this);
// View view1 = inflater.inflate(R.layout.custom_entrance_details, null);
// dialogBuilder.setView(view1);
//
// final TextView textView1 = (TextView) view1.findViewById(R.id.num);
// final TextView textView2 = (TextView) view1.findViewById(R.id.ty);
//
// textView1.setText(number);
// textView2.setText(type);
//
// final AlertDialog alertDialog = dialogBuilder.create();
// alertDialog.show();
String message = "vehicle type is "+type+ " and vehicle number "+number+"";
int reqCode = 1;
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
showNotification(Dashboard.this, "Entrance Detection", message, intent, reqCode);
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(String... strings) {
try {
String Url = BaseURL.get_url() + "enternce";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(Url)
.get()
.build();
try (Response response = client.newCall(request).execute()) {
ResponseBody body = response.body();
JSONArray json = new JSONArray(body.string());
System.out.println(json);
for (int i = 0; i < json.length(); i++) {
JSONObject joo = json.getJSONObject(i);
type = joo.getString("type");
number = joo.getString("number_plate");
}
} catch (IOException | JSONException e) {
e.printStackTrace();
}
return null;
} finally {
}
}
}
private class threatDetection extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(String s) {
if (threatStatus == 1){
// AlertDialog.Builder builder1 = new AlertDialog.Builder(Dashboard.this);
// builder1.setMessage("You have a threat. Be careful!!!");
// builder1.setCancelable(true);
//
// builder1.setPositiveButton(
// "OK",
// new DialogInterface.OnClickListener() {
// public void onClick(DialogInterface dialog, int id) {
// dialog.dismiss();
// }
// });
//
//
// AlertDialog alert11 = builder1.create();
// alert11.show();
String message = "You have a threat. Be careful!!!";
int reqCode = 1;
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
showNotification(Dashboard.this, "Threat Detection", message, intent, reqCode);
}else{
// AlertDialog.Builder builder1 = new AlertDialog.Builder(Dashboard.this);
// builder1.setMessage("You have no threats. You are safe!");
// builder1.setCancelable(true);
//
// builder1.setPositiveButton(
// "OK",
// new DialogInterface.OnClickListener() {
// public void onClick(DialogInterface dialog, int id) {
// dialog.dismiss();
// }
// });
//
//
// AlertDialog alert11 = builder1.create();
// alert11.show();
String message = "You have no threats. You are safe!";
int reqCode = 1;
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
showNotification(Dashboard.this, "Threat Detection", message, intent, reqCode);
}
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(String... strings) {
try {
String Url = BaseURL.get_url() + "threat";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(Url)
.get()
.build();
try (Response response = client.newCall(request).execute()) {
ResponseBody body = response.body();
JSONArray json = new JSONArray(body.string());
System.out.println(json);
for (int i = 0; i < json.length(); i++) {
JSONObject joo = json.getJSONObject(i);
threatStatus = joo.getInt("status");
}
} catch (IOException | JSONException e) {
e.printStackTrace();
}
return null;
} finally {
}
}
}
private class ParkingViolation extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(String s) {
if (parkingStatus == 1){
// AlertDialog.Builder builder1 = new AlertDialog.Builder(Dashboard.this);
// builder1.setMessage("You Parked very well!!");
// builder1.setCancelable(true);
//
// builder1.setPositiveButton(
// "OK",
// new DialogInterface.OnClickListener() {
// public void onClick(DialogInterface dialog, int id) {
// dialog.dismiss();
// }
// });
//
//
// AlertDialog alert11 = builder1.create();
// alert11.show();
String message = "You Parked very well!!";
int reqCode = 1;
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
showNotification(Dashboard.this, "Parking Violation Detection", message, intent, reqCode);
}else{
AlertDialog.Builder builder1 = new AlertDialog.Builder(Dashboard.this);
builder1.setMessage("You are not parked well!!!");
builder1.setCancelable(true);
builder1.setPositiveButton(
"OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Dashboard.this);
LayoutInflater inflater = LayoutInflater.from(Dashboard.this);
View view1 = inflater.inflate(R.layout.custom_parking_violation, null);
dialogBuilder.setView(view1);
final VideoView videoView = (VideoView) view1.findViewById(R.id.videoView);
MediaController mediaController;
mediaController = new MediaController(Dashboard.this);
mediaController.setAnchorView(videoView);
Uri localUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.parking);
videoView.setVideoURI(localUri);
videoView.setMediaController(mediaController);
videoView.start();
final AlertDialog alertDialog = dialogBuilder.create();
alertDialog.show();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
}
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(String... strings) {
try {
String Url = BaseURL.get_url() + "parking_violation";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(Url)
.get()
.build();
try (Response response = client.newCall(request).execute()) {
ResponseBody body = response.body();
JSONArray json = new JSONArray(body.string());
System.out.println(json);
for (int i = 0; i < json.length(); i++) {
JSONObject joo = json.getJSONObject(i);
parkingStatus = joo.getInt("status");
}
} catch (IOException | JSONException e) {
e.printStackTrace();
}
return null;
} finally {
}
}
}
public void showNotification(Context context, String title, String message, Intent intent, int reqCode) {
// SharedPreferenceManager sharedPreferenceManager = SharedPreferenceManager.getInstance(context);
PendingIntent pendingIntent = PendingIntent.getActivity(context, reqCode, intent, PendingIntent.FLAG_ONE_SHOT);
String CHANNEL_ID = "channel_name";// The id of the channel.
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.car)
.setContentTitle(title)
.setContentText(message)
.setAutoCancel(true)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = "Channel Name";// The user-visible name of the channel.
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, importance);
notificationManager.createNotificationChannel(mChannel);
}
notificationManager.notify(reqCode, notificationBuilder.build()); // 0 is the request code, it should be unique id
Log.d("showNotification", "showNotification: " + reqCode);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment