Add mmHg and m/s

This commit is contained in:
Yoshi 2024-08-02 22:52:33 +03:00
parent dd57938153
commit 2cc70f9221
42 changed files with 507 additions and 56 deletions

View file

@ -20,7 +20,7 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.4.2" apply false
id "org.jetbrains.kotlin.android" version "1.9.22" apply false
id "org.jetbrains.kotlin.android" version "2.0.0" apply false
}
include ":app"

View file

@ -1,8 +1,8 @@
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:rain/app/api/city.dart';
import 'package:rain/app/api/weather.dart';
import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/api/weather_api.dart';
import 'package:rain/app/data/weather.dart';
import 'package:rain/main.dart';

View file

@ -2,8 +2,8 @@ import 'package:freezed_annotation/freezed_annotation.dart';
//ignore_for_file: invalid_annotation_target
part 'weather.freezed.dart';
part 'weather.g.dart';
part 'weather_api.freezed.dart';
part 'weather_api.g.dart';
@freezed
class WeatherDataApi with _$WeatherDataApi {

View file

@ -3,7 +3,7 @@
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
part of 'weather.dart';
part of 'weather_api.dart';
// **************************************************************************
// FreezedGenerator

View file

@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'weather.dart';
part of 'weather_api.dart';
// **************************************************************************
// JsonSerializableGenerator

View file

@ -17,6 +17,8 @@ class Settings {
String? widgetTextColor;
String measurements = 'metric';
String degrees = 'celsius';
String wind = 'kph';
String pressure = 'hPa';
String timeformat = '24';
String? language;
int? timeRange;

View file

@ -62,45 +62,55 @@ const SettingsSchema = CollectionSchema(
name: r'onboard',
type: IsarType.bool,
),
r'roundDegree': PropertySchema(
r'pressure': PropertySchema(
id: 9,
name: r'pressure',
type: IsarType.string,
),
r'roundDegree': PropertySchema(
id: 10,
name: r'roundDegree',
type: IsarType.bool,
),
r'theme': PropertySchema(
id: 10,
id: 11,
name: r'theme',
type: IsarType.string,
),
r'timeEnd': PropertySchema(
id: 11,
id: 12,
name: r'timeEnd',
type: IsarType.string,
),
r'timeRange': PropertySchema(
id: 12,
id: 13,
name: r'timeRange',
type: IsarType.long,
),
r'timeStart': PropertySchema(
id: 13,
id: 14,
name: r'timeStart',
type: IsarType.string,
),
r'timeformat': PropertySchema(
id: 14,
id: 15,
name: r'timeformat',
type: IsarType.string,
),
r'widgetBackgroundColor': PropertySchema(
id: 15,
id: 16,
name: r'widgetBackgroundColor',
type: IsarType.string,
),
r'widgetTextColor': PropertySchema(
id: 16,
id: 17,
name: r'widgetTextColor',
type: IsarType.string,
),
r'wind': PropertySchema(
id: 18,
name: r'wind',
type: IsarType.string,
)
},
estimateSize: _settingsEstimateSize,
@ -131,6 +141,7 @@ int _settingsEstimateSize(
}
}
bytesCount += 3 + object.measurements.length * 3;
bytesCount += 3 + object.pressure.length * 3;
{
final value = object.theme;
if (value != null) {
@ -162,6 +173,7 @@ int _settingsEstimateSize(
bytesCount += 3 + value.length * 3;
}
}
bytesCount += 3 + object.wind.length * 3;
return bytesCount;
}
@ -180,14 +192,16 @@ void _settingsSerialize(
writer.writeString(offsets[6], object.measurements);
writer.writeBool(offsets[7], object.notifications);
writer.writeBool(offsets[8], object.onboard);
writer.writeBool(offsets[9], object.roundDegree);
writer.writeString(offsets[10], object.theme);
writer.writeString(offsets[11], object.timeEnd);
writer.writeLong(offsets[12], object.timeRange);
writer.writeString(offsets[13], object.timeStart);
writer.writeString(offsets[14], object.timeformat);
writer.writeString(offsets[15], object.widgetBackgroundColor);
writer.writeString(offsets[16], object.widgetTextColor);
writer.writeString(offsets[9], object.pressure);
writer.writeBool(offsets[10], object.roundDegree);
writer.writeString(offsets[11], object.theme);
writer.writeString(offsets[12], object.timeEnd);
writer.writeLong(offsets[13], object.timeRange);
writer.writeString(offsets[14], object.timeStart);
writer.writeString(offsets[15], object.timeformat);
writer.writeString(offsets[16], object.widgetBackgroundColor);
writer.writeString(offsets[17], object.widgetTextColor);
writer.writeString(offsets[18], object.wind);
}
Settings _settingsDeserialize(
@ -207,14 +221,16 @@ Settings _settingsDeserialize(
object.measurements = reader.readString(offsets[6]);
object.notifications = reader.readBool(offsets[7]);
object.onboard = reader.readBool(offsets[8]);
object.roundDegree = reader.readBool(offsets[9]);
object.theme = reader.readStringOrNull(offsets[10]);
object.timeEnd = reader.readStringOrNull(offsets[11]);
object.timeRange = reader.readLongOrNull(offsets[12]);
object.timeStart = reader.readStringOrNull(offsets[13]);
object.timeformat = reader.readString(offsets[14]);
object.widgetBackgroundColor = reader.readStringOrNull(offsets[15]);
object.widgetTextColor = reader.readStringOrNull(offsets[16]);
object.pressure = reader.readString(offsets[9]);
object.roundDegree = reader.readBool(offsets[10]);
object.theme = reader.readStringOrNull(offsets[11]);
object.timeEnd = reader.readStringOrNull(offsets[12]);
object.timeRange = reader.readLongOrNull(offsets[13]);
object.timeStart = reader.readStringOrNull(offsets[14]);
object.timeformat = reader.readString(offsets[15]);
object.widgetBackgroundColor = reader.readStringOrNull(offsets[16]);
object.widgetTextColor = reader.readStringOrNull(offsets[17]);
object.wind = reader.readString(offsets[18]);
return object;
}
@ -244,21 +260,25 @@ P _settingsDeserializeProp<P>(
case 8:
return (reader.readBool(offset)) as P;
case 9:
return (reader.readBool(offset)) as P;
return (reader.readString(offset)) as P;
case 10:
return (reader.readStringOrNull(offset)) as P;
return (reader.readBool(offset)) as P;
case 11:
return (reader.readStringOrNull(offset)) as P;
case 12:
return (reader.readLongOrNull(offset)) as P;
return (reader.readStringOrNull(offset)) as P;
case 13:
return (reader.readStringOrNull(offset)) as P;
return (reader.readLongOrNull(offset)) as P;
case 14:
return (reader.readString(offset)) as P;
case 15:
return (reader.readStringOrNull(offset)) as P;
case 15:
return (reader.readString(offset)) as P;
case 16:
return (reader.readStringOrNull(offset)) as P;
case 17:
return (reader.readStringOrNull(offset)) as P;
case 18:
return (reader.readString(offset)) as P;
default:
throw IsarError('Unknown property with id $propertyId');
}
@ -875,6 +895,136 @@ extension SettingsQueryFilter
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureGreaterThan(
String value, {
bool include = false,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureLessThan(
String value, {
bool include = false,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureBetween(
String lower,
String upper, {
bool includeLower = true,
bool includeUpper = true,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'pressure',
lower: lower,
includeLower: includeLower,
upper: upper,
includeUpper: includeUpper,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.startsWith(
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.endsWith(
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureContains(
String value,
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.contains(
property: r'pressure',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureMatches(
String pattern,
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.matches(
property: r'pressure',
wildcard: pattern,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureIsEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'pressure',
value: '',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> pressureIsNotEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
property: r'pressure',
value: '',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> roundDegreeEqualTo(
bool value) {
return QueryBuilder.apply(this, (query) {
@ -1832,6 +1982,136 @@ extension SettingsQueryFilter
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windGreaterThan(
String value, {
bool include = false,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windLessThan(
String value, {
bool include = false,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windBetween(
String lower,
String upper, {
bool includeLower = true,
bool includeUpper = true,
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'wind',
lower: lower,
includeLower: includeLower,
upper: upper,
includeUpper: includeUpper,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.startsWith(
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.endsWith(
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windContains(
String value,
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.contains(
property: r'wind',
value: value,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windMatches(
String pattern,
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.matches(
property: r'wind',
wildcard: pattern,
caseSensitive: caseSensitive,
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windIsEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'wind',
value: '',
));
});
}
QueryBuilder<Settings, Settings, QAfterFilterCondition> windIsNotEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
property: r'wind',
value: '',
));
});
}
}
extension SettingsQueryObject
@ -1949,6 +2229,18 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByPressure() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'pressure', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByPressureDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'pressure', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByRoundDegree() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'roundDegree', Sort.asc);
@ -2045,6 +2337,18 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
return query.addSortBy(r'widgetTextColor', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByWind() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'wind', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> sortByWindDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'wind', Sort.desc);
});
}
}
extension SettingsQuerySortThenBy
@ -2169,6 +2473,18 @@ extension SettingsQuerySortThenBy
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByPressure() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'pressure', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByPressureDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'pressure', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByRoundDegree() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'roundDegree', Sort.asc);
@ -2265,6 +2581,18 @@ extension SettingsQuerySortThenBy
return query.addSortBy(r'widgetTextColor', Sort.desc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByWind() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'wind', Sort.asc);
});
}
QueryBuilder<Settings, Settings, QAfterSortBy> thenByWindDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'wind', Sort.desc);
});
}
}
extension SettingsQueryWhereDistinct
@ -2326,6 +2654,13 @@ extension SettingsQueryWhereDistinct
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByPressure(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'pressure', caseSensitive: caseSensitive);
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByRoundDegree() {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'roundDegree');
@ -2381,6 +2716,13 @@ extension SettingsQueryWhereDistinct
caseSensitive: caseSensitive);
});
}
QueryBuilder<Settings, Settings, QDistinct> distinctByWind(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'wind', caseSensitive: caseSensitive);
});
}
}
extension SettingsQueryProperty
@ -2445,6 +2787,12 @@ extension SettingsQueryProperty
});
}
QueryBuilder<Settings, String, QQueryOperations> pressureProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'pressure');
});
}
QueryBuilder<Settings, bool, QQueryOperations> roundDegreeProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'roundDegree');
@ -2493,6 +2841,12 @@ extension SettingsQueryProperty
return query.addPropertyName(r'widgetTextColor');
});
}
QueryBuilder<Settings, String, QQueryOperations> windProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'wind');
});
}
}
// coverage:ignore-file

