Plain GPS based recording for enviroCar


Introduction

Currently, the Android application for enviroCar can record tracks only when it is connected to the OBD-II adapter through Bluetooth. The enviroCar app will be of no use to the user if the user does not have a working OBD-II adapter or if Bluetooth is not working in user’s mobile phone. This limits the usage of the app to a great extent. The main goal of this project is to add plain GPS based recording of a track in the enviroCar Android application. This will increase the usability of the enviroCar app and simultaneously increase the collection of data in the enviroCar server, which can be used to analyze traffic. It is also equally important to automate the GPS-based track, for which Activity Recognition features can be used. UI/UX of the app will also be improved as per the proposed designs (which can be found here).

About Me

My name is Sai Krishna Chowrigari, an undergraduate student studying Dual Degree (B.Tech. + M.Tech.) Computer Science and Engineering in Indian Institute of Technology (ISM), Dhanbad, India. I have two years of experience in Android app development and I am a newbie to Open Source. You can follow the project development work on Github.

Weekly Reports

Week 01

Status
  • Got familiar with the existing code base.
  • Updated the following libraries (see PR #325 on GitHub )
    • Dagger 1 to Dagger 2
    • Butterknife from com.jakewharton:butterknife:6.1.0 to com.jakewharton:butterknife:8.8.1
    • Gradle version from 2.10 to 4.4 (latest)
    • targetSdkVersion from 23 to 27 (latest)
    • buildToolsVersion from 23.0.2 to 27.0.3 (latest)
    • All Android Support libraries version from 23.2.0 to 27.1.1 (latest)
  • Removed Retrolambda library as lambda expressions are supported by the current environment used (which is Java 8).
Problems
  • Static injections are supported in Dagger 1 but not in Dagger 2. So this helped me in solving the issue.
  • Injections in Generics classes troubled me a bit. But this came to the rescue.
Next Steps
  • Design new Dashboard view.
  • Remove navigation drawer, embed bottom bar in place of it and associate all the activities/fragments to it.

Week 02

Status
  • Completed new Dashboard design.
  • Completed designing new "My Tracks" and "Others" views and also completed giving functionality to them.
  • Completed integration of bottom bar with all the activities/fragments.
Problems
  • No problems.
Next Steps
  • Design new Track Recording screen.
  • Complete the functionality of recording screen and dashboard
All the designs can be accessed here.

Week 03

Status
  • Completed designing new Track recording screen.
  • Completed giving functionality to the newly designed dashboard and track recording screen for existing OBD based recording.
  • Removed bugs in the automatic OBD based track recording.
  • Moved the OBD recording service to the foreground, to remove the GPS issues in new Android versions.
  • Removed the existing custom notifications and introduced new default android notifications.
Problems
  • No problems.
Next Steps
  • Complete the GPS based recording service.
All the designs can be accessed here.

Week 04

Status
  • Completed building the Service for GPS Only track recording.
  • Designed recording screen for GPS based track recording.
Problems
  • No problems.
Next Steps
  • Complete integrating the GPS Only track recording service into the app.
Topic revision: r4 - 11 Jun 2018, SaiKrishnaChowrigari
Legal Notice | Privacy Statement


Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback