Skip to content

Commit b2d378f

Browse files
authored
TelevisionAccessory Related Fixes (#185)
* RemoteKeyEnum code for Info button is incorrect. Release version shows code 115, actual code is 15. Tested on IOS 16 and 15. * Add support for accessory category on standalone server. previously category was implemented for a bridge, but not for standalone accessories.
1 parent 2e75f47 commit b2d378f

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

src/main/java/io/github/hapjava/characteristics/impl/television/RemoteKeyEnum.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public enum RemoteKeyEnum implements CharacteristicEnum {
1818
BACK(9),
1919
EXIT(10),
2020
PLAY_PAUSE(11),
21-
INFO(115);
21+
INFO(15);
2222

2323
private static final Map<Integer, RemoteKeyEnum> reverse;
2424

src/main/java/io/github/hapjava/server/impl/HomekitServer.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,15 @@ public HomekitStandaloneAccessoryServer createStandaloneAccessory(
117117
return new HomekitStandaloneAccessoryServer(accessory, http, localAddress, authInfo);
118118
}
119119
}
120+
public HomekitStandaloneAccessoryServer createStandaloneAccessory(
121+
HomekitAuthInfo authInfo, HomekitAccessory accessory, int category)
122+
throws IOException, ExecutionException, InterruptedException {
123+
if (jmdns != null) {
124+
return new HomekitStandaloneAccessoryServer(accessory, http, jmdns, authInfo, category);
125+
} else {
126+
return new HomekitStandaloneAccessoryServer(accessory, http, localAddress, authInfo, category);
127+
}
128+
}
120129

121130
/**
122131
* Creates a bridge accessory, capable of holding multiple child accessories. This has the

src/main/java/io/github/hapjava/server/impl/HomekitStandaloneAccessoryServer.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,28 @@ public class HomekitStandaloneAccessoryServer {
4040
root = new HomekitRoot(accessory.getName().get(), webHandler, jmdns, authInfo);
4141
root.addAccessory(accessory);
4242
}
43+
44+
HomekitStandaloneAccessoryServer(
45+
HomekitAccessory accessory,
46+
HomekitWebHandler webHandler,
47+
InetAddress localhost,
48+
HomekitAuthInfo authInfo,
49+
int category)
50+
throws UnknownHostException, IOException, ExecutionException, InterruptedException {
51+
root = new HomekitRoot(accessory.getName().get(), category, webHandler, localhost, authInfo);
52+
root.addAccessory(accessory);
53+
}
54+
55+
HomekitStandaloneAccessoryServer(
56+
HomekitAccessory accessory,
57+
HomekitWebHandler webHandler,
58+
JmDNS jmdns,
59+
HomekitAuthInfo authInfo,
60+
int category)
61+
throws UnknownHostException, IOException, ExecutionException, InterruptedException {
62+
root = new HomekitRoot(accessory.getName().get(), category, webHandler, jmdns, authInfo);
63+
root.addAccessory(accessory);
64+
}
4365

4466
/** Begins advertising and handling requests for this accessory. */
4567
public void start() {

0 commit comments

Comments
 (0)