Android Open Source - TUMensa Mensa Meals Settings






From Project

Back to project page TUMensa.

License

The source code is released under:

Apache License

If you think the Android project TUMensa listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2010 Daniel Jacobi/*from   w ww  .ja v  a2  s  . c o  m*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package de.questmaster.tudmensa;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;

public class MensaMealsSettings extends PreferenceActivity {

  
  private MensaMealsSettings.Settings mSettings = new MensaMealsSettings.Settings();

  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
    // Read settings
    mSettings.ReadSettings(this);

    // Setup Theme
    if (mSettings.m_sThemes.equals("dark")) {
      setTheme(android.R.style.Theme_Black_NoTitleBar);
    } else if (mSettings.m_sThemes.equals("light")) {
      setTheme(android.R.style.Theme_Light_NoTitleBar);
    }

    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);
    
    // Set last update date
    Preference pLastUpdate = getPreferenceManager().findPreference(getString(R.string.PREF_KEY_LAST_UPDATE));
    Calendar oLastUpdate = Calendar.getInstance();
    oLastUpdate.setTimeInMillis(mSettings.m_lLastUpdate);
    pLastUpdate.setSummary(SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.FULL, SimpleDateFormat.MEDIUM).format(oLastUpdate.getTime()));
  }


  public static class Settings
  {
    // default values
    public String m_sMensaLocation = "stadtmitte";
    public long m_lLastUpdate = 0;
    public boolean m_bAutoUpdate = true;
    public boolean m_bDeleteOldData = true;
    public boolean m_bGestures = true;
    public boolean m_bEnableVoting = false;
    public int m_iShowDialog = 0;
    public String m_sThemes = "dark";


    public void ReadSettings(Context p_oContext)
    {
      SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(p_oContext);
      Resources res = p_oContext.getResources();

      if (sharedPref != null) {
        m_bAutoUpdate = sharedPref.getBoolean(res.getString(R.string.PREF_KEY_AUTO_UPDATE), m_bAutoUpdate);
        m_bDeleteOldData = sharedPref.getBoolean(res.getString(R.string.PREF_KEY_DELETE_OLD_DATA), m_bDeleteOldData);
        m_bGestures = sharedPref.getBoolean(res.getString(R.string.PREF_KEY_GESTURES), m_bGestures);
        m_bEnableVoting = sharedPref.getBoolean(res.getString(R.string.PREF_KEY_ENABLE_VOTING), m_bEnableVoting);

        m_lLastUpdate = sharedPref.getLong(res.getString(R.string.PREF_KEY_LAST_UPDATE), m_lLastUpdate);
        m_iShowDialog = sharedPref.getInt(res.getString(R.string.PREF_KEY_LAST_DIALOG_SHOWN), m_iShowDialog);
        
        m_sMensaLocation = sharedPref.getString(res.getString(R.string.PREF_KEY_MENSA_LOCATION), m_sMensaLocation);

        m_sThemes = sharedPref.getString(res.getString(R.string.PREF_KEY_THEMES), m_sThemes);
      }
    }
    
    public void setLastUpdate(Context p_oContext) {
      Editor sharedPref = PreferenceManager.getDefaultSharedPreferences(p_oContext).edit();
      Resources res = p_oContext.getResources();
      
      m_lLastUpdate = Calendar.getInstance().getTimeInMillis();
      sharedPref.putLong(res.getString(R.string.PREF_KEY_LAST_UPDATE), m_lLastUpdate);
      
      sharedPref.commit();
    }

    public void setLastDialogShown(Context p_oContext) {
      Editor sharedPref = PreferenceManager.getDefaultSharedPreferences(p_oContext).edit();
      Resources res = p_oContext.getResources();
      
      try {
        m_iShowDialog = p_oContext.getPackageManager().getPackageInfo(p_oContext.getPackageName(), 0).versionCode;
      } catch (NameNotFoundException e) {
      }
      sharedPref.putInt(res.getString(R.string.PREF_KEY_LAST_DIALOG_SHOWN), m_iShowDialog);
      
      sharedPref.commit();
    }

    public void setMensaLocation(Context p_oContext, String loc_id) {
      Editor sharedPref = PreferenceManager.getDefaultSharedPreferences(p_oContext).edit();
      Resources res = p_oContext.getResources();
      
      m_sMensaLocation = loc_id;
      sharedPref.putString(res.getString(R.string.PREF_KEY_MENSA_LOCATION), m_sMensaLocation);
      
      sharedPref.commit();
    }
}
}




Java Source Code List

de.questmaster.tudmensa.DataExtractor.java
de.questmaster.tudmensa.MealsDbAdapter.java
de.questmaster.tudmensa.MealsDbCursorWrapper.java
de.questmaster.tudmensa.MensaMealsSettings.java
de.questmaster.tudmensa.MensaMeals.java
de.questmaster.tudmensa.VoteHelper.java