-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Feature/feedback disambiguation #459
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
Conversation
…feedback_disambiguation # Conflicts: # app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt # build.gradle
Replace faces with PNGs as vector drawables were rendering poorly
Also renamed old "feedback" classes to "broken site" naming
…feedback_disambiguation
…feedback_disambiguation
app/src/androidTest/java/com/duckduckgo/app/feedback/ui/BrokenSiteViewModelTest.kt
Outdated
Show resolved
Hide resolved
app/src/androidTest/java/com/duckduckgo/app/feedback/ui/common/FeedbackViewModelTest.kt
Outdated
Show resolved
Hide resolved
app/src/androidTest/java/com/duckduckgo/app/feedback/ui/common/FeedbackViewModelTest.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/com/duckduckgo/app/brokensite/BrokenSiteActivity.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/com/duckduckgo/app/statistics/pixels/Pixel.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/com/duckduckgo/app/settings/SettingsActivity.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/com/duckduckgo/app/settings/SettingsActivity.kt
Outdated
Show resolved
Hide resolved
.../java/com/duckduckgo/app/feedback/ui/negative/subreason/SubReasonNegativeFeedbackFragment.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/com/duckduckgo/app/feedback/ui/negative/FeedbackTypeDisplay.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed a crash when in split screen landscape mode and then dragging app to be fullscreen again.
Process: com.duckduckgo.mobile.android, PID: 5564
java.lang.IllegalStateException: rootScrollView must not be null
at com.duckduckgo.app.feedback.ui.negative.openended.ShareOpenEndedFeedbackFragment$configureListeners$$inlined$doOnPreDraw$1.onPreDraw(View.kt:348)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2349)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
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)
|
@CDRussell I have reviewed and tested the code and validated that the flows make sense and work. In terms of verifying every permutation, I haven't done that. Is this something Azad/Chris could do? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is getting close. A couple of tidy ups and UX issue:
- When rotating on text entry screen, text is lost
- When rotating on option selection list / recycler screens, there is an unexpected slide animation
app/src/androidTest/java/com/duckduckgo/app/feedback/ui/common/FeedbackViewModelTest.kt
Show resolved
Hide resolved
subsymbolic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Task/Issue URL: https://app.asana.com/0/715106103902962/1109166030178654
iOS equivalent PR: duckduckgo/iOS#420
Tech Design URL:
CC
Description
Adds a new flow for users to leave feedback from the
Settingspage.This new flow tries to better capture the nature of the feedback by getting users to identify the category of the problem (is their feedback about missing features, bugs, search results etc...)
Description of the flow
There is an initial happy / sad clarifier.

Happy Flow
Rate, give more details or finish
In the happy flow, the users will be offered to chance to give us more info or to rate us, or to end the journey there.
They will only see this screen if they can rate us (app installed from Play Store) - otherwise this screen will be skipped and they'll be shown the "more details" page instead.
More details page
Sad Flow
In this flow, the user will be shown a list of main reasons why they might be unhappy and asked to pick from the list.

Depending on the option chosen, they'll either navigate to choosing a subreason, a page to provide "extra details", or they'll see a broken site page.
When choosing a subreason, they'll always end with navigating to the open ended "share details" page.
Missing Browser features
This will show subcategories. Choosing a subcategory will navigate to the open ended "share details" page.
Website loading issues
This will show a new broken site page (note, the existing "report broken site" screen is left as is)
Search results not good enough
This will show show subcategories. Choosing a subcategory will navigate to the open ended "share details" page.
Customization
This will show subcategories. Choosing a subcategory will navigate to the open ended "share details" page.
#### None of these
This will jump straight to the open ended "share details" page.
Steps to test this PR:
See the internal ticket for where details on where to look to verify pixel and POST data.
Internal references:
Software Engineering Expectations
Technical Design Template