@@ -329,102 +329,25 @@ class SKProductWrapper {
329
329
/// Object that indicates the locale of the price
330
330
///
331
331
/// It is a thin wrapper of [NSLocale] (https://developer.apple.com/documentation/foundation/nslocale?language=objc).
332
+ // TODO(cyanglaz): NSLocale is a complex object, want to see the actual need of getting this expanded.
333
+ // Matching android to only get the currencySymbol for now.
334
+ // https://github.com/flutter/flutter/issues/26610
332
335
@JsonSerializable ()
333
336
class SKPriceLocaleWrapper {
334
337
/// Creates a new price locale for `currencySymbol` and `currencyCode` .
335
- SKPriceLocaleWrapper ({
336
- required this .localeIdentifier,
337
- required this .countryCode,
338
- required this .languageCode,
339
- required this .scriptCode,
340
- required this .variantCode,
341
- required this .collationIdentifier,
342
- required this .collatorIdentifier,
343
- required this .usesMetricSystem,
344
- required this .measurementSystem,
345
- required this .decimalSeparator,
346
- required this .groupingSeparator,
347
- required this .currencySymbol,
348
- required this .currencyCode,
349
- required this .endDelimiterKey,
350
- required this .beginDelimiterKey,
351
- required this .alternateQuotationEndDelimiterKey,
352
- required this .alternateQuotationBeginDelimiterKey,
353
- });
338
+ SKPriceLocaleWrapper (
339
+ {required this .currencySymbol, required this .currencyCode});
354
340
355
341
/// Constructing an instance from a map from the Objective-C layer.
356
342
///
357
343
/// This method should only be used with `map` values returned by [SKProductWrapper.fromJson] and [SKProductDiscountWrapper.fromJson] .
358
344
factory SKPriceLocaleWrapper .fromJson (Map <String , dynamic >? map) {
359
345
if (map == null ) {
360
- return SKPriceLocaleWrapper (
361
- localeIdentifier: '' ,
362
- countryCode: '' ,
363
- languageCode: '' ,
364
- scriptCode: '' ,
365
- variantCode: '' ,
366
- collationIdentifier: '' ,
367
- collatorIdentifier: '' ,
368
- usesMetricSystem: true ,
369
- measurementSystem: '' ,
370
- decimalSeparator: '' ,
371
- groupingSeparator: '' ,
372
- currencySymbol: '' ,
373
- currencyCode: '' ,
374
- endDelimiterKey: '' ,
375
- beginDelimiterKey: '' ,
376
- alternateQuotationEndDelimiterKey: '' ,
377
- alternateQuotationBeginDelimiterKey: '' ,
378
- );
346
+ return SKPriceLocaleWrapper (currencyCode: '' , currencySymbol: '' );
379
347
}
380
348
return _$SKPriceLocaleWrapperFromJson (map);
381
349
}
382
350
383
- ///The identifier for the locale, e.g. "en_US" for US locale.
384
- @JsonKey (defaultValue: '' )
385
- final String localeIdentifier;
386
-
387
- ///The country or region code for the locale, e.g. "US" for en_US locale.
388
- @JsonKey (defaultValue: '' )
389
- final String countryCode;
390
-
391
- ///The language code for the locale, e.g. "en" for en_US locale.
392
- @JsonKey (defaultValue: '' )
393
- final String languageCode;
394
-
395
- ///The script code for the locale, e.g. "Latn" for en_US locale.
396
- @JsonKey (defaultValue: '' )
397
- final String scriptCode;
398
-
399
- ///The variant code for the locale, e.g. "POSIX".
400
- @JsonKey (defaultValue: '' )
401
- final String variantCode;
402
-
403
- ///The collation associated with the locale, e.g. "pinyin".
404
- @JsonKey (defaultValue: '' )
405
- final String collationIdentifier;
406
-
407
- ///The collation identifier for the locale, e.g. "en".
408
- @JsonKey (defaultValue: '' )
409
- final String collatorIdentifier;
410
-
411
- ///A flag whether the locale uses the metric system.
412
- ///If the value is false, you can typically assume American measurement units (e.g. miles).
413
- @JsonKey (defaultValue: true )
414
- final bool usesMetricSystem;
415
-
416
- ///The measurement associated with the locale, e.g. "Metric" or "U.S.".
417
- @JsonKey (defaultValue: '' )
418
- final String measurementSystem;
419
-
420
- ///The decimal separator associated with the locale, e.g. "." or ",".
421
- @JsonKey (defaultValue: '' )
422
- final String decimalSeparator;
423
-
424
- ///The numeric grouping separator associated with the locale, e.g. "," or " ".
425
- @JsonKey (defaultValue: '' )
426
- final String groupingSeparator;
427
-
428
351
///The currency symbol for the locale, e.g. $ for US locale.
429
352
@JsonKey (defaultValue: '' )
430
353
final String currencySymbol;
@@ -433,64 +356,19 @@ class SKPriceLocaleWrapper {
433
356
@JsonKey (defaultValue: '' )
434
357
final String currencyCode;
435
358
436
- ///The end quotation symbol associated with the locale, e.g. "”", "“", "»", or "」".
437
- @JsonKey (defaultValue: '' )
438
- final String endDelimiterKey;
439
-
440
- ///The begin quotation symbol associated with the locale, e.g. "“", "„", "«", or "「".
441
- @JsonKey (defaultValue: '' )
442
- final String beginDelimiterKey;
443
-
444
- ///The alternate end quotation symbol associated with the locale, e.g. "“", "„", "«", or "「".
445
- @JsonKey (defaultValue: '' )
446
- final String alternateQuotationEndDelimiterKey;
447
-
448
- ///The alternating begin quotation symbol associated with the locale, e.g. "“", "„", "«", or "「".
449
- @JsonKey (defaultValue: '' )
450
- final String alternateQuotationBeginDelimiterKey;
451
-
452
359
@override
453
- bool operator == (Object other) =>
454
- identical (this , other) ||
455
- other is SKPriceLocaleWrapper &&
456
- runtimeType == other.runtimeType &&
457
- localeIdentifier == other.localeIdentifier &&
458
- countryCode == other.countryCode &&
459
- languageCode == other.languageCode &&
460
- scriptCode == other.scriptCode &&
461
- variantCode == other.variantCode &&
462
- collationIdentifier == other.collationIdentifier &&
463
- collatorIdentifier == other.collatorIdentifier &&
464
- usesMetricSystem == other.usesMetricSystem &&
465
- measurementSystem == other.measurementSystem &&
466
- decimalSeparator == other.decimalSeparator &&
467
- groupingSeparator == other.groupingSeparator &&
468
- currencySymbol == other.currencySymbol &&
469
- currencyCode == other.currencyCode &&
470
- endDelimiterKey == other.endDelimiterKey &&
471
- beginDelimiterKey == other.beginDelimiterKey &&
472
- alternateQuotationEndDelimiterKey ==
473
- other.alternateQuotationEndDelimiterKey &&
474
- alternateQuotationBeginDelimiterKey ==
475
- other.alternateQuotationBeginDelimiterKey;
360
+ bool operator == (Object other) {
361
+ if (identical (other, this )) {
362
+ return true ;
363
+ }
364
+ if (other.runtimeType != runtimeType) {
365
+ return false ;
366
+ }
367
+ final SKPriceLocaleWrapper typedOther = other as SKPriceLocaleWrapper ;
368
+ return typedOther.currencySymbol == currencySymbol &&
369
+ typedOther.currencyCode == currencyCode;
370
+ }
476
371
477
372
@override
478
- int get hashCode =>
479
- localeIdentifier.hashCode ^
480
- countryCode.hashCode ^
481
- languageCode.hashCode ^
482
- scriptCode.hashCode ^
483
- variantCode.hashCode ^
484
- collationIdentifier.hashCode ^
485
- collatorIdentifier.hashCode ^
486
- usesMetricSystem.hashCode ^
487
- measurementSystem.hashCode ^
488
- decimalSeparator.hashCode ^
489
- groupingSeparator.hashCode ^
490
- currencySymbol.hashCode ^
491
- currencyCode.hashCode ^
492
- endDelimiterKey.hashCode ^
493
- beginDelimiterKey.hashCode ^
494
- alternateQuotationEndDelimiterKey.hashCode ^
495
- alternateQuotationBeginDelimiterKey.hashCode;
373
+ int get hashCode => hashValues (this .currencySymbol, this .currencyCode);
496
374
}
0 commit comments