Android Open Source - FlibityBoop Setting Activity






From Project

Back to project page FlibityBoop.

License

The source code is released under:

Apache License

If you think the Android project FlibityBoop 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

/**
 * IFT2905 : Interface personne machine/*from   w w w  . java 2s  . c  om*/
 * Projet de session: FlibityBoop.
 * Team: Vincent CABELI, Henry LIM, Pamela MEHANNA, Emmanuel NOUTAHI, Olivier TASTET
 * @author Emmanuel Noutahi, Vincent Cabeli
 */

package com.maclandrol.flibityboop;

import android.app.ActionBar;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.provider.SearchRecentSuggestions;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.SearchView;

/**
 * SettingsActivity pour que l'usager puisse tre en contrle de l'application
 * Fortement inspir du code du dmo
 * Une SettingsActivity prsente des paramtres  l'usager.
 * C'est un systme compltement diffrent des interfaces standards,
 * car l'apparence des panneaux de configuration est unifie  travers
 * Android. On se contente donc de grer les paramtres et d'utiliser un
 * format de donnes spcifique aux paramtres dans les xml.
 */
public class SettingActivity extends PreferenceActivity {
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    // Au lieu de charger un layout, on doit initialiser le fragment de prfrences
    getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit();
  }
  
  public boolean onCreateOptionsMenu(Menu menu) {
    
       // Retrieves the action menu.
      getMenuInflater().inflate(R.menu.main_actions, menu);

      // Declares the SearchView for the search bar.
      SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
      SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
          .getActionView();
      if (null != searchView) {
        searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(false);
      }
      searchView.setQuery(Utils.getLastQuery(), false);
      
    
      
      menu.findItem(R.id.action_favorites).setOnMenuItemClickListener(
          new OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {

              Intent in = new Intent(getApplicationContext(),
                  FavoriteActivity.class);
              startActivity(in);
              ;
              return true;
            }
      });
       
         ActionBar ab = getActionBar();
        ab.setHomeButtonEnabled(true);
      
         return true;
        
      }
    
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

      switch (item.getItemId()) {
            case R.id.action_settings:
              Intent i = new Intent(this, SettingActivity.class);  
          startActivity(i);  
          return true;

            case android.R.id.home:
                Intent homeIntent = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(homeIntent);
                break;
                
            case R.id.action_clear_recent:
              SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
                      SearchSuggestionProvider.AUTHORITY, SearchSuggestionProvider.MODE);
              suggestions.clearHistory();
              return true;
              
            case R.id.action_clear_cache:
              ImageLoader im = new ImageLoader(this);
              im.clearCache();
              return true;
         
              
              
      }    
      return super.onOptionsItemSelected(item);
    }

  /**
   * 
   * Un OnPreferenceChangeListener permet de grer les vnements lis
   * aux changements des proprits par l'usager. C'est ici qu'on
   * mettra  jour les "summaries" de chaque prfrence en fonction
   * de la valeur choisie.
   * 
   */
  private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
    @Override
    public boolean onPreferenceChange(Preference preference, Object value) {
      String stringValue = value.toString();

      if (preference instanceof ListPreference) {
        // Dans le cas d'une liste, on dtermine l'entre choisie et
        // on affiche le texte correspondant
        
        ListPreference listPreference = (ListPreference) preference;
        int index = listPreference.findIndexOfValue(stringValue);

        preference.setSummary(index >= 0 ? listPreference.getEntries()[index] : null);
    
      } else {
        // En gnral, on se contente d'utiliser la reprsentation
        // sous forme de texte de la valeur dfinie
        
        preference.setSummary(stringValue);
      }
      return true;
    }
  };

  /**
   * Associe la prfrence  son sommaire automatiquement.
   */
  private static void bindPreferenceSummaryToValue(Preference preference) {
    // On dfinit le listener de changement de cette prfrence
    // comme tant celui de toute l'activit
    preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);

    // On associe la prfrence  une cl dans les prfrences pour
    // que le listener puisse faire le pont entre l'objet et la valeur
    sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
                 .getString(preference.getKey(), "")
            );
  }

  /**
   * 
   * Un simple fragment qui contient toutes les proprits de l'activit.
   * 
   * Une interface plus complexe aurait plusieurs fragments et une srie
   * de headers pour passer d'un fragment  un autre, mais dans notre cas
   * il est peu probable que vous ayez tant de paramtres.
   * 
   */
  public static class GeneralPreferenceFragment extends PreferenceFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      
      // Le systme est simple: on lit les prfrences d'un fichier XML
      addPreferencesFromResource(R.xml.pref_general);

      // ... puis on associe les prfrences  leur valeur
      bindPreferenceSummaryToValue(findPreference("max_req"));
      addPreferencesFromResource(R.xml.pref_notification);
      bindPreferenceSummaryToValue(findPreference("notif_time"));
      bindPreferenceSummaryToValue(findPreference("max_req"));
      bindPreferenceSummaryToValue(findPreference("maxPage"));
      bindPreferenceSummaryToValue(findPreference("username"));

    }
  }
}




Java Source Code List

com.maclandrol.flibityboop.API.java
com.maclandrol.flibityboop.BaseActivity.java
com.maclandrol.flibityboop.Critics.java
com.maclandrol.flibityboop.DBHelperMedia.java
com.maclandrol.flibityboop.FavoriteActivity.java
com.maclandrol.flibityboop.FileCache.java
com.maclandrol.flibityboop.ImageLoader.java
com.maclandrol.flibityboop.MainActivity.java
com.maclandrol.flibityboop.MediaAdapter.java
com.maclandrol.flibityboop.MediaContentProvider.java
com.maclandrol.flibityboop.MediaDetails.java
com.maclandrol.flibityboop.MediaInfos.java
com.maclandrol.flibityboop.Media.java
com.maclandrol.flibityboop.MemoryCache.java
com.maclandrol.flibityboop.MovieFavoriteCursorAdapter.java
com.maclandrol.flibityboop.MovieListFragment.java
com.maclandrol.flibityboop.RottenTomatoes.java
com.maclandrol.flibityboop.SearchActivity.java
com.maclandrol.flibityboop.SearchSuggestionProvider.java
com.maclandrol.flibityboop.SectionListAdapter.java
com.maclandrol.flibityboop.SettingActivity.java
com.maclandrol.flibityboop.ShowFavoriteCursorAdapter.java
com.maclandrol.flibityboop.TVListFragment.java
com.maclandrol.flibityboop.Tastekid.java
com.maclandrol.flibityboop.TheMovieDB.java
com.maclandrol.flibityboop.TraktTV.java
com.maclandrol.flibityboop.Utils.java