Android Open Source - sdl_tester_android Seek Bar Calculator






From Project

Back to project page sdl_tester_android.

License

The source code is released under:

Copyright (c) 2014, Ford Motor Company All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are m...

If you think the Android project sdl_tester_android 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 com.livio.sdl.viewhelpers;
//w ww . ja va  2s .c  om
/**
 * Performs math operations commonly used with SeekBar views.  Performs calculations
 * to translate a progress value to a real-world value and vice-versa. 
 *
 * @author Mike Burke
 *
 */
public class SeekBarCalculator {

  private static final int PROGRESS_MIN = 0; // standard Android seekbars start from 0
  
  private int min, max;
  private float divisor;
  
  public SeekBarCalculator(int min, int max){
    this(min, max, 1.0f);
  }
  
  public SeekBarCalculator(int min, int max, float divisor) {
    this.min = min;
    this.max = max;
    this.divisor = divisor;
  }

  public int getMinValue() {
    return min;
  }
  
  public void setMinValue(int min){
    this.min = min;
  }

  public int getMaxValue() {
    return max;
  }
  
  public void setMaxValue(int max){
    this.max = max;
  }

  public float getDivisor() {
    return divisor;
  }
  
  public void setDivisor(float divisor){
    this.divisor = divisor;
  }
  
  /**
   * Determines the maximum progress value based on the min and max values.
   * 
   * @return The max value of the progress bar
   */
  public int getMaxProgress(){
    return (max - min);
  }
  
  /**
   * Determines the minimum progress value.  A typical Android SeekBar, this value is always 0.
   * 
   * @return The min value of the progress bar
   */
  public int getMinProgress(){
    return PROGRESS_MIN;
  }
  
  /**
   * Calculates the SeekBar progress value for the input real-world value.
   * 
   * @param value Real-world value to calculate progress for
   * @return The progress value of the input real-world value
   */
  public int calculateProgress(float value){
    value *= divisor;
    
    if(value < getMinValue() || value > getMaxValue()){
      throw new IllegalArgumentException("Value out of seekbar range");
    }
    
    int result = (int) (value - getMinValue());
    
    return result;
  }
  
  /**
   * Calculates the real-world value for the input progress value.
   * 
   * @param progress Progress value to calculate real-world value for
   * @return The real-world value of the input progress value
   */
  public float calculateValue(int progress){
    if(progress < getMinProgress() || progress > getMaxProgress()){
      throw new IllegalArgumentException("Progress out of seekbar range");
    }
    
    float result = (progress + getMinValue()) / divisor;
        
    return result;
  }
  

}




Java Source Code List

com.livio.sdl.IdGenerator.java
com.livio.sdl.IpAddress.java
com.livio.sdl.SdlConstants.java
com.livio.sdl.SdlImageItem.java
com.livio.sdl.SdlLogMessage.java
com.livio.sdl.SdlRequestFactory.java
com.livio.sdl.SdlResponseFactory.java
com.livio.sdl.SdlResponseTracker.java
com.livio.sdl.SdlService.java
com.livio.sdl.adapters.SdlImageAdapter.java
com.livio.sdl.adapters.SdlMessageAdapter.java
com.livio.sdl.dialogs.BaseAlertDialog.java
com.livio.sdl.dialogs.BaseImageListDialog.java
com.livio.sdl.dialogs.BaseMultipleListViewDialog.java
com.livio.sdl.dialogs.BaseOkCancelDialog.java
com.livio.sdl.dialogs.BaseSingleListViewDialog.java
com.livio.sdl.dialogs.ImageListDialog.java
com.livio.sdl.dialogs.IndeterminateProgressDialog.java
com.livio.sdl.dialogs.JsonFlipperDialog.java
com.livio.sdl.dialogs.ListViewDialog.java
com.livio.sdl.dialogs.MultipleListViewDialog.java
com.livio.sdl.dialogs.SingleJsonDialog.java
com.livio.sdl.dialogs.TextViewAlertDialog.java
com.livio.sdl.dialogs.TextViewOkCancelDialog.java
com.livio.sdl.enums.EnumClickListener.java
com.livio.sdl.enums.EnumComparator.java
com.livio.sdl.enums.SdlButton.java
com.livio.sdl.enums.SdlCommand.java
com.livio.sdl.enums.SdlImageType.java
com.livio.sdl.enums.SdlInteractionMode.java
com.livio.sdl.enums.SdlLanguage.java
com.livio.sdl.enums.SdlSpeechCapability.java
com.livio.sdl.enums.SdlSystemAction.java
com.livio.sdl.enums.SdlTextAlignment.java
com.livio.sdl.enums.SdlTransportType.java
com.livio.sdl.enums.SdlUpdateMode.java
com.livio.sdl.enums.SdlVehicleData.java
com.livio.sdl.menu.CommandButton.java
com.livio.sdl.menu.MenuItem.java
com.livio.sdl.menu.MenuManager.java
com.livio.sdl.menu.SubmenuButton.java
com.livio.sdl.utils.AndroidUtils.java
com.livio.sdl.utils.ApplicationPreferences.java
com.livio.sdl.utils.Counter.java
com.livio.sdl.utils.DownCounter.java
com.livio.sdl.utils.MathUtils.java
com.livio.sdl.utils.SdlUtils.java
com.livio.sdl.utils.StringUtils.java
com.livio.sdl.utils.Timeout.java
com.livio.sdl.utils.UpCounter.java
com.livio.sdl.utils.WifiUtils.java
com.livio.sdl.viewhelpers.MinMaxInputFilter.java
com.livio.sdl.viewhelpers.SeekBarCalculator.java
com.livio.sdltester.HelpActivity.java
com.livio.sdltester.LivioSdlTesterPreferences.java
com.livio.sdltester.MainActivity.java
com.livio.sdltester.SdlTesterImageResource.java
com.livio.sdltester.dialogs.AddCommandDialog.java
com.livio.sdltester.dialogs.AddSubMenuDialog.java
com.livio.sdltester.dialogs.ButtonSubscriptionDialog.java
com.livio.sdltester.dialogs.ButtonUnsubscriptionDialog.java
com.livio.sdltester.dialogs.ChangeRegistrationDialog.java
com.livio.sdltester.dialogs.ChoiceItemDialog.java
com.livio.sdltester.dialogs.CreateInteractionChoiceSetDialog.java
com.livio.sdltester.dialogs.DeleteCommandDialog.java
com.livio.sdltester.dialogs.DeleteFileDialog.java
com.livio.sdltester.dialogs.DeleteInteractionDialog.java
com.livio.sdltester.dialogs.DeleteSubmenuDialog.java
com.livio.sdltester.dialogs.GetDtcsDialog.java
com.livio.sdltester.dialogs.PerformInteractionDialog.java
com.livio.sdltester.dialogs.PutFileDialog.java
com.livio.sdltester.dialogs.ReadDidsDialog.java
com.livio.sdltester.dialogs.ScrollableMessageDialog.java
com.livio.sdltester.dialogs.SdlAlertDialog.java
com.livio.sdltester.dialogs.SdlConnectionDialog.java
com.livio.sdltester.dialogs.SetAppIconDialog.java
com.livio.sdltester.dialogs.SetMediaClockTimerDialog.java
com.livio.sdltester.dialogs.ShowDialog.java
com.livio.sdltester.dialogs.SliderDialog.java
com.livio.sdltester.dialogs.SoftButtonItemDialog.java
com.livio.sdltester.dialogs.SoftButtonListDialog.java
com.livio.sdltester.dialogs.SpeakDialog.java