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

Implementation Request: Android Deprecation Notification #5025

Open
rolandbellerud opened this issue Jun 7, 2023 · 7 comments · Fixed by #5096
Open

Implementation Request: Android Deprecation Notification #5025

rolandbellerud opened this issue Jun 7, 2023 · 7 comments · Fixed by #5096
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Break-down Indicates that an issue is too large and should be broken into smaller chunks. Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@rolandbellerud
Copy link

Is your feature request related to a problem? Please describe.
Requesting implementation of the Oppia Android Deprecation notification. Approved PRD here:
https://docs.google.com/document/d/1ndlaLALUhNFevdLzVmXyJr4UD3HuhMKpo9VfmB0sY4g/edit#heading=h.5v4n3cls117p

Describe the solution you'd like
Finalized mocks:
https://www.figma.com/file/dTWHwMDdZ8RUrR3rFmzxey/Oppia-deprecation-project?type=design&node-id=0-1

Describe alternatives you've considered
Please see PRD for alternatives considered.

Additional context
Please see PRD.

@rolandbellerud rolandbellerud added enhancement End user-perceivable enhancements. triage needed labels Jun 7, 2023
@seanlip
Copy link
Member

seanlip commented Jun 8, 2023

(Tagging @danapj @jlevick @jiwonc26 from the UXD/UXW team so they can follow along on implementation.)

@adhiamboperes
Copy link
Collaborator

adhiamboperes commented Jun 15, 2023

@kkmurerwa fyi. Please reference this in your deprecation PRs. You could break it down into milestones as well.

@adhiamboperes adhiamboperes added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Break-down Indicates that an issue is too large and should be broken into smaller chunks. Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. labels Jun 15, 2023
@kkmurerwa
Copy link
Collaborator

Hi @adhiamboperes. This is well noted. I will reference it in all pending and future milestones.

adhiamboperes added a commit that referenced this issue Jul 12, 2023
…d the DeprecationController (#4999)

<!-- 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.
  -->
Fix part of #5025: When this PR is merged, it will;
- Add a new `deprecation.proto` file that will allow the storage of
deprecation responses as well as provide the various deprecation types.
- Add the `OPTIONAL_UPDATE_AVAILABLE` and the `OS_IS_DEPRECATED` startup
modes on the `onboarding.proto` file for the two new startup modes being
introduced.
- Create a `DeprecationController` class and add tests for the class in
the `DeprecationControllerTest`.
- Modify BUILD.bazel files to provide the new proto files and the
deprecation controller.
- Add `DeprecationControllerTest` to the `OppiaParameterizedTestRunner`
file exemptions on the `file_content_validation_checks.textproto`.

## 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)).

---------

Co-authored-by: Kenneth Murerwa <[email protected]>
Co-authored-by: Adhiambo Peres <[email protected]>
BenHenning added a commit that referenced this issue Oct 24, 2023
…cation Dialog Fragments (#5096)

<!-- 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.
  -->
Fix part of #5025 
When this PR is merged, it will;
- Add fragments and fragment presenters for the Forced, Optional, and OS
deprecation dialogs.
- Add strings for the new deprecation dialogs.

## Screenshots of the introduced dialog fragments

Forced Deprecation Dialog | Optional Deprecation Dialog | OS Deprecation
Dialog

:-------------------------:|:-------------------------:|:-------------------------:
![A screenshot of the forced deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/33808235-7867-458b-aa99-bb1166511121)
| ![A screenshot of the optional deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/84e0ffc1-f1ea-49e0-a997-1871aed0134f)
| ![A screenshot of the OS deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/fe4fd5dc-5461-4d12-99d7-8eb3c9160aaf)


## Videos of the dialogs in action
### Forced Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/45e8319b-89dd-479a-a41d-5c458707ea50

### Optional Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/32343ff1-34be-4c53-bb64-a4624a15ea86

### OS Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/7d289d25-b7ba-4362-8c4f-a2f8a27f8e63


## 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))
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing

---------

Co-authored-by: Kenneth Murerwa <[email protected]>
Co-authored-by: Ben Henning <[email protected]>
Rd4dev pushed a commit to Rd4dev/oppia-android that referenced this issue Oct 31, 2023
…Deprecation Dialog Fragments (oppia#5096)

<!-- 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.
  -->
Fix part of oppia#5025 
When this PR is merged, it will;
- Add fragments and fragment presenters for the Forced, Optional, and OS
deprecation dialogs.
- Add strings for the new deprecation dialogs.

## Screenshots of the introduced dialog fragments

Forced Deprecation Dialog | Optional Deprecation Dialog | OS Deprecation
Dialog

:-------------------------:|:-------------------------:|:-------------------------:
![A screenshot of the forced deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/33808235-7867-458b-aa99-bb1166511121)
| ![A screenshot of the optional deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/84e0ffc1-f1ea-49e0-a997-1871aed0134f)
| ![A screenshot of the OS deprecation
dialog](https://github.com/oppia/oppia-android/assets/18438114/fe4fd5dc-5461-4d12-99d7-8eb3c9160aaf)


## Videos of the dialogs in action
### Forced Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/45e8319b-89dd-479a-a41d-5c458707ea50

### Optional Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/32343ff1-34be-4c53-bb64-a4624a15ea86

### OS Deprecation Dialog

https://github.com/oppia/oppia-android/assets/18438114/7d289d25-b7ba-4362-8c4f-a2f8a27f8e63


## 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))
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing

---------

Co-authored-by: Kenneth Murerwa <[email protected]>
Co-authored-by: Ben Henning <[email protected]>
@kkmurerwa kkmurerwa reopened this Nov 24, 2023
@kkmurerwa
Copy link
Collaborator

kkmurerwa commented Nov 24, 2023

Reopening this issue because this issue is not yet complete. These include;

  • Integrating deprecation dialogs and gating it behind the enable deprecation flag.
  • Perform end-to-end testing of feature flag and platform parameter syncing.

adhiamboperes pushed a commit that referenced this issue Feb 23, 2024
…Deprecation Dialogs and Add Logic to Display Them (#5249)

<!-- 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.
  -->
Fix part of #5025 - When this PR is merged, it will;
- Add ability to display the new deprecation dialogs when the
app-and-os-deprecation feature flag is enabled.
- Add ability to cache previous responses so that the user is not
spammed with dialogs every time they open the app.
 - Include tests for all added functionalities.

## 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
@kkmurerwa
Copy link
Collaborator

Reopening this issue because this issue is not yet complete. These include;

  • Integrating deprecation dialogs and gating it behind the enable deprecation flag.
  • Perform end-to-end testing of feature flag and platform parameter syncing.

From the two pending aspects of the issue,

@seanlip
Copy link
Member

seanlip commented Aug 19, 2024

@kkmurerwa For issue 2, could you please discuss this with @BenHenning? Thanks!

@BenHenning
Copy link
Member

Issue 2 relates to #3506 (comment). I think we need to solve that and this issue in tandem because we need to make changes to Oppia web and Android in order to get platform parameter syncing working, and the app deprecation parameters are the best ones for verifying that functionality is correct. That serves three purposes:

  • Verifying that platform syncing is correct.
  • Verifying that app deprecation works.
  • Preparing for GA by ensuring app deprecation is available.

@BenHenning BenHenning added this to the 1.0 Global availability milestone Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Break-down Indicates that an issue is too large and should be broken into smaller chunks. Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.
5 participants