[go: nahoru, domu]

tree: d96cb99a6d32992b66b431955f13ca6fb9e99b0c [path history] [tgz]
  1. access_code_input.cc
  2. access_code_input.h
  3. animated_auth_factors_label_wrapper.cc
  4. animated_auth_factors_label_wrapper.h
  5. animated_rounded_image_view.cc
  6. animated_rounded_image_view.h
  7. animation_frame.h
  8. arrow_button_view.cc
  9. arrow_button_view.h
  10. auth_factor_model.cc
  11. auth_factor_model.h
  12. auth_icon_view.cc
  13. auth_icon_view.h
  14. auth_icon_view_unittest.cc
  15. bottom_status_indicator.cc
  16. bottom_status_indicator.h
  17. fake_fingerprint_auth_factor_model.cc
  18. fake_fingerprint_auth_factor_model.h
  19. fake_login_detachable_base_model.cc
  20. fake_login_detachable_base_model.h
  21. fake_smart_lock_auth_factor_model.cc
  22. fake_smart_lock_auth_factor_model.h
  23. fingerprint_auth_factor_model.cc
  24. fingerprint_auth_factor_model.h
  25. fingerprint_auth_factor_model_unittest.cc
  26. horizontal_image_sequence_animation_decoder.cc
  27. horizontal_image_sequence_animation_decoder.h
  28. hover_notifier.cc
  29. hover_notifier.h
  30. image_parser.cc
  31. image_parser.h
  32. lock_contents_view.cc
  33. lock_contents_view.h
  34. lock_contents_view_unittest.cc
  35. lock_debug_view.cc
  36. lock_debug_view.h
  37. lock_screen.cc
  38. lock_screen.h
  39. lock_screen_media_controls_view.cc
  40. lock_screen_media_controls_view.h
  41. lock_screen_media_controls_view_unittest.cc
  42. lock_screen_sanity_unittest.cc
  43. lock_window_unittest.cc
  44. login_auth_factors_view.cc
  45. login_auth_factors_view.h
  46. login_auth_factors_view_unittest.cc
  47. login_auth_user_view.cc
  48. login_auth_user_view.h
  49. login_auth_user_view_unittest.cc
  50. login_base_bubble_view.cc
  51. login_base_bubble_view.h
  52. login_base_bubble_view_unittest.cc
  53. login_big_user_view.cc
  54. login_big_user_view.h
  55. login_button.cc
  56. login_button.h
  57. login_camera_timeout_view.cc
  58. login_camera_timeout_view.h
  59. login_constants.h
  60. login_data_dispatcher.cc
  61. login_data_dispatcher.h
  62. login_detachable_base_model.cc
  63. login_detachable_base_model.h
  64. login_display_style.h
  65. login_error_bubble.cc
  66. login_error_bubble.h
  67. login_error_bubble_unittest.cc
  68. login_expanded_public_account_view.cc
  69. login_expanded_public_account_view.h
  70. login_expanded_public_account_view_unittest.cc
  71. login_keyboard_test_base.cc
  72. login_keyboard_test_base.h
  73. login_palette.cc
  74. login_palette.h
  75. login_password_view.cc
  76. login_password_view.h
  77. login_password_view_test.cc
  78. login_pin_input_view.cc
  79. login_pin_input_view.h
  80. login_pin_input_view_unittest.cc
  81. login_pin_view.cc
  82. login_pin_view.h
  83. login_pin_view_unittest.cc
  84. login_public_account_user_view.cc
  85. login_public_account_user_view.h
  86. login_public_account_user_view_unittest.cc
  87. login_remove_account_dialog.cc
  88. login_remove_account_dialog.h
  89. login_remove_account_dialog_unittest.cc
  90. login_test_base.cc
  91. login_test_base.h
  92. login_test_utils.cc
  93. login_test_utils.h
  94. login_tooltip_view.cc
  95. login_tooltip_view.h
  96. login_user_view.cc
  97. login_user_view.h
  98. login_user_view_unittest.cc
  99. media_controls_header_view.cc
  100. media_controls_header_view.h
  101. non_accessible_view.cc
  102. non_accessible_view.h
  103. note_action_launch_button.cc
  104. note_action_launch_button.h
  105. note_action_launch_button_unittest.cc
  106. OWNERS
  107. pin_keyboard_animation.cc
  108. pin_keyboard_animation.h
  109. pin_request_view.cc
  110. pin_request_view.h
  111. pin_request_view_unittest.cc
  112. pin_request_widget.cc
  113. pin_request_widget.h
  114. public_account_menu_view.cc
  115. public_account_menu_view.h
  116. public_account_monitoring_info_dialog.cc
  117. public_account_monitoring_info_dialog.h
  118. README.md
  119. scrollable_users_list_view.cc
  120. scrollable_users_list_view.h
  121. smart_lock_auth_factor_model.cc
  122. smart_lock_auth_factor_model.h
  123. smart_lock_auth_factor_model_unittest.cc
  124. system_label_button.cc
  125. system_label_button.h
  126. user_switch_flip_animation.cc
  127. user_switch_flip_animation.h
  128. views_utils.cc
  129. views_utils.h
  130. views_utils_unittest.cc
