Automattic\WooCommerce\Internal\PushNotifications

PushNotifications::should_be_enabledpublicWC 10.4.0

Determines if local push notification functionality should be enabled. Push notifications require both the feature flag to be enabled and Jetpack to be connected. Memoize the value so we only check once per request.

Method of the class: PushNotifications{}

No Hooks.

Returns

true|false.

Usage

$PushNotifications = new PushNotifications();
$PushNotifications->should_be_enabled(): bool;

Changelog

Since 10.4.0 Introduced.

PushNotifications::should_be_enabled() code WC 10.8.1

public function should_be_enabled(): bool {
	if ( null !== $this->enabled ) {
		return $this->enabled;
	}

	if ( ! FeaturesUtil::feature_is_enabled( self::FEATURE_NAME ) ) {
		$this->enabled = false;
		return $this->enabled;
	}

	try {
		$proxy = wc_get_container()->get( LegacyProxy::class );

		$this->enabled = (
			class_exists( JetpackConnectionManager::class )
			&& $proxy->get_instance_of( JetpackConnectionManager::class )->is_connected()
		);
	} catch ( Exception $e ) {
		$logger = wc_get_container()->get( LegacyProxy::class )->call_function( 'wc_get_logger' );

		if ( $logger instanceof WC_Logger ) {
			$logger->error(
				'Error determining if PushNotifications feature should be enabled: ' . $e->getMessage()
			);
		}

		$this->enabled = false;
	}

	return $this->enabled;
}