Android Open Source - phonegap-plugin-loading-spinner Spinner Plugin






From Project

Back to project page phonegap-plugin-loading-spinner.

License

The source code is released under:

Apache License

If you think the Android project phonegap-plugin-loading-spinner 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 it.mobimentum.phonegapspinnerplugin;
//from  ww w.j  av  a2 s. c  om
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.R.bool;
import android.app.Activity;
import android.content.Intent;
import android.os.Handler;

public class SpinnerPlugin extends CordovaPlugin {
  
  private static final String PARAM_SHOW_OVERLAY = "overlay";
  private static final String PARAM_SHOW_TIMEOUT = "timeout";
  private static final String PARAM_IS_FULLSCREEN = "fullscreen";
  
  private boolean isShown = false;

  @Override
  public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {

    final Activity context = this.cordova.getActivity();
    
    if (action.equals("show"))
    {
      if( !isShown )
      {
        isShown = true;
        
        // Args
        JSONObject argsObj = args.getJSONObject(0);
        Boolean showOverlay = argsObj.has(PARAM_SHOW_OVERLAY) ? argsObj.getBoolean(PARAM_SHOW_OVERLAY) : null;
        Integer hideTimeout = argsObj.has(PARAM_SHOW_TIMEOUT) ? argsObj.getInt(PARAM_SHOW_TIMEOUT) : null;
        Boolean isFullScreen = argsObj.has(PARAM_IS_FULLSCREEN) ? argsObj.getBoolean(PARAM_IS_FULLSCREEN) : null;
  
        // Show
        show(context, showOverlay, hideTimeout, isFullScreen);
      }
      
      callbackContext.success();
      return true;
    }
    else if (action.equals("hide"))
    {
      if( isShown )
      {
        isShown = false;
        
        // Hide
        hide(context);
      }
      
      callbackContext.success();
      return true;
    }
    
    callbackContext.error("Spinner received invalid action '"+action+"'");
    return false;
  }
  
  private boolean show(final Activity context, Boolean showOverlay, Integer hideTimeout, Boolean isFullscreen) {
    // Loading spinner
    Intent intent = new Intent(context, ProgressActivity.class);
    if (showOverlay != null) intent.putExtra(ProgressActivity.EXTRA_SHOW_OVERLAY, showOverlay);
    if (isFullscreen != null) intent.putExtra(ProgressActivity.EXTRA_IS_FULLSCREEN, isFullscreen);
    context.startActivity(intent);
    
    if (hideTimeout != null) {
      new Handler().postDelayed(new Runnable() {
        @Override
        public void run() { hide(context); }
      }, hideTimeout*1000);
    }
    
    return true;
  }
  
  private boolean hide(Activity context) {
    // Loading spinner
    Intent intent = new Intent(context, ProgressActivity.class);
    intent.putExtra(ProgressActivity.ACTION_HIDE_PROGRESS, true);
    context.startActivity(intent);
    
    return true;
  }
}




Java Source Code List

com.squareup.okhttp.Address.java
com.squareup.okhttp.ConnectionPool.java
com.squareup.okhttp.Connection.java
com.squareup.okhttp.HttpResponseCache.java
com.squareup.okhttp.OkHttpClient.java
com.squareup.okhttp.OkResponseCache.java
com.squareup.okhttp.ResponseSource.java
com.squareup.okhttp.Route.java
com.squareup.okhttp.TunnelRequest.java
com.squareup.okhttp.internal.AbstractOutputStream.java
com.squareup.okhttp.internal.Base64.java
com.squareup.okhttp.internal.DiskLruCache.java
com.squareup.okhttp.internal.Dns.java
com.squareup.okhttp.internal.FaultRecoveringOutputStream.java
com.squareup.okhttp.internal.NamedRunnable.java
com.squareup.okhttp.internal.Platform.java
com.squareup.okhttp.internal.StrictLineReader.java
com.squareup.okhttp.internal.Util.java
com.squareup.okhttp.internal.http.AbstractHttpInputStream.java
com.squareup.okhttp.internal.http.AbstractHttpOutputStream.java
com.squareup.okhttp.internal.http.HeaderParser.java
com.squareup.okhttp.internal.http.HttpAuthenticator.java
com.squareup.okhttp.internal.http.HttpDate.java
com.squareup.okhttp.internal.http.HttpEngine.java
com.squareup.okhttp.internal.http.HttpResponseCache.java
com.squareup.okhttp.internal.http.HttpTransport.java
com.squareup.okhttp.internal.http.HttpURLConnectionImpl.java
com.squareup.okhttp.internal.http.HttpsURLConnectionImpl.java
com.squareup.okhttp.internal.http.OkResponseCacheAdapter.java
com.squareup.okhttp.internal.http.OkResponseCache.java
com.squareup.okhttp.internal.http.RawHeaders.java
com.squareup.okhttp.internal.http.RequestHeaders.java
com.squareup.okhttp.internal.http.ResponseHeaders.java
com.squareup.okhttp.internal.http.RetryableOutputStream.java
com.squareup.okhttp.internal.http.RouteSelector.java
com.squareup.okhttp.internal.http.SpdyTransport.java
com.squareup.okhttp.internal.http.Transport.java
com.squareup.okhttp.internal.http.UnknownLengthHttpInputStream.java
com.squareup.okhttp.internal.spdy.IncomingStreamHandler.java
com.squareup.okhttp.internal.spdy.Ping.java
com.squareup.okhttp.internal.spdy.Settings.java
com.squareup.okhttp.internal.spdy.SpdyConnection.java
com.squareup.okhttp.internal.spdy.SpdyReader.java
com.squareup.okhttp.internal.spdy.SpdyStream.java
com.squareup.okhttp.internal.spdy.SpdyWriter.java
it.mobimentum.phonegapspinnerplugin.ProgressActivity.java
it.mobimentum.phonegapspinnerplugin.SpinnerPlugin.java
org.apache.cordova.App.java
org.apache.cordova.AuthenticationToken.java
org.apache.cordova.CallbackContext.java
org.apache.cordova.Config.java
org.apache.cordova.CordovaActivity.java
org.apache.cordova.CordovaArgs.java
org.apache.cordova.CordovaChromeClient.java
org.apache.cordova.CordovaInterface.java
org.apache.cordova.CordovaPlugin.java
org.apache.cordova.CordovaResourceApi.java
org.apache.cordova.CordovaWebViewClient.java
org.apache.cordova.CordovaWebView.java
org.apache.cordova.DirectoryManager.java
org.apache.cordova.DroidGap.java
org.apache.cordova.ExifHelper.java
org.apache.cordova.ExposedJsApi.java
org.apache.cordova.FileHelper.java
org.apache.cordova.IceCreamCordovaWebViewClient.java
org.apache.cordova.JSONUtils.java
org.apache.cordova.LOG.java
org.apache.cordova.LinearLayoutSoftKeyboardDetect.java
org.apache.cordova.NativeToJsMessageQueue.java
org.apache.cordova.PluginEntry.java
org.apache.cordova.PluginManager.java
org.apache.cordova.PluginResult.java
org.apache.cordova.ScrollEvent.java
org.apache.cordova.Whitelist.java