Skip to content

Commit

Permalink
Merge pull request #735 from guyluz11/dev
Browse files Browse the repository at this point in the history
Added matter support
  • Loading branch information
guyluz11 authored Mar 6, 2025
2 parents eb3b91d + bfe8b40 commit 8827e3a
Show file tree
Hide file tree
Showing 98 changed files with 438 additions and 284 deletions.
12 changes: 12 additions & 0 deletions .idea/CBJ_App.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions lib/domain/cbj_comp/cbj_comp_entity.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_failures.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_value_objects.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/domain/cbj_comp/cbj_comp_validators.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_failures.dart';
import 'package:dartz/dartz.dart';
Expand Down
3 changes: 2 additions & 1 deletion lib/domain/cbj_comp/cbj_comp_value_objects.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_errors.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_failures.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_validators.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/foundation.dart';
import 'package:kt_dart/collection.dart';
// ignore: depend_on_referenced_packages
// ignore: depend_on_referenced_packages a
import 'package:uuid/uuid.dart';

@immutable
Expand Down
1 change: 1 addition & 0 deletions lib/domain/cbj_comp/i_cbj_comp_repository.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:async';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_entity.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_failures.dart';
Expand Down
7 changes: 5 additions & 2 deletions lib/domain/connections_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'dart:collection';
import 'dart:convert';
import 'dart:io';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:cybearjinni/infrastructure/core/injection.dart';
Expand All @@ -13,14 +14,16 @@ import 'package:flutter/foundation.dart';
import 'package:grpc/grpc.dart';
import 'package:location/location.dart';
import 'package:network_info_plus/network_info_plus.dart';
// ignore: depend_on_referenced_packages a
import 'package:network_tools_flutter/network_tools_flutter.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'
as permission_handler;
import 'package:rxdart/rxdart.dart';

part 'package:cybearjinni/infrastructure/connection_service/app_connection_service.dart';
part 'package:cybearjinni/infrastructure/connection_service/hub_connection_service.dart';
part 'package:cybearjinni/infrastructure/connection_service/demo_connection_service.dart';
part 'package:cybearjinni/infrastructure/connection_service/hub_connection_service.dart';
part 'package:cybearjinni/infrastructure/connection_service/none_connection_service.dart';
part 'package:cybearjinni/infrastructure/connection_service/remote_pipes_connection_service.dart';

Expand Down Expand Up @@ -75,7 +78,7 @@ abstract interface class ConnectionsService {

void setEntityState(RequestActionObject action);

Future setEtitiesToArea(String areaId, HashSet<String> entities);
Future setEntitiesToArea(String areaId, HashSet<String> entities);

Future<HashMap<String, DeviceEntityBase>> get getEntities;

Expand Down
2 changes: 1 addition & 1 deletion lib/domain/home_user/home_user_value_objects.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:cybearjinni/domain/home_user/home_user_failures.dart';
import 'package:cybearjinni/domain/home_user/home_user_validators.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/foundation.dart';
// ignore: depend_on_referenced_packages
// ignore: depend_on_referenced_packages a
import 'package:uuid/uuid.dart';

@immutable
Expand Down
1 change: 1 addition & 0 deletions lib/domain/manage_network/i_manage_network_repository.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:io';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/home_user/home_user_failures.dart';
import 'package:cybearjinni/domain/manage_network/manage_network_entity.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:io';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:cybearjinni/domain/cbj_comp/cbj_comp_entity.dart';
Expand All @@ -16,6 +17,7 @@ import 'package:dartz/dartz.dart';
import 'package:flutter/foundation.dart';
import 'package:location/location.dart';
import 'package:network_info_plus/network_info_plus.dart';
// ignore: depend_on_referenced_packages a
import 'package:network_tools_flutter/network_tools_flutter.dart';
import 'package:permission_handler/permission_handler.dart'
as permission_handler;
Expand Down
1 change: 1 addition & 0 deletions lib/domain/software_info/i_software_info_repository.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:io';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/security_bear/i_security_bear_connection_repository.dart';
import 'package:cybearjinni/domain/security_bear/security_bear_failures.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/domain/software_info/software_info_entity.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/software_info/software_info_failures.dart';
import 'package:cybearjinni/domain/software_info/software_info_value_objects.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/infrastructure/app_commands.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:io';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:path_provider/path_provider.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/infrastructure/cbj_app_server_d.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:async';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/infrastructure/core/logger.dart';
import 'package:grpc/grpc.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class _AppConnectionService implements ConnectionsService {
}

