Android Open Source - Aether-s-Notebook-Android-Client Integer Preference Change Listener






From Project

Back to project page Aether-s-Notebook-Android-Client.

License

The source code is released under:

GNU General Public License

If you think the Android project Aether-s-Notebook-Android-Client 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 aethers.notebook.core.ui;
//ww w.  j a v a 2  s.  c o m
import android.content.Context;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.widget.Toast;

public class IntegerPreferenceChangeListener
implements OnPreferenceChangeListener
{
    private final int minimum;
    
    private final int maximum;
    
    private final String toastMessage;
    
    private final Context context;
    
    private final boolean allowBlank;
    
    public IntegerPreferenceChangeListener(
            int minimum,
            int maximum,
            String toastMessage,
            Context context)
    {
        this(minimum, maximum, toastMessage, false, context);
    }
    
    public IntegerPreferenceChangeListener(
            int minimum,
            int maximum,
            String toastMessage,
            boolean allowBlank,
            Context context)
    {
        this.minimum = minimum;
        this.maximum = maximum;
        this.toastMessage = toastMessage;
        this.allowBlank = allowBlank;
        this.context = context;
    }
    
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) 
    {
        try
        {
            String s = (String)newValue;
            if(allowBlank && s.equals(""))
                return true;
            int val = Integer.parseInt(s);
            if(val < minimum || val > maximum)
                throw new RuntimeException();
            return true;
        }
        catch(Exception e)
        {
            Toast.makeText(context, toastMessage, Toast.LENGTH_SHORT).show();
            return false;   
        }
    }
}




Java Source Code List

aethers.notebook.appender.managed.file.ConfigurationActivity.java
aethers.notebook.appender.managed.file.Configuration.java
aethers.notebook.appender.managed.file.FileAppender.java
aethers.notebook.appender.managed.uploader.ConfigurationActivity.java
aethers.notebook.appender.managed.uploader.Configuration.java
aethers.notebook.appender.managed.uploader.UploaderAppender.java
aethers.notebook.core.Action.java
aethers.notebook.core.AppenderServiceIdentifier.java
aethers.notebook.core.BootReceiver.java
aethers.notebook.core.ConfigurationTemplate.java
aethers.notebook.core.Configuration.java
aethers.notebook.core.CoreService.java
aethers.notebook.core.LoggerServiceIdentifier.java
aethers.notebook.core.TimeStamp.java
aethers.notebook.core.ui.ConfigurationActivity.java
aethers.notebook.core.ui.EditIntegerPreference.java
aethers.notebook.core.ui.IntegerPreferenceChangeListener.java
aethers.notebook.core.ui.NonPersistingButtonPreference.java
aethers.notebook.core.ui.PersistingButtonPreference.java
aethers.notebook.core.ui.filechooser.DirectoryChooser.java
aethers.notebook.core.ui.filechooser.FileChooser.java
aethers.notebook.core.ui.filechooser.FileListAdapter.java
aethers.notebook.logger.managed.PushLogger.java
aethers.notebook.logger.managed.celllocation.CellLocationLogger.java
aethers.notebook.logger.managed.dataconnectionstate.DataConnectionStateLogger.java
aethers.notebook.logger.managed.position.ConfigurationActivity.java
aethers.notebook.logger.managed.position.Configuration.java
aethers.notebook.logger.managed.position.PositionLogger.java
aethers.notebook.logger.managed.servicestate.ServiceStateLogger.java
aethers.notebook.logger.managed.signalstrength.SignalStrengthLogger.java
aethers.notebook.logger.managed.wifi.ConfigurationActivity.java
aethers.notebook.logger.managed.wifi.Configuration.java
aethers.notebook.logger.managed.wifi.WifiLogger.java
aethers.notebook.util.Logger.java