@@ -35,12 +35,24 @@ public LoyaltyCard parse(Uri uri) throws InvalidObjectException {
35
35
}
36
36
37
37
try {
38
+ // These values are allowed to be null
39
+ Integer headerColor = null ;
40
+ Integer headerTextColor = null ;
41
+
38
42
String store = uri .getQueryParameter (STORE );
39
43
String note = uri .getQueryParameter (NOTE );
40
44
String cardId = uri .getQueryParameter (CARD_ID );
41
45
String barcodeType = uri .getQueryParameter (BARCODE_TYPE );
42
- Integer headerColor = Integer .parseInt (uri .getQueryParameter (HEADER_COLOR ));
43
- Integer headerTextColor = Integer .parseInt (uri .getQueryParameter (HEADER_TEXT_COLOR ));
46
+ String unparsedHeaderColor = uri .getQueryParameter (HEADER_COLOR );
47
+ if (unparsedHeaderColor != null )
48
+ {
49
+ headerColor = Integer .parseInt (unparsedHeaderColor );
50
+ }
51
+ String unparsedHeaderTextColor = uri .getQueryParameter (HEADER_TEXT_COLOR );
52
+ if (unparsedHeaderTextColor != null )
53
+ {
54
+ headerTextColor = Integer .parseInt (unparsedHeaderTextColor );
55
+ }
44
56
return new LoyaltyCard (-1 , store , note , cardId , barcodeType , headerColor , headerTextColor );
45
57
} catch (NullPointerException | NumberFormatException ex ) {
46
58
throw new InvalidObjectException ("Not a valid import URI" );
@@ -57,8 +69,14 @@ protected Uri toUri(LoyaltyCard loyaltyCard) {
57
69
uriBuilder .appendQueryParameter (NOTE , loyaltyCard .note );
58
70
uriBuilder .appendQueryParameter (CARD_ID , loyaltyCard .cardId );
59
71
uriBuilder .appendQueryParameter (BARCODE_TYPE , loyaltyCard .barcodeType );
60
- uriBuilder .appendQueryParameter (HEADER_COLOR , loyaltyCard .headerColor .toString ());
61
- uriBuilder .appendQueryParameter (HEADER_TEXT_COLOR , loyaltyCard .headerTextColor .toString ());
72
+ if (loyaltyCard .headerColor != null )
73
+ {
74
+ uriBuilder .appendQueryParameter (HEADER_COLOR , loyaltyCard .headerColor .toString ());
75
+ }
76
+ if (loyaltyCard .headerTextColor != null )
77
+ {
78
+ uriBuilder .appendQueryParameter (HEADER_TEXT_COLOR , loyaltyCard .headerTextColor .toString ());
79
+ }
62
80
63
81
return uriBuilder .build ();
64
82
}
0 commit comments