@override
Future setEtitiesToArea(String areaId, HashSet<String> entities) =>
Future setEntitiesToArea(String areaId, HashSet<String> entities) =>
IcSynchronizer().setEtitiesToArea(areaId, entities);

@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class _DemoConnectionService implements ConnectionsService {
Future setNewArea(AreaEntity area) async {}

@override
Future setEtitiesToArea(String areaId, HashSet entities) async {}
Future setEntitiesToArea(String areaId, HashSet entities) async {}

@override
Future addScene(SceneCbjEntity scene) async {}
Expand Down
49 changes: 44 additions & 5 deletions lib/infrastructure/connection_service/hub_connection_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ class _HubConnectionService implements ConnectionsService {

logger.i('Hub Search subnet IP $subnet');

// TODO: Search for hub
final Stream<ActiveHost> devicesWithPort =
HostScannerService.instance.scanDevicesForSinglePort(
subnet,
Expand Down Expand Up @@ -254,7 +253,7 @@ class _HubConnectionService implements ConnectionsService {
Future setNewArea(AreaEntity area) async {}

@override
Future setEtitiesToArea(String areaId, HashSet entities) async {}
Future setEntitiesToArea(String areaId, HashSet entities) async {}

@override
Future addScene(SceneCbjEntity scene) async {}
Expand All @@ -263,11 +262,51 @@ class _HubConnectionService implements ConnectionsService {
Future activateScene(String id) async {}

@override
Future loginVendor(VendorLoginEntity value) async {}
Future loginVendor(VendorLoginEntity value) async {
appMessagesToHub.sink.add(
ClientStatusRequests(
sendingType: SendingType.vendorLoginType.name,
allRemoteCommands: jsonEncode(value.toInfrastructure().toJson()),
),
);
}

@override
Future<List<VendorEntityInformation>> getVendors() async =>
IcSynchronizer().getVendors();
Future<List<VendorEntityInformation>> getVendors() async {
appMessagesToHub.sink.add(
ClientStatusRequests(
sendingType: SendingType.getAllSupportedVendors.name,
),
);

List<VendorEntityInformation> vendorList = [];

await for (final RequestsAndStatusFromHub message
in hubMessagesToApp.stream) {
final SendingType sendingType =
SendingTypeExtension.fromString(message.sendingType);
if (sendingType != SendingType.getAllSupportedVendors) {
continue;
}

try {
final List<dynamic> decodedJson =
jsonDecode(jsonDecode(message.allRemoteCommands) as String)
as List<dynamic>;
vendorList = decodedJson
.map(
(e) =>
VendorEntityInformation.fromJson(e as Map<String, dynamic>),
)
.toList();
} catch (e) {
logger.e('Error converting vendors\n$e');
}
break;
}

return vendorList;
}

@override
Future<bool> connect({String? address}) async {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class _NoneConnectionService implements ConnectionsService {
Future setNewArea(AreaEntity area) async {}

@override
Future setEtitiesToArea(String areaId, HashSet entities) async {}
Future setEntitiesToArea(String areaId, HashSet entities) async {}

@override
Future<HashMap<String, SceneCbjEntity>> get getScenes async => HashMap();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ class _RemotePipesConnectionService implements ConnectionsService {
Future setNewArea(AreaEntity area) async {}

@override
Future setEtitiesToArea(String areaId, HashSet entities) async {}
Future setEntitiesToArea(String areaId, HashSet entities) async {}

@override
Future addScene(SceneCbjEntity scene) async {}
Expand Down
2 changes: 1 addition & 1 deletion lib/infrastructure/core/logger.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ import 'package:logger/logger.dart';
/// Instance of logger for all the app
final logger = Logger(
filter: ProductionFilter(),
printer: PrettyPrinter(methodCount: 0, printTime: true),
printer: PrettyPrinter(methodCount: 0),
);
3 changes: 2 additions & 1 deletion lib/infrastructure/mqtt.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/infrastructure/core/logger.dart';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
// ignore: implementation_imports
// ignore: implementation_imports a
import 'package:mqtt_client/src/observable/src/records.dart';

class MqttServerRepository extends IMqttServerRepository {
Expand Down
3 changes: 3 additions & 0 deletions lib/infrastructure/network_utilities_flutter.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import 'dart:async';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
// ignore: depend_on_referenced_packages a
import 'package:network_tools_flutter/network_tools_flutter.dart'
as network_flutter;
// ignore: depend_on_referenced_packages a
import 'package:network_tools_flutter/network_tools_flutter.dart';

class NetworkUtilitiesFlutter extends NetworkUtilities {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:async';

// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/infrastructure/core/logger.dart';
import 'package:grpc/grpc.dart';
Expand Down
63 changes: 32 additions & 31 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,50 +2,51 @@ import 'package:cybearjinni/infrastructure/core/injection.dart';
import 'package:cybearjinni/presentation/core/app_widget.dart';
import 'package:cybearjinni/presentation/core/routes/app_router.dart';
import 'package:dartz/dartz.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';

Future<Unit> main() async {
configureDependencies(EnvApp.dev);

WidgetsFlutterBinding.ensureInitialized();

await EasyLocalization.ensureInitialized();
// await EasyLocalization.ensureInitialized();
getIt.registerSingleton<AppRouter>(AppRouter());

runApp(
AppWidget(),

/// Use https://lingohub.com/developers/supported-locales/language-designators-with-regions
/// Or https://www.contentstack.com/docs/developers/multilingual-content/list-of-supported-languages/
/// To find your language letters, and add the file letters below
EasyLocalization(
supportedLocales: const <Locale>[
Locale('cs', 'CZ'),
Locale('de', 'DE'),
Locale('en', 'GB'),
Locale('en', 'US'),
Locale('es', 'CO'),
Locale('es', 'MX'),
Locale('fr', 'BE'),
Locale('fr', 'CA'),
Locale('fr', 'FR'),
Locale('ge', 'GE'),
Locale('he', 'IL'),
Locale('hi', 'IN'),
Locale('hr', 'HR'),
Locale('id', 'ID'),
Locale('it', 'IT'),
Locale('ka', 'GE'),
Locale('nb', 'NO'),
Locale('pt', 'BR'),
Locale('ru', 'RU'),
Locale('te', 'IN'),
Locale('th', 'TH'),
Locale('zh', 'TW'),
],
path: 'assets/translations',
fallbackLocale: const Locale('en', 'US'),
child: AppWidget(),
),
// EasyLocalization(
// supportedLocales: const <Locale>[
// Locale('cs', 'CZ'),
// Locale('de', 'DE'),
// Locale('en', 'GB'),
// Locale('en', 'US'),
// Locale('es', 'CO'),
// Locale('es', 'MX'),
// Locale('fr', 'BE'),
// Locale('fr', 'CA'),
// Locale('fr', 'FR'),
// Locale('ge', 'GE'),
// Locale('he', 'IL'),
// Locale('hi', 'IN'),
// Locale('hr', 'HR'),
// Locale('id', 'ID'),
// Locale('it', 'IT'),
// Locale('ka', 'GE'),
// Locale('nb', 'NO'),
// Locale('pt', 'BR'),
// Locale('ru', 'RU'),
// Locale('te', 'IN'),
// Locale('th', 'TH'),
// Locale('zh', 'TW'),
// ],
// path: 'assets/translations',
// fallbackLocale: const Locale('en', 'US'),
// child: AppWidget(),
// ),
);
return unit;
}
2 changes: 1 addition & 1 deletion lib/presentation/atoms/button_atom.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class ButtonWidgetAtom extends StatelessWidget {
style: FilledButton.styleFrom().copyWith(
alignment: Alignment.center,
backgroundColor: disabled
? MaterialStateProperty.all(colorScheme.surfaceVariant)
? WidgetStateProperty.all(colorScheme.surfaceContainerHighest)
: null,
),
icon: Icon(icon),
Expand Down
1 change: 1 addition & 0 deletions lib/presentation/atoms/scene_atom.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore: depend_on_referenced_packages because this is our pacakge
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/connections_service.dart';
import 'package:cybearjinni/presentation/atoms/atoms.dart';
Expand Down
Loading

0 comments on commit 8827e3a

Please sign in to comment.