Android Open Source - magdaa-library Serval Status Receiver






From Project

Back to project page magdaa-library.

License

The source code is released under:

GNU General Public License

If you think the Android project magdaa-library 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) 2012, 2013 The MaGDAA Project
 *//www .ja  v  a  2s .c  o m
 * This file is part of the MaGDAA Library Software
 *
 * MaGDAA Library Software is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This source code is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this source code; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package org.magdaaproject.utils.serval;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

/**
 * a utility class used to receive notification about the state of the serval mesh application
 */
public class ServalStatusReceiver extends BroadcastReceiver {
  
  /**
   * identify the state that the Serval Mesh is on
   */
  public static final int SERVAL_STATUS_ON = 0;
  
  /**
   * identify the state where the Serval Mesh is off
   */
  public static final int SERVAL_STATUS_OFF = 1;
  
  /**
   * identify the state whereby the Serval Mesh status is unknown
   */
  public static final int SERVAL_STATUS_UNKOWN = -1;
  
  /**
   * identify the intent actions used to check Serval State
   */
  public static final String[] SERVAL_STATUS_ACTIONS = {"org.servalproject.ACTION_STATE_CHECK_UPDATE","org.servalproject.ACTION_STATE"};
  
  /**
   * intent action used to poll for the status of the serval mesh
   */
  public static final String SERVAL_STATE_CHECK_ACTION = "org.servalproject.ACTION_STATE_CHECK";
  
  /*
   * private class level variables
   */
  /*
   * an enum representing the different states of the Serval Mesh software
   * derived from the org.serval.project.ServalBatphoneApplication class
   */
  private static enum BatphoneState{
    Installing,
    Upgrading,
    Off,
    Starting,
    On,
    Stopping,
    Broken
  }

  private int status = SERVAL_STATUS_UNKOWN;

  /*
   * (non-Javadoc)
   * @see android.content.BroadcastReceiver#onReceive(android.content.Context, android.content.Intent)
   */
  @Override
  public void onReceive(Context context, Intent intent) {
    
    // check the intent action
    if(intent.getAction().equals(SERVAL_STATUS_ACTIONS[0]) || intent.getAction().equals(SERVAL_STATUS_ACTIONS[1])) {
      
      // get the state from the intent
      int mIndicator = intent.getIntExtra("state", -1);
      
      // determine which state is indicated
      if(mIndicator != -1) {
        BatphoneState mState = BatphoneState.values()[mIndicator];
        
        switch(mState) {
        case On:
          status = SERVAL_STATUS_ON;
          break;
        case Off:
          status = SERVAL_STATUS_OFF;
          break;
        default:
          status = SERVAL_STATUS_UNKOWN;
        }
      } else {
        status = SERVAL_STATUS_UNKOWN;
      }
    }
  }
  
  /**
   * get the current status of the Serval Mesh software
   * @return the currently known state of the serval mesh software
   */
  public int getStatus() {
    return status;
  }

}




Java Source Code List

org.apache.commons.io.Charsets.java
org.apache.commons.io.FileExistsException.java
org.apache.commons.io.FileUtils.java
org.apache.commons.io.FilenameUtils.java
org.apache.commons.io.IOCase.java
org.apache.commons.io.IOUtils.java
org.apache.commons.io.LineIterator.java
org.apache.commons.io.filefilter.AbstractFileFilter.java
org.apache.commons.io.filefilter.AgeFileFilter.java
org.apache.commons.io.filefilter.AndFileFilter.java
org.apache.commons.io.filefilter.ConditionalFileFilter.java
org.apache.commons.io.filefilter.DelegateFileFilter.java
org.apache.commons.io.filefilter.DirectoryFileFilter.java
org.apache.commons.io.filefilter.FalseFileFilter.java
org.apache.commons.io.filefilter.FileFileFilter.java
org.apache.commons.io.filefilter.FileFilterUtils.java
org.apache.commons.io.filefilter.IOFileFilter.java
org.apache.commons.io.filefilter.MagicNumberFileFilter.java
org.apache.commons.io.filefilter.NameFileFilter.java
org.apache.commons.io.filefilter.NotFileFilter.java
org.apache.commons.io.filefilter.OrFileFilter.java
org.apache.commons.io.filefilter.PrefixFileFilter.java
org.apache.commons.io.filefilter.SizeFileFilter.java
org.apache.commons.io.filefilter.SuffixFileFilter.java
org.apache.commons.io.filefilter.TrueFileFilter.java
org.apache.commons.io.input.ClosedInputStream.java
org.apache.commons.io.output.ByteArrayOutputStream.java
org.apache.commons.io.output.NullOutputStream.java
org.apache.commons.io.output.StringBuilderWriter.java
org.magdaaproject.utils.DeviceUtils.java
org.magdaaproject.utils.FileUtils.java
org.magdaaproject.utils.GeoCoordUtils.java
org.magdaaproject.utils.OpenDataKitUtils.java
org.magdaaproject.utils.SensorUtilsException.java
org.magdaaproject.utils.SensorUtils.java
org.magdaaproject.utils.TimeUtils.java
org.magdaaproject.utils.UnitConversionUtils.java
org.magdaaproject.utils.readings.ReadingsList.java
org.magdaaproject.utils.readings.SensorReading.java
org.magdaaproject.utils.readings.TempHumidityReading.java
org.magdaaproject.utils.readings.WeatherReading.java
org.magdaaproject.utils.serval.RhizomeUtils.java
org.magdaaproject.utils.serval.ServalStatusReceiver.java
org.magdaaproject.utils.serval.ServalUtils.java
org.magdaaproject.utils.xforms.XFormsException.java
org.magdaaproject.utils.xforms.XFormsUtils.java
org.zeroturnaround.zip.ByteSource.java
org.zeroturnaround.zip.FileSource.java
org.zeroturnaround.zip.FileUtil.java
org.zeroturnaround.zip.IdentityNameMapper.java
org.zeroturnaround.zip.NameMapper.java
org.zeroturnaround.zip.ZipBreakException.java
org.zeroturnaround.zip.ZipEntryCallback.java
org.zeroturnaround.zip.ZipEntrySource.java
org.zeroturnaround.zip.ZipException.java
org.zeroturnaround.zip.ZipInfoCallback.java
org.zeroturnaround.zip.ZipUtil.java
org.zeroturnaround.zip.transform.ByteArrayZipEntryTransformer.java
org.zeroturnaround.zip.transform.FileZipEntryTransformer.java
org.zeroturnaround.zip.transform.StreamZipEntryTransformer.java
org.zeroturnaround.zip.transform.StringZipEntryTransformer.java
org.zeroturnaround.zip.transform.ZipEntrySourceZipEntryTransformer.java
org.zeroturnaround.zip.transform.ZipEntryTransformerEntry.java
org.zeroturnaround.zip.transform.ZipEntryTransformer.java