Skip to content

Commit d8f23b5

Browse files
committed
Add sorting room support
1 parent 8f115f2 commit d8f23b5

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

android/src/main/java/com/tuya/smart/rnsdk/home/TuyaHomeModule.kt

+13-1
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,25 @@ class TuyaHomeModule(reactContext: ReactApplicationContext) : ReactContextBaseJa
7878
}
7979
}
8080

81+
@ReactMethod
82+
fun sortRoom(params: ReadableMap, promise: Promise) {
83+
if (ReactParamsCheck.checkParams(arrayOf(HOMEID, IDLIST), params)) {
84+
var list = ArrayList<Long>()
85+
var length = (params.getArray(IDLIST) as ReadableArray).size()
86+
for (index in 0..length - 1) {
87+
list.add((params.getArray(IDLIST) as ReadableArray).getDouble(index).toLong())
88+
}
89+
getHomeInstance(params.getDouble(HOMEID))?.sortRoom(list, getIResultCallback(promise))
90+
}
91+
}
92+
8193
/* 排序房间 */
8294
@ReactMethod
8395
fun sortHome(params: ReadableMap, promise: Promise) {
8496
if (ReactParamsCheck.checkParams(arrayOf(HOMEID, IDLIST), params)) {
8597
var list = ArrayList<Long>()
8698
var length = (params.getArray(IDLIST) as ReadableArray).size()
87-
for (index in 0..length) {
99+
for (index in 0..length - 1) {
88100
list.add((params.getArray(IDLIST) as ReadableArray).getDouble(index).toLong())
89101
}
90102
getHomeInstance(params.getDouble(HOMEID))?.sortHome(list, getIResultCallback(promise))

ios/RNTuyaSdk/Home/TuyaRNHomeModule.m

+6-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,12 @@ @implementation TuyaRNHomeModule
153153

154154
self.currentHome = [self smartHomeWithParams:params];
155155

156-
NSArray<TuyaSmartRoomModel *> * list = nil;
156+
NSMutableArray<TuyaSmartRoomModel *> * list = [NSMutableArray array];
157+
for(NSNumber * homeId in params[@"idList"] ) {
158+
TuyaSmartRoomModel *room = [[TuyaSmartRoomModel alloc] init];
159+
room.roomId = [homeId longLongValue];
160+
[list addObject:room];
161+
}
157162

158163
[self.currentHome sortRoomList:list success:^{
159164
[TuyaRNUtils resolverWithHandler:resolver];

src/home.ts

+10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export type DeviceDetailResponse = {
3131
name: string;
3232
dps: DeviceDps;
3333
homeDisplayOrder: number;
34+
roomId: number;
3435
};
3536
export type GetHomeDetailResponse = {
3637
deviceList: DeviceDetailResponse[];
@@ -65,3 +66,12 @@ export type DismissHomeParams = {
6566
export function dismissHome(params: DismissHomeParams): Promise<string> {
6667
return tuya.dismissHome(params);
6768
}
69+
70+
export type SortRoomsParams = {
71+
idList: number[];
72+
homeId: number;
73+
};
74+
75+
export function sortRoom(params: SortRoomsParams): Promise<string> {
76+
return tuya.sortRoom(params);
77+
}

0 commit comments

Comments
 (0)