Skip to content

Instantly share code, notes, and snippets.

View ashishrawat2911's full-sized avatar
🥶

Ashish Rawat ashishrawat2911

🥶
View GitHub Profile
@ashishrawat2911
ashishrawat2911 / GitCommitEmoji.md
Created November 13, 2022 12:55 — forked from parmentf/GitCommitEmoji.md
Git Commit message Emoji
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
context.bloc<MovieBloc>().add(LoadMovies());
super.initState();
import 'package:dio/dio.dart';
import 'package:network_handling/model/movie_response.dart';
import 'package:network_handling/services/api_result.dart';
import 'package:network_handling/services/dio_client.dart';
import 'package:network_handling/services/network_exceptions.dart';
class APIRepository {
DioClient dioClient;
final String _apiKey = "78b9f63937763a206bff26c070b94158";
String _baseUrl = "http://api.themoviedb.org/3/";
class MovieResponse {
int page;
int totalResults;
int totalPages;
List<Movie> results;
MovieResponse({this.page, this.totalResults, this.totalPages, this.results});
MovieResponse.fromJson(Map<String, dynamic> json) {
page = json['page'];
import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'network_exceptions.dart';
part 'api_result.freezed.dart';
@freezed
abstract class ApiResult<T> with _$ApiResult<T> {
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'network_exceptions.freezed.dart';
@freezed
abstract class NetworkExceptions with _$NetworkExceptions {
const factory NetworkExceptions.requestCancelled() = RequestCancelled;
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
const _defaultConnectTimeout = Duration.millisecondsPerMinute;
const _defaultReceiveTimeout = Duration.millisecondsPerMinute;
class DioClient {
final String baseUrl;
StreamBuilder<Result<List<Prediction>>>(
stream: placePredictionSearchBloc.streamController.stream,
initialData: Result.idle(),
builder: (BuildContext context,
AsyncSnapshot<Result<List<Prediction>>> snapshot) {
return snapshot.data.when(idle: () {
return Container();
}, loading: () {
return CircularProgressIndicator();
}, success: (List<AutocompletePrediction> value) {
class PlacePredictionSearchBloc {
StreamController<Result<List<Prediction>>> streamController =
StreamController<Result<List<Prediction>>>();
AppRepository appRepository = AppRepository();
Future<void> getCurrentAddress(String search) async {
streamController.sink.add(Result.loading());
try {
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named
part of 'result.dart';
// **************************************************************************
// FreezedGenerator
// **************************************************************************
T _$identity<T>(T value) => value;