// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'app_settings.dart';

// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************

class AppSettingsAdapter extends TypeAdapter<AppSettings> {
  @override
  final int typeId = 0;

  @override
  AppSettings read(BinaryReader reader) {
    final numOfFields = reader.readByte();
    final fields = <int, dynamic>{
      for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
    };
    return AppSettings(
      userName: fields.containsKey(0) ? fields[0] as String? ?? '' : '',
      userEmail: fields.containsKey(1) ? fields[1] as String? ?? '' : '',
      themeModeIndex: fields.containsKey(2) ? fields[2] as int? ?? 0 : 0,
      arabicFontSize:
          fields.containsKey(3) ? fields[3] as double? ?? 26.0 : 26.0,
      uiLanguage: fields.containsKey(4) ? fields[4] as String? ?? 'id' : 'id',
      adhanEnabled: fields.containsKey(5)
          ? (fields[5] as Map?)?.cast<String, bool>()
          : null,
      iqamahOffset: fields.containsKey(6)
          ? (fields[6] as Map?)?.cast<String, int>()
          : null,
      checklistReminderTime:
          fields.containsKey(7) ? fields[7] as String? : null,
      lastLat: fields.containsKey(8) ? fields[8] as double? : null,
      lastLng: fields.containsKey(9) ? fields[9] as double? : null,
      lastCityName: fields.containsKey(10) ? fields[10] as String? : null,
      rawatibLevel: fields.containsKey(11) ? fields[11] as int? ?? 1 : 1,
      tilawahTargetValue: fields.containsKey(12) ? fields[12] as int? ?? 1 : 1,
      tilawahTargetUnit:
          fields.containsKey(13) ? fields[13] as String? ?? 'Juz' : 'Juz',
      tilawahAutoSync:
          fields.containsKey(14) ? fields[14] as bool? ?? false : false,
      trackDzikir: fields.containsKey(15) ? fields[15] as bool? ?? true : true,
      trackPuasa: fields.containsKey(16) ? fields[16] as bool? ?? false : false,
      showLatin: fields.containsKey(17) ? fields[17] as bool? ?? true : true,
      showTerjemahan:
          fields.containsKey(18) ? fields[18] as bool? ?? true : true,
      simpleMode: fields.containsKey(19) ? fields[19] as bool? ?? false : false,
      dzikirDisplayMode:
          fields.containsKey(20) ? fields[20] as String? ?? 'list' : 'list',
      dzikirCounterButtonPosition: fields.containsKey(21)
          ? fields[21] as String? ?? 'bottomPill'
          : 'bottomPill',
      dzikirAutoAdvance:
          fields.containsKey(22) ? fields[22] as bool? ?? true : true,
      dzikirHapticOnCount:
          fields.containsKey(23) ? fields[23] as bool? ?? true : true,
      alertsEnabled:
          fields.containsKey(24) ? fields[24] as bool? ?? true : true,
      inboxEnabled: fields.containsKey(25) ? fields[25] as bool? ?? true : true,
      streakRiskEnabled:
          fields.containsKey(26) ? fields[26] as bool? ?? true : true,
      dailyChecklistReminderEnabled:
          fields.containsKey(27) ? fields[27] as bool? ?? false : false,
      weeklySummaryEnabled:
          fields.containsKey(28) ? fields[28] as bool? ?? true : true,
      quietHoursStart:
          fields.containsKey(29) ? fields[29] as String? ?? '22:00' : '22:00',
      quietHoursEnd:
          fields.containsKey(30) ? fields[30] as String? ?? '05:00' : '05:00',
      maxNonPrayerPushPerDay:
          fields.containsKey(31) ? fields[31] as int? ?? 2 : 2,
      mirrorAdzanToInbox:
          fields.containsKey(32) ? fields[32] as bool? ?? false : false,
      tilawahAutoContinueNextSurah:
          fields.containsKey(33) ? fields[33] as bool? ?? true : true,
      shalatReportReminderEnabled:
          fields.containsKey(34) ? fields[34] as bool? ?? true : true,
      shalatReportReminderDelayMinutes:
          fields.containsKey(35) ? fields[35] as int? ?? 30 : 30,
      shalatReportReminderRepeatCount:
          fields.containsKey(36) ? fields[36] as int? ?? 1 : 1,
      shalatReportReminderRepeatIntervalMinutes:
          fields.containsKey(37) ? fields[37] as int? ?? 15 : 15,
    );
  }

  @override
  void write(BinaryWriter writer, AppSettings obj) {
    writer
      ..writeByte(38)
      ..writeByte(0)
      ..write(obj.userName)
      ..writeByte(1)
      ..write(obj.userEmail)
      ..writeByte(2)
      ..write(obj.themeModeIndex)
      ..writeByte(3)
      ..write(obj.arabicFontSize)
      ..writeByte(4)
      ..write(obj.uiLanguage)
      ..writeByte(5)
      ..write(obj.adhanEnabled)
      ..writeByte(6)
      ..write(obj.iqamahOffset)
      ..writeByte(7)
      ..write(obj.checklistReminderTime)
      ..writeByte(8)
      ..write(obj.lastLat)
      ..writeByte(9)
      ..write(obj.lastLng)
      ..writeByte(10)
      ..write(obj.lastCityName)
      ..writeByte(11)
      ..write(obj.rawatibLevel)
      ..writeByte(12)
      ..write(obj.tilawahTargetValue)
      ..writeByte(13)
      ..write(obj.tilawahTargetUnit)
      ..writeByte(14)
      ..write(obj.tilawahAutoSync)
      ..writeByte(15)
      ..write(obj.trackDzikir)
      ..writeByte(16)
      ..write(obj.trackPuasa)
      ..writeByte(17)
      ..write(obj.showLatin)
      ..writeByte(18)
      ..write(obj.showTerjemahan)
      ..writeByte(19)
      ..write(obj.simpleMode)
      ..writeByte(20)
      ..write(obj.dzikirDisplayMode)
      ..writeByte(21)
      ..write(obj.dzikirCounterButtonPosition)
      ..writeByte(22)
      ..write(obj.dzikirAutoAdvance)
      ..writeByte(23)
      ..write(obj.dzikirHapticOnCount)
      ..writeByte(24)
      ..write(obj.alertsEnabled)
      ..writeByte(25)
      ..write(obj.inboxEnabled)
      ..writeByte(26)
      ..write(obj.streakRiskEnabled)
      ..writeByte(27)
      ..write(obj.dailyChecklistReminderEnabled)
      ..writeByte(28)
      ..write(obj.weeklySummaryEnabled)
      ..writeByte(29)
      ..write(obj.quietHoursStart)
      ..writeByte(30)
      ..write(obj.quietHoursEnd)
      ..writeByte(31)
      ..write(obj.maxNonPrayerPushPerDay)
      ..writeByte(32)
      ..write(obj.mirrorAdzanToInbox)
      ..writeByte(33)
      ..write(obj.tilawahAutoContinueNextSurah)
      ..writeByte(34)
      ..write(obj.shalatReportReminderEnabled)
      ..writeByte(35)
      ..write(obj.shalatReportReminderDelayMinutes)
      ..writeByte(36)
      ..write(obj.shalatReportReminderRepeatCount)
      ..writeByte(37)
      ..write(obj.shalatReportReminderRepeatIntervalMinutes);
  }

  @override
  int get hashCode => typeId.hashCode;

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is AppSettingsAdapter &&
          runtimeType == other.runtimeType &&
          typeId == other.typeId;
}
