question: this is cached as it is called several times inside the applistadapter . providing it here means the shared preferences file only needs to be read once , and we will keep our copy up to date by listening to changes in pref_rooted . concode_field_sep String PREF_ROOTED concode_elem_sep int DEFAULT_PROXY_PORT concode_elem_sep String PREF_COMPACT_LAYOUT concode_elem_sep int DEFAULT_UPD_HISTORY concode_elem_sep String PREF_PERMISSIONS concode_elem_sep boolean DEFAULT_ROOT_INSTALLER concode_elem_sep Preferences instance concode_elem_sep String DEFAULT_PROXY_HOST concode_elem_sep List<ChangeListener> localRepoHttpsListeners concode_elem_sep String PREF_UPD_HISTORY concode_elem_sep String PREF_ENABLE_PROXY concode_elem_sep String PREF_EXPERT concode_elem_sep List<ChangeListener> updateHistoryListeners concode_elem_sep boolean DEFAULT_LOCAL_REPO_BONJOUR concode_elem_sep boolean DEFAULT_ROOTED concode_elem_sep boolean DEFAULT_COMPACT_LAYOUT concode_elem_sep boolean DEFAULT_INCOMP_VER concode_elem_sep boolean DEFAULT_SYSTEM_INSTALLER concode_elem_sep List<ChangeListener> compactLayoutListeners concode_elem_sep String PREF_CACHE_APK concode_elem_sep String PREF_ROOT_INSTALLER concode_elem_sep boolean DEFAULT_EXPERT concode_elem_sep String PREF_IGN_TOUCH concode_elem_sep boolean DEFAULT_PERMISSIONS concode_elem_sep String PREF_THEME concode_elem_sep boolean DEFAULT_SHOW_NFC_DURING_SWAP concode_elem_sep SharedPreferences preferences concode_elem_sep String PREF_UPD_INTERVAL concode_elem_sep String PREF_SHOW_NFC_DURING_SWAP concode_elem_sep Map<String,Boolean> initialized concode_elem_sep List<ChangeListener> filterAppsRequiringRootListeners concode_elem_sep String PREF_INCOMP_VER concode_elem_sep boolean filterAppsRequiringRoot concode_elem_sep boolean DEFAULT_ENABLE_PROXY concode_elem_sep String PREF_UPD_NOTIFY concode_elem_sep List<ChangeListener> localRepoBonjourListeners concode_elem_sep boolean DEFAULT_LOCAL_REPO_HTTPS concode_elem_sep String PREF_UPD_WIFI_ONLY concode_elem_sep String PREF_UPD_LAST concode_elem_sep String PREF_LOCAL_REPO_BONJOUR concode_elem_sep String PREF_LOCAL_REPO_NAME concode_elem_sep String PREF_PROXY_PORT concode_elem_sep boolean compactLayout concode_elem_sep List<ChangeListener> localRepoNameListeners concode_elem_sep String PREF_SYSTEM_INSTALLER concode_elem_sep String PREF_PROXY_HOST concode_elem_sep String PREF_LOCAL_REPO_HTTPS concode_field_sep void setShowNfcDuringSwap concode_elem_sep String getDefaultLocalRepoName concode_elem_sep boolean isLocalRepoBonjourEnabled concode_elem_sep boolean isInitialized concode_elem_sep void uninitialize concode_elem_sep String getProxyHost concode_elem_sep void registerLocalRepoNameListeners concode_elem_sep void registerAppsRequiringRootChangeListener concode_elem_sep boolean showPermissions concode_elem_sep void unregisterCompactLayoutChangeListener concode_elem_sep boolean isRootInstallerEnabled concode_elem_sep Date calcMaxHistory concode_elem_sep String getLocalRepoName concode_elem_sep int getProxyPort concode_elem_sep void unregisterLocalRepoNameListeners concode_elem_sep Preferences get concode_elem_sep void onPreferenceChange concode_elem_sep boolean expertMode concode_elem_sep boolean showIncompatibleVersions concode_elem_sep boolean hasCompactLayout concode_elem_sep boolean isLocalRepoHttpsEnabled concode_elem_sep boolean isSystemInstallerEnabled concode_elem_sep void registerUpdateHistoryListener concode_elem_sep void registerLocalRepoHttpsListeners concode_elem_sep void unregisterLocalRepoHttpsListeners concode_elem_sep void registerLocalRepoBonjourListeners concode_elem_sep boolean isProxyEnabled concode_elem_sep void unregisterUpdateHistoryListener concode_elem_sep void unregisterLocalRepoBonjourListeners concode_elem_sep void unregisterAppsRequiringRootChangeListener concode_elem_sep void registerCompactLayoutChangeListener concode_elem_sep boolean showNfcDuringSwap concode_elem_sep void onSharedPreferenceChanged concode_elem_sep void setup concode_elem_sep void initialize
target: boolean function ( ) { if ( ! isInitialized ( PREF_ROOTED ) ) { initialize ( PREF_ROOTED ) ; filterAppsRequiringRoot = preferences . getBoolean ( PREF_ROOTED , DEFAULT_ROOTED ) ; } return filterAppsRequiringRoot ; }