in stetho/src/main/java/com/facebook/stetho/dumpapp/plugins/SharedPreferencesDumperPlugin.java [66:105]
private void doWrite(List<String> args) throws DumpUsageException {
String usagePrefix = "Usage: prefs write <path> <key> <type> <value>, where type is one of: ";
Iterator<String> argsIter = args.iterator();
String path = nextArg(argsIter, "Expected <path>");
String key = nextArg(argsIter, "Expected <key>");
String typeName = nextArg(argsIter, "Expected <type>");
Type type = Type.of(typeName);
if (type == null) {
throw new DumpUsageException(
Type.appendNamesList(new StringBuilder(usagePrefix), ", ").toString());
}
SharedPreferences sharedPreferences = getSharedPreferences(path);
SharedPreferences.Editor editor = sharedPreferences.edit();
switch (type) {
case BOOLEAN:
editor.putBoolean(key, Boolean.valueOf(nextArgValue(argsIter)));
break;
case INT:
editor.putInt(key, Integer.valueOf(nextArgValue(argsIter)));
break;
case LONG:
editor.putLong(key, Long.valueOf(nextArgValue(argsIter)));
break;
case FLOAT:
editor.putFloat(key, Float.valueOf(nextArgValue(argsIter)));
break;
case STRING:
editor.putString(key, nextArgValue(argsIter));
break;
case SET:
putStringSet(editor, key, argsIter);
break;
}
editor.commit();
}