import 'dart:convert'; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:notube/models/Video.dart'; import 'package:notube/services/download.dart'; import 'dart:developer'; part 'dl_form_state.dart'; class DlFormCubit extends Cubit { DlFormCubit() : super(DlFormInitial()); late DLServices dlService; void setFormat(String newFormat) { emit(state.copyWith( format: newFormat, )); print(newFormat); } void setUrl(String newUrl) { emit(state.copyWith( url: newUrl, )); } void parseUrl() async { dlService = await DLServices.init(); var shellStream = await dlService.analyseUrl(state.url!); shellStream.listen((line) { if (line[0] == '{') { var dataInfos = jsonDecode(line); var extractor = dataInfos['extractor_key']; var isPlaylist = dataInfos['_type'] == 'playlist'; var videos =