ash/login/ui/README.md

General hierarchy of UI elements in authentication UI:

LockScreen is the root element, that owns LockContentsView (potentially wrapped in LockDebugView). It resides in kShellWindowId_LockScreenContainer layer of the primary display.

LoginDataDispatcher implements LoginScreenModel and redirects calls to its observers, main of which is LockContentView.

LockContentView is a full-screen view that owns and displays all other authentication UI elements:

  • When only one user is in the list it is displayed using LoginBigUserView;
  • When two users are on the list, they are displayed using two LoginBigUserViews;
  • When 3+ users are in the list, one LoginBigUserView is used to display selected user, and rest of the users are displayed using ScrollableUsersListView;
  • LoginExpandedPublicAccountView when the user tries to sign in to public account.
    • Allows selection of language/keyboard for Public session
    • Displays monitoring warning indicator and triggers PublicAccountWarningDialog
    • Allows to actually sign in to the public account
  • Also owns/refers to following optional UI elements:
    • LockScreenMediaControlsView
    • NoteActionLaunchButton
    • UI that shows information about system.
    • Various bubbles and indicators
      • UserAddingScreenIndicator displayed when screen is used for multiprofile login
      • BottomStatusIndicator for indicating management/ADB sideloading info
      • ManagementBubble for management disclosure
      • AuthErrorBubble for displaying auth errors
      • LoginErrorBubble for displaying:
        • security warnings when detachable keyboard does not match one used on previous login
        • ext4 migration warning
        • supervised user deprecation notice
      • LoginTooltipView for easy unlock tooltips

LoginBigUserView contains one of:

  • LoginPublicAccountUserView that consists of:
    • LoginUserView (see below)
    • Arrow button to proceed to showing LoginExpandedPublicAccountView (see above)
  • LoginAuthUserView that represents user information and provides UI for authentication. It consists of:
    • LoginUserView
      • (Animated) user image
      • Name label
      • Drop-down info with an option to remove user
    • LoginPasswordView that shows:
      • Password input field
      • “Show Password” button
      • CAPS LOCK indicator
      • Submit button
      • Quick unlock indicator
    • or pair of LoginPinView (that provides digital keyboard) along with LoginPinInputView (that provides positional input field)
    • Password/PIN toggle button
    • Button to trigger online sign-in
    • FingerprintView
    • ChallengeResponseView
    • DisabledAuthMessageView (e.g. when child user has an associated time limit)
    • LockedTpmMessageView

PinRequestWidget works as a standalone UI. It contains a PinRequestView that consists of LoginPinKeyboard and one of either FixedLengthCodeInput or FlexCodeInput, both of which are subclasses of AccessCodeInput.