public static int getPersistedInt(Preference pref, int defaultReturnValue) { OrionApplication appContext = (OrionApplication) pref.getContext().getApplicationContext(); LastPageInfo info = appContext.getCurrentBookParameters(); if (info != null) { try { Field f = info.getClass().getDeclaredField(pref.getKey()); Integer value = (Integer) f.get(info); return value; } catch (Exception e) { Common.d(e); } } return defaultReturnValue; }
public static String getPersistedString(Preference pref, String defaultReturnValue) { LastPageInfo info = ((OrionApplication) pref.getContext().getApplicationContext()).getCurrentBookParameters(); if (info != null) { try { Field f = info.getClass().getDeclaredField(pref.getKey()); String value = f.get(info).toString(); return value; } catch (Exception e) { Common.d(e); } } return defaultReturnValue; }
public static boolean persistValue(Preference pref, String value) { OrionApplication appContext = (OrionApplication) pref.getContext().getApplicationContext(); LastPageInfo info = appContext.getCurrentBookParameters(); if (info != null) { try { Field f = info.getClass().getDeclaredField(pref.getKey()); Class clazz = f.getType(); Object resultValue = value; if (int.class.equals(clazz)) { resultValue = Integer.valueOf(value); } f.set(info, resultValue); ((OrionApplication) appContext.getApplicationContext()) .processBookOptionChange(pref.getKey(), resultValue); return true; } catch (Exception e) { Common.d(e); } } return false; }