question: register a listener will be called when current theme changed . concode_field_sep String PREF concode_elem_sep SparseArray<int[]> mStyles concode_elem_sep int mThemeCount concode_elem_sep int THEME_UNDEFINED concode_elem_sep String KEY_THEME concode_elem_sep ThemeManager mInstance concode_elem_sep EventDispatcher mDispatcher concode_elem_sep int theme concode_elem_sep ArrayList<WeakReference<OnThemeChangedListener>> mListeners concode_elem_sep Context mContext concode_elem_sep int mCurrentTheme concode_field_sep void init concode_elem_sep int[] loadStyleList concode_elem_sep void unregisterOnThemeChangedListener concode_elem_sep void dispatchThemeChanged concode_elem_sep void dispatchThemeChanged concode_elem_sep void dispatchThemeChanged concode_elem_sep void onThemeChanged concode_elem_sep int getThemeCount concode_elem_sep void registerListener concode_elem_sep void registerListener concode_elem_sep int getStyleId concode_elem_sep void unregisterListener concode_elem_sep void unregisterListener concode_elem_sep int getStyle concode_elem_sep void setup concode_elem_sep int getCurrentTheme concode_elem_sep int getCurrentStyle concode_elem_sep SharedPreferences getSharedPreferences concode_elem_sep boolean setCurrentTheme concode_elem_sep ThemeManager getInstance concode_elem_sep int[] getStyleList concode_elem_sep Context getContext
target: void function ( @ NonNull OnThemeChangedListener arg0 ) { if ( mDispatcher != null ) mDispatcher . registerListener ( arg0 ) ; }