Files
apskel-pos-flutter-v2/lib/injection.config.dart
T
efrilmandClaude Opus 5 1b4caf45d5 fix: cetak semua station tanpa saling membatalkan
printStruckOrder berhenti di kegagalan pertama, jadi satu station gagal membuat semua station sesudahnya tidak pernah dicoba. Karena checker (Bluetooth) berada sebelum kitchen dan bar (Network) dalam rantai, satu kegagalan koneksi Bluetooth menghilangkan tiga tiket sekaligus, dua di antaranya di jaringan yang sehat.

Jalur printer Network juga mengembalikan right(false) saat gagal, yang lolos sebagai sukses ke pemanggil, sehingga kasir melihat 'berhasil dicetak' padahal tidak ada kertas keluar.

Perubahan: repository kini mengembalikan Stream<List<PrintStationResult>> dan tetap mencoba semua station; kegagalan Network jadi left; station Network berjalan paralel dengan rantai Bluetooth; station Bluetooth dikelompokkan per alamat agar perpindahan koneksi seminimal mungkin; CapabilityProfile di-cache.

Bluetooth: retry connect dengan backoff dan disconnect di tiap percobaan ulang (socket RFCOMM setengah terbuka membuat connect berulang gagal identik), jeda settle dikembalikan setelah dipangkas ke 300ms, satu lock untuk seluruh radio (bukan per MAC), izin runtime dipastikan di jalur cetak, dan repository jadi LazySingleton agar state koneksi benar-benar dibagi.

UI: dialog progres per-station menggantikan toast tunggal, lengkap dengan durasi tiap station dan tombol cetak ulang khusus yang gagal. Enam listener duplikat di halaman diganti satu listener terpusat di AppWidget. Menu Print di detail transaksi dapat item Print All.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 20:44:14 +07:00

437 lines
19 KiB
Dart

