File tree Expand file tree Collapse file tree 3 files changed +20
-1
lines changed
AndroidSDKCore/src/main/java/com/leanplum Expand file tree Collapse file tree 3 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -302,6 +302,22 @@ private void cacheComputedValues() {
302302 numberValue = Double .valueOf (stringValue );
303303 } catch (NumberFormatException e ) {
304304 numberValue = null ;
305+ if (defaultValue instanceof Short ) {
306+ value = (T ) (Short ) ((Number ) defaultValue ).shortValue ();
307+ numberValue = Double .valueOf (((Number ) defaultValue ).shortValue ());
308+ } else if (defaultValue instanceof Integer ) {
309+ value = (T ) (Integer ) ((Number ) defaultValue ).intValue ();
310+ numberValue = Double .valueOf (((Number ) defaultValue ).intValue ());
311+ } else if (defaultValue instanceof Long ) {
312+ value = (T ) (Long ) ((Number ) defaultValue ).longValue ();
313+ numberValue = Double .valueOf (((Number ) defaultValue ).longValue ());
314+ } else if (defaultValue instanceof Float ) {
315+ value = (T ) (Float ) ((Number ) defaultValue ).floatValue ();
316+ numberValue = Double .valueOf (((Number ) defaultValue ).floatValue ());
317+ } else if (defaultValue instanceof Double ) {
318+ value = (T ) (Double ) ((Number ) defaultValue ).doubleValue ();
319+ numberValue = Double .valueOf (((Number ) defaultValue ).doubleValue ());
320+ }
305321 }
306322 } else if (value instanceof Number ) {
307323 stringValue = "" + value ;
Original file line number Diff line number Diff line change @@ -829,6 +829,7 @@ public void testVariables() throws Exception {
829829 Var <Integer > colorVariable = Var .defineColor ("test_color" , 12345 );
830830 Var <String > groupStringVariable = Var .define ("groups.strings" , "groups_string_test" );
831831 Var <Integer > groupIntegerVariable = Var .define ("groups.integers" , 5 );
832+ Var <Integer > integerVariableString = Var .define ("test_integer_string_invalid" , 10 );
832833
833834 setupSDK (mContext , "/responses/simple_start_response.json" );
834835
@@ -844,6 +845,7 @@ public void testVariables() throws Exception {
844845 assertEquals (listVariable .defaultValue (), VarCache .getVariable ("test_list" ).value ());
845846 assertEquals (dictionaryVariable .defaultValue (), VarCache .getVariable ("test_dictionary" )
846847 .value ());
848+ assertEquals (integerVariable .defaultValue (), VarCache .getVariable ("test_integer_string_invalid" ).value ());
847849
848850 // Validate values.
849851 assertEquals (colorVariable .value (), VarCache .getVariable ("test_color" ).value ());
Original file line number Diff line number Diff line change 308308 "floatVariable" : 5 ,
309309 "integerVariable" : 1 ,
310310 "fileVariable" : " leanplum_watermark.jpg" ,
311- "stringVariable" : " test_string"
311+ "stringVariable" : " test_string" ,
312+ "integerVariableString" : " test"
312313 },
313314 "latestVersion" : " 1.4.0.2" ,
314315 "vars" : {
You can’t perform that action at this time.
0 commit comments