Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Text-based interaction EditText hints sometimes disappear when the keyboard is closed #4509

Closed
BenHenning opened this issue Aug 19, 2022 · 0 comments · Fixed by #4556
Closed
Assignees
Labels
Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@BenHenning
Copy link
Member

Describe the bug
As part of fixing #4446 in #4506, I found that some text-based interaction EditTexts will continue to show their hint text upon closing the keyboard, but others won't.

To Reproduce
Steps to reproduce the behavior:

  1. Open the prototype exploration.
  2. Play to the numeric input interaction, open the keyboard, then close it. Notice that the hint text is still showing.
  3. Play to the text input interaction and repeat the same steps. Notice that the hint text is no longer showing.

Expected behavior
All text-based interactions should re-show their hint text once the software keyboard is hidden. This is how they're implemented, but for some reason they do not have consistent behaviors. It seems like numeric input may be the only interaction that behaves correctly, but I'm not certain on this. Potentially affected interaction types:

  • Numeric input
  • Text input
  • Fraction input
  • Ratio input
  • Math expression input

Demonstration
Excluded for time--please follow up if this is needed.

Environment

  • Device/emulator being used: Device (Nexus 5X)
  • Android or SDK version (e.g. Android 5 or SDK 21): SDK 27
  • App version (you can get this through system app settings or via the admin controls menu in-app): Latest version of the app built with acc674d.

Additional context
N/A

BenHenning added a commit that referenced this issue Aug 19, 2022
…lpha MR5 fixes (#4506)

## Explanation
Fixes #4495
Fixes part of #3088
Fixes #4467
Fixes #4505
Fixes #4266
Fixes #4446

This PR fixes a number of key blockers for the upcoming Alpha MR5 release of the app. In particular:
- It fixes #4266 by reformatting one XML file that Rajat left a comment for during his post-merge reviews of Alpha MR4 PRs.
- It mitigates #4495 by introducing a banner for when correct audio can't be played (I did run into an actual bug where the wrong audio played once, but I couldn't repro it--most of the time the app will stop autoplaying if it can't find the correct language). This also fixes part of #3088 since the mitigation will help make that situation better.
- It addresses #4467 by logging stringified versions of all supported answer types upon answer submission (rather than just whether the answer is correct).
- It addresses #4446 by (1) introducing a new default hint text for text input, and (2) by ensuring hint text is fully readable by wrapping it when it extends to more than one line. However, another issue was discovered which would be really nice to fix (but is not feasible given the amount of time available for this PR). #4509 is tracking this future work.
- It addresses #4505 by disabling profile name verification when the learner study is enabled (as a stop-gap).

Note that there are no new tests being added in this PR since the fixes are mostly trivial and have been manually verified during development. #4510 is tracking adding automated tests for long-term app health.

Furthermore, AudioViewModel was allow-listed to reference Locale directly so that it can it include a localized language name in the fail-to-play audio notice. #3791 will fix this in the long-term.

This PR also includes version code & minor version bumps to prepare for the upcoming release. It also fixes the Kenya-specific alpha build flavor (which was unfortunately checked in as broken in #4507), and adds it to CI since the assumption in #4507 that it doesn't need to be covered is incorrect. The Gradle workaround for the new flavor was removed since it was a legitimate failure that wasn't being picked up by Bazel builds in CI.

## Essential Checklist
- [x] The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
- [x] Any changes to [scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets) files have their rationale included in the PR explanation.
- [x] The PR follows the [style guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android Studio ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
Creating profile names with normally forbidden characters (in this case, numbers):

https://user-images.githubusercontent.com/12983742/185594638-3bd653a4-916a-4471-963a-d00ab987f378.mp4

Demonstrating when English audio is sometimes unavailable & the new notice to make this clearer:

https://user-images.githubusercontent.com/12983742/185594719-896e428c-96b8-42f3-b53f-721352a90f14.mp4

Audio not being available can occur in all languages, not just English:

![audio_unavailable](https://user-images.githubusercontent.com/12983742/185594834-6f6127db-e54b-4a23-a734-7b3a6b849184.png)

Text input hints can now be multi-line to ensure that they're not cut off:

![oppia_multiline_text_input_hint](https://user-images.githubusercontent.com/12983742/185594908-4b4a07f3-cff7-44f7-a2c9-8dfb7a8ca784.png)

Commits:

* Address
#4274 (comment).

This is part of addressing #4266.

* Add audio notice for when language is missing.

* Disable invalid profile name rules for studies.

* Add analytics logging for submitted answers.

* Code health fixes.

* Add hint wrapping, and default text input hint.

* Fix broken tests.

* Test fixes.

* Fix broken Kenya-specific alpha build.

Also, bump version codes & minor versions in preparation for the
release.
BenHenning pushed a commit that referenced this issue Sep 9, 2022
…when the keyboard is closed (#4556)

* fix unexpected hint problems

* add todos

* lint
@BenHenning BenHenning added the Z-ibt Temporary label for Ben to keep track of issues he's triaged. label Sep 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Z-ibt Temporary label for Ben to keep track of issues he's triaged.
2 participants