package com.moez.QKSMS.ui.dialog;
import android.app.Dialog;
import android.content.SharedPreferences;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
import com.moez.QKSMS.R;
import com.moez.QKSMS.ui.ThemeManager;
import com.moez.QKSMS.ui.settings.SettingsFragment;
import com.moez.QKSMS.ui.view.QKSwitchPreference;
import com.moez.QKSMS.ui.view.QKTextView;
public class BubblePreferenceDialog extends QKDialog {
private static final String TAG = "BubblePreferenceDialog";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
mResources = mContext.getResources();
View view = mContext.getLayoutInflater().inflate(R.layout.dialog_bubbles, null);
final QKTextView in1 = (QKTextView) view.findViewById(R.id.in_1);
in1.setBackgroundResource(ThemeManager.getReceivedBubbleRes());
in1.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in1.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
final QKTextView in2 = (QKTextView) view.findViewById(R.id.in_2);
in2.setBackgroundResource(ThemeManager.getReceivedBubbleAltRes());
in2.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in2.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
final QKTextView out1 = (QKTextView) view.findViewById(R.id.out_1);
out1.setBackgroundResource(ThemeManager.getSentBubbleRes());
out1.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out1.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
final QKTextView out2 = (QKTextView) view.findViewById(R.id.out_2);
out2.setBackgroundResource(ThemeManager.getSentBubbleAltRes());
out2.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out2.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
Preference.OnPreferenceClickListener onPreferenceClickListener = new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Log.d(TAG, preference.getKey());
switch (preference.getKey()) {
case SettingsFragment.BUBBLES_NEW:
ThemeManager.setBubbleStyleNew(((QKSwitchPreference) preference).isChecked());
in1.setBackgroundResource(ThemeManager.getReceivedBubbleRes());
in1.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in1.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
in2.setBackgroundResource(ThemeManager.getReceivedBubbleAltRes());
in2.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in2.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
out1.setBackgroundResource(ThemeManager.getSentBubbleRes());
out1.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out1.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
out2.setBackgroundResource(ThemeManager.getSentBubbleAltRes());
out2.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out2.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
return true;
case SettingsFragment.COLOR_RECEIVED:
ThemeManager.setReceivedBubbleColored(((QKSwitchPreference) preference).isChecked());
in1.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in1.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
in2.getBackground().setColorFilter(ThemeManager.getReceivedBubbleColor(), PorterDuff.Mode.SRC_ATOP);
in2.setOnColorBackground(ThemeManager.getReceivedBubbleColor() == ThemeManager.getColor());
return true;
case SettingsFragment.COLOR_SENT:
ThemeManager.setSentBubbleColored(((QKSwitchPreference) preference).isChecked());
out1.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out1.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
out2.getBackground().setColorFilter(ThemeManager.getSentBubbleColor(), PorterDuff.Mode.SRC_ATOP);
out2.setOnColorBackground(ThemeManager.getSentBubbleColor() == ThemeManager.getColor());
return true;
}
return false;
}
};
LinearLayout prefsLayout = (LinearLayout) view.findViewById(R.id.prefs);
prefsLayout.addView(new QKSwitchPreference(mContext, onPreferenceClickListener, SettingsFragment.BUBBLES_NEW,
prefs, true, R.string.pref_bubble_style_new, 0).getView());
prefsLayout.addView(new QKSwitchPreference(mContext, onPreferenceClickListener, SettingsFragment.COLOR_RECEIVED,
prefs, false, R.string.pref_color_received, 0).getView());
prefsLayout.addView(new QKSwitchPreference(mContext, onPreferenceClickListener, SettingsFragment.COLOR_SENT,
prefs, true, R.string.pref_color_sent, 0).getView());
setTitle(R.string.pref_bubbles);
setCustomView(view);
setPositiveButton(R.string.okay, null);
return super.onCreateDialog(savedInstanceState);
}
}