Merge changes I40d73e79,I99debb33,Id3807764 into main

* changes:
  SF: Merge on{,Non}PrimaryDisplayModeChanged
  SF: Clean up emitting of mode change event
  SF: Add test for emitting of mode change event