Skip to content
This repository was archived by the owner on Mar 26, 2025. It is now read-only.

Commit fe886a3

Browse files
committed
check for update
1 parent f93ca43 commit fe886a3

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

lib/steam_api/steam_api.dart

+14
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,17 @@ Future<dynamic> getPlayerDetails(String id) async {
1717
return null;
1818
}
1919
}
20+
21+
Future<dynamic> checkForSvUpdate(String ver) async {
22+
23+
final http.Response response = await http.get(
24+
Uri.parse('http://api.steampowered.com/ISteamApps/UpToDateCheck/v0001/'
25+
'?appid=730&version=$ver&format=json'));
26+
27+
if (response.statusCode == 200) {
28+
return jsonDecode(response.body);
29+
} else {
30+
print('Request failed with status: ${response.statusCode}.');
31+
return null;
32+
}
33+
}

lib/ui/pages/server_details_page/server_details_page.dart

+17-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
88

99
import 'package:turrant/localization/app_localizations.dart';
1010
import 'package:turrant/models/models.dart';
11+
import 'package:turrant/steam_api/steam_api.dart';
1112
import 'package:turrant/themes/styling.dart';
1213
import 'package:turrant/ui/widgets/widgets.dart';
1314
import 'package:turrant/utils/utils.dart';
@@ -53,7 +54,7 @@ class _ServerDetailsPageState extends State<ServerDetailsPage> {
5354
bool isPublic = true;
5455
bool isVacEnabled = true;
5556
bool isTvEnabled = false;
56-
57+
bool isSvOutDated = false;
5758

5859
List<Choice> choices = <Choice>[];
5960

@@ -202,7 +203,6 @@ class _ServerDetailsPageState extends State<ServerDetailsPage> {
202203
return Console(sendCommandToSv, commands);
203204
}
204205

205-
206206
Future<SourceServer> _createSourceServer () async{
207207
return await SourceServer.connect(
208208
ip, port, password: rconPassword
@@ -260,6 +260,7 @@ class _ServerDetailsPageState extends State<ServerDetailsPage> {
260260
setState(() {
261261
isLoading = true;
262262
});
263+
_checkForSvUpdate();
263264
_connectToServer((SourceServer sourceServer) async {
264265
final ServerInfo serverInfo = await sourceServer.getInfo();
265266
final String statusRes = await sourceServer.command('status');
@@ -284,4 +285,18 @@ class _ServerDetailsPageState extends State<ServerDetailsPage> {
284285
sourceServer.close();
285286
});
286287
}
288+
289+
Future<void> _checkForSvUpdate () async {
290+
final dynamic svUpdateStatus = await checkForSvUpdate(version);
291+
print(svUpdateStatus['response']['up_to_date']);
292+
293+
if (svUpdateStatus['response']['up_to_date'] == 'true') {
294+
print('here');
295+
setState(() {
296+
isSvOutDated = false;
297+
});
298+
} else {
299+
isSvOutDated = true;
300+
}
301+
}
287302
}

0 commit comments

Comments
 (0)