Android Open Source - jpHolo Android Service






From Project

Back to project page jpHolo.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project jpHolo 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 org.teusink.jpholo;
/* ww w. j a v a2  s  .com*/
import org.json.JSONException;
import org.json.JSONObject;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

import com.red_folder.phonegap.plugin.backgroundservice.BackgroundService;

@SuppressLint("DefaultLocale")
public class AndroidService extends BackgroundService {

  private String configSetting = "";

  public static final String PREFS_NAME = "jpHoloSharedPreferences";
  public static final String LOG_PROV = "jpHoloLog";
  public static final String LOG_NAME = "Background Service: ";

  Handler handler = new Handler();

  @Override
  protected JSONObject doWork() {
    final JSONObject result = new JSONObject();
    final String msg = "Service executed.";
    runService();
    try {
      result.put("Message", msg);
    } catch (final JSONException e) {
      Log.e(LOG_PROV, LOG_NAME + "JSONException Error");
      e.printStackTrace();
    }
    Log.d(LOG_PROV, LOG_NAME + msg);
    return result;
  }

  @Override
  protected JSONObject getConfig() {
    final JSONObject result = new JSONObject();
    try {
      result.put("mConfig", this.configSetting);
    } catch (final JSONException e) {
      Log.e(LOG_PROV, LOG_NAME + "JSONException Error");
      e.printStackTrace();
    }
    return result;
  }

  @Override
  protected void setConfig(final JSONObject config) {
    try {
      if (config.has("mConfig")) {
        this.configSetting = config.getString("mConfig");
      }
    } catch (final JSONException e) {
      Log.e(LOG_PROV, LOG_NAME + "JSONException Error");
      e.printStackTrace();
    }

  }

  @Override
  protected JSONObject initialiseLatestResult() {
    return null;
  }

  @Override
  protected void onTimerEnabled() {
  }

  @Override
  protected void onTimerDisabled() {
  }

  private void runService() {
    final SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
    String serviceToastDuration = settings.getString("serviceToastDuration", "");
    if (!serviceToastDuration.equals("long")) {
      serviceToastDuration = "short";
    }
    showToast("Service executed with toast duration: " + serviceToastDuration, serviceToastDuration);
  }

  private void showToast(final String message, final String duration) {
    handler.post(new Runnable() {
      @Override
      public void run() {
        Toast toast;
        if(duration.equals("long")) {
          toast = Toast.makeText(getBaseContext(), message, Toast.LENGTH_LONG);
        } else {
          toast = Toast.makeText(getBaseContext(), message, Toast.LENGTH_SHORT);
        }
        toast.show();
      }
    });
  }

}




Java Source Code List

org.apache.cordova.batterystatus.BatteryListener.java
org.apache.cordova.camera.CameraLauncher.java
org.apache.cordova.camera.ExifHelper.java
org.apache.cordova.camera.FileHelper.java
org.apache.cordova.contacts.ContactAccessorSdk5.java
org.apache.cordova.contacts.ContactAccessor.java
org.apache.cordova.contacts.ContactInfoDTO.java
org.apache.cordova.contacts.ContactManager.java
org.apache.cordova.device.Device.java
org.apache.cordova.devicemotion.AccelListener.java
org.apache.cordova.deviceorientation.CompassListener.java
org.apache.cordova.dialogs.Notification.java
org.apache.cordova.file.ContentFilesystem.java
org.apache.cordova.file.DirectoryManager.java
org.apache.cordova.file.EncodingException.java
org.apache.cordova.file.FileExistsException.java
org.apache.cordova.file.FileHelper.java
org.apache.cordova.file.FileUtils.java
org.apache.cordova.file.Filesystem.java
org.apache.cordova.file.InvalidModificationException.java
org.apache.cordova.file.LocalFilesystemURL.java
org.apache.cordova.file.LocalFilesystem.java
org.apache.cordova.file.NoModificationAllowedException.java
org.apache.cordova.file.TypeMismatchException.java
org.apache.cordova.filetransfer.FileProgressResult.java
org.apache.cordova.filetransfer.FileTransfer.java
org.apache.cordova.filetransfer.FileUploadResult.java
org.apache.cordova.globalization.GlobalizationError.java
org.apache.cordova.globalization.Globalization.java
org.apache.cordova.inappbrowser.InAppBrowserDialog.java
org.apache.cordova.inappbrowser.InAppBrowser.java
org.apache.cordova.inappbrowser.InAppChromeClient.java
org.apache.cordova.media.AudioHandler.java
org.apache.cordova.media.AudioPlayer.java
org.apache.cordova.media.FileHelper.java
org.apache.cordova.mediacapture.Capture.java
org.apache.cordova.mediacapture.FileHelper.java
org.apache.cordova.networkinformation.NetworkManager.java
org.apache.cordova.splashscreen.SplashScreen.java
org.apache.cordova.statusbar.StatusBar.java
org.apache.cordova.vibration.Vibration.java
org.teusink.jpholo.AndroidService.java
org.teusink.jpholo.StartActivityUri.java
org.teusink.jpholo.StartActivity.java
org.teusink.plugins.AndroidPreferences.java
org.teusink.plugins.Appstore.java
org.teusink.plugins.PackageVersion.java
org.teusink.plugins.PreferredScreenSize.java
org.teusink.plugins.Share.java
org.teusink.plugins.Toasts.java