mrksbrg / racketghost Goto Github PK
View Code? Open in Web Editor NEWAndroid Open Source Ghosting Coach for Squash, Badminton and Racketlon
License: MIT License
Android Open Source Ghosting Coach for Squash, Badminton and Racketlon
License: MIT License
Despite toggling audio in the settings, I hear no sounds during ghosting sessions.
It takes a while to put the device in a good position on the court and return to the starting position. Add a longer count down before the first set, maybe 10 s?
User request:
Add sound to the last 5 seconds ... I am often walking around the Court recovering between reps -The sound would bring me back to the T!
On some devices the layout of the six court areas look strange.
Replace the current RacketGhost icon, introduce an alpha channel.
Time to truly make RacketGhost a multi-racket coach. Allow the user to switch between squash and badminton mode, and present the ball image view accordingly.
Granularity of millisecond really not needed. Change it to decisecond.
Some friends are using API 16. Add support for all Jellybean versions.
Update to the latest Gradle version
Uncommon to hit a short stop from the back corners. Make drives more common with some occational boosts or crosses.
Very low sound (but sound at least!) on a Sony Xperia M device. Could the default volume be increased in the app?
When stopping a ghosting session, the following restart doesn't start from scratch.
Add a fourth bullet.
On Samsung Galaxy Express 2, crash when opening new listview on v. 1.5.1. Linking appears wrong, getBallIcon is not found.
Do clean and rebuild?
The AsyncTask does not stop, but continues in the background. The same happens when switching to another app or pressing 'home'; The activity continues in the background and keeps playing sounds, but it cannot become active again.
Such operations should stop the ghosting session.
Replace everything by a new Android Studio project.
Add a proper list view to present all previous sessions in the results acivity.
Update the target build version and make sure everything works.
The log handler always adds (SQ) to ghosting sessions in the history view.
The project should have a regression suite of autotests to catch defects before new code is introduced.
Running to the four real corners takes some time; Doing the volleys is significantly faster. The interval time should reflect this. Possibly 2/3 of the time?
When the device is far away it is hard to know when the final corner has been given. It would make sense to play a distinct sound when it is time for the break, and also to flash the screen if the sound is not enabled.
Add a background image that reflects the squash/badminton setting.
Add the apk for the the release v.1.32.
Prior to IWT Casino Heroes Swedish Open 2016, it would be nice to branch the project. I plan to distribute a special edition with the tournament logo in the middle during ghosting sessions.
User request:
Start the on-screen timer between reps immediately, rather than giving a 5 second countdown.
Should not be editable.
The current about box is not very nice. Replace it by something more appealing.
Or an even higher version. Must be done before November 1, 2018.
"Volley left/right" is appropriate for squash, but not for badminton. It should be replaced by "Smash left/right".
After patching to 1.5.0 a crash has been reported on Samsung Galaxy Express 2:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.markusborg.test/com.markusborg.ui.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2447)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2507)
at android.app.ActivityThread.access$900(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5692)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
at com.markusborg.logic.Setting.(Setting.java:53)
at com.markusborg.logic.LogHandler.(LogHandler.java:44)
at com.markusborg.ui.MainActivity.onCreate(MainActivity.java:66)
at android.app.Activity.performCreate(Activity.java:5541)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2411)
... 11 more
The special edition for Swedish Open has a splash screen. Add one also for the standard version of RacketGhost.
Configuring ghosting sessions using text fields requires a power user. Replace them with sliders that suggest what is "slow" and "fast".
Create a special edition of RacketGhost with pictures from Hyllie Sportcenter.
Time for a summer release. Increment the version number and create a matching tag for the release.
The setting menu doesn't make sense. Instead, it could be replaced by a simple about option. Popup with link to Github repo?
Implement the audio announcements.
Update project to the new Gradle version
User request:
The font size for the countdown timer is too small, thus hard to see.
The screenshots on Google Play are outdated, replace them with new images.
No numbers presented for interval and break time after new install. Numbers appear first when using sliders.
Add optional "push" sound when there is only a few more reps to go. Make it an option in the settings.
Pressing stop to kill the ghosting session doesn't make sense unless you can resume it again. In v1.1 you must press back as the next step, there is no other option.
The gray text is hard to read in the Settings activity, especially with new background. Increase the contrast, e.g., black text.
Play from left or right depending on ghosting. Might give a useful effect on some devices.
The app should store the setting using SharedPreferences, and load it in OnCreate. There should also be a Reset button to get the default (recommended) setting.
The break between sets appears strange. Also, there is a 0 in the summary log for the break timer.
For the 'GO!' button, play a squash or badminton hit.
The list of the three most recent settings used is only populated when the app starts, not between sessions in an open app.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.