SettingsActivity.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.ivalentin.margolariak;
  2. import android.app.Notification;
  3. import android.content.SharedPreferences;
  4. import android.os.Bundle;
  5. import android.preference.CheckBoxPreference;
  6. import android.preference.Preference;
  7. import android.preference.PreferenceActivity;
  8. import android.util.Log;
  9. import android.widget.Toast;
  10. import java.text.DecimalFormat;
  11. import java.text.NumberFormat;
  12. public class SettingsActivity extends PreferenceActivity {
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. // Load the preferences from an XML resource
  17. addPreferencesFromResource(R.xml.preferences);
  18. SharedPreferences sp = getPreferenceScreen().getSharedPreferences();
  19. //Set up Sync preference
  20. CheckBoxPreference prefSync = (CheckBoxPreference) getPreferenceManager().findPreference(GM.KEY_PREFERENCE_SYNC);
  21. if (prefSync.isChecked()){
  22. prefSync.setSummary(getString(R.string.preferences_sync_sync_on));
  23. }
  24. else{
  25. prefSync.setSummary(getString(R.string.preferences_sync_sync_off));
  26. }
  27. prefSync.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
  28. public boolean onPreferenceChange(Preference preference, Object newValue) {
  29. CheckBoxPreference prefNotification = (CheckBoxPreference) getPreferenceManager().findPreference(GM.KEY_PREFERENCE_NOTIFICATION);
  30. if (newValue.toString().equals("true")) {
  31. preference.setSummary(getString(R.string.preferences_sync_sync_on));
  32. if (prefNotification.isChecked()){
  33. prefNotification.setSummary(getString(R.string.preferences_sync_notifications_on));
  34. }
  35. else{
  36. prefNotification.setSummary(getString(R.string.preferences_sync_notifications_off));
  37. }
  38. prefNotification.setEnabled(true);
  39. } else {
  40. prefNotification.setEnabled(false);
  41. prefNotification.setSummary(getString(R.string.preferences_sync_notifications_disabled));
  42. preference.setSummary(getString(R.string.preferences_sync_sync_off));
  43. }
  44. return true;
  45. }
  46. });
  47. //Set up Notification preference
  48. CheckBoxPreference prefNotification = (CheckBoxPreference) getPreferenceManager().findPreference(GM.KEY_PREFERENCE_NOTIFICATION);
  49. if (prefSync.isChecked() == false){
  50. prefNotification.setEnabled(false);
  51. }
  52. else {
  53. prefNotification.setEnabled(true);
  54. if(prefSync.isChecked() == false){
  55. }
  56. if (prefNotification.isChecked()) {
  57. prefNotification.setSummary(getString(R.string.preferences_sync_notifications_on));
  58. } else {
  59. prefNotification.setSummary(getString(R.string.preferences_sync_notifications_off));
  60. }
  61. }
  62. prefNotification.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
  63. public boolean onPreferenceChange(Preference preference, Object newValue) {
  64. if (newValue.toString().equals("true")) {
  65. preference.setSummary(getString(R.string.preferences_sync_notifications_on));
  66. } else {
  67. preference.setSummary(getString(R.string.preferences_sync_notifications_off));
  68. }
  69. return true;
  70. }
  71. });
  72. //Set up data preference
  73. long bgData = sp.getLong(GM.STORAGE_TRAFFIC_BG_RECEIVED, 0) + sp.getLong(GM.STORAGE_TRAFFIC_BG_SENT, 0);
  74. long fgData = sp.getLong(GM.STORAGE_TRAFFIC_FG_RECEIVED, 0) + sp.getLong(GM.STORAGE_TRAFFIC_FG_SENT, 0);
  75. String value = "";
  76. if (bgData < 1500){
  77. value = bgData + getString(R.string.Kb);
  78. }
  79. else if(bgData < 5 * 1024){
  80. NumberFormat formatter = new DecimalFormat("#0.00");
  81. value = (formatter.format(((float) bgData) / 1024.0)) + getString(R.string.Mb);
  82. }
  83. else{
  84. value = String.valueOf((int) (((float) bgData) / 1024.0)) + getString(R.string.Mb);
  85. }
  86. Preference prefData = getPreferenceManager().findPreference(GM.KEY_PREFERENCE_DATA);
  87. prefData.setSummary(value);
  88. //Set up version preference
  89. Preference prefVersion = getPreferenceManager().findPreference(GM.KEY_PREFERENCE_VERSION);
  90. prefVersion.setSummary(com.ivalentin.margolariak.BuildConfig.VERSION_NAME);
  91. prefNotification.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
  92. @Override
  93. public boolean onPreferenceClick(Preference preference) {
  94. //TODO
  95. return false;
  96. }
  97. });
  98. //Set up source preference
  99. //TODO
  100. //Set up feedback preference
  101. //TODO
  102. }
  103. }