// dart format width=80
// GENERATED CODE - DO NOT MODIFY BY HAND
// **************************************************************************
// InjectableConfigGenerator
// **************************************************************************
// ignore_for_file: type=lint
// coverage:ignore-file
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:apskel_pos_flutter_v2/application/analytic/category_analytic_loader/category_analytic_loader_bloc.dart'
as _i911;
import 'package:apskel_pos_flutter_v2/application/analytic/dashboard_analytic_loader/dashboard_analytic_loader_bloc.dart'
as _i80;
import 'package:apskel_pos_flutter_v2/application/analytic/inventory_analytic_loader/inventory_analytic_loader_bloc.dart'
as _i651;
import 'package:apskel_pos_flutter_v2/application/analytic/payment_method_analytic_loader/payment_method_analytic_loader_bloc.dart'
as _i733;
import 'package:apskel_pos_flutter_v2/application/analytic/product_analytic_loader/product_analytic_loader_bloc.dart'
as _i268;
import 'package:apskel_pos_flutter_v2/application/analytic/profit_loss_analytic_loader/profit_loss_analytic_loader_bloc.dart'
as _i741;
import 'package:apskel_pos_flutter_v2/application/analytic/sales_analytic_loader/sales_analytic_loader_bloc.dart'
as _i413;
import 'package:apskel_pos_flutter_v2/application/auth/auth_bloc.dart' as _i343;
import 'package:apskel_pos_flutter_v2/application/auth/login_form/login_form_bloc.dart'
as _i46;
import 'package:apskel_pos_flutter_v2/application/auth/logout/logout_bloc.dart'
as _i641;
import 'package:apskel_pos_flutter_v2/application/category/category_loader/category_loader_bloc.dart'
as _i1018;
import 'package:apskel_pos_flutter_v2/application/checkout/checkout_form/checkout_form_bloc.dart'
as _i13;
import 'package:apskel_pos_flutter_v2/application/customer/customer_loader/customer_loader_bloc.dart'
as _i683;
import 'package:apskel_pos_flutter_v2/application/order/order_form/order_form_bloc.dart'
as _i702;
import 'package:apskel_pos_flutter_v2/application/order/order_loader/order_loader_bloc.dart'
as _i94;
import 'package:apskel_pos_flutter_v2/application/outlet/outlet_loader/outlet_loader_bloc.dart'
as _i76;
import 'package:apskel_pos_flutter_v2/application/payment/payment_form/payment_form_bloc.dart'
as _i194;
import 'package:apskel_pos_flutter_v2/application/payment_method/payment_method_loader/payment_method_loader_bloc.dart'
as _i952;
import 'package:apskel_pos_flutter_v2/application/printer/bluetooth/bluetooth_connect/bluetooth_connect_bloc.dart'
as _i489;
import 'package:apskel_pos_flutter_v2/application/printer/bluetooth/bluetooth_loader/bluetooth_loader_bloc.dart'
as _i903;
import 'package:apskel_pos_flutter_v2/application/printer/print_struck/print_struck_bloc.dart'
as _i21;
import 'package:apskel_pos_flutter_v2/application/printer/printer_bloc.dart'
as _i96;
import 'package:apskel_pos_flutter_v2/application/printer/printer_form/printer_form_bloc.dart'
as _i787;
import 'package:apskel_pos_flutter_v2/application/printer/printer_loader/printer_loader_bloc.dart'
as _i1028;
import 'package:apskel_pos_flutter_v2/application/product/product_loader/product_loader_bloc.dart'
as _i13;
import 'package:apskel_pos_flutter_v2/application/refund/refund_form/refund_form_bloc.dart'
as _i837;
import 'package:apskel_pos_flutter_v2/application/report/report_bloc.dart'
as _i257;
import 'package:apskel_pos_flutter_v2/application/split_bill/split_bill_form/split_bill_form_bloc.dart'
as _i334;
import 'package:apskel_pos_flutter_v2/application/sync/sync_bloc.dart' as _i741;
import 'package:apskel_pos_flutter_v2/application/sync/sync_setting/sync_setting_bloc.dart'
as _i729;
import 'package:apskel_pos_flutter_v2/application/table/table_form/table_form_bloc.dart'
as _i248;
import 'package:apskel_pos_flutter_v2/application/table/table_loader/table_loader_bloc.dart'
as _i424;
import 'package:apskel_pos_flutter_v2/application/void/void_form/void_form_bloc.dart'
as _i822;
import 'package:apskel_pos_flutter_v2/common/api/api_client.dart' as _i457;
import 'package:apskel_pos_flutter_v2/common/database/database_helper.dart'
as _i487;
import 'package:apskel_pos_flutter_v2/common/di/di_auto_route.dart' as _i729;
import 'package:apskel_pos_flutter_v2/common/di/di_connectivity.dart' as _i807;
import 'package:apskel_pos_flutter_v2/common/di/di_database.dart' as _i209;
import 'package:apskel_pos_flutter_v2/common/di/di_dio.dart' as _i86;
import 'package:apskel_pos_flutter_v2/common/di/di_firebase.dart' as _i857;
import 'package:apskel_pos_flutter_v2/common/di/di_shared_preferences.dart'
as _i135;
import 'package:apskel_pos_flutter_v2/common/network/network_client.dart'
as _i171;
import 'package:apskel_pos_flutter_v2/common/service/device_info_service.dart'
as _i288;
import 'package:apskel_pos_flutter_v2/common/service/fcm_service.dart' as _i312;
import 'package:apskel_pos_flutter_v2/domain/analytic/analytic.dart' as _i346;
import 'package:apskel_pos_flutter_v2/domain/auth/auth.dart' as _i776;
import 'package:apskel_pos_flutter_v2/domain/category/category.dart' as _i502;
import 'package:apskel_pos_flutter_v2/domain/customer/customer.dart' as _i143;
import 'package:apskel_pos_flutter_v2/domain/order/order.dart' as _i299;
import 'package:apskel_pos_flutter_v2/domain/outlet/outlet.dart' as _i552;
import 'package:apskel_pos_flutter_v2/domain/payment_method/payment_method.dart'
as _i297;
import 'package:apskel_pos_flutter_v2/domain/printer/printer.dart' as _i104;
import 'package:apskel_pos_flutter_v2/domain/product/product.dart' as _i44;
import 'package:apskel_pos_flutter_v2/domain/table/table.dart' as _i983;
import 'package:apskel_pos_flutter_v2/env.dart' as _i923;
import 'package:apskel_pos_flutter_v2/infrastructure/analytic/datasources/remote_data_provider.dart'
as _i708;
import 'package:apskel_pos_flutter_v2/infrastructure/analytic/repositories/analytic_repository.dart'
as _i288;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/datasources/local_data_provider.dart'
as _i204;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/datasources/remote_data_provider.dart'
as _i370;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/repositories/auth_repository.dart'
as _i941;
import 'package:apskel_pos_flutter_v2/infrastructure/category/datasources/local_data_provider.dart'
as _i708;
import 'package:apskel_pos_flutter_v2/infrastructure/category/datasources/remote_data_provider.dart'
as _i856;
import 'package:apskel_pos_flutter_v2/infrastructure/category/repositories/category_repository.dart'
as _i604;
import 'package:apskel_pos_flutter_v2/infrastructure/customer/datasources/remote_data_provider.dart'
as _i841;
import 'package:apskel_pos_flutter_v2/infrastructure/customer/repositories/customer_repository.dart'
as _i385;
import 'package:apskel_pos_flutter_v2/infrastructure/order/datasources/remote_data_provider.dart'
as _i360;
import 'package:apskel_pos_flutter_v2/infrastructure/order/repositories/order_repository.dart'
as _i851;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/datasources/local_data_provider.dart'
as _i693;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/datasources/remote_data_provider.dart'
as _i132;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/repositories/outlet_repository.dart'
as _i845;
import 'package:apskel_pos_flutter_v2/infrastructure/payment_method/datasources/remote_data_provider.dart'
as _i833;
import 'package:apskel_pos_flutter_v2/infrastructure/payment_method/repositories/payment_method_repository.dart'
as _i167;
import 'package:apskel_pos_flutter_v2/infrastructure/printer/datasource/local_data_provider.dart'
as _i149;
import 'package:apskel_pos_flutter_v2/infrastructure/printer/repositories/printer_repository.dart'
as _i881;
import 'package:apskel_pos_flutter_v2/infrastructure/product/datasources/local_data_provider.dart'
as _i464;
import 'package:apskel_pos_flutter_v2/infrastructure/product/datasources/remote_data_provider.dart'
as _i707;
import 'package:apskel_pos_flutter_v2/infrastructure/product/repositories/product_repository.dart'
as _i763;
import 'package:apskel_pos_flutter_v2/infrastructure/table/datasources/remote_data_provider.dart'
as _i95;
import 'package:apskel_pos_flutter_v2/infrastructure/table/repositories/table_repository.dart'
as _i824;
import 'package:apskel_pos_flutter_v2/presentation/router/app_router.dart'
as _i800;
import 'package:connectivity_plus/connectivity_plus.dart' as _i895;
import 'package:device_info_plus/device_info_plus.dart' as _i833;
import 'package:dio/dio.dart' as _i361;
import 'package:firebase_messaging/firebase_messaging.dart' as _i892;
import 'package:flutter_local_notifications/flutter_local_notifications.dart'
as _i163;
import 'package:get_it/get_it.dart' as _i174;
import 'package:injectable/injectable.dart' as _i526;
import 'package:package_info_plus/package_info_plus.dart' as _i655;
import 'package:shared_preferences/shared_preferences.dart' as _i460;
const String _dev = 'dev';
const String _prod = 'prod';
extension GetItInjectableX on _i174.GetIt {
// initializes the registration of main-scope dependencies inside of GetIt
Future<_i174.GetIt> init({
String? environment,
_i526.EnvironmentFilter? environmentFilter,
}) async {
final gh = _i526.GetItHelper(this, environment, environmentFilter);
final firebaseDi = _$FirebaseDi();
final sharedPreferencesDi = _$SharedPreferencesDi();
final databaseDi = _$DatabaseDi();
final autoRouteDi = _$AutoRouteDi();
final connectivityDi = _$ConnectivityDi();
final dioDi = _$DioDi();
gh.factory<_i13.CheckoutFormBloc>(() => _i13.CheckoutFormBloc());
gh.factory<_i96.PrinterBloc>(() => _i96.PrinterBloc());
gh.factory<_i257.ReportBloc>(() => _i257.ReportBloc());
gh.factory<_i334.SplitBillFormBloc>(() => _i334.SplitBillFormBloc());
await gh.factoryAsync<_i655.PackageInfo>(
() => firebaseDi.packageInfo,
preResolve: true,
);
await gh.factoryAsync<_i460.SharedPreferences>(
() => sharedPreferencesDi.prefs,
preResolve: true,
);
gh.singleton<_i487.DatabaseHelper>(() => databaseDi.databaseHelper);
gh.lazySingleton<_i800.AppRouter>(() => autoRouteDi.appRouter);
gh.lazySingleton<_i895.Connectivity>(() => connectivityDi.connectivity);
gh.lazySingleton<_i361.Dio>(() => dioDi.dio);
gh.lazySingleton<_i892.FirebaseMessaging>(() => firebaseDi.messaging);
gh.lazySingleton<_i163.FlutterLocalNotificationsPlugin>(
() => firebaseDi.localNotifications,
);
gh.lazySingleton<_i833.DeviceInfoPlugin>(() => firebaseDi.deviceInfo);
gh.lazySingleton<_i288.DeviceInfoService>(
() => _i288.DeviceInfoService(
gh<_i833.DeviceInfoPlugin>(),
gh<_i655.PackageInfo>(),
),
);
gh.lazySingleton<_i171.NetworkClient>(
() => _i171.NetworkClient(gh<_i895.Connectivity>()),
);
gh.factory<_i923.Env>(() => _i923.DevEnv(), registerFor: {_dev});
gh.factory<_i708.CategoryLocalDataProvider>(
() => _i708.CategoryLocalDataProvider(gh<_i487.DatabaseHelper>()),
);
gh.factory<_i149.PrinterLocalDataProvider>(
() => _i149.PrinterLocalDataProvider(gh<_i487.DatabaseHelper>()),
);
gh.factory<_i464.ProductLocalDataProvider>(
() => _i464.ProductLocalDataProvider(gh<_i487.DatabaseHelper>()),
);
gh.lazySingleton<_i312.FcmService>(
() => _i312.FcmService(
gh<_i892.FirebaseMessaging>(),
gh<_i163.FlutterLocalNotificationsPlugin>(),
),
);
gh.factory<_i204.AuthLocalDataProvider>(
() => _i204.AuthLocalDataProvider(gh<_i460.SharedPreferences>()),
);
gh.factory<_i693.OutletLocalDatasource>(
() => _i693.OutletLocalDatasource(gh<_i460.SharedPreferences>()),
);
gh.lazySingleton<_i457.ApiClient>(
() => _i457.ApiClient(gh<_i361.Dio>(), gh<_i923.Env>()),
);
gh.factory<_i923.Env>(() => _i923.ProdEnv(), registerFor: {_prod});
gh.lazySingleton<_i104.IPrinterRepository>(
() => _i881.PrinterRepository(
gh<_i149.PrinterLocalDataProvider>(),
gh<_i693.OutletLocalDatasource>(),
gh<_i204.AuthLocalDataProvider>(),
),
);
gh.factory<_i489.BluetoothConnectBloc>(
() => _i489.BluetoothConnectBloc(gh<_i104.IPrinterRepository>()),
);
gh.factory<_i903.BluetoothLoaderBloc>(
() => _i903.BluetoothLoaderBloc(gh<_i104.IPrinterRepository>()),
);
gh.factory<_i1028.PrinterLoaderBloc>(
() => _i1028.PrinterLoaderBloc(gh<_i104.IPrinterRepository>()),
);
gh.factory<_i21.PrintStruckBloc>(
() => _i21.PrintStruckBloc(gh<_i104.IPrinterRepository>()),
);
gh.factory<_i708.AnalyticRemoteDataProvider>(
() => _i708.AnalyticRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i370.AuthRemoteDataProvider>(
() => _i370.AuthRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i856.CategoryRemoteDataProvider>(
() => _i856.CategoryRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i841.CustomerRemoteDataProvider>(
() => _i841.CustomerRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i360.OrderRemoteDataProvider>(
() => _i360.OrderRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i132.OutletRemoteDataProvider>(
() => _i132.OutletRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i833.PaymentMethodRemoteDataProvider>(
() => _i833.PaymentMethodRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i707.ProductRemoteDataProvider>(
() => _i707.ProductRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i95.TableRemoteDataProvider>(
() => _i95.TableRemoteDataProvider(gh<_i457.ApiClient>()),
);
gh.factory<_i776.IAuthRepository>(
() => _i941.AuthRepository(
gh<_i370.AuthRemoteDataProvider>(),
gh<_i204.AuthLocalDataProvider>(),
),
);
gh.factory<_i502.ICategoryRepository>(
() => _i604.CategoryRepository(
gh<_i856.CategoryRemoteDataProvider>(),
gh<_i708.CategoryLocalDataProvider>(),
),
);
gh.factory<_i46.LoginFormBloc>(
() => _i46.LoginFormBloc(
gh<_i776.IAuthRepository>(),
gh<_i312.FcmService>(),
gh<_i288.DeviceInfoService>(),
),
);
gh.factory<_i983.ITableRepository>(
() => _i824.TableRepository(
gh<_i95.TableRemoteDataProvider>(),
gh<_i693.OutletLocalDatasource>(),
),
);
gh.factory<_i299.IOrderRepository>(
() => _i851.OrderRepository(gh<_i360.OrderRemoteDataProvider>()),
);
gh.factory<_i248.TableFormBloc>(
() => _i248.TableFormBloc(gh<_i983.ITableRepository>()),
);
gh.factory<_i424.TableLoaderBloc>(
() => _i424.TableLoaderBloc(gh<_i983.ITableRepository>()),
);
gh.factory<_i44.IProductRepository>(
() => _i763.ProductRepository(
gh<_i707.ProductRemoteDataProvider>(),
gh<_i464.ProductLocalDataProvider>(),
),
);
gh.factory<_i552.IOutletRepository>(
() => _i845.OutletRepository(
gh<_i132.OutletRemoteDataProvider>(),
gh<_i693.OutletLocalDatasource>(),
),
);
gh.factory<_i297.IPaymentMethodRepository>(
() => _i167.PaymentMethodRepository(
gh<_i833.PaymentMethodRemoteDataProvider>(),
),
);
gh.factory<_i641.LogoutBloc>(
() => _i641.LogoutBloc(gh<_i776.IAuthRepository>()),
);
gh.factory<_i1018.CategoryLoaderBloc>(
() => _i1018.CategoryLoaderBloc(gh<_i502.ICategoryRepository>()),
);
gh.factory<_i702.OrderFormBloc>(
() => _i702.OrderFormBloc(
gh<_i299.IOrderRepository>(),
gh<_i552.IOutletRepository>(),
),
);
gh.factory<_i143.ICustomerRepository>(
() => _i385.CustomerRepository(gh<_i841.CustomerRemoteDataProvider>()),
);
gh.factory<_i787.PrinterFormBloc>(
() => _i787.PrinterFormBloc(
gh<_i104.IPrinterRepository>(),
gh<_i552.IOutletRepository>(),
),
);
gh.factory<_i94.OrderLoaderBloc>(
() => _i94.OrderLoaderBloc(gh<_i299.IOrderRepository>()),
);
gh.factory<_i194.PaymentFormBloc>(
() => _i194.PaymentFormBloc(gh<_i299.IOrderRepository>()),
);
gh.factory<_i837.RefundFormBloc>(
() => _i837.RefundFormBloc(gh<_i299.IOrderRepository>()),
);
gh.factory<_i822.VoidFormBloc>(
() => _i822.VoidFormBloc(gh<_i299.IOrderRepository>()),
);
gh.factory<_i683.CustomerLoaderBloc>(
() => _i683.CustomerLoaderBloc(gh<_i143.ICustomerRepository>()),
);
gh.factory<_i346.IAnalyticRepository>(
() => _i288.AnalyticRepository(gh<_i708.AnalyticRemoteDataProvider>()),
);
gh.factory<_i952.PaymentMethodLoaderBloc>(
() => _i952.PaymentMethodLoaderBloc(gh<_i297.IPaymentMethodRepository>()),
);
gh.factory<_i343.AuthBloc>(
() => _i343.AuthBloc(
gh<_i776.IAuthRepository>(),
gh<_i552.IOutletRepository>(),
),
);
gh.factory<_i76.OutletLoaderBloc>(
() => _i76.OutletLoaderBloc(gh<_i552.IOutletRepository>()),
);
gh.factory<_i13.ProductLoaderBloc>(
() => _i13.ProductLoaderBloc(gh<_i44.IProductRepository>()),
);
gh.factory<_i741.SyncBloc>(
() => _i741.SyncBloc(
gh<_i44.IProductRepository>(),
gh<_i502.ICategoryRepository>(),
),
);
gh.factory<_i729.SyncSettingBloc>(
() => _i729.SyncSettingBloc(
gh<_i44.IProductRepository>(),
gh<_i502.ICategoryRepository>(),
),
);
gh.factory<_i911.CategoryAnalyticLoaderBloc>(
() => _i911.CategoryAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
gh.factory<_i80.DashboardAnalyticLoaderBloc>(
() => _i80.DashboardAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
gh.factory<_i651.InventoryAnalyticLoaderBloc>(
() => _i651.InventoryAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
gh.factory<_i733.PaymentMethodAnalyticLoaderBloc>(
() => _i733.PaymentMethodAnalyticLoaderBloc(
gh<_i346.IAnalyticRepository>(),
),
);
gh.factory<_i268.ProductAnalyticLoaderBloc>(
() => _i268.ProductAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
gh.factory<_i741.ProfitLossAnalyticLoaderBloc>(
() => _i741.ProfitLossAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
gh.factory<_i413.SalesAnalyticLoaderBloc>(
() => _i413.SalesAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
);
return this;
}
}
class _$FirebaseDi extends _i857.FirebaseDi {}
class _$SharedPreferencesDi extends _i135.SharedPreferencesDi {}
class _$DatabaseDi extends _i209.DatabaseDi {}
class _$AutoRouteDi extends _i729.AutoRouteDi {}
class _$ConnectivityDi extends _i807.ConnectivityDi {}
class _$DioDi extends _i86.DioDi {}