Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:convert';
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:nlp/data/model/response/audioclips_model.dart';
- import 'package:nlp/data/model/response/base/api_response.dart';
- import 'package:nlp/data/model/response/report_model.dart';
- import 'package:nlp/data/model/response/response_model.dart';
- import 'package:nlp/data/model/response/sentences_model.dart';
- import 'package:nlp/data/repository/sentence_repo.dart';
- import 'package:nlp/helper/api_checker.dart';
- import 'package:nlp/helper/route_helper.dart';
- import 'package:nlp/provider/sql_provider.dart';
- import 'package:nlp/utill/app_constants.dart';
- import 'package:nlp/view/screens/menu/menu_screen.dart';
- import 'package:http/http.dart' as http;
- class SentenceProvider extends ChangeNotifier {
- final SentenceRepo sentenceRepo;
- SentenceProvider({@required this.sentenceRepo});
- SentenceModel _sentence;
- bool _isLoading = false;
- bool get isLoading => _isLoading;
- SentenceModel get sentence => _sentence;
- List<SentenceModel> _sentenceList = [];
- bool _hasData;
- List<SentenceModel> get sentenceList => _sentenceList;
- bool get hasData => _hasData;
- File _file;
- File get file => _file;
- //
- bool _isrecorded = false;
- bool get isrecorded => _isrecorded;
- int _sentenceNumber = 0;
- int get sentenceNumber => _sentenceNumber;
- // get all sentences
- Future<void> initsentenceList(String language, BuildContext context) async {
- _isLoading = true;
- _sentenceList = [];
- _hasData = true;
- ApiResponse apiResponse = await sentenceRepo.getSentenceList(language);
- if (apiResponse.response != null &&
- apiResponse.response.statusCode == 200) {
- _isLoading = true;
- _sentenceList = [];
- apiResponse.response.data.forEach((s) {
- _sentenceList.add(SentenceModel.fromJson(s));
- SQLHelper.insertSentence(SentenceModel.fromJson(s));
- });
- print('=================');
- print(sentence);
- print('===============');
- List<SentenceModel> _sentences = [];
- _sentences.addAll(_sentenceList);
- print(sentence);
- _isLoading = false;
- notifyListeners();
- } else {
- ApiChecker.checkApi(context, apiResponse);
- }
- }
- // next sentence
- void nextSentence() async{
- _sentenceNumber++;
- notifyListeners();
- }
- // upload sentences
- Future<ResponseModel> sendAudios(
- List<Map<String, dynamic>> localdb, String token) async {
- _isLoading = true;
- notifyListeners();
- ResponseModel _responseModel;
- ApiResponse response = await sentenceRepo.submitAudios(localdb, token);
- _isLoading = false;
- if (response.response.statusCode == 200) {
- // Map map = jsonDecode(await response.stream.bytesToString());
- String message = await response.response.statusMessage;
- _responseModel = ResponseModel(true, message);
- print(message);
- } else {
- _responseModel = ResponseModel(false,
- '${response.response.statusCode} ${response.response.statusMessage}');
- print(
- '${response.response.statusCode} ${response.response.statusMessage}');
- }
- _sentenceNumber = 0;
- notifyListeners();
- return _responseModel;
- }
- // has issue
- Future<void> hasIssue(
- ReportModel reportModel, String token, BuildContext context) async {
- _isLoading = true;
- notifyListeners();
- ApiResponse apiResponse = await sentenceRepo.hasissue(reportModel, token);
- if (apiResponse.response != null &&
- apiResponse.response.statusCode == 200) {
- // _sentenceList.removeWhere((e) => e.id == int.parse(reportModel.id));
- SQLHelper.deletesentence(int.parse(reportModel.id));
- print('====id======');
- print(reportModel.id);
- print('=====id==');
- print('====Remove======');
- print(_sentenceList);
- print('=====Removed==');
- // _sentenceList.add(SentenceModel.fromJson(apiResponse.response.data));
- SQLHelper.insertSentence(
- SentenceModel.fromJson(apiResponse.response.data));
- print(_sentenceList.length);
- _isLoading = false;
- notifyListeners();
- } else {
- ApiChecker.checkApi(context, apiResponse);
- }
- }
- //
- // skipped
- // has
- // Future<void> skipsentence(int id, BuildContext context) async {
- // _isLoading = true;
- // notifyListeners();
- // ApiResponse apiResponse = await sentenceRepo.skippedsentence(id);
- // if (apiResponse.response != null &&
- // apiResponse.response.statusCode == 200) {
- // _sentenceList.removeWhere((e) => e.id == id);
- // SQLHelper.deletesentence(id).then((value) {
- // _sentenceList.add(SentenceModel.fromJson(apiResponse.response.data));
- // SQLHelper.insertSentence(
- // SentenceModel.fromJson(apiResponse.response.data));
- // notifyListeners();
- // });
- // print('====id======');
- // print(id);
- // print('=====id==');
- // print('====Remove======');
- // print(_sentenceList.length);
- // print('=====Removed==');
- // print(_sentenceList);
- // _isLoading = false;
- // notifyListeners();
- // } else {
- // ApiChecker.checkApi(context, apiResponse);
- // }
- // }
- //
- bool _loading = false;
- bool get loading => _loading;
- Future<void> skipsentence(int id, BuildContext context) async {
- _loading = true;
- notifyListeners();
- ApiResponse apiResponse = await sentenceRepo.skippedsentence(id);
- if (apiResponse.response != null &&
- apiResponse.response.statusCode == 200) {
- // _sentenceList.removeWhere((e) => e.id == id);
- SQLHelper.deletesentence(id);
- // _sentenceList.add(SentenceModel.fromJson(apiResponse.response.data));
- SQLHelper.insertSentence(
- SentenceModel.fromJson(apiResponse.response.data));
- print('====id======');
- print(id);
- print('=====id==');
- print('====Remove======');
- print(_sentenceList);
- print('=====Removed==');
- print(_sentenceList.length);
- _loading = false;
- notifyListeners();
- } else {
- ApiChecker.checkApi(context, apiResponse);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement