mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-15 09:45:22 +00:00
4scene
This commit is contained in:
@ -10,12 +10,12 @@
|
|||||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||||
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
|
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
|
||||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||||
611C662010675536F855E5CA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 490AAF90B8FBFCC5BA996845 /* Pods_RunnerTests.framework */; };
|
|
||||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||||
|
964EC64D4BABF3375BEBF6DE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB51EC18BE9E4FD7A688D262 /* Pods_RunnerTests.framework */; };
|
||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||||
D31283674D2826D7EF8E56BC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 25B37F5982CD6994FABA2CC1 /* Pods_Runner.framework */; };
|
CE9CA504D8FF2965F977B16B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 274C82CD6955A1499B0B1ECC /* Pods_Runner.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@ -42,24 +42,20 @@
|
|||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
01BAAF935356ECBDD35AF0DB /* Pods-RunnerTests.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-prod.xcconfig"; sourceTree = "<group>"; };
|
064BE0B8B723A6E30728B215 /* Pods-RunnerTests.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
12AD49A621BEBB053FD06115 /* Pods-Runner.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig"; sourceTree = "<group>"; };
|
0D60D6C4BBD804473BD9E4A0 /* Pods-RunnerTests.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||||
1F99043C7AC9BDABD8A4D41A /* Pods-Runner.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-dev.xcconfig"; sourceTree = "<group>"; };
|
2688A8D4C03F1C4585B3EFE2 /* Pods-Runner.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
210827A693936E5201C5E75C /* Pods-RunnerTests.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-dev.xcconfig"; sourceTree = "<group>"; };
|
274C82CD6955A1499B0B1ECC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
238CAAD9FFF9A0C9ED3CFAB2 /* Pods-RunnerTests.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-prod.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
25B37F5982CD6994FABA2CC1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
||||||
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||||
444D77D28A8CDF32047CD0AF /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
4F6A2F89436864C7EE769652 /* Pods-RunnerTests.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
490AAF90B8FBFCC5BA996845 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
54B9D4926B53AAFC49A54F19 /* Pods-Runner.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
5DE3E6D1EADE3D3859FC1B69 /* Pods-Runner.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-dev.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||||
949637473C534E1F68B19CC0 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
@ -67,16 +63,14 @@
|
|||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
9B82456986D7FA25420A224F /* Pods-Runner.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-prod.xcconfig"; sourceTree = "<group>"; };
|
9D1B204BC7CD29434FE9D537 /* Pods-Runner.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
A3D4DF5D9888DAC25E2380AA /* Pods-RunnerTests.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-dev.xcconfig"; sourceTree = "<group>"; };
|
C33EAABFBF3F560A8EFB0BC0 /* Pods-RunnerTests.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
AAC9129FD50E64509AD1B9AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
E0A467016A4C6B17ECA05534 /* Pods-Runner.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
BFD4DDED98208034B60B5311 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
E2512B7B8C737577EB9DB570 /* Pods-RunnerTests.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
C41134CD2FDFC1A2BDF49283 /* Pods-Runner.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-dev.xcconfig"; sourceTree = "<group>"; };
|
F5E8A17F8AB7D50983179FD3 /* Pods-Runner.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-dev.xcconfig"; sourceTree = "<group>"; };
|
||||||
C5DBBF9417E4F8A9A08DFF02 /* Pods-RunnerTests.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-prod.xcconfig"; sourceTree = "<group>"; };
|
FA2359C69B2F150BE9833D5A /* Pods-RunnerTests.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
D0F6245A5BF345FCC425515C /* Pods-Runner.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-prod.xcconfig"; sourceTree = "<group>"; };
|
FB51EC18BE9E4FD7A688D262 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
DFB6BB492A265F2BF6FDC8C0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
FC3EFA91747319965EF91609 /* Pods-Runner.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-prod.xcconfig"; sourceTree = "<group>"; };
|
||||||
EE971EFEA60AEDFDB361D9A3 /* Pods-RunnerTests.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-dev.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
F323D632CA976B68DDB0E669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -84,7 +78,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
D31283674D2826D7EF8E56BC /* Pods_Runner.framework in Frameworks */,
|
CE9CA504D8FF2965F977B16B /* Pods_Runner.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -92,7 +86,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
611C662010675536F855E5CA /* Pods_RunnerTests.framework in Frameworks */,
|
964EC64D4BABF3375BEBF6DE /* Pods_RunnerTests.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -102,24 +96,18 @@
|
|||||||
2F70EB4341A83C900EB253DC /* Pods */ = {
|
2F70EB4341A83C900EB253DC /* Pods */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
BFD4DDED98208034B60B5311 /* Pods-Runner.debug.xcconfig */,
|
FC3EFA91747319965EF91609 /* Pods-Runner.debug-prod.xcconfig */,
|
||||||
949637473C534E1F68B19CC0 /* Pods-Runner.release.xcconfig */,
|
F5E8A17F8AB7D50983179FD3 /* Pods-Runner.debug-dev.xcconfig */,
|
||||||
444D77D28A8CDF32047CD0AF /* Pods-Runner.profile.xcconfig */,
|
54B9D4926B53AAFC49A54F19 /* Pods-Runner.release-prod.xcconfig */,
|
||||||
DFB6BB492A265F2BF6FDC8C0 /* Pods-RunnerTests.debug.xcconfig */,
|
2688A8D4C03F1C4585B3EFE2 /* Pods-Runner.release-dev.xcconfig */,
|
||||||
F323D632CA976B68DDB0E669 /* Pods-RunnerTests.release.xcconfig */,
|
E0A467016A4C6B17ECA05534 /* Pods-Runner.profile-prod.xcconfig */,
|
||||||
AAC9129FD50E64509AD1B9AF /* Pods-RunnerTests.profile.xcconfig */,
|
9D1B204BC7CD29434FE9D537 /* Pods-Runner.profile-dev.xcconfig */,
|
||||||
9B82456986D7FA25420A224F /* Pods-Runner.debug-prod.xcconfig */,
|
FA2359C69B2F150BE9833D5A /* Pods-RunnerTests.debug-prod.xcconfig */,
|
||||||
5DE3E6D1EADE3D3859FC1B69 /* Pods-Runner.debug-dev.xcconfig */,
|
E2512B7B8C737577EB9DB570 /* Pods-RunnerTests.debug-dev.xcconfig */,
|
||||||
12AD49A621BEBB053FD06115 /* Pods-Runner.release-prod.xcconfig */,
|
064BE0B8B723A6E30728B215 /* Pods-RunnerTests.release-prod.xcconfig */,
|
||||||
C41134CD2FDFC1A2BDF49283 /* Pods-Runner.release-dev.xcconfig */,
|
C33EAABFBF3F560A8EFB0BC0 /* Pods-RunnerTests.release-dev.xcconfig */,
|
||||||
D0F6245A5BF345FCC425515C /* Pods-Runner.profile-prod.xcconfig */,
|
0D60D6C4BBD804473BD9E4A0 /* Pods-RunnerTests.profile-prod.xcconfig */,
|
||||||
1F99043C7AC9BDABD8A4D41A /* Pods-Runner.profile-dev.xcconfig */,
|
4F6A2F89436864C7EE769652 /* Pods-RunnerTests.profile-dev.xcconfig */,
|
||||||
01BAAF935356ECBDD35AF0DB /* Pods-RunnerTests.debug-prod.xcconfig */,
|
|
||||||
EE971EFEA60AEDFDB361D9A3 /* Pods-RunnerTests.debug-dev.xcconfig */,
|
|
||||||
C5DBBF9417E4F8A9A08DFF02 /* Pods-RunnerTests.release-prod.xcconfig */,
|
|
||||||
A3D4DF5D9888DAC25E2380AA /* Pods-RunnerTests.release-dev.xcconfig */,
|
|
||||||
238CAAD9FFF9A0C9ED3CFAB2 /* Pods-RunnerTests.profile-prod.xcconfig */,
|
|
||||||
210827A693936E5201C5E75C /* Pods-RunnerTests.profile-dev.xcconfig */,
|
|
||||||
);
|
);
|
||||||
path = Pods;
|
path = Pods;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -132,11 +120,11 @@
|
|||||||
path = RunnerTests;
|
path = RunnerTests;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
876D3217A8BBDAF41961161F /* Frameworks */ = {
|
61B46FA3FB0932D29E3C6E47 /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
25B37F5982CD6994FABA2CC1 /* Pods_Runner.framework */,
|
274C82CD6955A1499B0B1ECC /* Pods_Runner.framework */,
|
||||||
490AAF90B8FBFCC5BA996845 /* Pods_RunnerTests.framework */,
|
FB51EC18BE9E4FD7A688D262 /* Pods_RunnerTests.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -160,7 +148,7 @@
|
|||||||
97C146EF1CF9000F007C117D /* Products */,
|
97C146EF1CF9000F007C117D /* Products */,
|
||||||
331C8082294A63A400263BE5 /* RunnerTests */,
|
331C8082294A63A400263BE5 /* RunnerTests */,
|
||||||
2F70EB4341A83C900EB253DC /* Pods */,
|
2F70EB4341A83C900EB253DC /* Pods */,
|
||||||
876D3217A8BBDAF41961161F /* Frameworks */,
|
61B46FA3FB0932D29E3C6E47 /* Frameworks */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
@ -195,7 +183,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
3B971DE531245D7FD2921C30 /* [CP] Check Pods Manifest.lock */,
|
73698F4EABFF3F9B7ADF4220 /* [CP] Check Pods Manifest.lock */,
|
||||||
331C807D294A63A400263BE5 /* Sources */,
|
331C807D294A63A400263BE5 /* Sources */,
|
||||||
331C807F294A63A400263BE5 /* Resources */,
|
331C807F294A63A400263BE5 /* Resources */,
|
||||||
C2B33A7265AF659D80692473 /* Frameworks */,
|
C2B33A7265AF659D80692473 /* Frameworks */,
|
||||||
@ -214,7 +202,7 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
3DC878D0674AA34AEC9695FB /* [CP] Check Pods Manifest.lock */,
|
BF71A0E0099ADA10FE9B580A /* [CP] Check Pods Manifest.lock */,
|
||||||
9740EEB61CF901F6004384FC /* Run Script */,
|
9740EEB61CF901F6004384FC /* Run Script */,
|
||||||
B07E4A152C9B8EA4001F6910 /* copy GoogleService.plist file to the correct location */,
|
B07E4A152C9B8EA4001F6910 /* copy GoogleService.plist file to the correct location */,
|
||||||
97C146EA1CF9000F007C117D /* Sources */,
|
97C146EA1CF9000F007C117D /* Sources */,
|
||||||
@ -222,9 +210,9 @@
|
|||||||
97C146EC1CF9000F007C117D /* Resources */,
|
97C146EC1CF9000F007C117D /* Resources */,
|
||||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||||
315A05630CF83C532DBBCBF2 /* [CP] Embed Pods Frameworks */,
|
|
||||||
3724F7A126D8469D5B04D144 /* [CP] Copy Pods Resources */,
|
|
||||||
4768286A3BADB12BBB8C6996 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */,
|
4768286A3BADB12BBB8C6996 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */,
|
||||||
|
6CF71F42A45B39E9945C8410 /* [CP] Embed Pods Frameworks */,
|
||||||
|
14DF593CA13D27D3781140F6 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -296,24 +284,7 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
315A05630CF83C532DBBCBF2 /* [CP] Embed Pods Frameworks */ = {
|
14DF593CA13D27D3781140F6 /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputFileListPaths = (
|
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
3724F7A126D8469D5B04D144 /* [CP] Copy Pods Resources */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -346,7 +317,42 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||||
};
|
};
|
||||||
3B971DE531245D7FD2921C30 /* [CP] Check Pods Manifest.lock */ = {
|
4768286A3BADB12BBB8C6996 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\"";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n";
|
||||||
|
};
|
||||||
|
6CF71F42A45B39E9945C8410 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputFileListPaths = (
|
||||||
|
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
73698F4EABFF3F9B7ADF4220 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@ -368,46 +374,6 @@
|
|||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
3DC878D0674AA34AEC9695FB /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
||||||
"${PODS_ROOT}/Manifest.lock",
|
|
||||||
);
|
|
||||||
name = "[CP] Check Pods Manifest.lock";
|
|
||||||
outputFileListPaths = (
|
|
||||||
);
|
|
||||||
outputPaths = (
|
|
||||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
4768286A3BADB12BBB8C6996 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\"";
|
|
||||||
outputFileListPaths = (
|
|
||||||
);
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n";
|
|
||||||
};
|
|
||||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
alwaysOutOfDate = 1;
|
alwaysOutOfDate = 1;
|
||||||
@ -441,6 +407,28 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "# Get a reference to the destination location for the GoogleService-Info.plist\n# This is the default location where Firebase init code expects to find GoogleServices-Info.plist file.\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\n# We have named our Build Configurations as Debug-dev, Debug-prod etc.\n# Here, dev and prod are the scheme names. This kind of naming is required by Flutter for flavors to work.\n# We are using the $CONFIGURATION variable available in the XCode build environment to get the build configuration.\nif [ \"${CONFIGURATION}\" == \"Debug-prod\" ] || [ \"${CONFIGURATION}\" == \"Release-prod\" ] || [ \"${CONFIGURATION}\" == \"Profile-prod\" ] || [ \"${CONFIGURATION}\" == \"Release\" ]; then\ncp \"${PROJECT_DIR}/config/prod/GoogleService-Info.plist\" \"${PLIST_DESTINATION}/GoogleService-Info.plist\"\necho \"Production plist copied\"\nelif [ \"${CONFIGURATION}\" == \"Debug-dev\" ] || [ \"${CONFIGURATION}\" == \"Release-dev\" ] || [ \"${CONFIGURATION}\" == \"Profile-dev\" ] || [ \"${CONFIGURATION}\" == \"Debug\" ]; then\ncp \"${PROJECT_DIR}/config/dev/GoogleService-Info.plist\" \"${PLIST_DESTINATION}/GoogleService-Info.plist\"\necho \"Development plist copied\"\nfi\n";
|
shellScript = "# Get a reference to the destination location for the GoogleService-Info.plist\n# This is the default location where Firebase init code expects to find GoogleServices-Info.plist file.\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\n# We have named our Build Configurations as Debug-dev, Debug-prod etc.\n# Here, dev and prod are the scheme names. This kind of naming is required by Flutter for flavors to work.\n# We are using the $CONFIGURATION variable available in the XCode build environment to get the build configuration.\nif [ \"${CONFIGURATION}\" == \"Debug-prod\" ] || [ \"${CONFIGURATION}\" == \"Release-prod\" ] || [ \"${CONFIGURATION}\" == \"Profile-prod\" ] || [ \"${CONFIGURATION}\" == \"Release\" ]; then\ncp \"${PROJECT_DIR}/config/prod/GoogleService-Info.plist\" \"${PLIST_DESTINATION}/GoogleService-Info.plist\"\necho \"Production plist copied\"\nelif [ \"${CONFIGURATION}\" == \"Debug-dev\" ] || [ \"${CONFIGURATION}\" == \"Release-dev\" ] || [ \"${CONFIGURATION}\" == \"Profile-dev\" ] || [ \"${CONFIGURATION}\" == \"Debug\" ]; then\ncp \"${PROJECT_DIR}/config/dev/GoogleService-Info.plist\" \"${PLIST_DESTINATION}/GoogleService-Info.plist\"\necho \"Development plist copied\"\nfi\n";
|
||||||
};
|
};
|
||||||
|
BF71A0E0099ADA10FE9B580A /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||||
|
"${PODS_ROOT}/Manifest.lock",
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
@ -575,7 +563,7 @@
|
|||||||
};
|
};
|
||||||
331C8088294A63A400263BE5 /* Debug-prod */ = {
|
331C8088294A63A400263BE5 /* Debug-prod */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 01BAAF935356ECBDD35AF0DB /* Pods-RunnerTests.debug-prod.xcconfig */;
|
baseConfigurationReference = FA2359C69B2F150BE9833D5A /* Pods-RunnerTests.debug-prod.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -593,7 +581,7 @@
|
|||||||
};
|
};
|
||||||
331C8089294A63A400263BE5 /* Release-prod */ = {
|
331C8089294A63A400263BE5 /* Release-prod */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = C5DBBF9417E4F8A9A08DFF02 /* Pods-RunnerTests.release-prod.xcconfig */;
|
baseConfigurationReference = 064BE0B8B723A6E30728B215 /* Pods-RunnerTests.release-prod.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -609,7 +597,7 @@
|
|||||||
};
|
};
|
||||||
331C808A294A63A400263BE5 /* Profile-prod */ = {
|
331C808A294A63A400263BE5 /* Profile-prod */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 238CAAD9FFF9A0C9ED3CFAB2 /* Pods-RunnerTests.profile-prod.xcconfig */;
|
baseConfigurationReference = 0D60D6C4BBD804473BD9E4A0 /* Pods-RunnerTests.profile-prod.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -885,7 +873,7 @@
|
|||||||
};
|
};
|
||||||
B07E4A0E2C9B8C45001F6910 /* Debug-dev */ = {
|
B07E4A0E2C9B8C45001F6910 /* Debug-dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = EE971EFEA60AEDFDB361D9A3 /* Pods-RunnerTests.debug-dev.xcconfig */;
|
baseConfigurationReference = E2512B7B8C737577EB9DB570 /* Pods-RunnerTests.debug-dev.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -987,7 +975,7 @@
|
|||||||
};
|
};
|
||||||
B07E4A112C9B8C52001F6910 /* Release-dev */ = {
|
B07E4A112C9B8C52001F6910 /* Release-dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = A3D4DF5D9888DAC25E2380AA /* Pods-RunnerTests.release-dev.xcconfig */;
|
baseConfigurationReference = C33EAABFBF3F560A8EFB0BC0 /* Pods-RunnerTests.release-dev.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -1085,7 +1073,7 @@
|
|||||||
};
|
};
|
||||||
B07E4A142C9B8C5C001F6910 /* Profile-dev */ = {
|
B07E4A142C9B8C5C001F6910 /* Profile-dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 210827A693936E5201C5E75C /* Pods-RunnerTests.profile-dev.xcconfig */;
|
baseConfigurationReference = 4F6A2F89436864C7EE769652 /* Pods-RunnerTests.profile-dev.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:dio/dio.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:syncrow_app/features/devices/bloc/four_scene_bloc/four_scene_event.dart';
|
import 'package:syncrow_app/features/devices/bloc/four_scene_bloc/four_scene_event.dart';
|
||||||
@ -27,9 +26,8 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
FourSceneBloc({
|
FourSceneBloc({
|
||||||
required this.fourSceneId,
|
required this.fourSceneId,
|
||||||
}) : super(const FourSceneState()) {
|
}) : super(const FourSceneState()) {
|
||||||
on<FourSceneInitial>(_fetchStatus);
|
on<FourSceneInitial>(_fetchDeviceStatus);
|
||||||
on<FourSceneInitialInfo>(fetchDeviceData);
|
on<FourSceneInitialInfo>(fetchDeviceInfo);
|
||||||
on<ReportLogsInitial>(fetchLogsForLastMonth);
|
|
||||||
on<SaveNameEvent>(saveName);
|
on<SaveNameEvent>(saveName);
|
||||||
on<ToggleNotificationEvent>(_toggleNotification);
|
on<ToggleNotificationEvent>(_toggleNotification);
|
||||||
on<ChangeNameEvent>(_changeName);
|
on<ChangeNameEvent>(_changeName);
|
||||||
@ -47,6 +45,8 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
on<FetchDeviceScene>(_fetchDeviceScene);
|
on<FetchDeviceScene>(_fetchDeviceScene);
|
||||||
on<ControlDeviceScene>(_controlDevice);
|
on<ControlDeviceScene>(_controlDevice);
|
||||||
on<FourSceneSwitchInitial>(_fetchFourSceneSwitches);
|
on<FourSceneSwitchInitial>(_fetchFourSceneSwitches);
|
||||||
|
on<AssignDeviceScene>(assignScene);
|
||||||
|
on<GetSceneBySwitchName>(getSceneByName);
|
||||||
}
|
}
|
||||||
|
|
||||||
final TextEditingController nameController =
|
final TextEditingController nameController =
|
||||||
@ -99,7 +99,7 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
subspaceName: "",
|
subspaceName: "",
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
String sceneId = '';
|
||||||
Future<void> saveName(
|
Future<void> saveName(
|
||||||
SaveNameEvent event, Emitter<FourSceneState> emit) async {
|
SaveNameEvent event, Emitter<FourSceneState> emit) async {
|
||||||
if (_validateInputs()) return;
|
if (_validateInputs()) return;
|
||||||
@ -125,27 +125,36 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
FourSceneSwitchInitial event, Emitter<FourSceneState> emit) async {
|
FourSceneSwitchInitial event, Emitter<FourSceneState> emit) async {
|
||||||
emit(FourSceneLoadingState());
|
emit(FourSceneLoadingState());
|
||||||
try {
|
try {
|
||||||
List<dynamic> response = await DevicesAPI.getFourSceneInfo(fourSceneId);
|
var response = await DevicesAPI.getFourSceneInfo(fourSceneId);
|
||||||
fourScene =
|
Map<String, String> sceneTitles = {
|
||||||
response.map((item) => FourSceneSwitchModel.fromJson(item)).toList();
|
"scene_1": '',
|
||||||
_rankFourSceneSwitches();
|
"scene_2": '',
|
||||||
|
"scene_3": '',
|
||||||
|
"scene_4": ''
|
||||||
|
};
|
||||||
|
for (var item in response) {
|
||||||
|
if (item["switchName"] != null) {
|
||||||
|
sceneTitles[item["switchName"]] = item["scene"]["name"] ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print('object======4${response}');
|
||||||
|
|
||||||
|
FourSceneModelState deviceStatus = FourSceneModelState(
|
||||||
|
scene_1: sceneTitles["scene_1"] ?? '',
|
||||||
|
scene_2: sceneTitles["scene_2"] ?? '',
|
||||||
|
scene_3: sceneTitles["scene_3"] ?? '',
|
||||||
|
scene_4: sceneTitles["scene_4"] ?? '',
|
||||||
|
scene_id_group_id: '',
|
||||||
|
switch_backlight: '',
|
||||||
|
);
|
||||||
emit(UpdateState(device: deviceStatus));
|
emit(UpdateState(device: deviceStatus));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(FourSceneFailedState(errorMessage: e.toString()));
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _rankFourSceneSwitches() {
|
void _fetchDeviceStatus(
|
||||||
const switchOrder = ['scene_1', 'scene_2', 'scene_3', 'scene_4'];
|
|
||||||
fourScene.sort((a, b) {
|
|
||||||
return switchOrder
|
|
||||||
.indexOf(a.switchName)
|
|
||||||
.compareTo(switchOrder.indexOf(b.switchName));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void _fetchStatus(
|
|
||||||
FourSceneInitial event, Emitter<FourSceneState> emit) async {
|
FourSceneInitial event, Emitter<FourSceneState> emit) async {
|
||||||
emit(FourSceneLoadingState());
|
emit(FourSceneLoadingState());
|
||||||
try {
|
try {
|
||||||
@ -157,15 +166,41 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
deviceStatus = FourSceneModelState.fromJson(
|
deviceStatus = FourSceneModelState.fromJson(
|
||||||
statusModelList,
|
statusModelList,
|
||||||
);
|
);
|
||||||
emit(UpdateState(device: deviceStatus));
|
add(const FourSceneSwitchInitial());
|
||||||
Future.delayed(const Duration(milliseconds: 500));
|
|
||||||
// _listenToChanges();
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(FourSceneFailedState(errorMessage: e.toString()));
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void assignScene(
|
||||||
|
AssignDeviceScene event, Emitter<FourSceneState> emit) async {
|
||||||
|
emit(FourSceneLoadingState());
|
||||||
|
try {
|
||||||
|
final response = await DevicesAPI.postFourSceneInfo(
|
||||||
|
deviceId: fourSceneId,
|
||||||
|
sceneUuid: event.sceneUuid,
|
||||||
|
spaceUuid: event.unit!.id,
|
||||||
|
switchName: event.switchName);
|
||||||
|
emit(SaveSelectionSuccessState());
|
||||||
|
} catch (e) {
|
||||||
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void getSceneByName(
|
||||||
|
GetSceneBySwitchName event, Emitter<FourSceneState> emit) async {
|
||||||
|
emit(FourSceneLoadingState());
|
||||||
|
try {
|
||||||
|
final response = await DevicesAPI.getSceneBySwitchName(
|
||||||
|
deviceId: fourSceneId, switchName: event.switchName);
|
||||||
|
sceneId = response['scene']['uuid'];
|
||||||
|
emit(SaveSelectionSuccessState());
|
||||||
|
} catch (e) {
|
||||||
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _fetchDeviceScene(
|
void _fetchDeviceScene(
|
||||||
FetchDeviceScene event, Emitter<FourSceneState> emit) async {
|
FetchDeviceScene event, Emitter<FourSceneState> emit) async {
|
||||||
emit(FourSceneLoadingState());
|
emit(FourSceneLoadingState());
|
||||||
@ -180,7 +215,6 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
);
|
);
|
||||||
emit(UpdateState(device: deviceStatus));
|
emit(UpdateState(device: deviceStatus));
|
||||||
Future.delayed(const Duration(milliseconds: 500));
|
Future.delayed(const Duration(milliseconds: 500));
|
||||||
// _listenToChanges();
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(FourSceneFailedState(errorMessage: e.toString()));
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
return;
|
return;
|
||||||
@ -208,13 +242,17 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future fetchDeviceData(
|
Future fetchDeviceInfo(
|
||||||
FourSceneInitialInfo event, Emitter<FourSceneState> emit) async {
|
FourSceneInitialInfo event, Emitter<FourSceneState> emit) async {
|
||||||
emit(FourSceneLoadingState());
|
try {
|
||||||
var response = await DevicesAPI.getDeviceInfo(fourSceneId);
|
emit(FourSceneLoadingState());
|
||||||
deviceInfo = SceneSwitch.fromJson(response);
|
var response = await DevicesAPI.getDeviceInfo(fourSceneId);
|
||||||
deviceName = deviceInfo.name;
|
deviceInfo = SceneSwitch.fromJson(response);
|
||||||
emit(LoadingDeviceInfo(deviceInfo: deviceInfo));
|
deviceName = deviceInfo.name;
|
||||||
|
emit(LoadingDeviceInfo(deviceInfo: deviceInfo));
|
||||||
|
} catch (e) {
|
||||||
|
emit(FourSceneFailedState(errorMessage: e.toString()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onSearchFaq(SearchFaqEvent event, Emitter<FourSceneState> emit) {
|
void _onSearchFaq(SearchFaqEvent event, Emitter<FourSceneState> emit) {
|
||||||
@ -263,29 +301,6 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
DeviceReport recordGroups =
|
DeviceReport recordGroups =
|
||||||
DeviceReport(startTime: '0', endTime: '0', data: []);
|
DeviceReport(startTime: '0', endTime: '0', data: []);
|
||||||
|
|
||||||
Future<void> fetchLogsForLastMonth(
|
|
||||||
ReportLogsInitial event, Emitter<FourSceneState> emit) async {
|
|
||||||
DateTime now = DateTime.now();
|
|
||||||
DateTime lastMonth = DateTime(now.year, now.month - 1, now.day);
|
|
||||||
int startTime = lastMonth.millisecondsSinceEpoch;
|
|
||||||
int endTime = now.millisecondsSinceEpoch;
|
|
||||||
try {
|
|
||||||
emit(FourSceneLoadingState());
|
|
||||||
var response = await DevicesAPI.getReportLogs(
|
|
||||||
startTime: startTime.toString(),
|
|
||||||
endTime: endTime.toString(),
|
|
||||||
deviceUuid: fourSceneId,
|
|
||||||
code: 'sossensor_state',
|
|
||||||
);
|
|
||||||
recordGroups = response;
|
|
||||||
emit(UpdateState(device: deviceStatus));
|
|
||||||
} on DioException catch (e) {
|
|
||||||
final errorData = e.response!.data;
|
|
||||||
String errorMessage = errorData['message'];
|
|
||||||
emit(FourSceneFailedState(errorMessage: e.toString()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final List<FourSceneQuestionModel> faqQuestions = [
|
final List<FourSceneQuestionModel> faqQuestions = [
|
||||||
FourSceneQuestionModel(
|
FourSceneQuestionModel(
|
||||||
id: 1,
|
id: 1,
|
||||||
@ -487,18 +502,11 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
|
|||||||
if (value == null) return 'name is required';
|
if (value == null) return 'name is required';
|
||||||
final withoutExtraSpaces = value.replaceAll(RegExp(r"\s+"), ' ').trim();
|
final withoutExtraSpaces = value.replaceAll(RegExp(r"\s+"), ' ').trim();
|
||||||
if (withoutExtraSpaces.length < 2 || withoutExtraSpaces.length > 30) {
|
if (withoutExtraSpaces.length < 2 || withoutExtraSpaces.length > 30) {
|
||||||
return 'Full name must be between 2 and 30 characters long';
|
return 'name must be between 2 and 30 characters long';
|
||||||
}
|
}
|
||||||
// Test if it contains anything but alphanumeric spaces and single quote
|
|
||||||
if (RegExp(r"/[^ a-zA-Z0-9-\']/").hasMatch(withoutExtraSpaces)) {
|
if (RegExp(r"/[^ a-zA-Z0-9-\']/").hasMatch(withoutExtraSpaces)) {
|
||||||
return 'Only alphanumeric characters, space, dash and single quote are allowed';
|
return 'Only alphanumeric characters, space, dash and single quote are allowed';
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
String scene1 = 'scene_1';
|
|
||||||
String scene2 = 'scene_2';
|
|
||||||
String scene3 = 'scene_3';
|
|
||||||
String scene4 = 'scene_4';
|
|
||||||
}
|
}
|
||||||
|
@ -212,3 +212,20 @@ class ControlDeviceScene extends FourSceneEvent {
|
|||||||
class FourSceneSwitchInitial extends FourSceneEvent {
|
class FourSceneSwitchInitial extends FourSceneEvent {
|
||||||
const FourSceneSwitchInitial();
|
const FourSceneSwitchInitial();
|
||||||
}
|
}
|
||||||
|
class SaveSelectionSceneEvent extends FourSceneEvent {
|
||||||
|
const SaveSelectionSceneEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
class AssignDeviceScene extends FourSceneEvent {
|
||||||
|
final String? sceneUuid;
|
||||||
|
final String? switchName;
|
||||||
|
final SpaceModel? unit;
|
||||||
|
const AssignDeviceScene({this.sceneUuid, this.unit,this.switchName});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class GetSceneBySwitchName extends FourSceneEvent {
|
||||||
|
final String? switchName;
|
||||||
|
|
||||||
|
const GetSceneBySwitchName({this.switchName});
|
||||||
|
}
|
@ -54,7 +54,7 @@ class LoadingNewSate extends FourSceneState {
|
|||||||
class NameEditingState extends FourSceneState {
|
class NameEditingState extends FourSceneState {
|
||||||
final bool editName;
|
final bool editName;
|
||||||
|
|
||||||
NameEditingState({required this.editName});
|
const NameEditingState({required this.editName});
|
||||||
}
|
}
|
||||||
|
|
||||||
class FaqLoadedState extends FourSceneState {
|
class FaqLoadedState extends FourSceneState {
|
||||||
@ -97,6 +97,7 @@ class SceneLoaded extends FourSceneState {
|
|||||||
class SelectedSceneState extends FourSceneState {}
|
class SelectedSceneState extends FourSceneState {}
|
||||||
|
|
||||||
class SearchResultsState extends FourSceneState {}
|
class SearchResultsState extends FourSceneState {}
|
||||||
|
|
||||||
class SaveState extends FourSceneState {}
|
class SaveState extends FourSceneState {}
|
||||||
|
|
||||||
class SaveSelectionSuccessState extends FourSceneState {}
|
class SaveSelectionSuccessState extends FourSceneState {}
|
||||||
@ -114,11 +115,10 @@ class OptionSelectedState extends FourSceneState {
|
|||||||
List<Object> get props => [selectedOption, hasSelectionChanged];
|
List<Object> get props => [selectedOption, hasSelectionChanged];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class LoadingDeviceInfo extends FourSceneState {
|
class LoadingDeviceInfo extends FourSceneState {
|
||||||
final SceneSwitch deviceInfo;
|
final SceneSwitch deviceInfo;
|
||||||
const LoadingDeviceInfo({required this.deviceInfo});
|
const LoadingDeviceInfo({required this.deviceInfo});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object> get props => [deviceInfo];
|
List<Object> get props => [deviceInfo];
|
||||||
}
|
}
|
||||||
|
@ -7,19 +7,25 @@ import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
|||||||
class SelectSwitchDialog extends StatefulWidget {
|
class SelectSwitchDialog extends StatefulWidget {
|
||||||
final Function()? cancelTab;
|
final Function()? cancelTab;
|
||||||
final Function()? confirmTab;
|
final Function()? confirmTab;
|
||||||
|
String? switch1Title;
|
||||||
const SelectSwitchDialog({
|
String? switch2Title;
|
||||||
super.key,
|
String? switch3Title;
|
||||||
required this.cancelTab,
|
String? switch4Title;
|
||||||
required this.confirmTab,
|
SelectSwitchDialog(
|
||||||
});
|
{super.key,
|
||||||
|
required this.cancelTab,
|
||||||
|
required this.confirmTab,
|
||||||
|
this.switch1Title,
|
||||||
|
this.switch2Title,
|
||||||
|
this.switch3Title,
|
||||||
|
this.switch4Title});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<SelectSwitchDialog> createState() => _SelectSwitchDialogState();
|
State<SelectSwitchDialog> createState() => _SelectSwitchDialogState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _SelectSwitchDialogState extends State<SelectSwitchDialog> {
|
class _SelectSwitchDialogState extends State<SelectSwitchDialog> {
|
||||||
int? selectedSwitchIndex = 0; // State variable to track selected switch
|
int? selectedSwitchIndex = 0;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -44,6 +50,10 @@ class _SelectSwitchDialogState extends State<SelectSwitchDialog> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
SwitchsCard(
|
SwitchsCard(
|
||||||
|
switch1Title: widget.switch1Title,
|
||||||
|
switch2Title: widget.switch2Title,
|
||||||
|
switch3Title: widget.switch3Title,
|
||||||
|
switch4Title: widget.switch4Title,
|
||||||
switch1Down: selectedSwitchIndex == -1
|
switch1Down: selectedSwitchIndex == -1
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
@ -56,7 +66,6 @@ class _SelectSwitchDialogState extends State<SelectSwitchDialog> {
|
|||||||
switch2Up: selectedSwitchIndex == 2
|
switch2Up: selectedSwitchIndex == 2
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
|
|
||||||
onSwitch1UpTap: () {
|
onSwitch1UpTap: () {
|
||||||
setState(() => selectedSwitchIndex = 1);
|
setState(() => selectedSwitchIndex = 1);
|
||||||
},
|
},
|
||||||
@ -69,8 +78,6 @@ class _SelectSwitchDialogState extends State<SelectSwitchDialog> {
|
|||||||
onSwitch2DownTap: () {
|
onSwitch2DownTap: () {
|
||||||
setState(() => selectedSwitchIndex = -2);
|
setState(() => selectedSwitchIndex = -2);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -70,6 +70,10 @@ class SixSceneScreen extends StatelessWidget {
|
|||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
SwitchsCard(
|
SwitchsCard(
|
||||||
|
// switch1Title: ,
|
||||||
|
// switch2Title: ,
|
||||||
|
// switch3Title: ,
|
||||||
|
// switch4Title: ,
|
||||||
switch1Down: sensor.switchStatus == true
|
switch1Down: sensor.switchStatus == true
|
||||||
? Assets.switchOn
|
? Assets.switchOn
|
||||||
: Assets.switchOff,
|
: Assets.switchOff,
|
||||||
@ -95,7 +99,6 @@ class SixSceneScreen extends StatelessWidget {
|
|||||||
onSwitch2DownTap: () {
|
onSwitch2DownTap: () {
|
||||||
debugPrint("Switch 2 Down tapped");
|
debugPrint("Switch 2 Down tapped");
|
||||||
},
|
},
|
||||||
|
|
||||||
),
|
),
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Row(
|
child: Row(
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
|
||||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||||
|
|
||||||
class SwitchsCard extends StatelessWidget {
|
class SwitchsCard extends StatelessWidget {
|
||||||
|
final String? switch1Title;
|
||||||
|
final String? switch2Title;
|
||||||
|
final String? switch3Title;
|
||||||
|
final String? switch4Title;
|
||||||
|
|
||||||
final String switch1Up;
|
final String switch1Up;
|
||||||
final String switch1Down;
|
final String switch1Down;
|
||||||
final String switch2Up;
|
final String switch2Up;
|
||||||
@ -22,6 +28,10 @@ class SwitchsCard extends StatelessWidget {
|
|||||||
required this.onSwitch1DownTap,
|
required this.onSwitch1DownTap,
|
||||||
required this.onSwitch2UpTap,
|
required this.onSwitch2UpTap,
|
||||||
required this.onSwitch2DownTap,
|
required this.onSwitch2DownTap,
|
||||||
|
this.switch1Title,
|
||||||
|
this.switch2Title,
|
||||||
|
this.switch3Title,
|
||||||
|
this.switch4Title,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -74,12 +84,22 @@ class SwitchsCard extends StatelessWidget {
|
|||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
children: [
|
children: [
|
||||||
// Switch 1
|
// Switch 1
|
||||||
_buildSwitchColumn(switch1Up, switch1Down,
|
_buildSwitchColumn(
|
||||||
onSwitch1UpTap, onSwitch1DownTap),
|
switchUp: switch1Up,
|
||||||
|
switchDown: switch1Down,
|
||||||
|
onUpTap: onSwitch1UpTap,
|
||||||
|
onDownTap: onSwitch1DownTap,
|
||||||
|
titleDown: switch3Title!,
|
||||||
|
titleUp: switch1Title!),
|
||||||
_buildDivider(),
|
_buildDivider(),
|
||||||
// Switch 2
|
// Switch 2
|
||||||
_buildSwitchColumn(switch2Up, switch2Down,
|
_buildSwitchColumn(
|
||||||
onSwitch2UpTap, onSwitch2DownTap),
|
switchUp: switch2Up,
|
||||||
|
switchDown: switch2Down,
|
||||||
|
onDownTap: onSwitch2UpTap,
|
||||||
|
onUpTap: onSwitch2DownTap,
|
||||||
|
titleDown: switch4Title!,
|
||||||
|
titleUp: switch2Title!),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -92,33 +112,49 @@ class SwitchsCard extends StatelessWidget {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildSwitchColumn(
|
Widget _buildSwitchColumn({
|
||||||
String switchUp,
|
String switchUp = '',
|
||||||
String switchDown,
|
String titleUp = '',
|
||||||
VoidCallback onUpTap,
|
String titleDown = '',
|
||||||
VoidCallback onDownTap,
|
String switchDown = '',
|
||||||
) {
|
VoidCallback? onUpTap,
|
||||||
|
VoidCallback? onDownTap,
|
||||||
|
}) {
|
||||||
return Expanded(
|
return Expanded(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(top: 30, bottom: 30),
|
padding: const EdgeInsets.only(top: 30, bottom: 30),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
InkWell(
|
Column(
|
||||||
onTap: onUpTap,
|
children: [
|
||||||
child: Container(
|
InkWell(
|
||||||
height: 20,
|
onTap: onUpTap,
|
||||||
width: 20,
|
child: Container(
|
||||||
child: SvgPicture.asset(switchUp),
|
height: 20,
|
||||||
),
|
width: 20,
|
||||||
|
child: SvgPicture.asset(switchUp),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
BodySmall(
|
||||||
|
text: titleUp,
|
||||||
|
)
|
||||||
|
],
|
||||||
),
|
),
|
||||||
InkWell(
|
Column(
|
||||||
onTap: onDownTap,
|
children: [
|
||||||
child: Container(
|
InkWell(
|
||||||
height: 20,
|
onTap: onDownTap,
|
||||||
width: 20,
|
child: Container(
|
||||||
child: SvgPicture.asset(switchDown),
|
height: 20,
|
||||||
),
|
width: 20,
|
||||||
|
child: SvgPicture.asset(switchDown),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
BodySmall(
|
||||||
|
text: titleDown,
|
||||||
|
)
|
||||||
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -77,18 +77,10 @@ class FourSceneScreen extends StatelessWidget {
|
|||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
FourSwitchsCard(
|
FourSwitchsCard(
|
||||||
title1: _bloc.fourScene.isNotEmpty
|
title1: model.scene_1,
|
||||||
? _bloc.fourScene[0].scene.name
|
title2: model.scene_2,
|
||||||
: '',
|
title3: model.scene_3,
|
||||||
title2: _bloc.fourScene.length > 1
|
title4: model.scene_4,
|
||||||
? _bloc.fourScene[0].scene.name
|
|
||||||
: '',
|
|
||||||
title3: _bloc.fourScene.length > 2
|
|
||||||
? _bloc.fourScene[0].scene.name
|
|
||||||
: '',
|
|
||||||
title4: _bloc.fourScene.length > 3
|
|
||||||
? _bloc.fourScene[0].scene.name
|
|
||||||
: '',
|
|
||||||
switch1:
|
switch1:
|
||||||
_bloc.deviceStatus.switch_backlight == true
|
_bloc.deviceStatus.switch_backlight == true
|
||||||
? Assets.switchOn
|
? Assets.switchOn
|
||||||
@ -163,14 +155,20 @@ class FourSceneScreen extends StatelessWidget {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
return FourSelectSwitchDialog(
|
return FourSelectSwitchDialog(
|
||||||
|
switch1Title: model.scene_1,
|
||||||
|
switch2Title: model.scene_2,
|
||||||
|
switch3Title: model.scene_3,
|
||||||
|
switch4Title: model.scene_4,
|
||||||
cancelTab: () {
|
cancelTab: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
confirmTab: () {
|
confirmTab: (switchSelected) {
|
||||||
Navigator.of(context).push(
|
Navigator.of(context).push(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) =>
|
builder: (context) =>
|
||||||
FourSelectSceneFourPage()),
|
FourSelectSceneFourPage(
|
||||||
|
switchSelected: switchSelected,
|
||||||
|
deviceId:device!.uuid)),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@ -219,3 +217,6 @@ class FourSceneScreen extends StatelessWidget {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//MohaM&&&uba1
|
@ -17,7 +17,9 @@ import 'package:syncrow_app/navigation/routing_constants.dart';
|
|||||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||||
|
|
||||||
class FourSelectSceneFourPage extends StatelessWidget {
|
class FourSelectSceneFourPage extends StatelessWidget {
|
||||||
FourSelectSceneFourPage({super.key});
|
final String? switchSelected;
|
||||||
|
final String? deviceId;
|
||||||
|
FourSelectSceneFourPage({super.key, this.switchSelected, this.deviceId});
|
||||||
|
|
||||||
final TextEditingController _searchController = TextEditingController();
|
final TextEditingController _searchController = TextEditingController();
|
||||||
final int? selectedSwitchIndex = 0;
|
final int? selectedSwitchIndex = 0;
|
||||||
@ -26,12 +28,13 @@ class FourSelectSceneFourPage extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocProvider(
|
return BlocProvider(
|
||||||
create: (context) => FourSceneBloc(fourSceneId: '')
|
create: (context) => FourSceneBloc(fourSceneId: deviceId!)
|
||||||
..add(LoadScenes(
|
..add(LoadScenes(
|
||||||
unit: spaces!.first,
|
unit: spaces!.first,
|
||||||
unitId: spaces!.first.id,
|
unitId: spaces!.first.id,
|
||||||
showInDevice: false,
|
showInDevice: false,
|
||||||
)),
|
))
|
||||||
|
..add(GetSceneBySwitchName(switchName: switchSelected)),
|
||||||
child: BlocBuilder<FourSceneBloc, FourSceneState>(
|
child: BlocBuilder<FourSceneBloc, FourSceneState>(
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
final sensorBloc = BlocProvider.of<FourSceneBloc>(context);
|
final sensorBloc = BlocProvider.of<FourSceneBloc>(context);
|
||||||
@ -57,8 +60,10 @@ class FourSelectSceneFourPage extends StatelessWidget {
|
|||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: canSave
|
onTap: canSave
|
||||||
? () {
|
? () {
|
||||||
print('object');
|
context.read<FourSceneBloc>().add(AssignDeviceScene(
|
||||||
// context.read<FourSceneBloc>().add(SaveSelectionEvent());
|
sceneUuid: sensorBloc.selectedSceneId,
|
||||||
|
switchName: switchSelected,
|
||||||
|
unit: spaces!.first));
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
child: BodyMedium(
|
child: BodyMedium(
|
||||||
@ -127,7 +132,6 @@ class FourSelectSceneFourPage extends StatelessWidget {
|
|||||||
// Scene grid builder
|
// Scene grid builder
|
||||||
Widget _buildSceneGrid(FourSceneBloc sensorBloc) {
|
Widget _buildSceneGrid(FourSceneBloc sensorBloc) {
|
||||||
final scenes = sensorBloc.filteredScenes;
|
final scenes = sensorBloc.filteredScenes;
|
||||||
|
|
||||||
return GridView.builder(
|
return GridView.builder(
|
||||||
itemCount: scenes.length + 1,
|
itemCount: scenes.length + 1,
|
||||||
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
@ -137,6 +141,7 @@ class FourSelectSceneFourPage extends StatelessWidget {
|
|||||||
mainAxisExtent: 120,
|
mainAxisExtent: 120,
|
||||||
),
|
),
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
|
// sensorBloc.sceneId;
|
||||||
if (index == scenes.length) {
|
if (index == scenes.length) {
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () => Navigator.pushNamed(
|
onTap: () => Navigator.pushNamed(
|
||||||
@ -154,7 +159,7 @@ class FourSelectSceneFourPage extends StatelessWidget {
|
|||||||
final scene = scenes[index];
|
final scene = scenes[index];
|
||||||
return SceneItem(
|
return SceneItem(
|
||||||
id: scene.id,
|
id: scene.id,
|
||||||
value: sensorBloc.selectedSceneId == scene.id,
|
value: (sensorBloc.selectedSceneId == scene.id),
|
||||||
disablePlayButton: false,
|
disablePlayButton: false,
|
||||||
onChanged: (isSelected) {
|
onChanged: (isSelected) {
|
||||||
sensorBloc.selectedSceneId = isSelected ? scene.id : 'null';
|
sensorBloc.selectedSceneId = isSelected ? scene.id : 'null';
|
||||||
|
@ -6,20 +6,28 @@ import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
|||||||
|
|
||||||
class FourSelectSwitchDialog extends StatefulWidget {
|
class FourSelectSwitchDialog extends StatefulWidget {
|
||||||
final Function()? cancelTab;
|
final Function()? cancelTab;
|
||||||
final Function()? confirmTab;
|
final Function(String)? confirmTab;
|
||||||
|
|
||||||
const FourSelectSwitchDialog({
|
final String switch1Title;
|
||||||
super.key,
|
final String switch2Title;
|
||||||
required this.cancelTab,
|
final String switch3Title;
|
||||||
required this.confirmTab,
|
final String switch4Title;
|
||||||
});
|
|
||||||
|
const FourSelectSwitchDialog(
|
||||||
|
{super.key,
|
||||||
|
required this.cancelTab,
|
||||||
|
required this.confirmTab,
|
||||||
|
required this.switch1Title,
|
||||||
|
required this.switch2Title,
|
||||||
|
required this.switch3Title,
|
||||||
|
required this.switch4Title});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<FourSelectSwitchDialog> createState() => _FourSelectSwitchDialogState();
|
State<FourSelectSwitchDialog> createState() => _FourSelectSwitchDialogState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _FourSelectSwitchDialogState extends State<FourSelectSwitchDialog> {
|
class _FourSelectSwitchDialogState extends State<FourSelectSwitchDialog> {
|
||||||
int? selectedSwitchIndex = 0; // State variable to track selected switch
|
String selectedSwitchName = ''; // State variable to track selected switch
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -44,33 +52,34 @@ class _FourSelectSwitchDialogState extends State<FourSelectSwitchDialog> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
SwitchsCard(
|
SwitchsCard(
|
||||||
switch1Down: selectedSwitchIndex == -1
|
switch1Title: widget.switch1Title,
|
||||||
|
switch2Title: widget.switch2Title,
|
||||||
|
switch3Title: widget.switch3Title,
|
||||||
|
switch4Title: widget.switch4Title,
|
||||||
|
switch1Down: selectedSwitchName == 'scene_3'
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
switch1Up: selectedSwitchIndex == 1
|
switch1Up: selectedSwitchName == 'scene_1'
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
switch2Down: selectedSwitchIndex == -2
|
switch2Down: selectedSwitchName == 'scene_4'
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
switch2Up: selectedSwitchIndex == 2
|
switch2Up: selectedSwitchName == 'scene_2'
|
||||||
? Assets.removeSceneIcon
|
? Assets.removeSceneIcon
|
||||||
: Assets.addSwitchIcon,
|
: Assets.addSwitchIcon,
|
||||||
|
|
||||||
onSwitch1UpTap: () {
|
onSwitch1UpTap: () {
|
||||||
setState(() => selectedSwitchIndex = 1);
|
setState(() => selectedSwitchName = 'scene_1');
|
||||||
},
|
},
|
||||||
onSwitch1DownTap: () {
|
onSwitch1DownTap: () {
|
||||||
setState(() => selectedSwitchIndex = -1);
|
setState(() => selectedSwitchName = 'scene_3');
|
||||||
},
|
},
|
||||||
onSwitch2UpTap: () {
|
onSwitch2UpTap: () {
|
||||||
setState(() => selectedSwitchIndex = 2);
|
setState(() => selectedSwitchName = 'scene_4');
|
||||||
},
|
},
|
||||||
onSwitch2DownTap: () {
|
onSwitch2DownTap: () {
|
||||||
setState(() => selectedSwitchIndex = -2);
|
setState(() => selectedSwitchName = 'scene_2');
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -118,14 +127,16 @@ class _FourSelectSwitchDialogState extends State<FourSelectSwitchDialog> {
|
|||||||
top: BorderSide(color: ColorsManager.textGray, width: 1.0),
|
top: BorderSide(color: ColorsManager.textGray, width: 1.0),
|
||||||
)),
|
)),
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: selectedSwitchIndex == 0 ? () {} : widget.confirmTab,
|
onTap: selectedSwitchName == ''
|
||||||
|
? () {}
|
||||||
|
: () => widget.confirmTab!(selectedSwitchName),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.all(15),
|
padding: EdgeInsets.all(15),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
'Next',
|
'Next',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: selectedSwitchIndex == 0
|
color: selectedSwitchName == ''
|
||||||
? ColorsManager.textPrimaryColor
|
? ColorsManager.textPrimaryColor
|
||||||
.withOpacity(0.6)
|
.withOpacity(0.6)
|
||||||
: ColorsManager.primaryColor,
|
: ColorsManager.primaryColor,
|
||||||
|
@ -213,5 +213,8 @@ abstract class ApiEndpoints {
|
|||||||
'/device/report-logs/{deviceUuid}?code={code}&startTime={startTime}&endTime={endTime}';
|
'/device/report-logs/{deviceUuid}?code={code}&startTime={startTime}&endTime={endTime}';
|
||||||
static const String controlBatch = '/device/control/batch';
|
static const String controlBatch = '/device/control/batch';
|
||||||
static const String statusBatch = '/device/status/batch';
|
static const String statusBatch = '/device/status/batch';
|
||||||
static const String getFourScene = '/device/four-scene/{deviceUuid}';
|
static const String fourScene = '/device/{deviceUuid}/scenes';
|
||||||
|
|
||||||
|
static const String fourSceneByName =
|
||||||
|
'/device/{deviceUuid}/scenes?switchName={switchName}';
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ class DevicesAPI {
|
|||||||
|
|
||||||
static Future getFourSceneInfo(String deviceId) async {
|
static Future getFourSceneInfo(String deviceId) async {
|
||||||
final response = await _httpService.get(
|
final response = await _httpService.get(
|
||||||
path: ApiEndpoints.getFourScene.replaceAll('{deviceUuid}', deviceId),
|
path: ApiEndpoints.fourScene.replaceAll('{deviceUuid}', deviceId),
|
||||||
showServerMessage: false,
|
showServerMessage: false,
|
||||||
expectedResponseModel: (json) {
|
expectedResponseModel: (json) {
|
||||||
return json;
|
return json;
|
||||||
@ -148,6 +148,42 @@ class DevicesAPI {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Future getSceneBySwitchName(
|
||||||
|
{String? deviceId, String? switchName}) async {
|
||||||
|
final response = await _httpService.get(
|
||||||
|
path: ApiEndpoints.fourSceneByName
|
||||||
|
.replaceAll('{deviceUuid}', deviceId!)
|
||||||
|
.replaceAll('{switchName}', switchName!),
|
||||||
|
showServerMessage: false,
|
||||||
|
expectedResponseModel: (json) {
|
||||||
|
return json;
|
||||||
|
});
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future postFourSceneInfo({
|
||||||
|
String? switchName,
|
||||||
|
String? sceneUuid,
|
||||||
|
String? deviceId,
|
||||||
|
String? spaceUuid,
|
||||||
|
}) async {
|
||||||
|
final response = await _httpService.post(
|
||||||
|
path: ApiEndpoints.fourScene.replaceAll('{deviceUuid}', deviceId!),
|
||||||
|
body: jsonEncode(
|
||||||
|
{
|
||||||
|
"switchName": switchName,
|
||||||
|
"sceneUuid": sceneUuid,
|
||||||
|
"spaceUuid": spaceUuid
|
||||||
|
},
|
||||||
|
),
|
||||||
|
showServerMessage: false,
|
||||||
|
expectedResponseModel: (json) {
|
||||||
|
print('postFourSceneInfo=$json');
|
||||||
|
return json;
|
||||||
|
});
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
static Future getDeviceInfo(String deviceId) async {
|
static Future getDeviceInfo(String deviceId) async {
|
||||||
final response = await _httpService.get(
|
final response = await _httpService.get(
|
||||||
path: ApiEndpoints.deviceByUuid.replaceAll('{deviceUuid}', deviceId),
|
path: ApiEndpoints.deviceByUuid.replaceAll('{deviceUuid}', deviceId),
|
||||||
|
Reference in New Issue
Block a user