Android Open Source - phonegap-lite-android Device






From Project

Back to project page phonegap-lite-android.

License

The source code is released under:

MIT License

If you think the Android project phonegap-lite-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

/*
 * PhoneGap is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * // w w w . j  a v  a 2  s .  c  o  m
 * Copyright (c) 2005-2010, Nitobi Software Inc.
 * Copyright (c) 2010, IBM Corporation
 */
package com.phonegap;

import java.util.TimeZone;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.phonegap.api.PhonegapActivity;
import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult;
import android.provider.Settings;

public class Device extends Plugin {
  
    public static String phonegapVersion = "1.2.0";             // PhoneGap version
  public static String platform = "Android";          // Device OS
  public static String uuid;                  // Device UUID
    
    /**
     * Constructor.
     */
  public Device() {
    }
  
  /**
   * Sets the context of the Command. This can then be used to do things like
   * get file paths associated with the Activity.
   * 
   * @param ctx The context of the main Activity.
   */
  public void setContext(PhonegapActivity ctx) {
    super.setContext(ctx);
        Device.uuid = getUuid();
  }

  /**
   * Executes the request and returns PluginResult.
   * 
   * @param action     The action to execute.
   * @param args       JSONArry of arguments for the plugin.
   * @param callbackId  The callback id used when calling back into JavaScript.
   * @return         A PluginResult object with a status and message.
   */
  public PluginResult execute(String action, JSONArray args, String callbackId) {
    PluginResult.Status status = PluginResult.Status.OK;
    String result = "";    
  
    try {
      if (action.equals("getDeviceInfo")) {
        JSONObject r = new JSONObject();
        r.put("uuid", Device.uuid);
        r.put("version", this.getOSVersion());
        r.put("platform", Device.platform);
        r.put("name", this.getProductName());
        r.put("phonegap", Device.phonegapVersion);
        //JSONObject pg = new JSONObject();
        //pg.put("version", Device.phonegapVersion);
        //r.put("phonegap", pg);
        return new PluginResult(status, r);
      }
      return new PluginResult(status, result);
    } catch (JSONException e) {
      return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
    }
  }

  /**
   * Identifies if action to be executed returns a value and should be run synchronously.
   * 
   * @param action  The action to execute
   * @return      T=returns value
   */
  public boolean isSynch(String action) {
    if (action.equals("getDeviceInfo")) {
      return true;
    }
    return false;
  }

    //--------------------------------------------------------------------------
    // LOCAL METHODS
    //--------------------------------------------------------------------------
    
  /**
   * Get the OS name.
   * 
   * @return
   */
  public String getPlatform()  {
    return Device.platform;
  }
  
  /**
   * Get the device's Universally Unique Identifier (UUID).
   * 
   * @return
   */
  public String getUuid()  {    
    String uuid = Settings.Secure.getString(this.ctx.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
    return uuid;
  }

  /**
   * Get the PhoneGap version.
   * 
   * @return
   */
  public String getPhonegapVersion() {
    return Device.phonegapVersion;
  }  
  
  public String getModel() {
    String model = android.os.Build.MODEL;
    return model;
  }
  
  public String getProductName() {
    String productname = android.os.Build.PRODUCT;
    return productname;
  }
  
  /**
   * Get the OS version.
   * 
   * @return
   */
  public String getOSVersion() {
    String osversion = android.os.Build.VERSION.RELEASE;
    return osversion;
  }
  
  public String getSDKVersion() {
    String sdkversion = android.os.Build.VERSION.SDK;
    return sdkversion;
  }
  
    
    public String getTimeZoneID() {
       TimeZone tz = TimeZone.getDefault();
        return(tz.getID());
    } 
    
}




Java Source Code List

__ID__.Activity.java
com.phonegap.App.java
com.phonegap.CallbackServer.java
com.phonegap.Device.java
com.phonegap.DroidGap.java
com.phonegap.HttpHandler.java
com.phonegap.StandAlone.java
com.phonegap.TempListener.java
com.phonegap.WebViewReflect.java
com.phonegap.api.IPlugin.java
com.phonegap.api.LOG.java
com.phonegap.api.PhonegapActivity.java
com.phonegap.api.PluginManager.java
com.phonegap.api.PluginResult.java
com.phonegap.api.Plugin.java
com.phonegap.file.EncodingException.java
com.phonegap.plugin.sqlitePlugin.SQLitePlugin.java