Code Monkey home page Code Monkey logo

roam-android's People

Contributors

birju-roam avatar crazyvibes avatar jothipriyadharshanr avatar manojadithya avatar sahil-roam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

roam-android's Issues

Combine `startTracking` and `startSelfTracking` methods

Discussed in #8

Originally posted by ravikanth-tummala July 22, 2021
Currently

  • The startSelfTracking() does not need user sessions which are basically created using createUser() or getUser() methods.
  • And, they track location locally and does not publish location to Roam.ai servers. Even if the publishSave() methods are being called, they will throw an error.
  • In order to publish location updates to server, along with createUser() or getUser() methods, we have use startTracking() instead of startSelfTracking().

Proposed

  • We can combine the startTracking() and startSelfTracking() into a single method and name it as startTracking()
  • If the user session is not available ie. createUser() or getUser() not being called, the location update works locally and behaves similar to startSelfTracking()
  • And if the user session are enabled using createUser() or getUser() methods and startTracking() will still continue to update locations locally unless until the publishSave() or publishOnly() methods are called
  • Along with this the stopTracking() and stopSelfTracking() into a single method and name it as stopTracking()

No LocationReceiver updates when running Example app

I've cloned the repo, entered my SDK key and I'm able run the Example app and hit "Start tracking". My issue is that I don't see any location updates come in through the LocationReceiver class, which is where I expected to see them. Here's my stacktrace when I opened the app, created a user, and hit "Start tracking":

2021-06-17 11:45:20.312 3885-3885/com.roam.example E/Roam UserId: 60cb98408ce7db281771541a
2021-06-17 11:45:20.629 3885-3885/com.roam.example E/GS402: Publish & Subscribe is stopped
2021-06-17 11:45:20.629 3885-3885/com.roam.example E/GS402: Publish & Subscribe is stopped
2021-06-17 11:45:22.107 3885-6166/com.roam.example I/Roam: MQTT client connected
2021-06-17 11:45:27.739 3885-3885/com.roam.example I/Roam: Tracking Started

Allow meta-data support for updating location ie. updateCurrentLocation method

Discussed in #10

Originally posted by ravikanth-tummala July 26, 2021
When
being a developer, during updateCurrentLocation() method
I want to
send custom meta-data (ie. key value pairs) along with that specific location update
So that
we can tag the meta-data only to single location update and not for all the location update, when we add the same using publishSave() method.

Things to notice

  • If the publishSave() method already has meta-data added, this will be overwritten by the meta-data passed in updateCurrentLocation() method and applied only for that specific location update and rest will continue to use the previous configurations passed in publishSave() method.
  • The meta-data information should be available below for user location subsciptions.
func didUpdateLocation(_ location: RoamLocation) {
        //Receive user location along with meta-data
    }
func didReceiveUserLocation(_ location: RoamLocationReceived) {
         //Receive other users' location along with meta-data
    }
```</div>

No location update for `Self tracking` mode in the Example app

I've tried the Example app with Self tracking mode
But no location update is getting received

13:55:53.635 Roam                 com.example.roamexample    I  Tracking Started
13:55:53.698 GS402                com.example.roamexample    E  Data not found
13:55:53.700 Compatibi...Reporter com.example.roamexample    D  Compat change id reported: 160794467; UID 10167; state: ENABLED
13:55:53.703 Roam                 com.example.roamexample    I  Foreground service enabled successfully

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.