I personally feel that asking for the pinyin and asking for the tone is the exact same thing, since you have to prounounce it either way. The only the difference is the pinyin prompt gives you the character as the hint, whereas the tone prompt gives you the definition AND the character as the hint. I feel like since the writing prompt is already testing definition -> character... perhaps the tone prompt questions should NOT have the definition written there? There is a setting to "turn reading off" but that just hides the pinyin. I try not to look... but the phone is so small and my will is weak. Am I alone in this habit of trying to not look? Would it be possible to make "hide definition" a setting? If the definition is already there... I don't get the opportunity to try and remember it myself. I like testing myself on all the components regardless of the prompt (and I often grade myself that way too).
But if you did this, tone and pinyin questions would truly be the same... except for the cool input method.
I guess i'm also curious as to why the 4 types of questions you built into the program allowed for this redundancy? Why not prompt for the pinyin given the definition as the hint since that is not currently tested in isolation? Then (with definitions in tone questions hidden) you would have all 3 parts (reading, writing, pronunciating) isolated in 4 distinctly different questions with no overlap:
definition -> character (writing questions)
character -> definition (definition questions)
character -> pronunciation (tone questions)
definition -> pronunciation (pinyin question)