GithubHelp home page GithubHelp logo

trainerapp's Introduction

TrainAround: Trainer-side app

This repo contains the source code of the TrainAround trainer-side app for android devices.

For more details on this project refer to its main repo.

trainerapp's People

Contributors

ruggero1912 avatar enricollen avatar pieruccim avatar tomawk avatar

Stargazers

 avatar

Watchers

 avatar  avatar

trainerapp's Issues

Implement the ListView Adapter, update the athlete class with all the infos to be shown, add a mechanism in the AthletesManager to notify the adapter when new data is available

In order to update the UI when new data arrives from the GATT clients:

  • implement the ListView Adapter
  • update the athlete class with all the infos to be shown
  • add a mechanism in the AthletesManager to notify the adapter when new data is available

A good mechanism for the notification could be a broadcast receiver (using LocalBroadcastManager) (but seems to be deprecated).

Otherwise consider this: https://developer.android.com/reference/androidx/lifecycle/LiveData

when the GATTServer service stops itself, it should broadcast this info

So that the main acitivty / in general every other process that needs it, knows its status.

In this way the main activity would be able to restart the service when needed (for example in onResume).

Note:
if you implement this broadcast, please implement also the main activity side of it, in order to manage the status of the service.

the ordering of the listview of athletes in the UI should be fixed

At the moment the order changes every time a new data is available and broadcasted by the GATTServerService.
It should be better to implement an ordering function inside the broadcast receiver so that the athletes have a fixed order.

Add here as a comment the ordering method choosen.

add a sorting strategy of the athletes

order the athletes by one (or some) of their values.

According to their training status classify the athletes and show the status as a different color in the ListView (for example).

The sorting strategy could be starting from their training status.

This issue depends on the issue #15 solve that first.

The athlete object must contain infos on connection status

The athlete obj should contain:

  • the timestamp of the athlete's first connection
  • the current connection status (CONNECTED / AWAY)
  • the last seen timestamp
  • a boolean method "isInitialized()" that returns true if the connected device has published some info (in this case it is an athlete for sure), otherwise it returns false (in this other case it could be a device that is connected to the trainer GATT server for other reason, and not an athlete).

GATTserver broadcast trainer information + characteristics' descriptions

The GATT server should broadcast the name of the trainer / the name of the training session, so that the Athlete's client app would show some information useful to select the right training session.
Required:

  • broadcast the trainer / training session name

Optional:

  • change the characteristics and services UUID using some of the canonical ones so that those would be recognised correctly
  • add a description for some of the characteristics (?)

implement a AthleteDetailActivity that shows detailed infos on an athlete

  • It should be opened from the MainActivity by clicking on an athlete row.
  • It should receive the intent containing the updated infos about the selected athlete
  • It should show every statistic available for the given athlete

OPTIONAL:

  • using the NavMap attributes containing historic information about the data collected, it could show some graphs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.