GithubHelp home page GithubHelp logo

vivekthazhathattil / dekadico Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 3.0 10.62 MB

Android app for memory training of spoken numbers. Available in F-Droid.

License: MIT License

Java 100.00%
android android-applicaton android-app android-apps android-applications android-studio game memory-game memory-trainer memory-training

dekadico's Introduction

dekadico's People

Contributors

poussinou avatar vivekthazhathattil avatar

Stargazers

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

Watchers

 avatar

dekadico's Issues

Theming options

  • support follow system theme by default
  • #10
  • support theme based on battery saver

Crash when click on back

Steps tp produce:

  1. Set your time delay & increment value & click on play
  2. While on next screen (play/pause/recall etc) & voice is on, click on back from your system navigation bar
    App crashed!

Crash logs

FATAL EXCEPTION: main
Process: com.example.spokennumbers, PID: 21086
java.lang.IllegalStateException: Fragment spoken_numbers_ingame_fragment{5f2a552 (9853bc94-ebcc-414e-a4dc-9b206a026ee0)} not attached to a context.
	at androidx.fragment.app.Fragment.requireContext(Fragment.java:774)
	at androidx.fragment.app.Fragment.getResources(Fragment.java:838)
	at com.example.spokennumbers.spoken_numbers_ingame_fragment$1.onTick(spoken_numbers_ingame_fragment.java:63)
	at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:130)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6518)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Expected behavior:
It should keep on playing/counting in the background.

Create self evaluation mode for recalling digits

Currently, the fragment which handles recall only has the option to view the recited numbers one by one or view them all at once. It would be better to include a self evaluation mode, wherein the user can type in the memorized digits one by one and upon pressing a button, would show them how many of their entries were correct.
There should be a switch in the 'main' fragment to enable or disable the self-evaluation mode. The enabled option should be saved to sharedPreferences and should display the self-evaluation fragment in the recall mode. If disabled, the older recall fragment (with the regular view digits one by one or view them together) should be used.

Problems with the dark theme

The app has a problem with the dark theme, I always use the dark theme on my phone and I have noticed that when I have the dark theme enabled the app closes by itself, it takes me out of the app, I have tried disabling the dark theme on my phone and I have been able to play, the same thing happens when I enable the dark theme from the app. Please fix that little bug, I always use my phone with the dark theme and would like to play with the dark theme enabled. Thanks in advance.

Crash on device orientation

Crash logs

FATAL EXCEPTION: main
Process: com.example.spokennumbers, PID: 14528
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.spokennumbers/com.example.spokennumbers.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.example.spokennumbers.spoken_numbers_ingame_fragment: could not find Fragment constructor
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2781)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859)
	at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4702)
	at android.app.ActivityThread.-wrap18(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1598)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6518)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.example.spokennumbers.spoken_numbers_ingame_fragment: could not find Fragment constructor
	at androidx.fragment.app.Fragment.instantiate(Fragment.java:538)
	at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
	at androidx.fragment.app.FragmentManagerImpl$6.instantiate(FragmentManagerImpl.java:2851)
	at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:85)
	at androidx.fragment.app.FragmentManagerImpl.restoreSaveState(FragmentManagerImpl.java:2488)
	at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:195)
	at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:288)
	at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
	at com.example.spokennumbers.MainActivity.onCreate(MainActivity.java:50)
	at android.app.Activity.performCreate(Activity.java:7023)
	at android.app.Activity.performCreate(Activity.java:7014)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2734)
	... 10 more
Caused by: java.lang.NoSuchMethodException: <init> []
	at java.lang.Class.getConstructor0(Class.java:2320)
	at java.lang.Class.getConstructor(Class.java:1725)
	at androidx.fragment.app.Fragment.instantiate(Fragment.java:523)
	... 22 more

Crash when change orientation from 👇🏿
Screenshot_2021-10-12-07-54-47
Screenshot_2021-10-12-07-54-37

(for some reason, it doesn't crash when on app main screen)

Thanks🙏🏿

Add option to type in individual digits and verify them in recall window.

As of now, we can either view next recall digit or view all of them together. There isn't an option to enter the digit manually and verify if the answer is correct or not. Add a toggle button or a checkbox in the main menu to enable/disable 'Self Evaluation'. If enabled, instead of the usual recall window, display the manual verification recall window (may be a separate fragment).

Implement synthetic voice where in default google tts is used to speak the numbers

Currently I've implemented options to choose between male and female voice for speaking out the random digits in the arraylist. In most memory competitions where 'Spoken Numbers' is an included event, the familiar AI robotic voice is used to speak out the digits.

Task here is to leverage android's default TTS to produce similar output here.

Useful info:

  • spoken_numbers_ingame_fragment.java is where most of the TTS implementation code should go.

Create time-limited / digits-count limited modes for memorization

As of now, there are no such options. It can be implemented as three different types of memorization - with a time limit, with number of digits limit or with no limits. Either one of the three modes should be activated before moving onto the memorization mode. The user should be free to choose a specific time limit / number of digits or not make a choice at all (in which case default value corresponding to the activated type is used).
In the 'ingame' fragment, check for the limiting conditions to decide whether to move to the recall mode or not. In the no limit mode, the user has to explicitly press 'recall' button to move to the recall mode.

Add an info button to display some meta data

Pressing info button should bring about a window which includes the basic operation of the app, where to send issues/bug reports, location of the source code (this repo), and acknowledgements (author and contributors).

Are you at all interested in adding more games?

First
I am interested in the N-back exercise in the program offered here:
www.brainworkshop.net It offers singular or concurrent tests.
•it uses audio and visual as separate tests but I request to have the option to let a specific sound be associated with every image (ie. elephant with its sound) since I thought words (seen+heard) will help language learning as well.

Second
See video: Soroban - All in the mind
https://www.youtube.com/watch?v=uZ0xXZU69GI
•Of course should require tactile sensation, but the beginner won't need it at first (learn recognition first, so can use an on-screen one).
•maybe you can make a soroban with shaped shirt buttons on pins.
•perhaps you could include the class's syllabus (so users know how to best learn/use the techniques), generate math questions too (see exercise on paper in video for what I mean).

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.