-
Notifications
You must be signed in to change notification settings - Fork 36
Support for virtual runs #17
Comments
Can you provide a source in Strava docs where they state they support this in their API? If so, I'll be happy to include it. |
thank you for the quick reply. Indeed their APIs are not updated, however the activity type is supported (can be selected as manual activity, and is automatically selected when using a third party app like Zwift). In any case it would be useful if the virtual run would be read by the library as run (if not as virtual run), because it does not make sense that it becomes a ride. I hope this clarifies, thank you. p.s. I can for example use the type correctly using the library I use on iOS, but not using this library on Android (so the type is supported on their end, despite the lack of documentation unfortunately) |
Do you have an example of a JSON response that includes a virtual run? Or can you point out the library you are using on iOS that handles this properly? |
I use this library: https://github.com/sebastienwindal/FRDStravaClient which works despite not being updated in 4 years, it could be that they simply 'carry the activity type' instead of forcing a match to some pre-defined categories. Makes sense? To reproduce this you could simply go on Strava and create a manual activity, of type Virtual Run (no need to have an actual activity file), then read it with your library. When I do so, I end up with a Ride, let me know if you cannot reproduce the problem, and I'll try to dig a little more, thanks again for your help. |
When you read the |
yes. If you add one manually in your Strava account, you can probably see
it as well using your library.
…On Mon, May 7, 2018 at 4:53 PM, Tomás Ruiz-López ***@***.***> wrote:
When you read the type field on the iOS library, what is the String value
for the virtual run? Is is VirtualRun?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFtwT_f5rhpT2NK-wllL56dtbyqGDfOAks5twF_agaJpZM4TySFO>
.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
Ok, I've updated the library to version 1.3.1 with this activity type. I think that will work, but let me know if it doesn't. Close the issue when you check it out. Thanks! |
thanks a lot, appreciate the quick help!
…On Mon, May 7, 2018 at 5:13 PM, Tomás Ruiz-López ***@***.***> wrote:
Ok, I've updated the library to version 1.3.1 with this activity type. I
think that will work, but let me know if it doesn't. Close the issue when
you check it out. Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFtwT8x6SVwMNvbkxK2a_hBB62VLUVmeks5twGSVgaJpZM4TySFO>
.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
sorry to bother you again, while with 1.3 it's all good (apart with the
virtual run story), with 1.3.1 I get a lot of 'class def not found' issues,
maybe something wrong with the library? (the code hasn't changed and runs
smoothly with the previous version). I'm using gradle. Thank you.
…On Mon, May 7, 2018 at 5:17 PM, Marco Altini ***@***.***> wrote:
thanks a lot, appreciate the quick help!
On Mon, May 7, 2018 at 5:13 PM, Tomás Ruiz-López ***@***.***
> wrote:
> Ok, I've updated the library to version 1.3.1 with this activity type. I
> think that will work, but let me know if it doesn't. Close the issue when
> you check it out. Thanks!
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#17 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AFtwT8x6SVwMNvbkxK2a_hBB62VLUVmeks5twGSVgaJpZM4TySFO>
> .
>
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
I had to change build tools and some other things in gradle. Can you post your build tools, target sdk number, etc? I can then configure a project with your settings and see what's going on |
I'm using:
compileSdkVersion 26
buildToolsVersion "26.0.2"
targetSdkVersion 26
Let me know if you need anything else!
…On Mon, May 7, 2018 at 6:33 PM, Tomás Ruiz-López ***@***.***> wrote:
I had to change build tools and some other things in gradle. Can you post
your build tools, target sdk number, etc? I can then configure a project
with your settings and see what's going on
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFtwT0wBxSmXlHL-h4W9l7j6lj5KPiphks5twHdlgaJpZM4TySFO>
.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
just FYI I was using 1.0.2. without issues and the same applies to the latest versions before this one (1.2 and 1.3), but I can't seem to get 1.3.1 to work. |
Which version of Gradle for Android are you using? I updated it to 3.1.1 in the last release. I've tested it with the sample project, compile and target SDKs to 26, build tools 27.0.3 (minimum supported for the gradle version I'm using) and it works correctly. |
thanks Tomas, I am using 2.3.3
…On Thu, May 10, 2018 at 1:02 PM, Tomás Ruiz-López ***@***.***> wrote:
Which version of Gradle for Android are you using? I updated it to 3.1.1
in the last release. I've tested it with the sample project, compile and
target SDKs to 26, build tools 27.0.3 (minimum supported for the gradle
version I'm using) and it works correctly.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFtwT8cQ40OURWqtRSC0HGO3-26Jmcrvks5txB4wgaJpZM4TySFO>
.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
It seems that might be the issue. Is it possible for you to update it to the latest version? Otherwise, could you paste the specific error you are getting? |
I have updated everything to your version, I now am using
classpath 'com.android.tools.build:gradle:3.1.1'
and
buildToolsVersion '27.0.3'
It seems there is a problem with code shrinking / minification, again when
using 1.3 I have no problems while when I switch to 1.3.1 I get:
'Warnings found during shrinking, please use -dontwarn or -ignorewarnings
to suppress them.'
and then the stacktrace is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task
':app:transformClassesWithAndroidGradleClassShrinkerForDebug'.
at
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at
org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at
org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at
org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at
org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at
org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at
org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at
org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at
org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at
org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at
org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at
org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at
org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at
org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at
org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at
org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at
org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at
org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.tooling.BuildException: Warnings found during
shrinking, please use -dontwarn or -ignorewarnings to suppress them.
at
com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.checkForWarnings(BuiltInShrinkerTransform.java:200)
at
com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.fullRun(BuiltInShrinkerTransform.java:178)
at
com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.transform(BuiltInShrinkerTransform.java:130)
at
com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221)
at
com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217)
at
com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at
com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at
org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at
org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at
org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at
org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more
this does not happen with the other version of the library.
maybe you could try to set also
minifyEnabled true
and see if you can reproduce the problem. Thanks.
On Thu, May 10, 2018 at 3:25 PM, Tomás Ruiz-López ***@***.***> wrote:
It seems that might be the issue. Is it possible for you to update it to
the latest version? Otherwise, could you paste the specific error you are
getting?
…
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife
Creator of HRV4Training
marcoaltini.com
|
alright I think I have it up and running after suppressing the warning and
adding a few dependencies that were not required before. Thank you for your
quick support, I will let you know if I have issues with the new setup once
I've experimented a little more :)
have a nice week end
On Thu, May 10, 2018 at 4:09 PM, Marco Altini <[email protected]>
wrote:
… I have updated everything to your version, I now am using
classpath 'com.android.tools.build:gradle:3.1.1'
and
buildToolsVersion '27.0.3'
It seems there is a problem with code shrinking / minification, again when
using 1.3 I have no problems while when I switch to 1.3.1 I get:
'Warnings found during shrinking, please use -dontwarn or -ignorewarnings
to suppress them.'
and then the stacktrace is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task
':app:transformClassesWithAndroidGradleClassShrinkerForDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExe
cuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.
execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateE
xecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(
ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecut
er.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.
execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskEx
ecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.
execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(
SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.
execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.
execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$
EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$
RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$
RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(
DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(
DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$
EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$
EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$
TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$
TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$
TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$
TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(
DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.
executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$
TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.
onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(
ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$
ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.tooling.BuildException: Warnings found during
shrinking, please use -dontwarn or -ignorewarnings to suppress them.
at com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.
checkForWarnings(BuiltInShrinkerTransform.java:200)
at com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.
fullRun(BuiltInShrinkerTransform.java:178)
at com.android.build.gradle.internal.transforms.BuiltInShrinkerTransform.
transform(BuiltInShrinkerTransform.java:130)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(
TransformTask.java:221)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(
TransformTask.java:217)
at com.android.builder.profile.ThreadRecorder.record(
ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(
TransformTask.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.
doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(
StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(
StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.
run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$
RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$
RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.
java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(
DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(
DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more
this does not happen with the other version of the library.
maybe you could try to set also
minifyEnabled true
and see if you can reproduce the problem. Thanks.
On Thu, May 10, 2018 at 3:25 PM, Tomás Ruiz-López <
***@***.***> wrote:
>
> It seems that might be the issue. Is it possible for you to update it to
the latest version? Otherwise, could you paste the specific error you are
getting?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or mute the thread.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife
Creator of HRV4Training
marcoaltini.com
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
Great to hear that and sorry for all the inconveniences; I hope you can make good use of the library. Just in case, as you mentioned you were using another library for iOS, we have an implementation of this library in Swift, with a very similar API, that you can find here. Please, close the issue when you think it's done. |
thanks for letting me know, I can confirm also that the new virtual run
works correctly.
…On Thu, May 10, 2018 at 4:33 PM, Tomás Ruiz-López ***@***.***> wrote:
Great to hear that and sorry for all the inconveniences; I hope you can
make good use of the library. Just in case, as you mentioned you were using
another library for iOS, we have an implementation of this library in
Swift, with a very similar API, that you can find here
<https://github.com/SweetzpotAS/StravaZpot-Swift>. Please, close the
issue when you think it's done.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFtwTzQYbTJTTrAixkZrGCiRQUNCr-hNks5txE_EgaJpZM4TySFO>
.
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
hi Tomas,
As you might have seen Strava is moving to refresh tokens (
https://developers.strava.com/docs/oauth-updates/?utm_source=strava&utm_medium=mktgemail&utm_campaign=2018_10_15_API_update),
do you have plans to update your libraries on android and ios? Thank you
Marco
…On Thu, May 10, 2018 at 4:34 PM Marco Altini ***@***.***> wrote:
thanks for letting me know, I can confirm also that the new virtual run
works correctly.
On Thu, May 10, 2018 at 4:33 PM, Tomás Ruiz-López <
***@***.***> wrote:
> Great to hear that and sorry for all the inconveniences; I hope you can
> make good use of the library. Just in case, as you mentioned you were using
> another library for iOS, we have an implementation of this library in
> Swift, with a very similar API, that you can find here
> <https://github.com/SweetzpotAS/StravaZpot-Swift>. Please, close the
> issue when you think it's done.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#17 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AFtwTzQYbTJTTrAixkZrGCiRQUNCr-hNks5txE_EgaJpZM4TySFO>
> .
>
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
--
Marco Altini
PhD, MSc
Lead Data Scientist - Bloomlife <https://bloomlife.com/>
Creator of HRV4Training <http://www.hrv4training.com/>
marcoaltini.com <http://www.marcoaltini.com/>
|
hi there, it seems virtual runs are not supported (the type is not listed in the model folder of the library, under activitytype). When reading a virtual run, it is reported as virtual ride from the library. Any chance this can be extended? Thank you.
The text was updated successfully, but these errors were encountered: