package me.ccrama.redditslide.Activities; import android.os.Bundle; import android.support.v7.widget.PopupMenu; import android.support.v7.widget.SwitchCompat; import android.view.MenuItem; import android.view.View; import android.widget.CompoundButton; import android.widget.TextView; import me.ccrama.redditslide.R; import me.ccrama.redditslide.SettingValues; /** * Created by ccrama on 3/5/2015. */ public class SettingsData extends BaseActivityAnim { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); applyColorTheme(); setContentView(R.layout.activity_settings_datasaving); setupAppBar(R.id.toolbar, R.string.settings_data, true, true); //Image mode multi choice ((TextView) findViewById(R.id.currentmode)).setText(SettingValues.noImages ? getString(R.string.never_load_images) : (SettingValues.lqLow ? getString(R.string.load_low_quality) : (SettingValues.lqMid ? getString(R.string.load_medium_quality) : getString(R.string.load_high_quality)))); findViewById(R.id.datasavequality).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(!((TextView) findViewById(R.id.lowquality)).getText().equals(getString(R.string.never))) { PopupMenu popup = new PopupMenu(SettingsData.this, v); popup.getMenuInflater().inflate(R.menu.imagequality_mode, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.never: SettingValues.noImages = true; SettingValues.loadImageLq = true; SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_NO_IMAGES, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_IMAGE_LQ, true) .apply(); break; case R.id.low: SettingValues.loadImageLq = true; SettingValues.noImages = false; SettingValues.lqLow = true; SettingValues.lqMid = false; SettingValues.lqHigh = false; SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_IMAGE_LQ, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_NO_IMAGES, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_LOW, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_MID, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_HIGH, false) .apply(); break; case R.id.medium: SettingValues.loadImageLq = true; SettingValues.noImages = false; SettingValues.lqLow = false; SettingValues.lqMid = true; SettingValues.lqHigh = false; SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_IMAGE_LQ, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_NO_IMAGES, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_LOW, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_MID, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_HIGH, false) .apply(); break; case R.id.high: SettingValues.loadImageLq = true; SettingValues.noImages = false; SettingValues.lqLow = false; SettingValues.lqMid = false; SettingValues.lqHigh = true; SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_IMAGE_LQ, true) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_NO_IMAGES, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_LOW, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_MID, false) .apply(); SettingValues.prefs.edit() .putBoolean(SettingValues.PREF_LQ_HIGH, true) .apply(); break; } ((TextView) findViewById(R.id.currentmode)).setText(SettingValues.noImages ? getString(R.string.never_load_images) : (SettingValues.lqLow ? getString(R.string.load_low_quality) : (SettingValues.lqMid ? getString(R.string.load_medium_quality) : getString(R.string.load_high_quality)))); return true; } }); popup.show(); } } }); //Datasaving type multi choice ((TextView) findViewById(R.id.lowquality)).setText(SettingValues.lowResMobile ? (SettingValues.lowResAlways ? getString(R.string.datasave_always) : getString(R.string.datasave_mobile)) : getString(R.string.never)); findViewById(R.id.datasavetype).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { PopupMenu popup = new PopupMenu(SettingsData.this, v); popup.getMenuInflater().inflate(R.menu.imagequality_settings, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.never: SettingValues.lowResMobile = false; SettingValues.lowResAlways = false; SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_MOBILE, false).apply(); SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_ALWAYS, false).apply(); break; case R.id.mobile: SettingValues.lowResMobile = true; SettingValues.lowResAlways = false; SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_MOBILE, true).apply(); SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_ALWAYS, false).apply(); break; case R.id.always: SettingValues.lowResMobile = true; SettingValues.lowResAlways = true; SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_MOBILE, true).apply(); SettingValues.prefs.edit().putBoolean(SettingValues.PREF_LOW_RES_ALWAYS, true).apply(); break; } ((TextView) findViewById(R.id.lowquality)).setText(SettingValues.lowResMobile ? (SettingValues.lowResAlways ? getString(R.string.datasave_always) : getString(R.string.datasave_mobile)) : getString(R.string.never)); if (((TextView) findViewById(R.id.lowquality)).getText().equals(getString(R.string.never))) { findViewById(R.id.datasavequality).setAlpha(0.25f); ((TextView) findViewById(R.id.currentmode)).setText("Enable datasaving mode"); } else { findViewById(R.id.datasavequality).setAlpha(1f); ((TextView) findViewById(R.id.currentmode)).setText(SettingValues.noImages ? getString(R.string.never_load_images) : (SettingValues.lqLow ? getString(R.string.load_low_quality) : (SettingValues.lqMid ? getString(R.string.load_medium_quality) : getString(R.string.load_high_quality)))); } return true; } }); popup.show(); } }); if (((TextView) findViewById(R.id.lowquality)).getText().equals(getString(R.string.never))) { findViewById(R.id.datasavequality).setAlpha(0.25f); ((TextView) findViewById(R.id.currentmode)).setText("Enable datasaving mode"); } } }