package com.liyu.fakeweather.ui.setting;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import com.afollestad.materialdialogs.color.ColorChooserDialog;
import com.liyu.fakeweather.R;
import com.liyu.fakeweather.event.ThemeChangedEvent;
import com.liyu.fakeweather.ui.base.BaseActivity;
import com.liyu.fakeweather.utils.SettingsUtil;
import com.liyu.fakeweather.utils.ThemeUtil;
import org.greenrobot.eventbus.EventBus;
public class SettingActivity extends BaseActivity implements ColorChooserDialog.ColorCallback {
@Override
protected int getLayoutId() {
return R.layout.activity_setting;
}
@Override
protected int getMenuId() {
return 0;
}
@Override
protected void initViews(Bundle savedInstanceState) {
setDisplayHomeAsUpEnabled(true);
}
@Override
protected void loadData() {
getFragmentManager().beginTransaction().replace(R.id.contentLayout, new SettingFragment()).commit();
}
@Override
public void onColorSelection(@NonNull ColorChooserDialog dialog, @ColorInt int selectedColor) {
if (selectedColor == ThemeUtil.getThemeColor(this, R.attr.colorPrimary))
return;
toolbar.setBackgroundColor(selectedColor);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(selectedColor);
}
if (selectedColor == getResources().getColor(R.color.lapis_blue)) {
setTheme(R.style.LapisBlueTheme);
SettingsUtil.setTheme(0);
} else if (selectedColor == getResources().getColor(R.color.pale_dogwood)) {
setTheme(R.style.PaleDogwoodTheme);
SettingsUtil.setTheme(1);
} else if (selectedColor == getResources().getColor(R.color.greenery)) {
setTheme(R.style.GreeneryTheme);
SettingsUtil.setTheme(2);
} else if (selectedColor == getResources().getColor(R.color.primrose_yellow)) {
setTheme(R.style.PrimroseYellowTheme);
SettingsUtil.setTheme(3);
} else if (selectedColor == getResources().getColor(R.color.flame)) {
setTheme(R.style.FlameTheme);
SettingsUtil.setTheme(4);
} else if (selectedColor == getResources().getColor(R.color.island_paradise)) {
setTheme(R.style.IslandParadiseTheme);
SettingsUtil.setTheme(5);
} else if (selectedColor == getResources().getColor(R.color.kale)) {
setTheme(R.style.KaleTheme);
SettingsUtil.setTheme(6);
} else if (selectedColor == getResources().getColor(R.color.pink_yarrow)) {
setTheme(R.style.PinkYarrowTheme);
SettingsUtil.setTheme(7);
} else if (selectedColor == getResources().getColor(R.color.niagara)) {
setTheme(R.style.NiagaraTheme);
SettingsUtil.setTheme(8);
}
getFragmentManager().beginTransaction().replace(R.id.contentLayout, new SettingFragment()).commit();
EventBus.getDefault().post(new ThemeChangedEvent(selectedColor));
}
}