package com.amaze.filemanager.activities;
import android.support.v7.app.AppCompatActivity;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.Futils;
import com.amaze.filemanager.utils.color.ColorPreference;
import com.amaze.filemanager.utils.provider.UtilitiesProviderInterface;
import com.amaze.filemanager.utils.theme.AppTheme;
import com.amaze.filemanager.utils.theme.AppThemeManagerInterface;
/**
* Created by rpiotaix on 17/10/16.
*/
public class BasicActivity extends AppCompatActivity implements UtilitiesProviderInterface {
private boolean initialized = false;
private UtilitiesProviderInterface utilsProvider;
private void initialize() {
utilsProvider = getAppConfig().getUtilsProvider();
initialized = true;
}
protected AppConfig getAppConfig() {
return (AppConfig) getApplication();
}
@Override
public Futils getFutils() {
if (!initialized)
initialize();
return utilsProvider.getFutils();
}
public ColorPreference getColorPreference() {
if (!initialized)
initialize();
return utilsProvider.getColorPreference();
}
@Override
public AppTheme getAppTheme() {
if (!initialized)
initialize();
return utilsProvider.getAppTheme();
}
@Override
public AppThemeManagerInterface getThemeManager() {
if (!initialized)
initialize();
return utilsProvider.getThemeManager();
}
}