@eohjsc/react-native-smart-city 0.3.15 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eohjsc/react-native-smart-city",
3
3
  "title": "React Native Smart Home",
4
- "version": "0.3.15",
4
+ "version": "0.3.16",
5
5
  "description": "TODO",
6
6
  "main": "index.js",
7
7
  "files": [
@@ -24,7 +24,7 @@ const SubUnitFavorites = ({
24
24
  const { getStatus, serverDown } = useSensorsStatus(unit, favoriteDevices);
25
25
 
26
26
  const handleOnAddNew = () => {
27
- navigate(Routes.SelectDevices, {
27
+ navigate(Routes.SelectFavoritesDevices, {
28
28
  unitId: unit.id,
29
29
  });
30
30
  };
@@ -113,6 +113,7 @@ describe('Test useRemoteControl', () => {
113
113
  'bluetooth',
114
114
  actionName
115
115
  );
116
+ expect(sendCommandOverInternet).toBeCalledTimes(1);
116
117
  expect(sendCommandOverGoogleHome).not.toBeCalled();
117
118
  expect(sendCommandOverLGThinq).not.toBeCalled();
118
119
  });
@@ -18,6 +18,7 @@ const useRemoteControl = () => {
18
18
  async (sensor, action, data, userId, actionName) => {
19
19
  // No action, raise not authorized
20
20
  let result = false;
21
+
21
22
  if (!action) {
22
23
  ToastBottomHelper.error(
23
24
  t('your_account_has_not_been_authorized_to_control')
@@ -29,6 +30,7 @@ const useRemoteControl = () => {
29
30
  try {
30
31
  result = await sendCommandOverBluetooth(sensor, action, data, userId);
31
32
  } catch (err) {
33
+ result = false;
32
34
  if (err === SEND_COMMAND_OVER_BLUETOOTH_FAIL) {
33
35
  result = await sendCommandOverInternet(
34
36
  sensor,
@@ -44,8 +46,9 @@ const useRemoteControl = () => {
44
46
  }
45
47
 
46
48
  if (
47
- action.command_prefer_over_internet ||
48
- action.command_prefer_over_bluetooth
49
+ (action.command_prefer_over_internet ||
50
+ action.command_prefer_over_bluetooth) &&
51
+ !result
49
52
  ) {
50
53
  result = await sendCommandOverInternet(
51
54
  sensor,
@@ -55,7 +58,7 @@ const useRemoteControl = () => {
55
58
  );
56
59
  }
57
60
 
58
- if (action.command_prefer_over_googlehome) {
61
+ if (action.command_prefer_over_googlehome && !result) {
59
62
  result = await sendCommandOverGoogleHome(
60
63
  ggHomeConnections,
61
64
  sensor,
@@ -51,7 +51,7 @@ import EmergencySetting from '../screens/EmergencySetting';
51
51
  import ConfirmUnitDeletion from '../screens/ConfirmUnitDeletion';
52
52
  import InfoMemberUnit from '../screens/Sharing/InfoMemberUnit';
53
53
  import EnterPassword from '../screens/EnterPassword';
54
- import SelectDevices from '../screens/Unit/SelectDevices';
54
+ import SelectFavoritesDevices from '../screens/Unit/SelectFavoritesDevices';
55
55
  import { HanetCameraStack } from './HanetCameraStack';
56
56
  import { axiosGet } from '../utils/Apis/axios';
57
57
  import { API } from '../configs';
@@ -402,8 +402,8 @@ export const UnitStack = memo((props) => {
402
402
  }}
403
403
  />
404
404
  <Stack.Screen
405
- name={Route.SelectDevices}
406
- component={SelectDevices}
405
+ name={Route.SelectFavoritesDevices}
406
+ component={SelectFavoritesDevices}
407
407
  options={{
408
408
  headerShown: false,
409
409
  }}
@@ -41,6 +41,7 @@ const SelectAction = memo(({ route }) => {
41
41
  isAutomateTab,
42
42
  isCreateNewAction,
43
43
  isMultiUnits,
44
+ oldType,
44
45
  } = route.params;
45
46
  const [data, setData] = useState([]);
46
47
  const [actions, setActions] = useState([]);
@@ -257,7 +258,7 @@ const SelectAction = memo(({ route }) => {
257
258
  navigate(Routes.ScriptDetail, {
258
259
  id: automateId,
259
260
  name: scriptName,
260
- type: type,
261
+ type: oldType,
261
262
  havePermission: true,
262
263
  unit,
263
264
  isMultiUnits,
@@ -116,6 +116,7 @@ const SelectSensorDevices = memo(({ route }) => {
116
116
  isAutomateTab,
117
117
  isCreateNewAction,
118
118
  isMultiUnits,
119
+ oldType,
119
120
  });
120
121
  }, [
121
122
  navigate,
@@ -131,6 +132,7 @@ const SelectSensorDevices = memo(({ route }) => {
131
132
  isAutomateTab,
132
133
  isCreateNewAction,
133
134
  isMultiUnits,
135
+ oldType,
134
136
  ]);
135
137
 
136
138
  const onPressClose = useCallback(() => {
@@ -257,7 +257,6 @@ const UnitDetail = ({ route }) => {
257
257
  unit={unit}
258
258
  favoriteDevices={favoriteDevices}
259
259
  favoriteAutomates={favoriteAutomates}
260
- wrapItemStyle={styles.wrapItemStyle}
261
260
  />
262
261
  );
263
262
  }
@@ -20,9 +20,9 @@ import { SCContext } from '../../context';
20
20
  import { Action } from '../../context/actionType';
21
21
  import { axiosGet, axiosPost } from '../../utils/Apis/axios';
22
22
  import { API, Colors } from '../../configs';
23
- import styles from './SelectDevicesStyles';
23
+ import styles from './SelectFavoritesDevicesStyles';
24
24
 
25
- const SelectDevices = memo(({ route }) => {
25
+ const SelectFavoritesDevices = memo(({ route }) => {
26
26
  const t = useTranslations();
27
27
  const { goBack } = useNavigation();
28
28
  const { unitId } = route.params;
@@ -32,7 +32,7 @@ const SelectDevices = memo(({ route }) => {
32
32
  const [indexStation, setIndexStation] = useState(0);
33
33
  const [stations, setStations] = useState([]);
34
34
  const [selectedIds, setSelectedIds] = useState([]);
35
- const [loading, setLoading] = useState(false);
35
+ const [loading, setLoading] = useState(true);
36
36
 
37
37
  const fetchData = useCallback(async () => {
38
38
  setLoading(true);
@@ -116,7 +116,7 @@ const SelectDevices = memo(({ route }) => {
116
116
  {t('select_device')}
117
117
  </Text>
118
118
 
119
- {listStation.length ? (
119
+ {!!listStation.length && (
120
120
  <NavBar
121
121
  listStation={listStation}
122
122
  listMenuItem={listMenuItem}
@@ -124,7 +124,8 @@ const SelectDevices = memo(({ route }) => {
124
124
  indexStation={indexStation}
125
125
  style={styles.navbar}
126
126
  />
127
- ) : (
127
+ )}
128
+ {!listStation.length && !loading && (
128
129
  <View style={styles.noneData}>
129
130
  <Text center>{t('text_unit_add_to_favorites_no_devices')}</Text>
130
131
  </View>
@@ -155,4 +156,4 @@ const SelectDevices = memo(({ route }) => {
155
156
  );
156
157
  });
157
158
 
158
- export default SelectDevices;
159
+ export default SelectFavoritesDevices;
@@ -4,7 +4,7 @@ import MockAdapter from 'axios-mock-adapter';
4
4
 
5
5
  import { SCProvider } from '../../../context';
6
6
  import { mockSCStore } from '../../../context/mockStore';
7
- import SelectDevices from '../SelectDevices';
7
+ import SelectFavoritesDevices from '../SelectFavoritesDevices';
8
8
  import Device from '../../AddNewAction/Device';
9
9
  import BottomButtonView from '../../../commons/BottomButtonView';
10
10
  import { API } from '../../../configs';
@@ -12,7 +12,7 @@ import api from '../../../utils/Apis/axios';
12
12
 
13
13
  const wrapComponent = (route) => (
14
14
  <SCProvider initState={mockSCStore({})}>
15
- <SelectDevices route={route} />
15
+ <SelectFavoritesDevices route={route} />
16
16
  </SCProvider>
17
17
  );
18
18
 
@@ -35,7 +35,7 @@ jest.mock('react', () => {
35
35
  };
36
36
  });
37
37
 
38
- describe('Test SelectDevices', () => {
38
+ describe('Test SelectFavoritesDevices', () => {
39
39
  let tree, route;
40
40
 
41
41
  beforeAll(() => {
@@ -1,10 +1,5 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import { Colors, Constants } from '../../configs';
3
-
4
- const marginItem = 12;
5
- const marginHorizontal = 16;
6
- const widthItem = (Constants.width - marginHorizontal * 2 - marginItem) / 2;
7
- const heightItem = (widthItem / 166) * 126;
2
+ import { Colors } from '../../configs';
8
3
 
9
4
  export default StyleSheet.create({
10
5
  container: {
@@ -76,10 +71,6 @@ export default StyleSheet.create({
76
71
  margin: 0,
77
72
  padding: 0,
78
73
  },
79
- wrapItemStyle: {
80
- height: heightItem,
81
- marginVertical: 0,
82
- },
83
74
  camera: {
84
75
  width: 1,
85
76
  height: 1,
@@ -146,7 +146,7 @@ const Routes = {
146
146
  ItemPasscode: 'ItemPasscode',
147
147
  UnitMemberInformation: 'UnitMemberInformation',
148
148
  EnterPassword: 'EnterPassword',
149
- SelectDevices: 'SelectDevices',
149
+ SelectFavoritesDevices: 'SelectFavoritesDevices',
150
150
  };
151
151
 
152
152
  export default Routes;