-
Notifications
You must be signed in to change notification settings - Fork 527
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
Investigate second/millisecond conversion check for greeting timestamp #3842
Comments
@BenHenning See conversion if user was last active 18 years ago then this condition will be satisfied and user will get wrong output. The argument which So, my verdict is that this function is not correct and if input time is ensured to be in ms whenever we are using I hope this makes some sense. But If we look for real life scenarios we would never encounter these conditions. |
I think you're right that it isn't needed @rishidyno, however before we remove it could you first look through the blame history for it to see if there's any context on why this is needed? You may need to go all the way back to the PR that introduced it and that PR's description and/or conversation threads to get this context. |
@BenHenning this fun was introduced of one of your PR #3795. I tried to find any context on why this fun was introduced, but could not find any. Either way, as I explained earlier, this fun will just mess up things if we wrote a hypothetical test for time 18 years ago, which I did try and as expected it failed. I recommend removing it as it's unnecessary as the argument of this function is already in Milliseconds. |
I have just created a pr. |
@rishidyno it actually wasn't introduced in that PR, the utility was just moved (original file: https://github.com/oppia/oppia-android/blob/713584ae1d7d5a9edce6c9838f9c0301c96febbd/utility/src/main/java/org/oppia/android/util/system/OppiaDateTimeFormatter.kt). That was originally located at https://github.com/oppia/oppia-android/blob/44cf7871feeaeb16cbec4584caaa0f74fb17af12/utility/src/main/java/org/oppia/util/system/OppiaDateTimeFormatter.kt before we moved everything. The utility was introduced in #958, but it interestingly moved this logic out of the adapters class (so it's come full loop). It seems like the origin of the code is #580. You should look through that PR and its conversations to see if you can figure out the origin of that constant. |
@dattasneha, you may be interested in this issue. PTAL. |
Sure @adhiamboperes, I would like to work on this. After going through the issue thread, I believe simply removing the function |
This is a redundant check. The timestamp that is bound from the adapter comes from the profile proto, and is set to ms in the ProfileManagementController. It is safe to remove the check. |
…mestamp (#5536) <!-- READ ME FIRST: Please fill in the explanation section below and check off every point from the Essential Checklist! --> ## Explanation <!-- - Explain what your PR does. If this PR fixes an existing bug, please include - "Fixes #bugnum:" in the explanation so that GitHub can auto-close the issue - when this PR is merged. --> Fixes #3842 This PR removes the `ensureTimestampIsInMilliseconds` function from `TextViewBindingAdapters`, eliminating the need for the second-to-millisecond conversion check for greeting timestamps. ### Sreenshots |Before|After| |--|--| |![WhatsApp Image 2024-09-17 at 11 36 52 AM](https://github.com/user-attachments/assets/0978ffe5-9457-4071-8828-a2791e7e4664)|![WhatsApp Image 2024-09-17 at 11 39 41 AM](https://github.com/user-attachments/assets/5c41cdc1-5287-4979-8969-4057362434c9)| ## Essential Checklist <!-- Please tick the relevant boxes by putting an "x" in them. --> - [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 <!-- Delete these section if this PR does not include UI-related changes. --> If your PR includes UI-related changes, then: - Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes - For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see [RTL guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines)) - Add a video showing the full UX flow with a screen reader enabled (see [accessibility guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide)) - For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included - Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing
After #3795, TextViewBindingAdapters performs a check on whether the last visited timestamp is in milliseconds or seconds. We ought to just use milliseconds & never need this conversion, but investigation is needed to better understand where this check came from & if it could ever be triggered.
The text was updated successfully, but these errors were encountered: