Component detection
This commit is contained in:
parent
6afbd37d71
commit
291f12ba97
@ -36,7 +36,7 @@ class _CameraStreamViewState extends State<CameraStreamView> {
|
|||||||
.of(context)
|
.of(context)
|
||||||
.entityWrapper
|
.entityWrapper
|
||||||
.entity;
|
.entity;
|
||||||
if (_entity.supportStream) {
|
if (_entity.supportStream && HomeAssistant().isComponentEnabled('stream')) {
|
||||||
HomeAssistant().getCameraStream(_entity.entityId)
|
HomeAssistant().getCameraStream(_entity.entityId)
|
||||||
.then((data) {
|
.then((data) {
|
||||||
_jsMessageChannelName = 'HA_${_entity.entityId.replaceAll('.', '_')}';
|
_jsMessageChannelName = 'HA_${_entity.entityId.replaceAll('.', '_')}';
|
||||||
|
@ -46,7 +46,6 @@ class HomeAssistant {
|
|||||||
String get userAvatarText => userName.length > 0 ? userName[0] : "";
|
String get userAvatarText => userName.length > 0 ? userName[0] : "";
|
||||||
bool get isNoEntities => entities == null || entities.isEmpty;
|
bool get isNoEntities => entities == null || entities.isEmpty;
|
||||||
bool get isNoViews => ui == null || ui.isEmpty;
|
bool get isNoViews => ui == null || ui.isEmpty;
|
||||||
bool get isMobileAppEnabled => _instanceConfig["components"] != null && (_instanceConfig["components"] as List).contains("mobile_app");
|
|
||||||
|
|
||||||
HomeAssistant._internal() {
|
HomeAssistant._internal() {
|
||||||
ConnectionManager().onStateChangeCallback = _handleEntityStateChange;
|
ConnectionManager().onStateChangeCallback = _handleEntityStateChange;
|
||||||
@ -75,7 +74,7 @@ class HomeAssistant {
|
|||||||
futures.add(_getLovelace(null));
|
futures.add(_getLovelace(null));
|
||||||
}
|
}
|
||||||
Future.wait(futures).then((_) {
|
Future.wait(futures).then((_) {
|
||||||
if (isMobileAppEnabled) {
|
if (isComponentEnabled('mobile_app')) {
|
||||||
_createUI();
|
_createUI();
|
||||||
_fetchCompleter.complete();
|
_fetchCompleter.complete();
|
||||||
if (!uiOnly) MobileAppIntegrationManager.checkAppRegistration();
|
if (!uiOnly) MobileAppIntegrationManager.checkAppRegistration();
|
||||||
@ -103,7 +102,7 @@ class HomeAssistant {
|
|||||||
_getUserInfo(prefs);
|
_getUserInfo(prefs);
|
||||||
_getPanels(prefs);
|
_getPanels(prefs);
|
||||||
_getServices(prefs);
|
_getServices(prefs);
|
||||||
if (isMobileAppEnabled) {
|
if (isComponentEnabled('mobile_app')) {
|
||||||
_createUI();
|
_createUI();
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -156,6 +155,7 @@ class HomeAssistant {
|
|||||||
|
|
||||||
void _parseConfig(data) {
|
void _parseConfig(data) {
|
||||||
_instanceConfig = Map.from(data);
|
_instanceConfig = Map.from(data);
|
||||||
|
Logger.d('stream: ${_instanceConfig['components'].contains('stream')}');
|
||||||
}
|
}
|
||||||
|
|
||||||
Future _getStates(SharedPreferences sharedPrefs) async {
|
Future _getStates(SharedPreferences sharedPrefs) async {
|
||||||
@ -305,6 +305,10 @@ class HomeAssistant {
|
|||||||
return completer.future;
|
return completer.future;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isComponentEnabled(String name) {
|
||||||
|
return _instanceConfig["components"] != null && (_instanceConfig["components"] as List).contains("$name");
|
||||||
|
}
|
||||||
|
|
||||||
void _handleLovelaceUpdate() {
|
void _handleLovelaceUpdate() {
|
||||||
if (_fetchCompleter != null && _fetchCompleter.isCompleted) {
|
if (_fetchCompleter != null && _fetchCompleter.isCompleted) {
|
||||||
eventBus.fire(new LovelaceChangedEvent());
|
eventBus.fire(new LovelaceChangedEvent());
|
||||||
|
@ -57,8 +57,7 @@ class _PlayMediaPageState extends State<PlayMediaPage> {
|
|||||||
_loaded = false;
|
_loaded = false;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_isMediaExtractorExist = HomeAssistant().isServiceExist("media_extractor");
|
_isMediaExtractorExist = HomeAssistant().isComponentEnabled("media_extractor");
|
||||||
//_useMediaExtractor = _isMediaExtractorExist;
|
|
||||||
_players = HomeAssistant().entities.getByDomains(includeDomains: ["media_player"]);
|
_players = HomeAssistant().entities.getByDomains(includeDomains: ["media_player"]);
|
||||||
setState(() {
|
setState(() {
|
||||||
if (_players.isNotEmpty) {
|
if (_players.isNotEmpty) {
|
||||||
|
Reference in New Issue
Block a user