Skip to content

Commit e93741e

Browse files
Add dataType for shared pref also
1 parent 044dd4e commit e93741e

3 files changed

Lines changed: 56 additions & 29 deletions

File tree

debug-db/src/main/assets/debugDbHome/js/dataTables.altEditor.free.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,18 @@
278278
case 'boolean':
279279
inputType = "checkbox";
280280
break;
281+
case 'long':
282+
inputType = "number";
283+
break;
284+
case 'float':
285+
inputType = "number";
286+
break;
287+
case 'text':
288+
inputType = "text";
289+
break;
290+
case 'string_set':
291+
inputType = "text";
292+
break;
281293
}
282294
//set input to read-only if it is a primary key
283295
if (columnDefs[j].isPrimary) {

debug-db/src/main/java/com/amitshekhar/utils/DataType.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,8 @@ private DataType() {
3333
public static final String INTEGER = "integer";
3434
public static final String REAL = "real";
3535
public static final String TEXT = "text";
36+
public static final String LONG = "long";
37+
public static final String FLOAT = "float";
38+
public static final String STRING_SET = "string_set";
3639

3740
}

debug-db/src/main/java/com/amitshekhar/utils/PrefHelper.java

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)