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

FXIOS-710 ⁃ Create breach details view #7041

Merged
merged 20 commits into from
Aug 6, 2020

Conversation

vphong
Copy link
Contributor

@vphong vphong commented Jul 27, 2020

Closes #6959. Adds a switch case for a breach view in LoginDetailViewController's cellForRowAt. Also:

  • changes BreachAlertsManager's stored breaches from an array to a set for faster computation.
  • adds a breachRecordForLogin to find a breach associated with a login.
  • opens links to monitor.firefox.com/about and to breached website on button tap.

┆Issue is synchronized with this Jira Task

@vphong vphong self-assigned this Jul 27, 2020
@vphong vphong requested a review from kaylagalway July 27, 2020 23:59
@vphong vphong marked this pull request as ready for review July 28, 2020 23:43
@mozillamobilebot
Copy link

mozillamobilebot commented Jul 29, 2020

1 Warning
⚠️ NSLocalizedString should only be added to Strings.swift

SwiftLint found issues

Warnings

File Line Reason
LoginListViewModel.swift 65 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
LoginListViewModel.swift 66 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
LoginListViewModel.swift 67 Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
LoginListViewModel.swift 28 Prefer empty collection over optional collection. (discouraged_optional_collection)
LoginListViewModel.swift 103 Prefer empty collection over optional collection. (discouraged_optional_collection)
AppSettingsOptions.swift 614 Force casts should be avoided. (force_cast)
AppSettingsOptions.swift 618 Force casts should be avoided. (force_cast)
AppSettingsOptions.swift 713 Force casts should be avoided. (force_cast)
AppSettingsOptions.swift 177 Setter value is not used. (unused_setter_value)

Errors

File Line Reason
AppSettingsOptions.swift 610 There should be no space before and one after any comma. (comma)

Generated by 🚫 Danger

@vphong
Copy link
Contributor Author

vphong commented Aug 5, 2020

Updated mock data:

List View Controller Detail View Controller
Simulator Screen Shot - iPhone SE (2nd generation) - 2020-08-05 at 12 57 17 Simulator Screen Shot - iPhone SE (2nd generation) - 2020-08-05 at 13 03 02

Copy link
Contributor

@kaylagalway kaylagalway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Can't wait to submit for QA and design review :)

@data-sync-user data-sync-user changed the title Create breach details view FXIOS-710 ⁃ Create breach details view Aug 6, 2020
@vphong vphong merged commit e4f1565 into vphong/breachalerts Aug 6, 2020
@vphong vphong deleted the vphong/breachalerts-details branch August 6, 2020 16:55
vphong added a commit that referenced this pull request Aug 17, 2020
* Base BreachAlertsManager with loadBreaches() and compareToBreaches() (#6696)

* Revert "Base BreachAlertsManager with loadBreaches() and compareToBreaches() (#6696)" (#6698)

This reverts commit 6110fd0.

* Base BreachAlertsManager class with loadBreaches() + compare() (#6699)

* Test BreachAlertsManager.loadBreaches() and compareToBreaches() (#6715)

* Refactor LoginListViewController to MVVM (#6779)

* Refactor LoginListViewController to MVVM (again) (#6871)

* Refactor LoginListViewController to MVVM
* New PR made because previous changes were not merged correctly

* Test LoginsList-related refactored classes (#6897)

* LoginsList test stubs

* fix test db deletion

* query test

* more view model tests

* test on properties set by setLogins

* open logins db

* LoginListSelectionHelper tests

* VM helper tests

* headers

* Delete LoginListDataSourceHelper.swift

* queue-ify loadLogins

* queue-ify tests

* computeSectionsFromLogin + revert queues

* remove tests requiring loadLogins to be called + cleanup

* review changes

* cleanup after renaming

* Incorporate BreachAlertsManager in to LoginsListViewController (#6934)

* Add breach alert icon to Logins List cells and display if item is breached (#6992)

* basic BreachAlerts surfacing

* UI update for breaches

* record breach IndexPaths

* rewrite findUserBreaches

* findUserBreaches refinement

* reload table after breaches are loaded to update UI

* rework cell reload method

* review changes

* rudimentary asset display

* positioning using custom cell

* hide icon and show when needed

* refinement

* positioning, vector size, additional mock data

* cleanup

* bug cleanup/polish

* convert array to set for performance

* forEach reloadRows optimization

* margins + breach reload optimization

Co-authored-by: Garvan Keeley <[email protected]>
Co-authored-by: Nishant Bhasin <[email protected]>

* Fix margins within LoginListTableViewCell (#7022)

* Update LoginListTableViewCell.swift and add custom stack views + containers

* FXIOS-710 ⁃ Create breach details view (#7041)

* stubbing

* stack views

* convert [BreachRecord] to set; basic view population

* formatting + string population

* UI polish

* commenting

* button implementation

* breach link malformation handling

* VoiceOver support

* more elegant url handling

* use delegate

* better delegation

* setup function for breach detail view

* re-add long login

* tests + comments + better accessibility support

* spacing + mock data redo

* UX updates (#7127)

* FXIOS-731 ⁃ HTTP HEAD etags to cut down on data requests from Breach Alerts (#7100)

* first pass

* etag & last accessed date integration

* test compatibility

* better completion handling

* cleanup

* review 1

* review 2

* Update BreachAlertsManager.swift

* formatting/test reformation

* fix logic errors

* Update BreachAlertsManager.swift

* fix logic

* remove mock data

* Lint

Co-authored-by: Garvan Keeley <[email protected]>
Co-authored-by: isabelrios <[email protected]>
Co-authored-by: isabel rios <[email protected]>
Co-authored-by: Daniela Arcese <[email protected]>
Co-authored-by: Vlad Dramaretskyi <[email protected]>
Co-authored-by: Haris Zaman <[email protected]>
Co-authored-by: noorhashem <[email protected]>
Co-authored-by: Edouard Oger <[email protected]>
Co-authored-by: Kayla Galway <[email protected]>
Co-authored-by: Nishant Bhasin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants