Создайте PreferencesStorage
класс, который асинхронно загружает настройки с сервера и отправляет изменения в настройках на сервер.
Затем используйте этот класс в ваших PreferenceActivity
и SplashActivity
(если вы используете di -, тогда внедрите этот класс как singleton, если не используете экземпляр этого класса).
Если в каждом упражнении нужно прочитать некоторые настройки - да, я думаю, BroadcastReceiver
будет лучшим решением.
Если вы хотите использовать подход чистой архитектуры, то вы можете создать PreferencesInteractor
, который включает в себя PreferencesRepository
, и внедрить этот интерактор в SplashPresenter
и PreferencesPresenter
.