Android Open Source - PrincePolo Settings Fragment






From Project

Back to project page PrincePolo.

License

The source code is released under:

GNU General Public License

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

package se.agile.activities;  
// w  w w.j av  a 2  s  .c  o  m
import se.agile.princepolo.R;
import android.app.Fragment;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.NumberPicker;
import android.widget.Switch;


public class SettingsFragment extends Fragment implements OnClickListener,
                      OnCheckedChangeListener, NumberPicker.OnValueChangeListener {
  private String logTag;
  private Switch soundSwitch;
  private Button saveChangesButton;
  private Boolean sound = true, changed;
  private NumberPicker minutePicker, secondPicker;
  private int updateFrequency = 10;


  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    logTag = getResources().getString(R.string.logtag_main);
    View rootView = inflater.inflate(R.layout.fragment_settings, container, false);
    soundSwitch = (Switch) rootView.findViewById(R.id.soundSwitch);
    saveChangesButton = (Button) rootView.findViewById(R.id.saveChanges_Button);
    minutePicker = (NumberPicker) rootView.findViewById(R.id.minutePicker);
    secondPicker = (NumberPicker) rootView.findViewById(R.id.secondPicker);
    minutePicker.setOnValueChangedListener(this);
    secondPicker.setOnValueChangedListener(this);
    saveChangesButton.setOnClickListener(this);
    soundSwitch.setOnCheckedChangeListener(this);
    minutePicker.setMaxValue(59);
    minutePicker.setMinValue(0);
    minutePicker.setValue(0);
    secondPicker.setMaxValue(59);
    secondPicker.setMinValue(0);
    secondPicker.setValue(10);
    disableSaveButton();
    return rootView;
  }


  @Override
  // this currently only sets values within this class. Perhaps it should instead fire
  // some kind of changeRequest to wherever the commit update frequency and sounds are being used.
  public void onClick(View v) {
    if (v == saveChangesButton){
      sound = changed;
      updateFrequency = (minutePicker.getValue())*60 + secondPicker.getValue();
      disableSaveButton();
    }
  }
  
  @Override
  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    
    if (buttonView == soundSwitch) {
      changed = isChecked;
      if(minutePicker.getValue() > 0 || secondPicker.getValue() > 0){
        enableSaveButton();
      }
    }
  }

  @Override
  public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
    if (newVal == 0){
      if (picker == minutePicker && secondPicker.getValue() == 0){
        disableSaveButton();
      }
      else if (picker == secondPicker && minutePicker.getValue() == 0) {
        disableSaveButton();
      }
    }
    else {
      enableSaveButton();
    }
  }
  private void enableSaveButton(){
    saveChangesButton.setClickable(true);
    saveChangesButton.setTextColor(Color.parseColor("#000000"));
  }
  private void disableSaveButton(){
    saveChangesButton.setClickable(false);
    saveChangesButton.setTextColor(Color.parseColor("#A7A79B"));
  }
  // returns whether or not sound is enabled
  public Boolean soundEnabled(){
    return sound;
  }
  // returns the desired updatefrequency in seconds, default 10 
  public int updateFrequency(){
    return updateFrequency;
  }
}




Java Source Code List

se.agile.activities.AboutFragment.java
se.agile.activities.BranchFragment.java
se.agile.activities.BranchesFragment.java
se.agile.activities.CardFragment.java
se.agile.activities.CollaboratorsFragment.java
se.agile.activities.CommitFragment.java
se.agile.activities.ConflictFragment.java
se.agile.activities.ConnectToGitHubFragment.java
se.agile.activities.LoginActivity.java
se.agile.activities.MainActivity.java
se.agile.activities.NotificationFragmentSwitcher.java
se.agile.activities.NotificationsFragment.java
se.agile.activities.PersonalNotesFragment.java
se.agile.activities.PokerFragment.java
se.agile.activities.RepositoryOverviewFragment.java
se.agile.activities.SelectRepositoryFragment.java
se.agile.activities.SelectWorkingFilesActivity.java
se.agile.activities.SelectWorkingFilesFragment.java
se.agile.activities.SelectWorkingFilesOverviewFragment.java
se.agile.activities.SettingsFragment.java
se.agile.activities.SignOutFragment.java
se.agile.asynctasks.RequestAccessToken.java
se.agile.asynctasks.RequestAllCommitsForBranch.java
se.agile.asynctasks.RequestAllFilesForBranch.java
se.agile.asynctasks.RequestBranch.java
se.agile.asynctasks.RequestBranches.java
se.agile.asynctasks.RequestFiles.java
se.agile.asynctasks.RequestFullCommit.java
se.agile.asynctasks.RequestListenerAdapter.java
se.agile.asynctasks.RequestListener.java
se.agile.asynctasks.RequestRepositories.java
se.agile.asynctasks.RequestShortCommit.java
se.agile.asynctasks.RequestTask.java
se.agile.asynctasks.RequestUser.java
se.agile.controller.MainActivityController.java
se.agile.controller.settingsFragmentController.java
se.agile.githubdata.Branch.java
se.agile.githubdata.Commit.java
se.agile.githubdata.Directory.java
se.agile.githubdata.File.java
se.agile.githubdata.Folder.java
se.agile.githubdata.GitHubDataInterface.java
se.agile.githubdata.Repository.java
se.agile.githubdata.User.java
se.agile.model.BranchNotification.java
se.agile.model.BranchSelectionModel.java
se.agile.model.CommitNotification.java
se.agile.model.ConflictNotification.java
se.agile.model.CreateNotificationActivity.java
se.agile.model.DirectoryListArrayAdapter.java
se.agile.model.InteractiveArrayAdapter.java
se.agile.model.JSONParser.java
se.agile.model.NotificationDialog.java
se.agile.model.NotificationHandler.java
se.agile.model.NotificationListArrayAdapter.java
se.agile.model.NotificationListener.java
se.agile.model.Notification.java
se.agile.model.PreferenceListener.java
se.agile.model.Preferences.java
se.agile.model.TemporaryStorage.java
se.agile.model.Tuple.java
se.agile.model.WorkingFileListArrayAdapter.java
se.agile.navigator.NavDrawerItem.java
se.agile.navigator.NavDrawerListAdapter.java