View file

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart';
import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city.dart';
import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/widgets/button.dart';
import 'package:rain/app/widgets/text_form.dart';

View file

@ -4,7 +4,7 @@ import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart';
import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city.dart';
import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/modules/home.dart';
import 'package:rain/app/widgets/button.dart';

View file

@ -3,13 +3,13 @@ import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart';
import 'package:isar/isar.dart';
import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city.dart';
import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/data/weather.dart';
import 'package:rain/app/modules/cards/view/list_weather_card.dart';
import 'package:rain/app/modules/cards/widgets/create_card_weather.dart';
import 'package:rain/app/modules/geolocation.dart';
import 'package:rain/app/modules/main/view/weather.dart';
import 'package:rain/app/modules/main/view/weather_main.dart';
import 'package:rain/app/modules/settings/view/settings.dart';
import 'package:rain/app/services/utils.dart';
import 'package:rain/main.dart';

View file

@ -554,6 +554,38 @@ class _SettingsPageState extends State<SettingsPage> {
setState(() {});
},
),
SettingCard(
elevation: 4,
icon: const Icon(Iconsax.wind),
text: 'wind'.tr,
dropdown: true,
dropdownName: settings.wind.tr,
dropdownList: <String>['kph'.tr, 'm/s'.tr],
dropdownCange: (String? newValue) async {
isar.writeTxnSync(() {
settings.wind =
newValue == 'kph'.tr ? 'kph' : 'm/s';
isar.settings.putSync(settings);
});
setState(() {});
},
),
SettingCard(
elevation: 4,
icon: const Icon(Iconsax.ruler),
text: 'pressure'.tr,
dropdown: true,
dropdownName: settings.pressure.tr,
dropdownList: <String>['hPa'.tr, 'mmHg'.tr],
dropdownCange: (String? newValue) async {
isar.writeTxnSync(() {
settings.pressure =
newValue == 'hPa'.tr ? 'hPa' : 'mmHg';
isar.settings.putSync(settings);
});
setState(() {});
},
),
SettingCard(
elevation: 4,
icon: const Icon(Iconsax.clock),

View file

@ -42,7 +42,7 @@ class SettingCard extends StatelessWidget {
margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 5),
child: ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadius.circular(15),
),
onTap: onPressed,
leading: icon,
@ -61,6 +61,13 @@ class SettingCard extends StatelessWidget {
)
: dropdown
? DropdownButton<String>(
icon: const Padding(
padding: EdgeInsets.only(left: 7),
child: Icon(Iconsax.arrow_down_1),
),
iconSize: 15,
alignment: AlignmentDirectional.centerEnd,
borderRadius: const BorderRadius.all(Radius.circular(15)),
underline: Container(),
value: dropdownName,
items: dropdownList!

View file

@ -277,7 +277,7 @@ class _DescContainerState extends State<DescContainer> {
? Container()
: DescWeather(
imageName: 'assets/images/atmospheric.png',
value: '${pressure.round()} ${'hPa'.tr}',
value: statusData.getPressure(pressure.round()),
desc: 'pressure'.tr,
message: message.getPressure(pressure.round()),
),

View file

@ -18,7 +18,9 @@ class StatusData {
String getSpeed(int? speed) {
switch (settings.measurements) {
case 'metric':
return '$speed ${'kph'.tr}';
return settings.wind == 'm/s'
? '${(speed! * (5 / 18)).toPrecision(1)} ${'m/s'.tr}'
: '$speed ${'kph'.tr}';
case 'imperial':
return '$speed ${'mph'.tr}';
default:
@ -26,6 +28,12 @@ class StatusData {
}
}
String getPressure(int? pressure) {
return settings.pressure == 'mmHg'
? '${(pressure! * (3 / 4)).toPrecision(1)} ${'mmHg'.tr}'
: '$pressure ${'hPa'.tr}';
}
String getVisibility(double? length) {
if (length != null) {
switch (settings.measurements) {

View file

@ -35,6 +35,8 @@ class BnIn {
'thunderstorm': 'বজ্রপাত',
'kph': 'কিমি/ঘণ্টা',
'mph': 'মাইল/ঘণ্টা',
'm/s': 'মি/সে',
'mmHg': 'মিমি Hg',
'mi': 'মাইল',
'km': 'কিমি',
'inch': 'ইঞ্চ',

View file

@ -35,6 +35,8 @@ class CsCz {
'thunderstorm': 'Bouřka',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class DaDk {
'thunderstorm': 'Tordenvejr',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'tommer',

View file

@ -35,6 +35,8 @@ class DeDe {
'thunderstorm': 'Gewitter',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class EnUs {
'thunderstorm': 'Thunderstorm',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class EsEs {
'thunderstorm': 'Tormenta',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -37,6 +37,8 @@ class FaIr {
'mph': 'mph',
'mi': 'mi',
'km': 'km',
'm/s': 'm/s',
'mmHg': 'mmHg',
'inch': 'inch',
'mm': 'mm',
'hPa': 'hPa',

View file

@ -35,6 +35,8 @@ class FrFr {
'thunderstorm': 'Orage',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class GaIe {
'thunderstorm': 'Tornaí',
'kph': 'km/u',
'mph': 'mi/u',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'míle',
'km': 'km',
'inch': 'úinse',

View file

@ -35,6 +35,8 @@ class HiIn {
'thunderstorm': 'बिजली चमक',
'kph': 'किमी/घंटा',
'mph': 'मील/घंटा',
'm/s': 'मी/से',
'mmHg': 'मिमी एचजी',
'mi': 'मील',
'km': 'किमी',
'inch': 'इंच',

View file

@ -35,6 +35,8 @@ class HuHu {
'thunderstorm': 'Zivatar',
'kph': 'km/óra',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mérföld',
'km': 'km',
'inch': 'hüvelyk',

View file

@ -35,6 +35,8 @@ class ItIt {
'thunderstorm': 'Temporale',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class KaGe {
'thunderstorm': 'ჭექა-ქუხილი',
'kph': 'კმ/სთ',
'mph': 'მილი/სთ',
'm/s': 'მ/წმ',
'mmHg': 'მმHg',
'mi': 'მილი',
'km': 'კმ',
'inch': 'ინჩი',

View file

@ -32,6 +32,8 @@ class KoKr {
'thunderstorm': '천둥번개',
'kph': 'km/h',
'mph': 'mph',
'm/s': '미터/초',
'mmHg': '밀리미터 수은주',
'mi': 'mi',
'km': 'km',
'inch': '인치',

View file

@ -35,6 +35,8 @@ class NlNl {
'thunderstorm': 'Onweersbui',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class PlPl {
'thunderstorm': 'Burza z piorunami',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class PtBr {
'thunderstorm': 'Tempestade',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class RoRo {
'thunderstorm': 'Furtună',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -34,6 +34,8 @@ class RuRu {
'snow': 'Снег',
'thunderstorm': 'Гроза',
'kph': 'км/ч',
'm/s': 'м/с',
'mmHg': 'мм рт. ст.',
'mph': 'миль/ч',
'mi': 'миль',
'km': 'км',

View file

@ -35,6 +35,8 @@ class SkSk {
'thunderstorm': 'Búrka',
'kph': 'km/h',
'mph': 'mph',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mi',
'km': 'km',
'inch': 'inch',

View file

@ -35,6 +35,8 @@ class TrTr {
'thunderstorm': 'Gök Gürültülü Fırtına',
'kph': 'km/sa',
'mph': 'mil/sa',
'm/s': 'm/s',
'mmHg': 'mmHg',
'mi': 'mil',
'km': 'km',
'inch': 'inç',

View file

@ -35,6 +35,8 @@ class UrPk {
'thunderstorm': 'طوفانی بارش',
'kph': 'کلومیٹر فی گھنٹہ',
'mph': 'میل فی گھنٹہ',
'm/s': 'میٹر/سیکنڈ',
'mmHg': 'ملی میٹر مرکری',
'mi': 'میل',
'km': 'کلومیٹر',
'inch': 'انچ',

View file

@ -32,6 +32,8 @@ class ZhCh {
'thunderstorm': '雷暴',
'kph': '千米/小时',
'mph': '英里/小时',
'm/s': '米/秒',
'mmHg': '毫米汞柱',
'mi': '英里',
'km': '千米',
'inch': '英寸',

View file

@ -32,6 +32,8 @@ class ZhTw {
'thunderstorm': '雷暴',
'kph': '公里/時',
'mph': '英里/時',
'm/s': '米/秒',
'mmHg': '毫米汞柱',
'mi': '英里',
'km': '公里',
'inch': '英呎',

View file

@ -602,10 +602,10 @@ packages:
dependency: "direct main"
description:
name: internet_connection_checker_plus
sha256: "116a5473ef8b3eadc4f07257d2719885aec1626c54fb043c47e3deda659dbabb"
sha256: ea3f14695e5c2baa6daba5121a971338a69e7d615cbf1e47ae39f31234cc668c
url: "https://pub.dev"
source: hosted
version: "2.5.0"
version: "2.5.1"
intl:
dependency: "direct main"
description:
@ -794,10 +794,10 @@ packages:
dependency: "direct main"
description:
name: path_provider
sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
url: "https://pub.dev"
source: hosted
version: "2.1.3"
version: "2.1.4"
path_provider_android:
dependency: transitive
description:
@ -1063,10 +1063,10 @@ packages:
dependency: transitive
description:
name: url_launcher_android
sha256: "678979703e10d7862c551c736fe6b9f185261bddf141b46672063b99790bc700"
sha256: "94d8ad05f44c6d4e2ffe5567ab4d741b82d62e3c8e288cc1fcea45965edf47c9"
url: "https://pub.dev"
source: hosted
version: "6.3.7"
version: "6.3.8"
url_launcher_ios:
dependency: transitive
description:
@ -1103,10 +1103,10 @@ packages:
dependency: transitive
description:
name: url_launcher_web
sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a"
sha256: a36e2d7981122fa185006b216eb6b5b97ede3f9a54b7a511bc966971ab98d049
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.3.2"
url_launcher_windows:
dependency: transitive
description:
@ -1175,10 +1175,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9"
url: "https://pub.dev"
source: hosted
version: "5.5.1"
version: "5.5.3"
win32_registry:
dependency: transitive
description:

View file

@ -33,7 +33,7 @@ dependencies:
git:
url: https://github.com/payam-zahedi/flutter-glow.git
dynamic_color: ^1.7.0
path_provider: ^2.1.3
path_provider: ^2.1.4
# quick_settings: ^1.0.1
json_annotation: ^4.9.0
flutter_timezone: ^2.1.0
@ -50,7 +50,7 @@ dependencies:
flutter_hsvcolor_picker: ^1.5.1
scrollable_positioned_list: ^0.3.8
flutter_local_notifications: ^17.2.1+2
internet_connection_checker_plus: ^2.5.0
internet_connection_checker_plus: ^2.5.1
# Uncomment this for publishing FLOSS variant
# dependency_overrides: