def METHOD_NAME(self, reason=QSystemTrayIcon.Unknown):
    """
    NOTE(cosven): Theoretically, we need not give default value for param reason.
    However, we connect activated signal with `_toggle_app_state method` before,
    and as you can see, `_toggle_app_state` does not accepts other parameters and it
    works well. So we give an default value to avoid potential strange errors.
    """
    # On Ubuntu 18.04, when we double left click the tray icon, the activated
    # signal is emitted and the reason is `QSystemTrayIcon.Trigger`.
    if reason not in (QSystemTrayIcon.Context, ):
        self._toggle_app_state()
    logger.info(f'tray icon activated, reason:{reason}')