Android Automotive application based on android.car library
The purpose of this application is to monitorize and visually represent in-vehicle sensor changes.
Currently the application is designed and built only for Polestar 2 Emulator.
In case of any other AVD's the application won't work properly.
-
Clone the repository into your local machine
-
Open the project using Android Studio
-
Build the project, after the build is completed the application will be installed on your avd
Before you build, make sure that the previously installed Polestar 2 AVD is selected
The application is built around four main component.
-
Speedometer component: It gives a secondary speedometer and also responsible for observing three in-vehicle sensor changes, which are the following:
- Parking brake status (active/inactive)
- Low fuel indicator
- Current selected gear
-
Energy component: This component is responsible for every battery/energy based sensor and gives a graphical representation about their changes. The above mentioned sensors are the following:
- EV battery level (Wh) - the current charged status of the vehicle in percentage
- Battery capacity (Wh) - the maximum battery capacity
- Range remaining (m) - the maximum range that could be traveled with the current charged status
- Odometer (km) - total traveled distance with the vehicle
- EV instantaneous charge rate sensor (mW) - the current charging rate
- Outside temperature (°C)
If the vehicle is charging the Odometer sensor is being replaced with the EV instantaneous charge rate sensor
-
Vehicle info component: It shows every build information about the vehicle (ex: build id, model, built year) and also list every in-vehicle car sensor (ex: Goldfish 3-axis Gyroscope)
-
Benchmark component: This component basically is a mini CPU Benchmark application. It was developed to test the CPU performance in different scenarios (ex: during low battery usage, after software update)
The benchmark has four main part:- Primality test on the first 20 million number
- Calculate factorial of the first 20.000 number
- Sorting a list with 400.000 element
- Multiplying two 800x800 matrices
- android.car library
- ibrahimsn98 speedometer library
- androidx.room library
- kotlin coroutines
- android material design
The application is built around the MVVM design principle.