From 7f9b30271ccdddaafe5ddf7216a3a9b42ba55616 Mon Sep 17 00:00:00 2001 From: linlyboi Date: Wed, 20 Dec 2023 12:57:16 +0200 Subject: [PATCH] Good enough --- .../com/example/myapp_1/DB/GetArrivals.java | 2 +- .../com/example/myapp_1/FetchArrival.java | 39 ++++++++++++- .../com/example/myapp_1/HomeActivity.java | 3 + .../example/myapp_1/NotificationActivity.java | 9 ++- .../java/com/example/myapp_1/Predict.java | 58 +++++++++---------- .../java/com/example/myapp_1/Schedule.java | 8 +++ app/src/main/res/layout/activity_home.xml | 2 +- .../main/res/layout/activity_notification.xml | 35 +++-------- app/src/main/res/layout/activity_predict.xml | 2 +- app/src/main/res/layout/activity_schedule.xml | 29 ++++------ 10 files changed, 108 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/com/example/myapp_1/DB/GetArrivals.java b/app/src/main/java/com/example/myapp_1/DB/GetArrivals.java index b9d1cf2..0b59237 100644 --- a/app/src/main/java/com/example/myapp_1/DB/GetArrivals.java +++ b/app/src/main/java/com/example/myapp_1/DB/GetArrivals.java @@ -8,7 +8,7 @@ public interface GetArrivals { //Specify the request type and pass the relative URL// - @GET("/users") + @GET("/arrivals/all") //Wrap the response in a Call object with the type of the expected result// diff --git a/app/src/main/java/com/example/myapp_1/FetchArrival.java b/app/src/main/java/com/example/myapp_1/FetchArrival.java index 0fabe36..b078b7c 100644 --- a/app/src/main/java/com/example/myapp_1/FetchArrival.java +++ b/app/src/main/java/com/example/myapp_1/FetchArrival.java @@ -3,19 +3,54 @@ package com.example.myapp_1; import android.app.Service; import android.content.Intent; +import android.content.SharedPreferences; import android.os.IBinder; +import android.util.Log; +import android.widget.Toast; +import com.example.myapp_1.DB.Arrival; import com.example.myapp_1.DB.GetArrivals; import com.example.myapp_1.DB.RetrofitClient; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; import retrofit2.Retrofit; public class FetchArrival extends Service { - private GetArrivals apiService = RetrofitClient.getRetrofitInstance().create(GetArrivals.class); - + private static final String TAG = "MyActivity"; @Override public int onStartCommand(Intent intent, int flags, int Startid) { + GetArrivals apiService = RetrofitClient.getRetrofitInstance().create(GetArrivals.class); + Call> call = apiService.getAllArrivals(); + //Execute the request asynchronously// + + call.enqueue(new Callback>() { + + + + //Handle a successful response// + @Override + public void onResponse(Call> call, Response> response) { + SharedPreferences sp = getApplicationContext().getSharedPreferences("UserData", MODE_PRIVATE); + SharedPreferences.Editor editor = sp.edit(); +// Log.d(TAG, response.body().toString()); + editor.putString("response", response.body().toString()); + } + //Handle execution failures// + + public void onFailure(Call> call, Throwable throwable) { + System.out.println("A"); + } + }); + + +//Display the retrieved data as a list// + + return START_NOT_STICKY; } diff --git a/app/src/main/java/com/example/myapp_1/HomeActivity.java b/app/src/main/java/com/example/myapp_1/HomeActivity.java index e95b0f4..330e95a 100644 --- a/app/src/main/java/com/example/myapp_1/HomeActivity.java +++ b/app/src/main/java/com/example/myapp_1/HomeActivity.java @@ -52,6 +52,9 @@ public class HomeActivity extends AppCompatActivity { if (user != null) userGreeting.setText("Welcome " + user + "!"); + String response = currentUserThings.getString("response", ""); + TextView prediction = findViewById(R.id.prediction); + prediction.setText(response); vec_back.setOnClickListener(view -> { Intent newScreen = new Intent(getApplicationContext(), LoginActivity.class); startActivity(newScreen); diff --git a/app/src/main/java/com/example/myapp_1/NotificationActivity.java b/app/src/main/java/com/example/myapp_1/NotificationActivity.java index 4d54a68..ae53b93 100644 --- a/app/src/main/java/com/example/myapp_1/NotificationActivity.java +++ b/app/src/main/java/com/example/myapp_1/NotificationActivity.java @@ -1,14 +1,21 @@ package com.example.myapp_1; +import android.content.Intent; import android.os.Bundle; +import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class NotificationActivity extends AppCompatActivity { - +ImageView vec_back; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification); + vec_back = findViewById(R.id.notificationBackButton); + vec_back.setOnClickListener(view -> { + Intent newScreen = new Intent(getApplicationContext(), HomeActivity.class); + startActivity(newScreen); + }); } } diff --git a/app/src/main/java/com/example/myapp_1/Predict.java b/app/src/main/java/com/example/myapp_1/Predict.java index 1a7dcef..cc4b433 100644 --- a/app/src/main/java/com/example/myapp_1/Predict.java +++ b/app/src/main/java/com/example/myapp_1/Predict.java @@ -38,47 +38,47 @@ public class Predict extends AppCompatActivity { edi_weather = findViewById(R.id.editTextText2); btn_pred = findViewById(R.id.button4); prog_bar = findViewById(R.id.progressBar); - txt_station = findViewById(R.id.textView4); + txt_station = findViewById(R.id.prediction); txt_pred_time = findViewById(R.id.predicted_time); + vec_back = findViewById(R.id.predictBackButton); vec_back.setOnClickListener(view -> { Intent newScreen = new Intent(getApplicationContext(), HomeActivity.class); startActivity(newScreen); }); - btn_pred.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - String station = edi_station.getText().toString(); - String weather = edi_weather.getText().toString(); + btn_pred.setOnClickListener(view -> { + String station = edi_station.getText().toString(); + String weather = edi_weather.getText().toString(); - if(station.isEmpty() || weather.isEmpty()) { - Toast.makeText(Predict.this, "Please enter something", Toast.LENGTH_SHORT).show(); - }else{ - // we will pass the input features to the model to predict - // then display predictions + if(station.isEmpty() || weather.isEmpty()) { + Toast.makeText(Predict.this, "Please enter something", Toast.LENGTH_SHORT).show(); + }else{ + // we will pass the input features to the model to predict + // then display predictions - txt_station.setText(station); + txt_station.setText(station); - Thread thread = new Thread(new Runnable() { - @Override - public void run() { - for(int i = 0; i < 10; i++){ - prog_bar.incrementProgressBy(10); - SystemClock.sleep(500); - } - prog_bar.setVisibility(View.GONE); - - long currentTimeMillis = System.currentTimeMillis(); - // Create a SimpleDateFormat object to format the time - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - // Format the time and set it to the TextView - txt_pred_time.setText(sdf.format(new Date(currentTimeMillis))); + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + for(int i = 0; i < 10; i++){ + prog_bar.incrementProgressBy(10); + SystemClock.sleep(500); } - }); - thread.start(); + prog_bar.setVisibility(View.GONE); + + long currentTimeMillis = System.currentTimeMillis(); + // Create a SimpleDateFormat object to format the time + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // Format the time and set it to the TextView + txt_pred_time.setText(sdf.format(new Date(currentTimeMillis))); + } + }); + Intent apiService = new Intent(this, FetchArrival.class); + startService(apiService); + thread.start(); - } } }); } diff --git a/app/src/main/java/com/example/myapp_1/Schedule.java b/app/src/main/java/com/example/myapp_1/Schedule.java index 2bb396d..25dc0fc 100644 --- a/app/src/main/java/com/example/myapp_1/Schedule.java +++ b/app/src/main/java/com/example/myapp_1/Schedule.java @@ -2,13 +2,21 @@ package com.example.myapp_1; import androidx.appcompat.app.AppCompatActivity; +import android.content.Intent; import android.os.Bundle; +import android.widget.ImageView; public class Schedule extends AppCompatActivity { + ImageView vec_back; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_schedule); + vec_back = findViewById(R.id.ScheduleBackButton); + vec_back.setOnClickListener(view -> { + Intent newScreen = new Intent(getApplicationContext(), HomeActivity.class); + startActivity(newScreen); + }); } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 0374534..14ce147 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -55,7 +55,7 @@ app:layout_constraintTop_toBottomOf="@+id/train_image" /> - - - + app:srcCompat="@drawable/_vector" /> + tools:layout_editor_absoluteY="188dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_predict.xml b/app/src/main/res/layout/activity_predict.xml index 0b9e1ab..3e704da 100644 --- a/app/src/main/res/layout/activity_predict.xml +++ b/app/src/main/res/layout/activity_predict.xml @@ -135,7 +135,7 @@ app:layout_constraintTop_toBottomOf="@+id/userGreeting" /> - + app:srcCompat="@drawable/_vector" /> + tools:layout_editor_absoluteY="92dp" /> + app:layout_constraintHorizontal_bias="0.486" + app:layout_constraintStart_toStartOf="parent" /> \ No newline at end of file