geo-smart-app/lib/provider/position_provider.dart
Supan Adit Pratama 3ead80b465 Migrate to Android X
Update some Dependencies
Logo Added
Start and Stop Tracking Button
Optimize Code
Stable Version
2020-01-03 22:13:00 +07:00

46 lines
1.2 KiB
Dart

import 'package:dio/dio.dart';
import 'package:geo_app/model/position.dart';
import 'package:geo_app/model/response.dart';
import 'package:geo_app/model/setting.dart';
class PositionProvider {
final Dio _dio = Dio();
SettingModel _settingModel;
PositionProvider(this._settingModel);
Future<ResponseModel> sendPosition(String lat, String lng) async {
Position position = new Position(
id: this._settingModel.id,
type: "user",
lat: lat,
lng: lng,
);
try {
Response response = await _dio.post(
this._settingModel.host + "/point/set",
data: position.toJson(),
);
return ResponseModel.fromJson(response.data);
} on DioError catch (e) {
print(e);
return ResponseModel.fromJson(e.response.data);
}
}
Future<ResponseModel> stopTracking() async {
try {
Response response = await _dio.post(
this._settingModel.host + "/point/unset",
data: {
"id": this._settingModel.id,
"type": "user",
},
);
return ResponseModel.fromJson(response.data);
} on DioError catch (e) {
return ResponseModel.fromJson(e.response.data);
}
}
}