@@ -121,13 +121,13 @@ public static TableDataResponse getAllPrefData(Context context, String tag) {
121121 } else if (entry .getValue () instanceof Integer ) {
122122 valueColumnData .dataType = DataType .INTEGER ;
123123 } else if (entry .getValue () instanceof Long ) {
124- valueColumnData .dataType = DataType .INTEGER ;
124+ valueColumnData .dataType = DataType .LONG ;
125125 } else if (entry .getValue () instanceof Float ) {
126- valueColumnData .dataType = DataType .REAL ;
126+ valueColumnData .dataType = DataType .FLOAT ;
127127 } else if (entry .getValue () instanceof Boolean ) {
128128 valueColumnData .dataType = DataType .BOOLEAN ;
129129 } else if (entry .getValue () instanceof Set ) {
130- valueColumnData .dataType = DataType .TEXT ;
130+ valueColumnData .dataType = DataType .STRING_SET ;
131131 }
132132 } else {
133133 valueColumnData .dataType = DataType .TEXT ;
@@ -143,41 +143,53 @@ public static TableDataResponse getAllPrefData(Context context, String tag) {
143143 public static UpdateRowResponse updateRow (Context context , String tableName , List <RowDataRequest > rowDataRequests ) {
144144 UpdateRowResponse updateRowResponse = new UpdateRowResponse ();
145145
146+ if (tableName == null ) {
147+ return updateRowResponse ;
148+ }
149+
146150 RowDataRequest rowDataKey = rowDataRequests .get (0 );
147151 RowDataRequest rowDataValue = rowDataRequests .get (1 );
148152
149153 String key = rowDataKey .value ;
150154 String value = rowDataValue .value ;
155+ String dataType = rowDataValue .dataType ;
151156
152157 SharedPreferences preferences = context .getSharedPreferences (tableName , Context .MODE_PRIVATE );
153- Map <String , ?> allEntries = preferences .getAll ();
154-
155- Object prevValue = allEntries .get (key );
156158
157159 try {
158- if (prevValue instanceof String ) {
159- preferences .edit ().putString (key , value ).apply ();
160- updateRowResponse .isSuccessful = true ;
161- } else if (prevValue instanceof Integer ) {
162- preferences .edit ().putInt (key , Integer .valueOf (value )).apply ();
163- updateRowResponse .isSuccessful = true ;
164- } else if (prevValue instanceof Long ) {
165- preferences .edit ().putLong (key , Long .valueOf (value )).apply ();
166- updateRowResponse .isSuccessful = true ;
167- } else if (prevValue instanceof Float ) {
168- preferences .edit ().putFloat (key , Float .valueOf (value )).apply ();
169- updateRowResponse .isSuccessful = true ;
170- } else if (prevValue instanceof Boolean ) {
171- preferences .edit ().putBoolean (key , Boolean .valueOf (value )).apply ();
172- updateRowResponse .isSuccessful = true ;
173- } else if (prevValue instanceof Set ) {
174- JSONArray jsonArray = new JSONArray (value );
175- Set <String > stringSet = new HashSet <>();
176- for (int i = 0 ; i < jsonArray .length (); i ++) {
177- stringSet .add (jsonArray .getString (i ));
178- }
179- preferences .edit ().putStringSet (key , stringSet ).apply ();
180- updateRowResponse .isSuccessful = true ;
160+ switch (dataType ) {
161+ case DataType .TEXT :
162+ preferences .edit ().putString (key , value ).apply ();
163+ updateRowResponse .isSuccessful = true ;
164+ break ;
165+ case DataType .INTEGER :
166+ preferences .edit ().putInt (key , Integer .valueOf (value )).apply ();
167+ updateRowResponse .isSuccessful = true ;
168+ break ;
169+ case DataType .LONG :
170+ preferences .edit ().putLong (key , Long .valueOf (value )).apply ();
171+ updateRowResponse .isSuccessful = true ;
172+ break ;
173+ case DataType .FLOAT :
174+ preferences .edit ().putFloat (key , Float .valueOf (value )).apply ();
175+ updateRowResponse .isSuccessful = true ;
176+ break ;
177+ case DataType .BOOLEAN :
178+ preferences .edit ().putBoolean (key , Boolean .valueOf (value )).apply ();
179+ updateRowResponse .isSuccessful = true ;
180+ break ;
181+ case DataType .STRING_SET :
182+ JSONArray jsonArray = new JSONArray (value );
183+ Set <String > stringSet = new HashSet <>();
184+ for (int i = 0 ; i < jsonArray .length (); i ++) {
185+ stringSet .add (jsonArray .getString (i ));
186+ }
187+ preferences .edit ().putStringSet (key , stringSet ).apply ();
188+ updateRowResponse .isSuccessful = true ;
189+ break ;
190+ default :
191+ preferences .edit ().putString (key , value ).apply ();
192+ updateRowResponse .isSuccessful = true ;
181193 }
182194 } catch (Exception e ) {
183195 e .printStackTrace ();
0 commit comments