package com.alimuzaffar.ramadanalarm; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.Spinner; import com.alimuzaffar.ramadanalarm.util.AppSettings; /** * Created by Ali on 12/07/2015. */ public class SetAlarmRamadanHelper implements CompoundButton.OnCheckedChangeListener { AppSettings mSettings; SetAlarmActivity mActivity; int mIndex = 0; CheckBox mRamadan; Spinner mSuhoor; Spinner mIftar; ViewGroup mSuhoorGroup; ViewGroup mIftarGroup; public SetAlarmRamadanHelper(SetAlarmActivity activity, int alarmIndex) { mActivity = activity; mIndex = alarmIndex; mSettings = AppSettings.getInstance(activity); mRamadan = (CheckBox) mActivity.findViewById(R.id.ramadan); mSuhoor = (Spinner) mActivity.findViewById(R.id.suhoor_offset); mIftar = (Spinner) mActivity.findViewById(R.id.iftar_offset); mSuhoorGroup = (ViewGroup) mActivity.findViewById(R.id.suhoor_alarm); mIftarGroup = (ViewGroup) mActivity.findViewById(R.id.iftar_alarm); init(); } public void init() { mRamadan.setOnCheckedChangeListener(this); mRamadan.setChecked(mSettings.getBoolean(AppSettings.Key.IS_RAMADAN)); mSuhoor.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { mSettings.set(AppSettings.Key.SUHOOR_OFFSET, position); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); mIftar.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { mSettings.set(AppSettings.Key.IFTAR_OFFSET, position); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mSettings.set(AppSettings.Key.IS_RAMADAN, isChecked); mSuhoorGroup.setVisibility(isChecked? View.VISIBLE : View.GONE); mIftarGroup.setVisibility(isChecked? View.VISIBLE : View.GONE); if (isChecked) { mSuhoor.setSelection(mSettings.getInt(AppSettings.Key.SUHOOR_OFFSET)); mIftar.setSelection(mSettings.getInt(AppSettings.Key.IFTAR_OFFSET)); } else { mSettings.set(AppSettings.Key.SUHOOR_OFFSET, 0); mSettings.set(AppSettings.Key.IFTAR_OFFSET, 0); } } public void setRamadanOption(boolean active) { mRamadan.setChecked(active); } public void setRamadanOptionEnabled(boolean enabled) { mRamadan.setEnabled(enabled); } }