From 6a341624dac0a67c6399dda320b752079873d283 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Fri, 31 Jul 2009 16:56:07 -0700 Subject: [PATCH 01/80] PhoneGap Blackberry working with proper Blackberry browser rendering! Changed PhoneGap Blackberry approach from using BrowserContentManager class to a Field class object. Much more low-level definition/control over HttpConnection object associated with PhoneGap. Still needs some work: cookies need to be enabled and PhoneGap callbacks hooked in properly to cookies. --- .../src/com/nitobi/phonegap/PhoneGap.java | 226 +++++++++++++----- .../io/AsynchronousResourceFetcher.java | 47 ---- .../nitobi/phonegap/io/ConnectionManager.java | 104 +++++++- .../io/PrimaryResourceFetchThread.java | 34 +++ .../io/SecondaryResourceFetchThread.java | 169 +++++++++++++ 5 files changed, 462 insertions(+), 118 deletions(-) delete mode 100644 blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java create mode 100644 blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java create mode 100644 blackberry/src/com/nitobi/phonegap/io/SecondaryResourceFetchThread.java diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index 4010d4e1..e5ebdb4d 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -22,28 +22,33 @@ */ package com.nitobi.phonegap; +import java.io.IOException; import java.util.Vector; import javax.microedition.io.HttpConnection; import net.rim.device.api.browser.field.BrowserContent; -import net.rim.device.api.browser.field.BrowserContentManager; +import net.rim.device.api.browser.field.BrowserContentChangedEvent; import net.rim.device.api.browser.field.Event; import net.rim.device.api.browser.field.RedirectEvent; import net.rim.device.api.browser.field.RenderingApplication; +import net.rim.device.api.browser.field.RenderingException; import net.rim.device.api.browser.field.RenderingOptions; +import net.rim.device.api.browser.field.RenderingSession; import net.rim.device.api.browser.field.RequestedResource; import net.rim.device.api.browser.field.UrlRequestedEvent; +import net.rim.device.api.io.http.HttpHeaders; +import net.rim.device.api.system.Application; import net.rim.device.api.system.Display; -import net.rim.device.api.ui.Screen; +import net.rim.device.api.ui.Field; import net.rim.device.api.ui.UiApplication; +import net.rim.device.api.ui.component.Status; import net.rim.device.api.ui.container.MainScreen; import com.nitobi.phonegap.api.CommandManager; -import com.nitobi.phonegap.io.AsynchronousResourceFetcher; -import com.nitobi.phonegap.io.Callback; import com.nitobi.phonegap.io.ConnectionManager; -import com.nitobi.phonegap.io.QueueResourceFetcher; +import com.nitobi.phonegap.io.PrimaryResourceFetchThread; +import com.nitobi.phonegap.io.SecondaryResourceFetchThread; /** * Bridges HTML/JS/CSS to a native Blackberry application. @@ -55,13 +60,12 @@ public class PhoneGap extends UiApplication implements RenderingApplication { public static final String PHONEGAP_PROTOCOL = "gap://"; private static final String DEFAULT_INITIAL_URL = "data:///www/test/index.html"; - - private Screen mainScreen; + private static final String REFERER = "referer"; private Vector pendingResponses = new Vector(); - private QueueResourceFetcher queueResourceFetcher; private CommandManager commandManager = new CommandManager(); - private ConnectionManager connectionManager = new ConnectionManager(); - private BrowserContentManager _browserContentManager = new BrowserContentManager(0); + private RenderingSession _renderingSession; + private HttpConnection _currentConnection; + private MainScreen _mainScreen; /** * Launches the application. Accepts up to one parameter, an URL to the index page. @@ -88,48 +92,117 @@ public PhoneGap(final String url) { } private void init(final String url) { - RenderingOptions renderingOptions = _browserContentManager.getRenderingSession().getRenderingOptions(); - renderingOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID, RenderingOptions.JAVASCRIPT_ENABLED, true); - renderingOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID, RenderingOptions.JAVASCRIPT_LOCATION_ENABLED, true); - // The following line is commented out for now, until we figure out how to use this rendering mode properly. - //renderingOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID, 17000, true); - mainScreen = new MainScreen(); - mainScreen.add(_browserContentManager); - pushScreen(mainScreen); - queueResourceFetcher = new QueueResourceFetcher(this, connectionManager); - loadUrl(url); - invokeLater(queueResourceFetcher); - } - - private void loadUrl(String url) { - invokeAndWait(new AsynchronousResourceFetcher(url, new Callback() { - public void execute(final Object input) { - // setContent here causes Blackberry to freeze - leads to two calls: handleNewContent and finishLoading. - // finishLoading then calls Object.wait(), which is likely the cause for the freeze? Help! - _browserContentManager.setContent((HttpConnection) input, PhoneGap.this, null); - } - }, connectionManager)); + _mainScreen = new MainScreen(); + pushScreen(_mainScreen); + _renderingSession = RenderingSession.getNewInstance(); + + // Enable JavaScript. + _renderingSession.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, RenderingOptions.JAVASCRIPT_ENABLED, true); + _renderingSession.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, RenderingOptions.JAVASCRIPT_LOCATION_ENABLED, true); + // Enable nice-looking BB browser field. + _renderingSession.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, 17000, true); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(url, null, null, null, this); + thread.start(); } + public Object eventOccurred(final Event event) + { + int eventId = event.getUID(); + switch (eventId) + { + case Event.EVENT_URL_REQUESTED : + { + UrlRequestedEvent urlRequestedEvent = (UrlRequestedEvent) event; + String url = urlRequestedEvent.getURL(); + if (url.startsWith(PHONEGAP_PROTOCOL)) { + String response = commandManager.processInstruction(url); + if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); + // Need to do something more here... what do we do once we get a response from the Device? + } else { + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(url, + urlRequestedEvent.getHeaders(), + urlRequestedEvent.getPostData(), + event, this); + thread.start(); + } + break; + } + case Event.EVENT_BROWSER_CONTENT_CHANGED: + { + // Browser field title might have changed update title. + BrowserContentChangedEvent browserContentChangedEvent = (BrowserContentChangedEvent) event; + if (browserContentChangedEvent.getSource() instanceof BrowserContent) + { + BrowserContent browserField = (BrowserContent) browserContentChangedEvent.getSource(); + String newTitle = browserField.getTitle(); + if (newTitle != null) + { + synchronized (getAppEventLock()) + { + _mainScreen.setTitle(newTitle); + } + } + } + break; + } + case Event.EVENT_REDIRECT : + { + RedirectEvent e = (RedirectEvent) event; + String url = e.getLocation(); + String referrer = e.getSourceURL(); + switch (e.getType()) + { + case RedirectEvent.TYPE_SINGLE_FRAME_REDIRECT : + // Show redirect message. + Application.getApplication().invokeAndWait(new Runnable() + { + public void run() + { + Status.show("You are being redirected to a different page..."); + } + }); + break; + + case RedirectEvent.TYPE_JAVASCRIPT : + break; + + case RedirectEvent.TYPE_META : + // MSIE and Mozilla don't send a Referer for META Refresh. + referrer = null; + break; + + case RedirectEvent.TYPE_300_REDIRECT : + // MSIE, Mozilla, and Opera all send the original + // request's Referer as the Referer for the new + // request. + Object eventSource = e.getSource(); + if (eventSource instanceof HttpConnection) + { + referrer = ((HttpConnection)eventSource).getRequestProperty(REFERER); + } + + break; + } + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setProperty(REFERER, referrer); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(e.getLocation(), requestHeaders,null, event, this); + thread.start(); + break; + } + case Event.EVENT_CLOSE : + // TODO: close the application + break; + + case Event.EVENT_SET_HEADER : // No cache support. + case Event.EVENT_SET_HTTP_COOKIE : // No cookie support. + case Event.EVENT_HISTORY : // No history support. + case Event.EVENT_EXECUTING_SCRIPT : // No progress bar is supported. + case Event.EVENT_FULL_WINDOW : // No full window support. + case Event.EVENT_STOP : // No stop loading support. + default : + } - public Object eventOccurred(final Event event) { - if (event instanceof RedirectEvent) { - RedirectEvent command = (RedirectEvent) event; - String url = command.getLocation(); - if (url.startsWith(PHONEGAP_PROTOCOL)) { - String response = commandManager.processInstruction(url); - if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); - } - } - if (event instanceof UrlRequestedEvent) { - final String url = ((UrlRequestedEvent) event).getURL(); - new Thread(new AsynchronousResourceFetcher(url, new Callback() { - public void execute(final Object input) { - _browserContentManager.setContent((HttpConnection) input, PhoneGap.this, null); - } - }, connectionManager)).start(); - } - return null; - } + return null; + } public String getHTTPCookie(String url) { StringBuffer responseCode = new StringBuffer(); @@ -156,16 +229,53 @@ public int getHistoryPosition(BrowserContent browserContent) { public HttpConnection getResource(RequestedResource resource, BrowserContent referrer) { if ((resource != null) && (resource.getUrl() != null) && !resource.isCacheOnly()) { String url = resource.getUrl().trim(); - if ((referrer == null) || (connectionManager.isInternal(url))) - return connectionManager.getUnmanagedConnection(url); + if ((referrer == null) || (ConnectionManager.isInternal(url))) + return ConnectionManager.getUnmanagedConnection(url, resource.getRequestHeaders(), null); else - queueResourceFetcher.enqueue(resource, referrer); + SecondaryResourceFetchThread.enqueue(resource, referrer); } return null; } - - public void invokeRunnable(Runnable runnable) { - invokeLater(runnable); - } - + public void processConnection(HttpConnection connection, Event e) + { + // Cancel previous request. + if (_currentConnection != null) + { + try + { + _currentConnection.close(); + } + catch (IOException e1) + { + } + } + _currentConnection = connection; + BrowserContent browserContent = null; + try + { + browserContent = _renderingSession.getBrowserContent(connection, this, e); + if (browserContent != null) + { + Field field = browserContent.getDisplayableContent(); + + if (field != null) + { + synchronized (Application.getEventLock()) + { + _mainScreen.deleteAll(); + _mainScreen.add(field); + } + } + + browserContent.finishLoading(); + } + } + catch (RenderingException re) + { + } + } + public void invokeRunnable(Runnable runnable) + { + (new Thread(runnable)).start(); + } } diff --git a/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java b/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java deleted file mode 100644 index 5dd880c2..00000000 --- a/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * The MIT License - * ------------------------------------------------------------- - * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package com.nitobi.phonegap.io; - -/** - * Fetches a resource and executes a callback. - * - * @author Jose Noheda - * - */ -public class AsynchronousResourceFetcher implements Runnable { - - private String url; - private Callback callback; - private ConnectionManager connectionManager; - - public AsynchronousResourceFetcher(String url, Callback callback, ConnectionManager connectionManager) { - this.url = url; - this.callback = callback; - this.connectionManager = connectionManager; - } - - public void run() { - callback.execute(connectionManager.getUnmanagedConnection(url)); - } - -} diff --git a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java index f2ce1b42..b9df9754 100644 --- a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java +++ b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java @@ -27,6 +27,8 @@ import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; +import java.util.Vector; import javax.microedition.io.Connection; import javax.microedition.io.Connector; @@ -34,7 +36,10 @@ import javax.microedition.io.InputConnection; import net.rim.device.api.io.Base64OutputStream; +import net.rim.device.api.io.http.HttpHeaders; +import net.rim.device.api.io.http.HttpProtocolConstants; import net.rim.device.api.system.Application; +import net.rim.device.api.util.StringUtilities; /** * Manages all HTTP connections. @@ -46,17 +51,78 @@ public final class ConnectionManager { public static final String DATA = "data"; public static final String DATA_PROTOCOL = DATA + ":///"; - private static final byte[] DATA_URL = (ConnectionManager.DATA + ":text/html;base64,").getBytes(); + private static final byte[] DATA_URL_HTML = (ConnectionManager.DATA + ":text/html;charset=utf-8;base64,").getBytes(); + private static final byte[] DATA_URL_JS = (ConnectionManager.DATA + ":text/javascript;charset=utf-8;base64,").getBytes(); + private static final byte[] DATA_URL_IMG_JPG = (ConnectionManager.DATA + ":image/jpeg;charset=utf-8;base64,").getBytes(); + private static final byte[] DATA_URL_PLAIN = (ConnectionManager.DATA + ":text/plain;charset=utf-8;base64,").getBytes(); /** * Creates a connection and returns it. Calling this method without care may saturate BB capacity. * * @param url a http:// or data:// URL */ - public HttpConnection getUnmanagedConnection(String url) { - if ((url != null) && (url.trim().length() > 0)) - return isInternal(url) ? getDataProtocolConnection(url) : getExternalConnection(url); - return null; + public static HttpConnection getUnmanagedConnection(String url, HttpHeaders requestHeaders, byte[] postData) { + HttpConnection conn = null; + OutputStream out = null; + if ((url != null) && (url.trim().length() > 0)) { + conn = isInternal(url) ? getDataProtocolConnection(url) : getExternalConnection(url); + } else { + return conn; + } + try { + if (requestHeaders != null) { + // From + // http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3 + // + // Clients SHOULD NOT include a Referer header field in a + // (non-secure) HTTP + // request if the referring page was transferred with a secure + // protocol. + String referer = requestHeaders.getPropertyValue("referer"); + boolean sendReferrer = true; + + if (referer != null && StringUtilities.startsWithIgnoreCase(referer,"https:") && !StringUtilities.startsWithIgnoreCase(url, "https:")) { + sendReferrer = false; + } + + int size = requestHeaders.size(); + for (int i = 0; i < size;) { + String header = requestHeaders.getPropertyKey(i); + + // Remove referer header if needed. + if (!sendReferrer && header.equals("referer")) { + requestHeaders.removeProperty(i); + --size; + continue; + } + + String value = requestHeaders.getPropertyValue(i++); + if (value != null) { + conn.setRequestProperty(header, value); + } + } + } + + if (postData == null) { + conn.setRequestMethod(HttpConnection.GET); + } else { + conn.setRequestMethod(HttpConnection.POST); + conn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, String.valueOf(postData.length)); + + out = conn.openOutputStream(); + out.write(postData); + } + + } catch (IOException e1) { + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException e2) { + } + } + } + return conn; } /** @@ -66,7 +132,7 @@ public HttpConnection getUnmanagedConnection(String url) { * @param url a http:// or data:// URL */ public InputConnection getPreLoadedConnection(String url) { - InputConnection connection = getUnmanagedConnection(url); + InputConnection connection = getUnmanagedConnection(url, null, null); if ((connection != null) && (!isInternal(url))) { try { final byte[] data = read(connection.openInputStream()); @@ -97,7 +163,7 @@ public void close() throws IOException { /** * Detects data:// URLs */ - public boolean isInternal(String url) { + public static boolean isInternal(String url) { return (url != null) && url.startsWith(ConnectionManager.DATA_PROTOCOL); } @@ -117,24 +183,37 @@ private static void close(Connection connection) { private static HttpConnection getExternalConnection(String url) { try { - return (HttpConnection) Connector.open(url); + HttpConnection con = (HttpConnection)Connector.open(url); + return con; } catch (Exception ex) { return null; } } private static HttpConnection getDataProtocolConnection(String url) { - String dataUrl = url.startsWith(ConnectionManager.DATA_PROTOCOL) ? url.substring(ConnectionManager.DATA_PROTOCOL.length()-1) : url; + String dataUrl = url.startsWith(ConnectionManager.DATA_PROTOCOL) ? url.substring(ConnectionManager.DATA_PROTOCOL.length() - 1) : url; ByteArrayOutputStream output = new ByteArrayOutputStream(); try { - output.write(ConnectionManager.DATA_URL); + if (dataUrl.endsWith(".html") || dataUrl.endsWith(".htm")) { + output.write(ConnectionManager.DATA_URL_HTML); + } else if (dataUrl.endsWith(".js")) { + output.write(ConnectionManager.DATA_URL_JS); + } else if (dataUrl.endsWith(".jpg") || dataUrl.endsWith(".jpeg")) { + output.write(ConnectionManager.DATA_URL_IMG_JPG); + } else { + output.write(ConnectionManager.DATA_URL_PLAIN); + } Base64OutputStream boutput = new Base64OutputStream(output); - boutput.write(read(Application.class.getResourceAsStream(dataUrl))); + InputStream theResource = Application.class.getResourceAsStream(dataUrl); + byte[] resourceBytes = read(theResource); + boutput.write(resourceBytes); boutput.flush(); boutput.close(); output.flush(); output.close(); - return (HttpConnection) Connector.open(output.toString()); + Connection outputCon = Connector.open(output.toString()); + HttpConnection outputHttp = (HttpConnection) outputCon; + return outputHttp; } catch (IOException ex) { return null; } @@ -153,5 +232,4 @@ private static byte[] read(InputStream input) throws IOException { } return bytes.toByteArray(); } - } diff --git a/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java new file mode 100644 index 00000000..85579f69 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java @@ -0,0 +1,34 @@ +package com.nitobi.phonegap.io; + +import javax.microedition.io.HttpConnection; + +import net.rim.device.api.browser.field.Event; +import net.rim.device.api.io.http.HttpHeaders; + +import com.nitobi.phonegap.PhoneGap; + +public class PrimaryResourceFetchThread extends Thread +{ + + private PhoneGap _application; + private Event _event; + private byte[] _postData; + private HttpHeaders _requestHeaders; + private String _url; + + public PrimaryResourceFetchThread(String url, HttpHeaders requestHeaders, byte[] postData, + Event event, PhoneGap application) + { + _url = url; + _requestHeaders = requestHeaders; + _postData = postData; + _application = application; + _event = event; + } + + public void run() + { + HttpConnection connection = ConnectionManager.getUnmanagedConnection(_url, _requestHeaders, _postData); + _application.processConnection(connection, _event); + } +} diff --git a/blackberry/src/com/nitobi/phonegap/io/SecondaryResourceFetchThread.java b/blackberry/src/com/nitobi/phonegap/io/SecondaryResourceFetchThread.java new file mode 100644 index 00000000..b5e5f232 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/io/SecondaryResourceFetchThread.java @@ -0,0 +1,169 @@ +/* + * SecondaryResourceFetchThread.java + * + * Copyright © 1998-2008 Research In Motion Ltd. + * + * Note: For the sake of simplicity, this sample application may not leverage + * resource bundles and resource strings. However, it is STRONGLY recommended + * that application developers make use of the localization features available + * within the BlackBerry development platform to ensure a seamless application + * experience across a variety of languages and geographies. For more information + * on localizing your application, please refer to the BlackBerry Java Development + * Environment Development Guide associated with this release. + */ + +package com.nitobi.phonegap.io; + +import java.util.Vector; + +import javax.microedition.io.HttpConnection; + +import net.rim.device.api.browser.field.BrowserContent; +import net.rim.device.api.browser.field.RequestedResource; + + +public class SecondaryResourceFetchThread extends Thread +{ + + /** + * Callback browser field. + */ + private BrowserContent _browserField; + + /** + * Images to retrieve. + */ + private Vector _imageQueue; + + /** + * True is all images have been enqueued. + */ + private boolean _done; + + /** + * Sync object. + */ + private static Object _syncObject = new Object(); + + /** + * Secondary thread. + */ + private static SecondaryResourceFetchThread _currentThread; + + + /** + * Enqueues secondary resource for a browser field. + * + * @param resource - resource to retrieve. + * @param referrer - call back browsr field. + */ + public static void enqueue(RequestedResource resource, BrowserContent referrer) + { + if (resource == null) + { + return; + } + + synchronized( _syncObject ) + { + + // Create new thread. + if (_currentThread == null) + { + _currentThread = new SecondaryResourceFetchThread(); + _currentThread.start(); + } + else + { + // If thread alread is running, check that we are adding images for the same browser field. + if (referrer != _currentThread._browserField) + { + synchronized( _currentThread._imageQueue) + { + // If the request is for a different browser field, + // clear old elements. + _currentThread._imageQueue.removeAllElements(); + } + } + } + + synchronized( _currentThread._imageQueue) + { + _currentThread._imageQueue.addElement(resource); + } + + _currentThread._browserField = referrer; + } + } + + /** + * Constructor + * + */ + private SecondaryResourceFetchThread() + { + _imageQueue = new Vector(); + } + + /** + * Indicate that all images have been enqueued for this browser field. + */ + static void doneAddingImages() + { + synchronized( _syncObject ) + { + if (_currentThread != null) + { + _currentThread._done = true; + } + } + } + + public void run() + { + while (true) + { + if (_done) + { + // Check if we are done requesting images. + synchronized( _syncObject ) + { + synchronized( _imageQueue ) + { + if (_imageQueue.size() == 0) + { + _currentThread = null; + break; + } + } + } + } + + RequestedResource resource = null; + + // Request next image. + synchronized( _imageQueue ) + { + if (_imageQueue.size() > 0) + { + resource = (RequestedResource)_imageQueue.elementAt(0); + _imageQueue.removeElementAt(0); + } + } + + if (resource != null) + { + + HttpConnection connection = ConnectionManager.getUnmanagedConnection(resource.getUrl(), resource.getRequestHeaders(), null); + resource.setHttpConnection(connection); + + // Signal to the browser field that resource is ready. + if (_browserField != null) + { + _browserField.resourceReady(resource); + } + } + } + } + +} From cd76e29b491ef7a40c5a982dc6a9f467eef17393 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Wed, 5 Aug 2009 16:05:20 -0700 Subject: [PATCH 02/80] BlackBerry PhoneGap updated, lots of changes. Changed from BrowserContentManager to Browser.Field object as browser wrapper. Started to port all PhoneGap API calls to cookies (since at the moment we cant catch gap:// URI calls properly). --- .../src/com/nitobi/phonegap/PhoneGap.java | 127 +++++++++-------- .../nitobi/phonegap/api/CommandManager.java | 8 +- .../phonegap/api/impl/DeviceCommand.java | 72 ++++++++++ .../phonegap/api/impl/GeoLocationCommand.java | 2 +- .../api/impl/NotificationCommand.java | 132 ++++++++++++++++++ .../io/AsynchronousResourceFetcher.java | 45 ++++++ .../nitobi/phonegap/io/ConnectionManager.java | 76 +++++----- .../io/PrimaryResourceFetchThread.java | 8 +- blackberry/src/www/js/device.js | 21 ++- blackberry/src/www/js/notification.js | 8 ++ blackberry/src/www/test/device.html | 3 +- blackberry/src/www/test/index.html | 5 +- blackberry/src/www/test/notification.html | 16 +++ blackberry/src/www/test/vibration.html | 19 --- 14 files changed, 407 insertions(+), 135 deletions(-) create mode 100644 blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java create mode 100644 blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java create mode 100644 blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java create mode 100644 blackberry/src/www/js/notification.js create mode 100644 blackberry/src/www/test/notification.html delete mode 100644 blackberry/src/www/test/vibration.html diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index e5ebdb4d..cbccccdc 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -36,6 +36,7 @@ import net.rim.device.api.browser.field.RenderingOptions; import net.rim.device.api.browser.field.RenderingSession; import net.rim.device.api.browser.field.RequestedResource; +import net.rim.device.api.browser.field.SetHttpCookieEvent; import net.rim.device.api.browser.field.UrlRequestedEvent; import net.rim.device.api.io.http.HttpHeaders; import net.rim.device.api.system.Application; @@ -58,13 +59,13 @@ */ public class PhoneGap extends UiApplication implements RenderingApplication { - public static final String PHONEGAP_PROTOCOL = "gap://"; + public static final String PHONEGAP_PROTOCOL = "PhoneGap="; private static final String DEFAULT_INITIAL_URL = "data:///www/test/index.html"; private static final String REFERER = "referer"; private Vector pendingResponses = new Vector(); private CommandManager commandManager = new CommandManager(); private RenderingSession _renderingSession; - private HttpConnection _currentConnection; + public HttpConnection _currentConnection; private MainScreen _mainScreen; /** @@ -109,21 +110,59 @@ public Object eventOccurred(final Event event) int eventId = event.getUID(); switch (eventId) { + case Event.EVENT_REDIRECT : + { + RedirectEvent e = (RedirectEvent) event; + String url = e.getLocation(); + String referrer = e.getSourceURL(); + switch (e.getType()) + { + case RedirectEvent.TYPE_SINGLE_FRAME_REDIRECT : + // Show redirect message. + Application.getApplication().invokeAndWait(new Runnable() + { + public void run() + { + Status.show("You are being redirected to a different page..."); + } + }); + break; + + case RedirectEvent.TYPE_JAVASCRIPT : + String test = "test"; + break; + + case RedirectEvent.TYPE_META : + // MSIE and Mozilla don't send a Referer for META Refresh. + referrer = null; + break; + + case RedirectEvent.TYPE_300_REDIRECT : + // MSIE, Mozilla, and Opera all send the original + // request's Referer as the Referer for the new + // request. + Object eventSource = e.getSource(); + if (eventSource instanceof HttpConnection) + { + referrer = ((HttpConnection)eventSource).getRequestProperty(REFERER); + } + + break; + } + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setProperty(REFERER, referrer); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(e.getLocation(), requestHeaders,null, event, this); + thread.start(); + break; + } case Event.EVENT_URL_REQUESTED : { UrlRequestedEvent urlRequestedEvent = (UrlRequestedEvent) event; String url = urlRequestedEvent.getURL(); - if (url.startsWith(PHONEGAP_PROTOCOL)) { - String response = commandManager.processInstruction(url); - if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); - // Need to do something more here... what do we do once we get a response from the Device? - } else { - PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(url, - urlRequestedEvent.getHeaders(), - urlRequestedEvent.getPostData(), - event, this); - thread.start(); - } + HttpHeaders header = urlRequestedEvent.getHeaders(); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread( + url, header, urlRequestedEvent.getPostData(), event, this); + thread.start(); break; } case Event.EVENT_BROWSER_CONTENT_CHANGED: @@ -144,56 +183,18 @@ public Object eventOccurred(final Event event) } break; } - case Event.EVENT_REDIRECT : - { - RedirectEvent e = (RedirectEvent) event; - String url = e.getLocation(); - String referrer = e.getSourceURL(); - switch (e.getType()) - { - case RedirectEvent.TYPE_SINGLE_FRAME_REDIRECT : - // Show redirect message. - Application.getApplication().invokeAndWait(new Runnable() - { - public void run() - { - Status.show("You are being redirected to a different page..."); - } - }); - break; - - case RedirectEvent.TYPE_JAVASCRIPT : - break; - - case RedirectEvent.TYPE_META : - // MSIE and Mozilla don't send a Referer for META Refresh. - referrer = null; - break; - - case RedirectEvent.TYPE_300_REDIRECT : - // MSIE, Mozilla, and Opera all send the original - // request's Referer as the Referer for the new - // request. - Object eventSource = e.getSource(); - if (eventSource instanceof HttpConnection) - { - referrer = ((HttpConnection)eventSource).getRequestProperty(REFERER); - } - - break; - } - HttpHeaders requestHeaders = new HttpHeaders(); - requestHeaders.setProperty(REFERER, referrer); - PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(e.getLocation(), requestHeaders,null, event, this); - thread.start(); - break; - } case Event.EVENT_CLOSE : // TODO: close the application break; case Event.EVENT_SET_HEADER : // No cache support. - case Event.EVENT_SET_HTTP_COOKIE : // No cookie support. + case Event.EVENT_SET_HTTP_COOKIE : + String cookie = ((SetHttpCookieEvent) event).getCookie(); + if (cookie.startsWith(PHONEGAP_PROTOCOL)) { + String response = commandManager.processInstruction(cookie); + if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); + } + break; case Event.EVENT_HISTORY : // No history support. case Event.EVENT_EXECUTING_SCRIPT : // No progress bar is supported. case Event.EVENT_FULL_WINDOW : // No full window support. @@ -203,7 +204,9 @@ public void run() return null; } - + /** + * Catch the 'get' cookie event, aggregate PhoneGap API responses that haven't been flushed and return. + */ public String getHTTPCookie(String url) { StringBuffer responseCode = new StringBuffer(); synchronized (pendingResponses) { @@ -236,6 +239,11 @@ public HttpConnection getResource(RequestedResource resource, BrowserContent ref } return null; } + /** + * Processes a new HttpConnection object to instantiate a new browser Field (aka WebView) object, and then resets the screen to the newly-created Field. + * @param connection + * @param e + */ public void processConnection(HttpConnection connection, Event e) { // Cancel previous request. @@ -257,7 +265,6 @@ public void processConnection(HttpConnection connection, Event e) if (browserContent != null) { Field field = browserContent.getDisplayableContent(); - if (field != null) { synchronized (Application.getEventLock()) diff --git a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java index a8bf96be..8f81c08d 100644 --- a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java +++ b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java @@ -24,10 +24,10 @@ import com.nitobi.phonegap.api.impl.CameraCommand; import com.nitobi.phonegap.api.impl.ContactsCommand; +import com.nitobi.phonegap.api.impl.DeviceCommand; import com.nitobi.phonegap.api.impl.GeoLocationCommand; -import com.nitobi.phonegap.api.impl.InitializationCommand; +import com.nitobi.phonegap.api.impl.NotificationCommand; import com.nitobi.phonegap.api.impl.TelephonyCommand; -import com.nitobi.phonegap.api.impl.VibrationCommand; /** * Given a execution request detects matching {@link Command} and executes it. @@ -43,10 +43,10 @@ public final class CommandManager { public CommandManager() { commands[0] = new CameraCommand(); commands[1] = new ContactsCommand(); - commands[2] = new VibrationCommand(); + commands[2] = new NotificationCommand(); commands[3] = new TelephonyCommand(); commands[4] = new GeoLocationCommand(); - commands[5] = new InitializationCommand(); + commands[5] = new DeviceCommand(); } /** diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java new file mode 100644 index 00000000..9d7874d8 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java @@ -0,0 +1,72 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.api.impl; + +import com.nitobi.phonegap.api.Command; +import net.rim.device.api.system.DeviceInfo; + +/** + * Configures the Device API. + * + * @author Jose Noheda [jose.noheda@gmail.com] + * + */ +public class DeviceCommand implements Command { + + private static final String CODE = "PhoneGap=initialize"; + + /** + * Able to run the initialize command (usually onLoad). + */ + public boolean accept(String instruction) { + return instruction != null && instruction.startsWith(CODE); + } + + /** + * Fills the JS variable 'device' with: + * Model + * Flash memory available + * Platform + * Vendor + * Battery + * Software version + * Camera support + * ID + * Simulator + * + */ + public String execute(String instruction) { + StringBuffer deviceInfo = new StringBuffer(";device.name = '"); + deviceInfo.append(DeviceInfo.getDeviceName()).append("';device.flash = "); + deviceInfo.append(DeviceInfo.getTotalFlashSize()).append(";device.platform = '"); + deviceInfo.append(DeviceInfo.getPlatformVersion().length()>0?DeviceInfo.getPlatformVersion():"Emulator").append("';device.vendor = '"); + deviceInfo.append(DeviceInfo.getManufacturerName()).append("';device.battery = "); + deviceInfo.append(DeviceInfo.getBatteryLevel()).append(";device.version = '"); + deviceInfo.append(DeviceInfo.getSoftwareVersion()).append("';device.isSimulator = "); + deviceInfo.append(DeviceInfo.isSimulator()).append(";device.hasCamera = "); + deviceInfo.append(DeviceInfo.hasCamera()).append(";device.uuid = "); + deviceInfo.append(DeviceInfo.getDeviceId()).append(";"); + return deviceInfo.toString(); + } + +} diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java index 2993736f..e702743e 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java @@ -46,7 +46,7 @@ public class GeoLocationCommand implements Command { private static final int START_COMMAND = 2; private static final int CHECK_COMMAND = 3; private static final int CAPTURE_INTERVAL = 5; - private static final String CODE = "gap://location"; + private static final String CODE = "PhoneGap=location"; private Position position; private boolean availableGPS = true; diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java new file mode 100644 index 00000000..350610f9 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java @@ -0,0 +1,132 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.api.impl; + +import net.rim.device.api.system.Alert; + +import com.nitobi.phonegap.api.Command; + +/** + * Vibrates the phone if able. + * + * @author Jose Noheda + * + */ +public class NotificationCommand implements Command { + + private static final int VIBRATE_COMMAND = 0; + private static final int BEEP_COMMAND = 1; + private static final int DURATION = 5; + private static final String CODE = "PhoneGap="; + + // The TUNE (bar 1 and 2 of Islamey by Balakirev) + private static final short BFlat = 466; //466.16 + private static final short AFlat = 415; //415.30 + private static final short A = 440; //440.00 + private static final short GFlat = 370; //369.99 + private static final short DFlat = 554; //554.37 + private static final short C = 523; //523.25 + private static final short F = 349; //349.32 + + private static final short TEMPO = 125; + + // Duration of a 16th note, arbitrary, in ms. + private static final short d16 = 1 * TEMPO; + + // Duration of an eighth note, arbitrary, in ms. + private static final short d8 = d16 << 1; + + // 10 ms pause. + private static final short dpause = 10; + + // Zero frequency pause. + private static final short pause = 0; + + private static final short[] TUNE = new short[] + { + BFlat, d16, pause, dpause, + BFlat, d16, pause, dpause, + BFlat, d16, pause, dpause, + BFlat, d16, pause, dpause, + A, d16, pause, dpause, + BFlat, d16, pause, dpause, + GFlat, d16, pause, dpause, + GFlat, d16, pause, dpause, + A, d16, pause, dpause, + BFlat, d16, pause, dpause, + DFlat, d16, pause, dpause, + C, d16, pause, dpause, //bar 1 + AFlat, d16, pause, dpause, + AFlat, d16, pause, dpause, + AFlat, d16, pause, dpause, + AFlat, d16, pause, dpause, + F, d16, pause, dpause, + GFlat, d16, pause, dpause, + AFlat, d16, pause, dpause, + BFlat, d16, pause, dpause, + AFlat, d16, pause, dpause, + F, d8 + d16 //bar 2 + }; + + /** + * Able to run the vibrate command. Ex: PhoneGap=vibrate/10 + */ + public boolean accept(String instruction) { + return instruction != null && instruction.startsWith(CODE); + } + + /** + * Checks if the phone has the require vibration module and + * activates it (by default, for 5 seconds). + */ + public String execute(String instruction) { + switch (getCommand(instruction)) { + case VIBRATE_COMMAND: + if (Alert.isVibrateSupported()) Alert.startVibrate(getVibrateDuration(instruction)); + break; + case BEEP_COMMAND: + if (Alert.isAudioSupported()) Alert.startAudio(TUNE, 99); + break; + } + return null; + } + private int getCommand(String instruction) { + String command = instruction.substring(instruction.indexOf('/') + 1); + if (command.startsWith("beep")) return BEEP_COMMAND; + if (command.startsWith("vibrate")) return VIBRATE_COMMAND; + return -1; + } + /** + * Parses the vibrate instruction and tries to extract the specified duration. Returns the default duration if there are issues parsing. + * @param instruction The instruction called from the JS. + * @return The number of seconds the vibration should last. + */ + private int getVibrateDuration(String instruction) { + try { + return Integer.parseInt(instruction.substring(instruction.lastIndexOf('/') + 1)); + } catch(Exception ex) { + return DURATION; + } + } + +} \ No newline at end of file diff --git a/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java b/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java new file mode 100644 index 00000000..51666a4d --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java @@ -0,0 +1,45 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.io; + +/** + * Fetches a resource and executes a callback. + * + * @author Jose Noheda + * + */ +public class AsynchronousResourceFetcher implements Runnable { + + private String url; + private Callback callback; + + public AsynchronousResourceFetcher(String url, Callback callback) { + this.url = url; + this.callback = callback; + } + + public void run() { + callback.execute(ConnectionManager.getUnmanagedConnection(url, null, null)); + } + +} diff --git a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java index b9df9754..ddb44c5b 100644 --- a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java +++ b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java @@ -70,49 +70,15 @@ public static HttpConnection getUnmanagedConnection(String url, HttpHeaders requ return conn; } try { - if (requestHeaders != null) { - // From - // http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3 - // - // Clients SHOULD NOT include a Referer header field in a - // (non-secure) HTTP - // request if the referring page was transferred with a secure - // protocol. - String referer = requestHeaders.getPropertyValue("referer"); - boolean sendReferrer = true; - - if (referer != null && StringUtilities.startsWithIgnoreCase(referer,"https:") && !StringUtilities.startsWithIgnoreCase(url, "https:")) { - sendReferrer = false; - } - - int size = requestHeaders.size(); - for (int i = 0; i < size;) { - String header = requestHeaders.getPropertyKey(i); - - // Remove referer header if needed. - if (!sendReferrer && header.equals("referer")) { - requestHeaders.removeProperty(i); - --size; - continue; - } - - String value = requestHeaders.getPropertyValue(i++); - if (value != null) { - conn.setRequestProperty(header, value); - } - } - } - + //conn = setConnectionRequestHeaders(url, requestHeaders, conn); if (postData == null) { conn.setRequestMethod(HttpConnection.GET); } else { conn.setRequestMethod(HttpConnection.POST); conn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, String.valueOf(postData.length)); - out = conn.openOutputStream(); out.write(postData); } - } catch (IOException e1) { } finally { if (out != null) { @@ -124,7 +90,47 @@ public static HttpConnection getUnmanagedConnection(String url, HttpHeaders requ } return conn; } + public static HttpConnection setConnectionRequestHeaders(String url, HttpHeaders requestHeaders, HttpConnection conn) { + HttpConnection returnConn = conn; + if (requestHeaders != null) { + // From + // http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3 + // + // Clients SHOULD NOT include a Referer header field in a + // (non-secure) HTTP + // request if the referring page was transferred with a secure + // protocol. + String referer = requestHeaders.getPropertyValue("referer"); + boolean sendReferrer = true; + + if (referer != null && StringUtilities.startsWithIgnoreCase(referer,"https:") && !StringUtilities.startsWithIgnoreCase(url, "https:")) { + sendReferrer = false; + } + + int size = requestHeaders.size(); + for (int i = 0; i < size;) { + String header = requestHeaders.getPropertyKey(i); + + // Remove referer header if needed. + if (!sendReferrer && header.equals("referer")) { + requestHeaders.removeProperty(i); + --size; + continue; + } + String value = requestHeaders.getPropertyValue(i++); + if (value != null) { + try { + returnConn.setRequestProperty(header, value); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + } + return returnConn; + } /** * Loads an external URL and provides a connection that holds the array of bytes. Internal * URLs (data://) simply pass through. diff --git a/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java index 85579f69..71710203 100644 --- a/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java +++ b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java @@ -9,7 +9,6 @@ public class PrimaryResourceFetchThread extends Thread { - private PhoneGap _application; private Event _event; private byte[] _postData; @@ -28,7 +27,12 @@ public PrimaryResourceFetchThread(String url, HttpHeaders requestHeaders, byte[] public void run() { - HttpConnection connection = ConnectionManager.getUnmanagedConnection(_url, _requestHeaders, _postData); + HttpConnection connection = null; + if (_url.startsWith(PhoneGap.PHONEGAP_PROTOCOL)) { + connection = _application._currentConnection; + } else { + connection = ConnectionManager.getUnmanagedConnection(_url, _requestHeaders, _postData); + } _application.processConnection(connection, _event); } } diff --git a/blackberry/src/www/js/device.js b/blackberry/src/www/js/device.js index dc8473d4..059949c6 100644 --- a/blackberry/src/www/js/device.js +++ b/blackberry/src/www/js/device.js @@ -1,4 +1,4 @@ -window.Device = { +window.device = { isIPhone: false, isIPod: false, isBlackBerry: true, @@ -6,28 +6,27 @@ window.Device = { init: function() { this.exec("initialize"); this.poll(function() { - Device.available = typeof Device.model == "string"; + device.available = typeof device.name == "string"; + alert('is device available? : ' + device.available); }); }, exec: function(command, params, sync) { - if (Device.available || command == "initialize") { + if (device.available || command == "initialize") { try { - var url = "gap://" + command; - if (params) url += "/" + params.join("/"); - document.location = url; + var cookieCommand = "PhoneGap=" + command; + if (params) cookieCommand += "/" + params.join("/"); + document.cookie = cookieCommand; if (sync) this.poll(); } catch(e) { console.log("Command '" + command + "' has not been executed, because of exception: " + e); alert("Error executing command '" + command + "'.") } + } else { + alert("Device not available YET - still loading."); } }, poll: function(callback) { eval(document.cookie + (callback ? ";callback();" : "")); - }, - vibrate: function(secs) { - return Device.exec("vibrate", [secs]); } }; - -window.Device.init(); \ No newline at end of file +window.device.init(); \ No newline at end of file diff --git a/blackberry/src/www/js/notification.js b/blackberry/src/www/js/notification.js new file mode 100644 index 00000000..f4092d9b --- /dev/null +++ b/blackberry/src/www/js/notification.js @@ -0,0 +1,8 @@ +navigator.notification = { + vibrate: function(secs) { + window.device.exec("notification/vibrate",[secs]); + }, + beep: function(times) { + window.device.exec("notification/beep",[times]); + } +}; \ No newline at end of file diff --git a/blackberry/src/www/test/device.html b/blackberry/src/www/test/device.html index 5aa49472..e6b8a81e 100644 --- a/blackberry/src/www/test/device.html +++ b/blackberry/src/www/test/device.html @@ -1,9 +1,10 @@ + diff --git a/blackberry/src/www/test/index.html b/blackberry/src/www/test/index.html index 96d87c59..2f1db3fd 100644 --- a/blackberry/src/www/test/index.html +++ b/blackberry/src/www/test/index.html @@ -1,12 +1,13 @@ - + Navigate to Internet (needs MDS)
Test IO (needs MDS)
+
Test Device API
- Test Vibration API
+ Test Notification API
Test Telephony API
Test GeoLocation API
Test Camera API
diff --git a/blackberry/src/www/test/notification.html b/blackberry/src/www/test/notification.html new file mode 100644 index 00000000..d475f22a --- /dev/null +++ b/blackberry/src/www/test/notification.html @@ -0,0 +1,16 @@ + + + + + + + +

Vibrate for 10 seconds

+
+

Beep!

+
+
+
+ Back + + \ No newline at end of file diff --git a/blackberry/src/www/test/vibration.html b/blackberry/src/www/test/vibration.html deleted file mode 100644 index 1bc98063..00000000 --- a/blackberry/src/www/test/vibration.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - -

Vibrate

-
-
-
-
-
- Back - - \ No newline at end of file From ff4f2a7062117a3c14fc9c939418aee4deefd4ce Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Wed, 5 Aug 2009 17:13:21 -0700 Subject: [PATCH 03/80] Fixed/added notification.beep support. --- .../api/impl/NotificationCommand.java | 88 ++++++------------- blackberry/src/www/js/device.js | 1 - blackberry/src/www/test/notification.html | 4 +- 3 files changed, 32 insertions(+), 61 deletions(-) diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java index 350610f9..62ac3afa 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java @@ -37,81 +37,34 @@ public class NotificationCommand implements Command { private static final int VIBRATE_COMMAND = 0; private static final int BEEP_COMMAND = 1; private static final int DURATION = 5; - private static final String CODE = "PhoneGap="; + private static final String CODE = "PhoneGap=notification"; - // The TUNE (bar 1 and 2 of Islamey by Balakirev) - private static final short BFlat = 466; //466.16 - private static final short AFlat = 415; //415.30 - private static final short A = 440; //440.00 - private static final short GFlat = 370; //369.99 - private static final short DFlat = 554; //554.37 - private static final short C = 523; //523.25 - private static final short F = 349; //349.32 - - private static final short TEMPO = 125; - - // Duration of a 16th note, arbitrary, in ms. - private static final short d16 = 1 * TEMPO; - - // Duration of an eighth note, arbitrary, in ms. - private static final short d8 = d16 << 1; - - // 10 ms pause. - private static final short dpause = 10; - - // Zero frequency pause. - private static final short pause = 0; - - private static final short[] TUNE = new short[] - { - BFlat, d16, pause, dpause, - BFlat, d16, pause, dpause, - BFlat, d16, pause, dpause, - BFlat, d16, pause, dpause, - A, d16, pause, dpause, - BFlat, d16, pause, dpause, - GFlat, d16, pause, dpause, - GFlat, d16, pause, dpause, - A, d16, pause, dpause, - BFlat, d16, pause, dpause, - DFlat, d16, pause, dpause, - C, d16, pause, dpause, //bar 1 - AFlat, d16, pause, dpause, - AFlat, d16, pause, dpause, - AFlat, d16, pause, dpause, - AFlat, d16, pause, dpause, - F, d16, pause, dpause, - GFlat, d16, pause, dpause, - AFlat, d16, pause, dpause, - BFlat, d16, pause, dpause, - AFlat, d16, pause, dpause, - F, d8 + d16 //bar 2 - }; + private static final short A = 440; //440.00 + private static final short NOTE_DURATION = 500; + private static final short PAUSE_DURATION = 50; + private static final int TUNE_LENGTH = 4; + private static final short[] TUNE = new short[] + { + A, NOTE_DURATION, 0, PAUSE_DURATION + }; - /** - * Able to run the vibrate command. Ex: PhoneGap=vibrate/10 - */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); } - /** - * Checks if the phone has the require vibration module and - * activates it (by default, for 5 seconds). - */ public String execute(String instruction) { switch (getCommand(instruction)) { case VIBRATE_COMMAND: if (Alert.isVibrateSupported()) Alert.startVibrate(getVibrateDuration(instruction)); break; case BEEP_COMMAND: - if (Alert.isAudioSupported()) Alert.startAudio(TUNE, 99); + if (Alert.isAudioSupported()) Alert.startAudio(getTune(instruction), 99); break; } return null; } private int getCommand(String instruction) { - String command = instruction.substring(instruction.indexOf('/') + 1); + String command = instruction.substring(CODE.length()+1); if (command.startsWith("beep")) return BEEP_COMMAND; if (command.startsWith("vibrate")) return VIBRATE_COMMAND; return -1; @@ -128,5 +81,22 @@ private int getVibrateDuration(String instruction) { return DURATION; } } - + private short[] getTune(String instruction) { + String beepParam = instruction.substring(CODE.length()+1); + int param = 1; + try { + param = Integer.parseInt(beepParam.substring(beepParam.indexOf('/')+1)); + } catch(Exception e) { + param = 1; + } + short[] theTune = new short[TUNE_LENGTH * param]; + if (param == 1) + return TUNE; + else { + for (int i = 0; i < param; i++) { + System.arraycopy(TUNE, 0, theTune, i*TUNE_LENGTH, TUNE_LENGTH); + } + } + return theTune; + } } \ No newline at end of file diff --git a/blackberry/src/www/js/device.js b/blackberry/src/www/js/device.js index 059949c6..dc25835d 100644 --- a/blackberry/src/www/js/device.js +++ b/blackberry/src/www/js/device.js @@ -7,7 +7,6 @@ window.device = { this.exec("initialize"); this.poll(function() { device.available = typeof device.name == "string"; - alert('is device available? : ' + device.available); }); }, exec: function(command, params, sync) { diff --git a/blackberry/src/www/test/notification.html b/blackberry/src/www/test/notification.html index d475f22a..e47aed1d 100644 --- a/blackberry/src/www/test/notification.html +++ b/blackberry/src/www/test/notification.html @@ -7,7 +7,9 @@

Vibrate for 10 seconds


-

Beep!

+

Beep twice!

+
+

Beep ten times!




From fcd0748676d1376870a3fcb9373eddad88c2ff20 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 10 Aug 2009 16:32:35 -0700 Subject: [PATCH 04/80] Renamed some native classes for BlackBerry PhoneGap, added proper support for geolocation, device and notification (based on PhoneGap spec). --- .../src/com/nitobi/phonegap/PhoneGap.java | 127 +++++++++--------- .../nitobi/phonegap/api/CommandManager.java | 8 +- .../phonegap/api/impl/DeviceCommand.java | 72 ++++++++++ .../phonegap/api/impl/GeoLocationCommand.java | 17 ++- .../api/impl/NotificationCommand.java | 102 ++++++++++++++ .../io/AsynchronousResourceFetcher.java | 45 +++++++ .../nitobi/phonegap/io/ConnectionManager.java | 76 ++++++----- .../io/PrimaryResourceFetchThread.java | 8 +- .../com/nitobi/phonegap/model/Position.java | 2 +- blackberry/src/www/js/device.js | 20 ++- blackberry/src/www/js/geolocation.js | 15 +-- blackberry/src/www/js/notification.js | 8 ++ blackberry/src/www/js/position.js | 25 ++-- blackberry/src/www/test/device.html | 3 +- blackberry/src/www/test/index.html | 5 +- blackberry/src/www/test/location.html | 22 +-- blackberry/src/www/test/notification.html | 18 +++ 17 files changed, 417 insertions(+), 156 deletions(-) create mode 100644 blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java create mode 100644 blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java create mode 100644 blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java create mode 100644 blackberry/src/www/js/notification.js create mode 100644 blackberry/src/www/test/notification.html diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index e5ebdb4d..cbccccdc 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -36,6 +36,7 @@ import net.rim.device.api.browser.field.RenderingOptions; import net.rim.device.api.browser.field.RenderingSession; import net.rim.device.api.browser.field.RequestedResource; +import net.rim.device.api.browser.field.SetHttpCookieEvent; import net.rim.device.api.browser.field.UrlRequestedEvent; import net.rim.device.api.io.http.HttpHeaders; import net.rim.device.api.system.Application; @@ -58,13 +59,13 @@ */ public class PhoneGap extends UiApplication implements RenderingApplication { - public static final String PHONEGAP_PROTOCOL = "gap://"; + public static final String PHONEGAP_PROTOCOL = "PhoneGap="; private static final String DEFAULT_INITIAL_URL = "data:///www/test/index.html"; private static final String REFERER = "referer"; private Vector pendingResponses = new Vector(); private CommandManager commandManager = new CommandManager(); private RenderingSession _renderingSession; - private HttpConnection _currentConnection; + public HttpConnection _currentConnection; private MainScreen _mainScreen; /** @@ -109,21 +110,59 @@ public Object eventOccurred(final Event event) int eventId = event.getUID(); switch (eventId) { + case Event.EVENT_REDIRECT : + { + RedirectEvent e = (RedirectEvent) event; + String url = e.getLocation(); + String referrer = e.getSourceURL(); + switch (e.getType()) + { + case RedirectEvent.TYPE_SINGLE_FRAME_REDIRECT : + // Show redirect message. + Application.getApplication().invokeAndWait(new Runnable() + { + public void run() + { + Status.show("You are being redirected to a different page..."); + } + }); + break; + + case RedirectEvent.TYPE_JAVASCRIPT : + String test = "test"; + break; + + case RedirectEvent.TYPE_META : + // MSIE and Mozilla don't send a Referer for META Refresh. + referrer = null; + break; + + case RedirectEvent.TYPE_300_REDIRECT : + // MSIE, Mozilla, and Opera all send the original + // request's Referer as the Referer for the new + // request. + Object eventSource = e.getSource(); + if (eventSource instanceof HttpConnection) + { + referrer = ((HttpConnection)eventSource).getRequestProperty(REFERER); + } + + break; + } + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setProperty(REFERER, referrer); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(e.getLocation(), requestHeaders,null, event, this); + thread.start(); + break; + } case Event.EVENT_URL_REQUESTED : { UrlRequestedEvent urlRequestedEvent = (UrlRequestedEvent) event; String url = urlRequestedEvent.getURL(); - if (url.startsWith(PHONEGAP_PROTOCOL)) { - String response = commandManager.processInstruction(url); - if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); - // Need to do something more here... what do we do once we get a response from the Device? - } else { - PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(url, - urlRequestedEvent.getHeaders(), - urlRequestedEvent.getPostData(), - event, this); - thread.start(); - } + HttpHeaders header = urlRequestedEvent.getHeaders(); + PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread( + url, header, urlRequestedEvent.getPostData(), event, this); + thread.start(); break; } case Event.EVENT_BROWSER_CONTENT_CHANGED: @@ -144,56 +183,18 @@ public Object eventOccurred(final Event event) } break; } - case Event.EVENT_REDIRECT : - { - RedirectEvent e = (RedirectEvent) event; - String url = e.getLocation(); - String referrer = e.getSourceURL(); - switch (e.getType()) - { - case RedirectEvent.TYPE_SINGLE_FRAME_REDIRECT : - // Show redirect message. - Application.getApplication().invokeAndWait(new Runnable() - { - public void run() - { - Status.show("You are being redirected to a different page..."); - } - }); - break; - - case RedirectEvent.TYPE_JAVASCRIPT : - break; - - case RedirectEvent.TYPE_META : - // MSIE and Mozilla don't send a Referer for META Refresh. - referrer = null; - break; - - case RedirectEvent.TYPE_300_REDIRECT : - // MSIE, Mozilla, and Opera all send the original - // request's Referer as the Referer for the new - // request. - Object eventSource = e.getSource(); - if (eventSource instanceof HttpConnection) - { - referrer = ((HttpConnection)eventSource).getRequestProperty(REFERER); - } - - break; - } - HttpHeaders requestHeaders = new HttpHeaders(); - requestHeaders.setProperty(REFERER, referrer); - PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(e.getLocation(), requestHeaders,null, event, this); - thread.start(); - break; - } case Event.EVENT_CLOSE : // TODO: close the application break; case Event.EVENT_SET_HEADER : // No cache support. - case Event.EVENT_SET_HTTP_COOKIE : // No cookie support. + case Event.EVENT_SET_HTTP_COOKIE : + String cookie = ((SetHttpCookieEvent) event).getCookie(); + if (cookie.startsWith(PHONEGAP_PROTOCOL)) { + String response = commandManager.processInstruction(cookie); + if ((response != null) && (response.trim().length() > 0)) pendingResponses.addElement(response); + } + break; case Event.EVENT_HISTORY : // No history support. case Event.EVENT_EXECUTING_SCRIPT : // No progress bar is supported. case Event.EVENT_FULL_WINDOW : // No full window support. @@ -203,7 +204,9 @@ public void run() return null; } - + /** + * Catch the 'get' cookie event, aggregate PhoneGap API responses that haven't been flushed and return. + */ public String getHTTPCookie(String url) { StringBuffer responseCode = new StringBuffer(); synchronized (pendingResponses) { @@ -236,6 +239,11 @@ public HttpConnection getResource(RequestedResource resource, BrowserContent ref } return null; } + /** + * Processes a new HttpConnection object to instantiate a new browser Field (aka WebView) object, and then resets the screen to the newly-created Field. + * @param connection + * @param e + */ public void processConnection(HttpConnection connection, Event e) { // Cancel previous request. @@ -257,7 +265,6 @@ public void processConnection(HttpConnection connection, Event e) if (browserContent != null) { Field field = browserContent.getDisplayableContent(); - if (field != null) { synchronized (Application.getEventLock()) diff --git a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java index a8bf96be..8f81c08d 100644 --- a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java +++ b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java @@ -24,10 +24,10 @@ import com.nitobi.phonegap.api.impl.CameraCommand; import com.nitobi.phonegap.api.impl.ContactsCommand; +import com.nitobi.phonegap.api.impl.DeviceCommand; import com.nitobi.phonegap.api.impl.GeoLocationCommand; -import com.nitobi.phonegap.api.impl.InitializationCommand; +import com.nitobi.phonegap.api.impl.NotificationCommand; import com.nitobi.phonegap.api.impl.TelephonyCommand; -import com.nitobi.phonegap.api.impl.VibrationCommand; /** * Given a execution request detects matching {@link Command} and executes it. @@ -43,10 +43,10 @@ public final class CommandManager { public CommandManager() { commands[0] = new CameraCommand(); commands[1] = new ContactsCommand(); - commands[2] = new VibrationCommand(); + commands[2] = new NotificationCommand(); commands[3] = new TelephonyCommand(); commands[4] = new GeoLocationCommand(); - commands[5] = new InitializationCommand(); + commands[5] = new DeviceCommand(); } /** diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java new file mode 100644 index 00000000..9d7874d8 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java @@ -0,0 +1,72 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.api.impl; + +import com.nitobi.phonegap.api.Command; +import net.rim.device.api.system.DeviceInfo; + +/** + * Configures the Device API. + * + * @author Jose Noheda [jose.noheda@gmail.com] + * + */ +public class DeviceCommand implements Command { + + private static final String CODE = "PhoneGap=initialize"; + + /** + * Able to run the initialize command (usually onLoad). + */ + public boolean accept(String instruction) { + return instruction != null && instruction.startsWith(CODE); + } + + /** + * Fills the JS variable 'device' with: + * Model + * Flash memory available + * Platform + * Vendor + * Battery + * Software version + * Camera support + * ID + * Simulator + * + */ + public String execute(String instruction) { + StringBuffer deviceInfo = new StringBuffer(";device.name = '"); + deviceInfo.append(DeviceInfo.getDeviceName()).append("';device.flash = "); + deviceInfo.append(DeviceInfo.getTotalFlashSize()).append(";device.platform = '"); + deviceInfo.append(DeviceInfo.getPlatformVersion().length()>0?DeviceInfo.getPlatformVersion():"Emulator").append("';device.vendor = '"); + deviceInfo.append(DeviceInfo.getManufacturerName()).append("';device.battery = "); + deviceInfo.append(DeviceInfo.getBatteryLevel()).append(";device.version = '"); + deviceInfo.append(DeviceInfo.getSoftwareVersion()).append("';device.isSimulator = "); + deviceInfo.append(DeviceInfo.isSimulator()).append(";device.hasCamera = "); + deviceInfo.append(DeviceInfo.hasCamera()).append(";device.uuid = "); + deviceInfo.append(DeviceInfo.getDeviceId()).append(";"); + return deviceInfo.toString(); + } + +} diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java index 2993736f..d531d3fa 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java @@ -46,7 +46,7 @@ public class GeoLocationCommand implements Command { private static final int START_COMMAND = 2; private static final int CHECK_COMMAND = 3; private static final int CAPTURE_INTERVAL = 5; - private static final String CODE = "gap://location"; + private static final String CODE = "PhoneGap=location"; private Position position; private boolean availableGPS = true; @@ -77,7 +77,7 @@ public void clearPosition() { /** * Executes the following sub-commands: - * START: Initiliazes the internal GPS module + * START: Initializes the internal GPS module * STOP: Stops GPS module (saving battery life) * CHECK: Reads latest position available * MAP: Invokes the internal MAP application @@ -145,7 +145,18 @@ public void locationUpdated(LocationProvider provider, Location location) { } else command.clearPosition(); } - public void providerStateChanged(LocationProvider provider, int newState) {} + public void providerStateChanged(LocationProvider provider, int newState) { + switch (newState) { + case LocationProvider.AVAILABLE: + break; + case LocationProvider.OUT_OF_SERVICE: + // TODO: Should call fail() here. + break; + case LocationProvider.TEMPORARILY_UNAVAILABLE: + break; + } + + } } } diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java new file mode 100644 index 00000000..62ac3afa --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java @@ -0,0 +1,102 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.api.impl; + +import net.rim.device.api.system.Alert; + +import com.nitobi.phonegap.api.Command; + +/** + * Vibrates the phone if able. + * + * @author Jose Noheda + * + */ +public class NotificationCommand implements Command { + + private static final int VIBRATE_COMMAND = 0; + private static final int BEEP_COMMAND = 1; + private static final int DURATION = 5; + private static final String CODE = "PhoneGap=notification"; + + private static final short A = 440; //440.00 + private static final short NOTE_DURATION = 500; + private static final short PAUSE_DURATION = 50; + private static final int TUNE_LENGTH = 4; + private static final short[] TUNE = new short[] + { + A, NOTE_DURATION, 0, PAUSE_DURATION + }; + + public boolean accept(String instruction) { + return instruction != null && instruction.startsWith(CODE); + } + + public String execute(String instruction) { + switch (getCommand(instruction)) { + case VIBRATE_COMMAND: + if (Alert.isVibrateSupported()) Alert.startVibrate(getVibrateDuration(instruction)); + break; + case BEEP_COMMAND: + if (Alert.isAudioSupported()) Alert.startAudio(getTune(instruction), 99); + break; + } + return null; + } + private int getCommand(String instruction) { + String command = instruction.substring(CODE.length()+1); + if (command.startsWith("beep")) return BEEP_COMMAND; + if (command.startsWith("vibrate")) return VIBRATE_COMMAND; + return -1; + } + /** + * Parses the vibrate instruction and tries to extract the specified duration. Returns the default duration if there are issues parsing. + * @param instruction The instruction called from the JS. + * @return The number of seconds the vibration should last. + */ + private int getVibrateDuration(String instruction) { + try { + return Integer.parseInt(instruction.substring(instruction.lastIndexOf('/') + 1)); + } catch(Exception ex) { + return DURATION; + } + } + private short[] getTune(String instruction) { + String beepParam = instruction.substring(CODE.length()+1); + int param = 1; + try { + param = Integer.parseInt(beepParam.substring(beepParam.indexOf('/')+1)); + } catch(Exception e) { + param = 1; + } + short[] theTune = new short[TUNE_LENGTH * param]; + if (param == 1) + return TUNE; + else { + for (int i = 0; i < param; i++) { + System.arraycopy(TUNE, 0, theTune, i*TUNE_LENGTH, TUNE_LENGTH); + } + } + return theTune; + } +} \ No newline at end of file diff --git a/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java b/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java new file mode 100644 index 00000000..51666a4d --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/io/AsynchronousResourceFetcher.java @@ -0,0 +1,45 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.io; + +/** + * Fetches a resource and executes a callback. + * + * @author Jose Noheda + * + */ +public class AsynchronousResourceFetcher implements Runnable { + + private String url; + private Callback callback; + + public AsynchronousResourceFetcher(String url, Callback callback) { + this.url = url; + this.callback = callback; + } + + public void run() { + callback.execute(ConnectionManager.getUnmanagedConnection(url, null, null)); + } + +} diff --git a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java index b9df9754..ddb44c5b 100644 --- a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java +++ b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java @@ -70,49 +70,15 @@ public static HttpConnection getUnmanagedConnection(String url, HttpHeaders requ return conn; } try { - if (requestHeaders != null) { - // From - // http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3 - // - // Clients SHOULD NOT include a Referer header field in a - // (non-secure) HTTP - // request if the referring page was transferred with a secure - // protocol. - String referer = requestHeaders.getPropertyValue("referer"); - boolean sendReferrer = true; - - if (referer != null && StringUtilities.startsWithIgnoreCase(referer,"https:") && !StringUtilities.startsWithIgnoreCase(url, "https:")) { - sendReferrer = false; - } - - int size = requestHeaders.size(); - for (int i = 0; i < size;) { - String header = requestHeaders.getPropertyKey(i); - - // Remove referer header if needed. - if (!sendReferrer && header.equals("referer")) { - requestHeaders.removeProperty(i); - --size; - continue; - } - - String value = requestHeaders.getPropertyValue(i++); - if (value != null) { - conn.setRequestProperty(header, value); - } - } - } - + //conn = setConnectionRequestHeaders(url, requestHeaders, conn); if (postData == null) { conn.setRequestMethod(HttpConnection.GET); } else { conn.setRequestMethod(HttpConnection.POST); conn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, String.valueOf(postData.length)); - out = conn.openOutputStream(); out.write(postData); } - } catch (IOException e1) { } finally { if (out != null) { @@ -124,7 +90,47 @@ public static HttpConnection getUnmanagedConnection(String url, HttpHeaders requ } return conn; } + public static HttpConnection setConnectionRequestHeaders(String url, HttpHeaders requestHeaders, HttpConnection conn) { + HttpConnection returnConn = conn; + if (requestHeaders != null) { + // From + // http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3 + // + // Clients SHOULD NOT include a Referer header field in a + // (non-secure) HTTP + // request if the referring page was transferred with a secure + // protocol. + String referer = requestHeaders.getPropertyValue("referer"); + boolean sendReferrer = true; + + if (referer != null && StringUtilities.startsWithIgnoreCase(referer,"https:") && !StringUtilities.startsWithIgnoreCase(url, "https:")) { + sendReferrer = false; + } + + int size = requestHeaders.size(); + for (int i = 0; i < size;) { + String header = requestHeaders.getPropertyKey(i); + + // Remove referer header if needed. + if (!sendReferrer && header.equals("referer")) { + requestHeaders.removeProperty(i); + --size; + continue; + } + String value = requestHeaders.getPropertyValue(i++); + if (value != null) { + try { + returnConn.setRequestProperty(header, value); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + } + return returnConn; + } /** * Loads an external URL and provides a connection that holds the array of bytes. Internal * URLs (data://) simply pass through. diff --git a/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java index 85579f69..71710203 100644 --- a/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java +++ b/blackberry/src/com/nitobi/phonegap/io/PrimaryResourceFetchThread.java @@ -9,7 +9,6 @@ public class PrimaryResourceFetchThread extends Thread { - private PhoneGap _application; private Event _event; private byte[] _postData; @@ -28,7 +27,12 @@ public PrimaryResourceFetchThread(String url, HttpHeaders requestHeaders, byte[] public void run() { - HttpConnection connection = ConnectionManager.getUnmanagedConnection(_url, _requestHeaders, _postData); + HttpConnection connection = null; + if (_url.startsWith(PhoneGap.PHONEGAP_PROTOCOL)) { + connection = _application._currentConnection; + } else { + connection = ConnectionManager.getUnmanagedConnection(_url, _requestHeaders, _postData); + } _application.processConnection(connection, _event); } } diff --git a/blackberry/src/com/nitobi/phonegap/model/Position.java b/blackberry/src/com/nitobi/phonegap/model/Position.java index 652883b6..588a95e2 100644 --- a/blackberry/src/com/nitobi/phonegap/model/Position.java +++ b/blackberry/src/com/nitobi/phonegap/model/Position.java @@ -77,7 +77,7 @@ public void setVelocity(float velocity) { } public String toJavascript() { - return "new Position(" + _lat + "," + _lng + ",1," + altitude + ",1" + heading + "," + velocity + ")"; + return "new Position(new Coordinates(" + _lat + "," + _lng + "," + altitude + ",1," + heading + "," + velocity + "))"; } } diff --git a/blackberry/src/www/js/device.js b/blackberry/src/www/js/device.js index dc8473d4..dc25835d 100644 --- a/blackberry/src/www/js/device.js +++ b/blackberry/src/www/js/device.js @@ -1,4 +1,4 @@ -window.Device = { +window.device = { isIPhone: false, isIPod: false, isBlackBerry: true, @@ -6,28 +6,26 @@ window.Device = { init: function() { this.exec("initialize"); this.poll(function() { - Device.available = typeof Device.model == "string"; + device.available = typeof device.name == "string"; }); }, exec: function(command, params, sync) { - if (Device.available || command == "initialize") { + if (device.available || command == "initialize") { try { - var url = "gap://" + command; - if (params) url += "/" + params.join("/"); - document.location = url; + var cookieCommand = "PhoneGap=" + command; + if (params) cookieCommand += "/" + params.join("/"); + document.cookie = cookieCommand; if (sync) this.poll(); } catch(e) { console.log("Command '" + command + "' has not been executed, because of exception: " + e); alert("Error executing command '" + command + "'.") } + } else { + alert("Device not available YET - still loading."); } }, poll: function(callback) { eval(document.cookie + (callback ? ";callback();" : "")); - }, - vibrate: function(secs) { - return Device.exec("vibrate", [secs]); } }; - -window.Device.init(); \ No newline at end of file +window.device.init(); \ No newline at end of file diff --git a/blackberry/src/www/js/geolocation.js b/blackberry/src/www/js/geolocation.js index 8f230e5e..99ba3b06 100644 --- a/blackberry/src/www/js/geolocation.js +++ b/blackberry/src/www/js/geolocation.js @@ -22,7 +22,7 @@ Geolocation.prototype.start = function() { alert("GPS already started"); return; } - Device.exec("location", ["start"], true); + device.exec("location", ["start"], true); } /** @@ -34,7 +34,7 @@ Geolocation.prototype.stop = function() { return; } if (this.locationTimeout) window.clearTimeout(this.locationTimeout); - Device.exec("location", ["stop"], true); + device.exec("location", ["stop"], true); } /** @@ -45,11 +45,11 @@ Geolocation.prototype.map = function() { alert("No position to map yet"); return; } - Device.exec("location", ["map"], true); + device.exec("location", ["map"], true); } /** - * Asynchronously adquires the current position. + * Asynchronously acquires the current position. * * @param {Function} successCallback The function to call when the position * data is available @@ -62,8 +62,7 @@ Geolocation.prototype.map = function() { */ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { if (!this.started) { - alert("GPS not started"); - return; + this.start(); } this.onSuccess = successCallback; this.locationTimeout = window.setInterval("navigator.geolocation._getCurrentPosition();", 1000); @@ -71,10 +70,10 @@ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallba Geolocation.prototype._getCurrentPosition = function() { this.lastPosition = null; - Device.exec("location", ["check"], true); + device.exec("location", ["check"], true); if (this.lastPosition != null) { window.clearTimeout(this.locationTimeout); - if (this.onSuccess) this.onSuccess(); + if (this.onSuccess) this.onSuccess(this.lastPosition); this.onSuccess = null; } } diff --git a/blackberry/src/www/js/notification.js b/blackberry/src/www/js/notification.js new file mode 100644 index 00000000..f4092d9b --- /dev/null +++ b/blackberry/src/www/js/notification.js @@ -0,0 +1,8 @@ +navigator.notification = { + vibrate: function(secs) { + window.device.exec("notification/vibrate",[secs]); + }, + beep: function(times) { + window.device.exec("notification/beep",[times]); + } +}; \ No newline at end of file diff --git a/blackberry/src/www/js/position.js b/blackberry/src/www/js/position.js index 21439dd8..685beeb7 100644 --- a/blackberry/src/www/js/position.js +++ b/blackberry/src/www/js/position.js @@ -9,7 +9,12 @@ * @param {Object} vel * @constructor */ -function Position(lat, lng, acc, alt, altacc, head, vel) { +function Position(coords) { + this.coords = coords; + this.timestamp = new Date().getTime(); +} + +function Coordinates(lat, lng, alt, acc, head, vel) { /** * The latitude of the position. */ @@ -26,10 +31,6 @@ function Position(lat, lng, acc, alt, altacc, head, vel) { * The altitude of the position. */ this.altitude = alt; - /** - * The altitude accuracy of the position. - */ - this.altitudeAccuracy = altacc; /** * The direction the device is moving at the position. */ @@ -37,13 +38,9 @@ function Position(lat, lng, acc, alt, altacc, head, vel) { /** * The velocity with which the device is moving at the position. */ - this.velocity = vel; - /** - * The time that the position was obtained. - */ - this.timestamp = new Date().getTime(); + this.speed = vel; } - + /** * This class specifies the options for requesting position data. * @constructor @@ -59,7 +56,7 @@ function PositionOptions() { */ this.timeout = 10000; } - + /** * This class contains information about any GSP errors. * @constructor @@ -68,8 +65,8 @@ function PositionError() { this.code = null; this.message = ""; } - + PositionError.UNKNOWN_ERROR = 0; PositionError.PERMISSION_DENIED = 1; PositionError.POSITION_UNAVAILABLE = 2; -PositionError.TIMEOUT = 3; +PositionError.TIMEOUT = 3; \ No newline at end of file diff --git a/blackberry/src/www/test/device.html b/blackberry/src/www/test/device.html index 5aa49472..e6b8a81e 100644 --- a/blackberry/src/www/test/device.html +++ b/blackberry/src/www/test/device.html @@ -1,9 +1,10 @@ + diff --git a/blackberry/src/www/test/index.html b/blackberry/src/www/test/index.html index 96d87c59..2f1db3fd 100644 --- a/blackberry/src/www/test/index.html +++ b/blackberry/src/www/test/index.html @@ -1,12 +1,13 @@ - + Navigate to Internet (needs MDS)
Test IO (needs MDS)
+
Test Device API
- Test Vibration API
+ Test Notification API
Test Telephony API
Test GeoLocation API
Test Camera API
diff --git a/blackberry/src/www/test/location.html b/blackberry/src/www/test/location.html index 2125e680..a43d5519 100644 --- a/blackberry/src/www/test/location.html +++ b/blackberry/src/www/test/location.html @@ -4,27 +4,19 @@ -

Start location module

-

Stop location module

Get current position

-

Map current position




diff --git a/blackberry/src/www/test/notification.html b/blackberry/src/www/test/notification.html new file mode 100644 index 00000000..e47aed1d --- /dev/null +++ b/blackberry/src/www/test/notification.html @@ -0,0 +1,18 @@ + + + + + + + +

Vibrate for 10 seconds

+
+

Beep twice!

+
+

Beep ten times!

+
+
+
+ Back + + \ No newline at end of file From f4fde71b16e72a5e25cdc27531a975f0b4cfa391 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 10 Aug 2009 16:35:41 -0700 Subject: [PATCH 05/80] Updated gitignore --- .gitignore | 3 +++ blackberry/.gitignore | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index 77907af5..6b8f4fa9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ tmp/ *.xcodeproj/* !*.xcodeproj/project.pbxproj lib/iphone/phonegap-min.js lib/iphone/phonegap.js +android/default.properties +android/bin/* +android/gen/* \ No newline at end of file diff --git a/blackberry/.gitignore b/blackberry/.gitignore index e69de29b..ba0085c4 100644 --- a/blackberry/.gitignore +++ b/blackberry/.gitignore @@ -0,0 +1,5 @@ +.tmp +.settings +bin/* +phonegap.* +.project.old \ No newline at end of file From 39336d9b5c7aa72f21dda4102deb6fdd089e8cf0 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Wed, 12 Aug 2009 14:38:45 -0700 Subject: [PATCH 06/80] Added Media support for PhoneGap BlackBerry, extended demo app to use Media API, added media files. --- .../src/com/nitobi/phonegap/PhoneGap.java | 2 +- .../nitobi/phonegap/api/CommandManager.java | 6 +- .../phonegap/api/impl/DeviceCommand.java | 4 +- .../phonegap/api/impl/GeoLocationCommand.java | 27 +++-- .../phonegap/api/impl/MediaCommand.java | 94 ++++++++++++++++++ .../api/impl/NotificationCommand.java | 6 +- .../com/nitobi/phonegap/model/Position.java | 2 +- blackberry/src/www/js/geolocation.js | 15 ++- blackberry/src/www/js/media.js | 5 + blackberry/src/www/js/position.js | 25 ++--- blackberry/src/www/media/bird.mp3 | Bin 0 -> 65472 bytes blackberry/src/www/media/percBass2.wav | Bin 0 -> 743000 bytes blackberry/src/www/test/index.html | 1 + blackberry/src/www/test/location.html | 22 ++-- blackberry/src/www/test/media.html | 17 ++++ 15 files changed, 177 insertions(+), 49 deletions(-) create mode 100644 blackberry/src/com/nitobi/phonegap/api/impl/MediaCommand.java create mode 100644 blackberry/src/www/js/media.js create mode 100644 blackberry/src/www/media/bird.mp3 create mode 100644 blackberry/src/www/media/percBass2.wav create mode 100644 blackberry/src/www/test/media.html diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index cbccccdc..06d3b3fb 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -53,8 +53,8 @@ /** * Bridges HTML/JS/CSS to a native Blackberry application. - * * @author Jose Noheda + * @author Fil Maj * */ public class PhoneGap extends UiApplication implements RenderingApplication { diff --git a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java index 8f81c08d..d008d28c 100644 --- a/blackberry/src/com/nitobi/phonegap/api/CommandManager.java +++ b/blackberry/src/com/nitobi/phonegap/api/CommandManager.java @@ -26,6 +26,7 @@ import com.nitobi.phonegap.api.impl.ContactsCommand; import com.nitobi.phonegap.api.impl.DeviceCommand; import com.nitobi.phonegap.api.impl.GeoLocationCommand; +import com.nitobi.phonegap.api.impl.MediaCommand; import com.nitobi.phonegap.api.impl.NotificationCommand; import com.nitobi.phonegap.api.impl.TelephonyCommand; @@ -38,7 +39,7 @@ public final class CommandManager { // List of installed Commands - private Command[] commands = new Command[6]; + private Command[] commands = new Command[7]; public CommandManager() { commands[0] = new CameraCommand(); @@ -46,7 +47,8 @@ public CommandManager() { commands[2] = new NotificationCommand(); commands[3] = new TelephonyCommand(); commands[4] = new GeoLocationCommand(); - commands[5] = new DeviceCommand(); + commands[5] = new DeviceCommand(); + commands[6] = new MediaCommand(); } /** diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java index 9d7874d8..0117a6ee 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/DeviceCommand.java @@ -36,7 +36,9 @@ public class DeviceCommand implements Command { private static final String CODE = "PhoneGap=initialize"; /** - * Able to run the initialize command (usually onLoad). + * Determines whether the specified instruction is accepted by the command. + * @param instruction The string instruction passed from JavaScript via cookie. + * @return true if the Command accepts the instruction, false otherwise. */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java index e702743e..f2cc3abd 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/GeoLocationCommand.java @@ -59,10 +59,10 @@ public GeoLocationCommand() { availableGPS = false; } } - /** - * Able to run the location command (all options). - * Ex: gap://location/start + * Determines whether the specified instruction is accepted by the command. + * @param instruction The string instruction passed from JavaScript via cookie. + * @return true if the Command accepts the instruction, false otherwise. */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); @@ -77,7 +77,7 @@ public void clearPosition() { /** * Executes the following sub-commands: - * START: Initiliazes the internal GPS module + * START: Initializes the internal GPS module * STOP: Stops GPS module (saving battery life) * CHECK: Reads latest position available * MAP: Invokes the internal MAP application @@ -96,7 +96,11 @@ public String execute(String instruction) { } return null; } - + /** + * Parses the specified instruction and the parameters and determines what type of functional call is being made. + * @param instruction The string instruction passed from JavaScript via cookie. + * @return Integer representing action type. + */ private int getCommand(String instruction) { String command = instruction.substring(instruction.lastIndexOf('/') + 1); if ("map".equals(command)) return MAP_COMMAND; @@ -145,7 +149,18 @@ public void locationUpdated(LocationProvider provider, Location location) { } else command.clearPosition(); } - public void providerStateChanged(LocationProvider provider, int newState) {} + public void providerStateChanged(LocationProvider provider, int newState) { + switch (newState) { + case LocationProvider.AVAILABLE: + break; + case LocationProvider.OUT_OF_SERVICE: + // TODO: Should call fail() here. + break; + case LocationProvider.TEMPORARILY_UNAVAILABLE: + break; + } + + } } } diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/MediaCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/MediaCommand.java new file mode 100644 index 00000000..d0742027 --- /dev/null +++ b/blackberry/src/com/nitobi/phonegap/api/impl/MediaCommand.java @@ -0,0 +1,94 @@ +/** + * The MIT License + * ------------------------------------------------------------- + * Copyright (c) 2008, Rob Ellis, Brock Whitten, Brian Leroux, Joe Bowser, Dave Johnson, Fil Maj, Nitobi + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.nitobi.phonegap.api.impl; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Hashtable; + +import javax.microedition.media.Player; +import com.nitobi.phonegap.api.Command; + +/** + * Wraps playing local storage (music) media on the BlackBerry for access from JavaScript. + * @author Fil Maj + * + */ +public class MediaCommand implements Command { + private static final String CODE = "PhoneGap=media"; + private Player musicPlayer; + private Hashtable extToMime = new Hashtable(); + + public MediaCommand() { + extToMime.put("wav", "audio/x-wav"); + extToMime.put("au", "audio/basic"); + extToMime.put("snd", "audio/basic"); + extToMime.put("mid", "audio/mid"); + extToMime.put("rmi", "audio/mid"); + extToMime.put("mp3", "audio/mpeg"); + extToMime.put("aif", "audio/x-aiff"); + extToMime.put("aiff", "audio/x-aiff"); + extToMime.put("aifc", "audio/x-aiff"); + extToMime.put("ra", "audio/x-pn-realaudio"); + extToMime.put("ram", "audio/x-pn-realaudio"); + } + + /** + * Determines whether the specified instruction is accepted by the command. + * @param instruction The string instruction passed from JavaScript via cookie. + * @return true if the Command accepts the instruction, false otherwise. + */ + public boolean accept(String instruction) { + return instruction != null && instruction.startsWith(CODE); + } + + public String execute(String instruction) { + String mediaURI = instruction.substring(instruction.indexOf('/')+1); + try + { + InputStream in = getClass().getResourceAsStream("/" + mediaURI); + String audioMime = this.mapExtensionToMime(mediaURI.substring(mediaURI.lastIndexOf('.')+1)); + if (audioMime == null) return ";alert('[PhoneGap Error] Media type not supported.');"; + // Create a media player with our inputstream + musicPlayer = javax.microedition.media.Manager.createPlayer(in, audioMime); + musicPlayer.realize(); + musicPlayer.prefetch(); + musicPlayer.setLoopCount(1); + musicPlayer.start(); + return ""; + } + catch (IOException e) { + return ";alert('[PhoneGap Error] Media file I/O exception.');"; + } catch (javax.microedition.media.MediaException e) { + return ";alert('[PhoneGap Error] Could not play and/or determine media file type.');"; + } + } + /** + * Maps media file extensions to mime type, for use with the sound player. + * @param extension The media file extension + * @return A mime type as a string + */ + private String mapExtensionToMime(String extension) { + return extToMime.get(extension).toString(); + } +} diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java index 62ac3afa..867a22b9 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/NotificationCommand.java @@ -47,7 +47,11 @@ public class NotificationCommand implements Command { { A, NOTE_DURATION, 0, PAUSE_DURATION }; - + /** + * Determines whether the specified instruction is accepted by the command. + * @param instruction The string instruction passed from JavaScript via cookie. + * @return true if the Command accepts the instruction, false otherwise. + */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); } diff --git a/blackberry/src/com/nitobi/phonegap/model/Position.java b/blackberry/src/com/nitobi/phonegap/model/Position.java index 652883b6..588a95e2 100644 --- a/blackberry/src/com/nitobi/phonegap/model/Position.java +++ b/blackberry/src/com/nitobi/phonegap/model/Position.java @@ -77,7 +77,7 @@ public void setVelocity(float velocity) { } public String toJavascript() { - return "new Position(" + _lat + "," + _lng + ",1," + altitude + ",1" + heading + "," + velocity + ")"; + return "new Position(new Coordinates(" + _lat + "," + _lng + "," + altitude + ",1," + heading + "," + velocity + "))"; } } diff --git a/blackberry/src/www/js/geolocation.js b/blackberry/src/www/js/geolocation.js index 8f230e5e..99ba3b06 100644 --- a/blackberry/src/www/js/geolocation.js +++ b/blackberry/src/www/js/geolocation.js @@ -22,7 +22,7 @@ Geolocation.prototype.start = function() { alert("GPS already started"); return; } - Device.exec("location", ["start"], true); + device.exec("location", ["start"], true); } /** @@ -34,7 +34,7 @@ Geolocation.prototype.stop = function() { return; } if (this.locationTimeout) window.clearTimeout(this.locationTimeout); - Device.exec("location", ["stop"], true); + device.exec("location", ["stop"], true); } /** @@ -45,11 +45,11 @@ Geolocation.prototype.map = function() { alert("No position to map yet"); return; } - Device.exec("location", ["map"], true); + device.exec("location", ["map"], true); } /** - * Asynchronously adquires the current position. + * Asynchronously acquires the current position. * * @param {Function} successCallback The function to call when the position * data is available @@ -62,8 +62,7 @@ Geolocation.prototype.map = function() { */ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { if (!this.started) { - alert("GPS not started"); - return; + this.start(); } this.onSuccess = successCallback; this.locationTimeout = window.setInterval("navigator.geolocation._getCurrentPosition();", 1000); @@ -71,10 +70,10 @@ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallba Geolocation.prototype._getCurrentPosition = function() { this.lastPosition = null; - Device.exec("location", ["check"], true); + device.exec("location", ["check"], true); if (this.lastPosition != null) { window.clearTimeout(this.locationTimeout); - if (this.onSuccess) this.onSuccess(); + if (this.onSuccess) this.onSuccess(this.lastPosition); this.onSuccess = null; } } diff --git a/blackberry/src/www/js/media.js b/blackberry/src/www/js/media.js new file mode 100644 index 00000000..58dc7752 --- /dev/null +++ b/blackberry/src/www/js/media.js @@ -0,0 +1,5 @@ +navigator.media = { + playSound: function(media) { + window.device.exec("media",[media],true); + } +}; \ No newline at end of file diff --git a/blackberry/src/www/js/position.js b/blackberry/src/www/js/position.js index 21439dd8..685beeb7 100644 --- a/blackberry/src/www/js/position.js +++ b/blackberry/src/www/js/position.js @@ -9,7 +9,12 @@ * @param {Object} vel * @constructor */ -function Position(lat, lng, acc, alt, altacc, head, vel) { +function Position(coords) { + this.coords = coords; + this.timestamp = new Date().getTime(); +} + +function Coordinates(lat, lng, alt, acc, head, vel) { /** * The latitude of the position. */ @@ -26,10 +31,6 @@ function Position(lat, lng, acc, alt, altacc, head, vel) { * The altitude of the position. */ this.altitude = alt; - /** - * The altitude accuracy of the position. - */ - this.altitudeAccuracy = altacc; /** * The direction the device is moving at the position. */ @@ -37,13 +38,9 @@ function Position(lat, lng, acc, alt, altacc, head, vel) { /** * The velocity with which the device is moving at the position. */ - this.velocity = vel; - /** - * The time that the position was obtained. - */ - this.timestamp = new Date().getTime(); + this.speed = vel; } - + /** * This class specifies the options for requesting position data. * @constructor @@ -59,7 +56,7 @@ function PositionOptions() { */ this.timeout = 10000; } - + /** * This class contains information about any GSP errors. * @constructor @@ -68,8 +65,8 @@ function PositionError() { this.code = null; this.message = ""; } - + PositionError.UNKNOWN_ERROR = 0; PositionError.PERMISSION_DENIED = 1; PositionError.POSITION_UNAVAILABLE = 2; -PositionError.TIMEOUT = 3; +PositionError.TIMEOUT = 3; \ No newline at end of file diff --git a/blackberry/src/www/media/bird.mp3 b/blackberry/src/www/media/bird.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a318d348971d8691024a64cc65d09e091b5d96f8 GIT binary patch literal 65472 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 N*#CX|2XhBzQcx&+Rh;wNK^y>igz<>U-il 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 z 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%0A{q+b(pxf|^uV-sDwxx~kyYL1GAP4ak>||j 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 z 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⃥-(6wuBG+tp zp!8FT(Mb?djlY>z(P@?LFg(@g{iur2ua)sSlhJ! zwccFmfVaE+$h$|5hE_PoD<~FB4|+?J!I0ev{_#!a1ZdB%P_vg~RZ>Nkl}>Uc)a*UM z=IH`HXDuoPmq4W^_&imSHt2_hD;>Dl0+L}$lub&svImLLTQP}WgQUI1IG<00QZ)j3 ze#?=AbpYwg7m%ZJR(Y)KgIjJBbc+8=i#e(^$82E~RtO7_%CLu8imB0T)PBFAR$GH4 z;w?zQ-J!&QTW=)KFtaaHwh=25lNw@X)ei*Y1=J6+8ie*`)GKI;Uy;ky4P>EgBrmA( zAnbI+lu8F;dn|eh=l+kQs|-w=?b=8n1b3?oZMSvq?(Xisb?&}Bb9Z-lci%c`=iW)( z3lu2s5JLFQ`~A2ZtZN5p?sKkl2~`UWni7~^=|Kr+prins+zqL(IpFX565Q%9f`{uq z$P3s>=>U(k2gI%ebeZiarzvfr<81~rjCwFHOMoSW*Ag%rF-EeX%JD;Q+88FA6QIZ3 z3$yxn|KG>^Aw8K%84t|oJv0gI^-@r&)`H~TK9qQnSVrnk^3O6BLj{jfzvxBVusr$$kH+c zmm&yBq(X2HXadaSiI8luJtBrg8Yfv2$pgRacVsg7w048E=&|4=z7(=dPJ@E`Bc&ar zT#bSreQrbv&P&PEgOOC~Jy@S0=Pnogs!frGka$ybTI0CxEwXJxUpP zJAD9G?^l$bl((Qq$cFd$IVBmq@4T{)=-sJJ=-sG| z={@20FltNs4444Tqw=5&=E7@YU_RZ9z5<@xN=>EjpvD51NHeh$f%!0|3+Uz|3lwKx6t>~Mey&WBlqa_K^dBY2;nC-L!|Ii6JX*7 zej!MGBpYc0yxV4o4V3-15KbM!up1N4r-uuTNMxE&cy z&xHToK_rZcj z+#t39E8rA$J9u4RrhTS+TmXryAEp(z$Kz&ga5z*cNOXe0JkEbJB zA+LP|b#J6LWRlVVQLBV2!FxzvxK821wZ{*AyN+xMyG0tM8k|{lfCg$w2BcotB7ew& z$WQWX+tLjipRB`-V#dgi{s?e7oh;sDB=a5u^TaA|HGj;1sY(@uX<`R>dTfGPb5nQ+Ja!D8yFtACA9Eg7X7~lH=fs2X72*hZ5-txfBQnBM ziN4{HM3e9^LLDAY5X4lX7+hpt6HSS81eaJ&SVCQiUm+fG3()=Tp_8F$p~+A+)Po6B z2>*lsz|Y~=@Y(oUyg5DuN5JdpOYnPeQ*ddpZLn@I9KfM2$qlRsya}`qya@0E4+C2N z>A-vcmcS){MqstSWnjEt8ffNs_$mG`{v6*$sD)SiPxz+$4}(9{E?+PIVqbmG3nG56 z_qXr5_keG%cc`zPm*X>eo_mjZMtfU(9G*h=I?ocf$b-0#yEnKbZqm8QwaXcBiku^y zI~~^@m?L7}Wglr5*k9PT+v02i>u&3CtHW~D(#b-akC;1{b7~gW1Wcz)O4B1_E#n(Q zbHlspKGpB_v-R(Edvs5=r$A$Ryy`;bfy%4E0)18fxcpn$-?C4ohSHxUj8bE9N{O_% zH*itc6&)@7Qdm|XDr{0PuHZoavwTlpo&4!}kMiufo$_|(mgIKMJ(|k{hiCi0$+@O~ zGjap}mgYv~uFvg~yFE7}_hjzw+z+{LbN#vey!5<`yzzN&@-F1XhUE*&OUqkVoT@-8hgN1)@~T!>y{T%WouwtTGF_(bqi&ggrM_-;z3R&9s_LVL zBZhv)o<^oAXv{KQHLb6iP}AQWZ;rL-%~s1L%YExi>sniVTTi>w#&SHge|4;IoOLz? z?`D&;t^1hE@9yV*;KAKvyk|XLZyWC#U!Irr&4B*{nPq1$ z!M1Rc*eTrKY%O;k=N7LkcQK#KixKE~*@7(oOyN;MoM^PLOq42mA$E!ONj{24N{>pE zvKdmXtby#Z+$$TdxFUBbMk@9z8K66VrVOYisUE5&>iJRdHM&pKl@d=4L;#Ve?#=l7HmcU55kvnIK@=2r3$ z&Bx@i8g23%O)zq)0SfQqnauQ$}gJr8LykNfE;R2Aa_+ z!!-L+j%W%~44UgHS(^SSvo$puRI^ocIr*o?o4g|Bj^!*q9B`?V<%SC!@E-lmpvfY*a** zpsKALp*W@}mQMwLz_IGjDqOumJz7Om1r(1JUS+m&j;gn6hJ1wlgyfKfBIQUwN`2Dn zVob7(ALN&D7IDXO*jzW~1y{y(bMJ9Zb7kP^a2?HJ)nkr9Uofp`OV(&?Eo&3@hnb1) zMlu+C>EnSv^8)!s--TfGSM&$q*YOv)y%fqL$R#}woeTmTMgus2M#H{^Kz{VfNUKOc z$hW>o_9KUqv&f~Skc@?7PZX4|WT<;6E98X^O@dqSUcsig92bPH()hLsUwTxL9nqm7Zre9SzBjs=H`bEpfwfM%l8(Zy&C z`iHq1oJAPSq2Ow@li8KIme~sKWijFy7042#1F`_=jjUiy0v`}NvjDg^d(o?CHq*p3 zG9=92j8%+Fpr1^GdW(XLLOLM_kqqPtqC|Qk_2|RtM#x0>!Q?Irx`8y9?>zwKW+C+k zbsBU%J%I~b1qpzE!$`Ox?4+yVU0evBzRlsCofljc7#18FC=7lMY{RDpefTTrm!pF1 zgMa)r{@I{SPx7L^d7k#ZgPy0puqWF`dQ9FZ&mqqT*JAe*XLI*)XCL=J=OlNOYcK3P zad_?19U1nG_Mx_iwn2a?T(z{a{b%W9n`6PPF_u%-$L2cLH1lW6`I;$~ zv>KcFx~aao$f&HjYp66Xtacc7>Tei&>%SSs>h*>xdVz7bexT8)-)9_Neb4y3`ni#9 zcxxPLs4_k>B%A6R7n!abUz;SRfN7TLjcK@Pkcnrq8($cw7#o3q;x@yZ>W9@2^pEsa zx_`Q%I<>Bcu0VT1hv}+xjdh5Ape|lNTbHDttZNHvseY+$tA4m{vYx8ztbeX;s6U`> zqTj0>tiPw-q&I4F^lfy5tKaB;RkzkJH<+EQ5r#ex`HRlt@cvpr~=9aiVy0cuzJQv(Yz3)ATeKp<@{@*^M zf0KV+plKjBCej2PaqSRgad^)#X8Y;>3Km)xfUMNHswHPpMYl zQr=aKRq|9d;6k!WVNvu}FqOv@OOzUAI~85!RQ*(SRd-U4S8r6WQh!$Gsyj#3jd~Qt z0Nk~g8dncciPc8{3B94*r5d1Wq;9H4qAcoTQT(U_QTgfyQMUnC{oi+XRddx;^-lx?kS!GYrVLO_=vcx_@20v z_?4 zws9u2saz{t%$0EFa(8ofaer}^@N~eFyTF^t=kwR|WBHHygZSG8tp$69Q-$|Lw?(hT zW#VO$hmsQ#t7MNPATdcMN~cJT(z#MZHdczs@}!4lS7h_#4dgC)efeMc0QoohMY&IY zRQ_4MNWM)zSw2CI$Q`ozvca-f(j!v7^snTWWRRqjF9EWzlmH zA*>@BFPtwrCtNAMC~7O|E8Z-bDt;lEDDEYFEOtxlO2o3pk}L+U0RG-+`D=MA`D%HEOe!BJyD7_-E|4vd4wUtjrpZ(=F?cU|C!Ho)Bh`r` zlKSF_k{RII^IW)BJXE+_oG#1}cM--)CJ1Xu8VZGy5&?ZpnN|rwqi{uZ)%Vl-MLuAQfz04%uD=(1zlTVN?mba9;WOhlFOfAim zb(hwW{gO142E`jCW5o&yDN2+iiT6qFi+@SzlJSzg;(_8tqK%@9!YENk;a32at};+n~sPM;nSns9AtLc;n79i*UDaQurrvoM=siL*qkrLJ_v2L*BScK;F z=H@l8YYx>Unh%(xEdwmSpr47cX29#dm^)f3%@ZuAEwR>J7Q~uY)5PpHHZ#o!71>c^ zp0U7~Xu4<$n=Cbx&9}|%Eh}n7W|r}|(OSLUP+Yy)ut`6>daHJq?qgL*Tdi%bf1=0W zie2CEPRr82tYmA^s`1({RdsZ&s_tq7m0Prvt0=nLRReYFtI~CUE7xhcRoArz+ClnC zU5Dx`T8jQ}WlQbX%Ff#7+TMV=iwzC*h1COfRz0pgs9&qq=%cH?Yr_>+tENU7nadcWbU-f6g`(^uzdZTcqKME!DYSG`2{ z33P|U^owEF8LMkvjp@zRQSdW9R<6>vs`yd4ubf>OTfVPiQ28g|{vD}wRyNS?)n3yj z!4CFA`$BiKYKwMf<;1G16?-ey74<5W;E}to0r9y6U8h0bQiVT)Mj*;MvNc1!ke_6T-8?rV;dx0ctA|A&_Y$1}WHJPnWJ z9_D56S_=H&FP0=6Dk>B96WtNc5ndD=6J8TI;r=D@Qcl8D z_^_m@I6?A4G*aRfb(C7gqhwLi2eP%&jncl7m6F!tqmsemyOL$%VUkATjp7BO2cp}; zy`tm71>!@Z9@4FnAF?_!JNRvtOV3DqN_xW8Xqvc%_?eg@xg=3a-bnc3>tea+256vZ z;_2|{4`5Ia6KlmK!oi|Sek;L5-W6VJ?nbVfvy@}R2C!RUXRv3G#>3`J;`HM_;R?BX zxTo25Idd^CdjQMDy3Fj1K0^jFxZqq{4>a#TnJdsw=rUG0b3ghGs$V+zWlRQSZw^I3 zr9kby5hf>dA_`DcoT9`~%#>Ncn|K~ROLiw9cQO+r<)`>+`5$?*y-(e@Jbt&sBk?xyC3@%h7@h@Q4Db`b zbCG+GBifZ=k8-xP$2$+%k2_!6{y3&uSJ|VjDfYhB4)#ZuO}6vq{??b~!B&O!itW91 zpuNB{*)|N+rcvfymWh^kR*R*(?XcNliLY5>?oe~dyu_@xd^h*89;ivMY%wL6v6@Hb zc4n%zlO@^4vU2PPtxxT*tYJH0?diB?vpeeACpjC~dpScko1@rv)iK!~<2>(}<~rb9 z=w`Y+?nADXp7rit-g3`MpV8ajAMiH!8@wF<9p4LZjhY>F<2j*K;V!@j!6U;V4f6&i z9oU{RpnSXws?Sl8lT-z8E)tNTz`~eFi+}@5Go&r>{I`N!-op3XOpSUXVYht$~G;w$0t@u6(Z{l{xAB@`@ zUleDL?-4gTz9I%Lh0)()0@2@N+QfKchDJN1X;G`A>ZsSK?JBuCO|4OzRnJsyRKJy< zpf*ha?!Y2&;8!WA^7Ha_GOFApttU&9ww81frwN-1&hcJwdAy$7C%hCM!MhHB&3$=o zxx*k!>I*0!9U?aBDqj?i-%1PQ;yLKkw*j&9d#a zP;9>~>9(zw_f{3~+NCvOv$}?6ZeJrYmzqx1Y&SMF2@IDF^$d3mT;nPu%{a?QHOw*K zaD8rF{ir%pz1#4mdWB({zDf09Z37*>%2>s!BC4`sZ_3l+I)=V;HNSeQ;g!CwAxqm| zKLqy17ge)$BXykWuh7w~tgdIQYcLy?hBBi=|JcwOuIgy@Ps1(aikj!<>)UK zkoZ|Rq+>K@#Y6H%H>^8mW9PGPaTjw>@>=qq@@w(m3o+pYsMp3x+JidcsHC49k(C4M z;(%Nu+XjjXzVbhLmAa*BcFfJF4Un<$EyfqMBl@|zESevsjO_%9kW*24>KbJYa8vxM zBqcYxkD3!RI*J-QFM4BK8e|_dh|7+vjC~V}#mA4sWh4>SWy^?`}fGinFWAAlCigeTp7+C?~LIqSOiJL6r; zojFdmv&b3a{NWP1N<49%XTFG6?w{`4Ih z+_xK?iTna?h(DJ%Nbr^S6SB@Wh|R*?5;Lf5E{Pekp^~HWGHInUUa?I5LMe_~pjsNm zQg@0LMwLewM~PyRqL0Kpj_x13HD-R?x7gMRkK$t!?zLZ{a$sZUbFsqa%Crj1YQlBP|4n=&$`PfDR?M`|Rc zBCTuM(^?6&+SGnfYkaNWXQ{xtag_^<1C(|^jGxIc^^+MkENj{TnfWy819FQ>je`aI`r-;b_Oq4yg;e*Mto zQ}##Y=iCp8pEkey_kK@Sb@s@tXW7NsE#JG|_5X0<9r9s+w($LqEXBK(Z_(`ZHxJ(O z-yC~ueRC-5+nWokEB{`}SLcl@yr2KL$W$=8WKq$CvMD9A%IB3{FMC$d8<9+O z6k{g#oms-+V0U<#?4A70oausb+^fP1yiKCr{Pm(^{N|#5d`!$2I3z{FVX}te+46pp z7mA0{5z0BTPReDn7YYTq+LTLoDErAfs#_@Qt4Aqq%8`nj$_a`b)mP;^brAG`9n|yG z;IgZ_ud1geRTlMob+afgT<5Q;De3}ML|Fm+J*Mib`lvbzw1Oq-zUpd)LUBaCQ}!I{ zi!Cala<95d`AuD^^sB!qC#Y?T*2-P7yRv+7V`*=ZNkS2gmo685la`2zq=ljh(!QdO zlG;$u&la>4j}TlI1^AY0Hv{B zK|+&{c>=CVOf-VjVHVNqBI_t7>cmJ1xKjkErPLMlE0i9z)ueJ7DXyU zIYcHt6|T^M5Qk_(9KlcGcLSRO5B$CSF@PCse09AM&v*9*2 zbntC)*ml_m*`pl~Z0GHrtpjZLEk#zFrJ1ceFwf%6rz{HdPK(#v+nQ-{SQ}V-*iKtd z!fZ}p-)`$~k651rmJo02XA9fr+Zm2K_C!ZF$4O9-HFhp=?s0x_Wx7Url0Emp^(EWg z$i35*=ltq)JNmdrI@^2NxJUQ~c~yS7Z=P?uce{7BC*S+dGa}F&tZMG#@^EozFy!Gq z0#DZLpedjX&B14cZA5ltcceGuh>fNG0|$!Zl$H@CWjQdZu25gna9RSwV6A^N#Wi{NMbc0-7L0@Qr_7kO@rMK7vjnM0iy=PM{XP=id;u5i+D3#c!nDBr%e2 zqF$nOVM|e8;X?5f(OqEE?vO@H3joIxN*Um2HBQ2otdf}j*ELESOP5R6%I*ScRV8U8 z8zn85U6Kz|#sXvZuzZ{{Mp`UWN%m27Hs3s=c{>pdGUZ_4d)z%6xQch4C@2h zfXP62F)Gmw%(IX&^B3LB90siCHH+NJ})Whih>dEmbB9yn)hD0JX9wE>4m2iX#m zMeJn%FpWF}v!WNlpExC$jBg9xz&GLhLl5vnp+CVD`20Xofa`AqbM{L!z;wH&dmwA`+_QWI~AGu<{mFkUe|H%&5cGHWdY>qo2Is_=?p?1;U-bE4ym>!EY6JIR&op6ZhZ^uB5_eyY%|2V!Ya322#$56-i;VV)SJW zXJ(*PXd$Z+Tf&LvI=Iug4S2IS3EVi&6HX0x0B?)nz93Kd2k^~B!WqIgLPGdZSXXpU zXcaaV3WO@gB)c!MNvp-3q)N#J=`cy6ELPlHx=vUr&J+#<)YmCp zARZ*6h;T`&ptg7xe~Rc1e~;)ZtQ-76q8k1pQ6Irw(GbB7(S5;lQ4e8^xQXzuXujYN zB;xKBR&zSB2eF%BgR$d~T0z)uDi;adVs z-0e>YUhwVkH}UGdb3IPabr0g5;63DJ_(Z;0-oD=&zb2gIJ;;$SB}qy-a2K~w8q)?-j{zp920cXxybm5Q7s5N;0M&t0!Fg5; z)`nHZI*m?dErA*KV)jbT3hsHp;q3fT{9-`|L5)xZpYvmw2DBD6m8isZq)R26Wj`ce zWbqQ3?5bq0?0~F=LajKbR4CRcm&jiNE^t&iSTzP_QMIEssV7FY1DvB_%=MTU$(>zY8 zn|eC6b6Q2}{j{g4PtuB0#kJDXPSxs^X03H7ZFcRkwMNzHRy!m8a&2w;qS~L*ztu`h zZ(ZwXovF26)~Tq~B7Jb}C+Qiri_=%t4y8wGZ>Srpy|nI!TD8(Ird8I?PWx56ORe}i ztXfZMr=(q~wL7&W?NsW=v}|3r%~L)-?4?YUh;KDep9mQW|N_X!a%h zk|Rm|k~b#ZN-9aLN?ewZk?CVi#ZXqKjvBV>*#~( zC+f#a7PttmQ}$HUQJ$4&D$-?h<(tJtk{d#fxUcYusGjhM=(Qk8^p>9}90i{Kg`9L= zHb&)~Wqrn;vc6$OXfCTOGXb5?NN4t9m>4n0DWpBPAeBK@>Lv0%FyeMbK0_LLUYHfG zPo#!o2s4fmkMO9_&0r?pG{_Gv2*%;_0^eZ&zTox2*%onK^YnKA_1tq`aX)r#b-r~3 z>=W!O?aB65_9phWwvD!#7ON%3{MVdWbH+TnW|DcU=|RnPquMj()$ktzN3l)HSX8q}^TVt#Vc*RVgY&l?}_?<=239bfL@*3V_vRze{gJ z(tO*}C#AB|Z>7}I^QF&9-jqBmeqVf|s9P~v__=6a;f|tOg%^t21DC0OVZ$PQfwk~O z0a9cuFc$_31{Cft&=-s>h!k8cxKuc+uv3wwXjf52QB6@rQS;)F#chgr77s4YDpr@A zDCt<5Q`!%*{kD~~EtSG;YuUMSU-`)jY5Dc?fp9-kGOF}(nZB&FqO#&oY}uXI+eDyPO25@KWh(HC+U|O^7SQ#sOpe0$uPKPt}(&f-qg-K%cL<+ zFr79RnErzuOlECwu4f%==38r-Yg?O}zgfSVgErCNC0z z`1*P@{#;K(zt;2IH`R03*Ul5?-|DgY>U+BRrn$4cpIz&`>sn6PW!27?MyPvnYdxiJ3dy)5-JI;I6UFO;4e&IRdUf|i_=6eRZ-??kMf4cj+ z&%#mbTIecuEpx4Pw{&N^FS_fx8$d;2b`Ef+IhC$g&O>g*t?-O+i`}WNN6ur8h~uiA z?_2=y%QpLK=QTUUb<^I|b=}Gq z-Q{TKSmC_pjB}50aXsx_wLGU?4?PRqcf60>T;E}M=LDV%;25^_clB=b_Xl*Pg%|bL z^WO38^ZxL;y*}S@-vs}Cf1AM4Kz1N0m>zTopF^e91Wyia!q$r_>aN4U=IZc<@!eIddMlxiMXllDMx_O zzY!)b<)E1B%j}E{MMooh&~eBO^ajFV#Y3``p0N;X`P#PzIhQWDe z9w)@Q36oJ5=N|hd)Xf@Rh&`D*ioKfi8IoS>aKCV~c`5wG{A>I;P@)aux8(N~2q61? zt6+kllHZPh9$aQIUIKq1?+ZU2lxpw!=LEF`odnhVr!ZN+&A-gwz(3Fb#3OkU-Y_1G zH-tBzSIqPBHp25$1@i8K_M_4t^O{- zw|-Hur+;T)oo{47de$ZAF&qG0+N9Z)7ZhV>lfV@a%W*ag;otSuG?$yzgDg1D94guRjdANvR}@d)-- zPFs$edx}GH2XI&Mu5st{wsV{Cx*AGU=;s|U_O7nU_5`7AcNms(4SB88}e=Z(fm*R<&ZA+fnUQ{33~Cb^HTv= zTgZ*$UFJ^XHRaLyD|w^%vv^bZ6M0kl-FTh&44#$u8YY;VxqW#pxk2Cy&gM?!$hjXm zv$!L;25x6=Hup296>th)!x@~)NoCh&x4~%GVipH#;WcPI)=u;S;G)M^C&5qZKC=!ef_GUOo=XhUuTLI1-!pX*&4p!!+_U-@LF>eZ8Xrcq28aCh;!kp0I@E^Pu{GYxO%#fG( z7TN+__i)%kG$V(FCy-u9c3TD4--n=M@{(gB-6Go}8$oTB6Dg1Mqf7;Dkqi9l7J>t$ z5x(lFN!0sPP*+n^sccYqHipE46yzf<8d*xS(XF)ANHu*QVWH<$u3+O~ew@oP zvKF&Ov;3?FtQ>4ImdHMWk=Rs>%ASl(WxvLbv&*m*>`T~c_BQMW`v6wWzKf-EO0g9j zIa|&>!7k=@d47nYy)YrGk7 zdoA}JZyEO^Z#MTWZyL9hcbHp;AK*6Nvw0l8f!mxf<2B{S!34B`JD0Z&W*#lM)!a00 zF1I%KI#+-2xx8HVMbT8YNU>UWS;3b#RE`7{cMtgb|+r#z&5AWu`>kjqu$!c(0?e&cnL`YpBT-NY9xyOp8gTEOIff> z>p`FRiIhgRhi`#qWeTwXcvhS6@p!jjT+rqJ=dbepfvH!>+uU2r+s%{UsqeP95?pVc z=`j5o;dp8vZQl<}nhDmW))k;%IB&jhzE$%ZFe#6z%ouBm7$zD!7_tqws-q12>Xy|S zeM3E0*AseyquRMuh}Kj&s;WP93U?~}6--b>*DV*9w<&8}Hof#zX-Ubz(qkpnB@If@ zl0n7N;*6p_MKy&(ie43#7mg_$SXf=4E__!&7Cb08S1`JOQSdYWdj8J*8~Jzg59B}1 zZ;?MYzdBElZ_TsiwabsnAD`bcpPx_5KbUtVZ*JbNGV;e2oXcNZ@G$>y!SnpP1#k1+ z1$chj!d?Yq3pW+)D=aSv6|OJLC`v0jTC}_9dQn!9p-5buQaq`+cJZ3xxyAX#Q6)!8 zN=xRH&Mp;}Jt>`07F(t(dscR;d}jH)3IrU}##Ah;EU55;BIa4upsEepbnQ5uO)Jwc z)@{*4(6;`m{z&x=@I`xQSOBQrSkpF>vZh|m@tPu-$KNvFG;gwWw@k5GE#qxZt>f&w zZEYNbpem<3b~*1m)UL_S=dL8zKA3F}^BCP$&vwrWZ=zS}EAoEzJ@t+8uLOQ}gTTDN z?|?HfHCPp#iu>^$z`binREBO7t%&sSRnR;s!X3%IP|dXF1FOdOV{uvX=1*cH8lc4B)04z#+08dX3o@rK6M3`RD<(1bq$H z82|s!J=RQY6U&6tLd8#p}RBo1OTxC_}uoNnv`9E80Ou-&hm z9&9&fIa|kB0FDCb?D-rEHk0!Q>j&S5aOOe6L>ji0oeGHedh9RzGq#WY5^Dt4{wVex zSRb)MY$qf)j>fiOGq5?>N~{OA7*k0PCR9We)5s>AW3ROiWdIp_|c14?@ zR8)@UGA+#0%pJ@$W^>5F@GxdGvKT3h&5X}TE%4naM>6SakOtuTIhGbh-%h;`O#0)X z?i&ft<0n9)`-O6ioCWSXqk%yaOF_w_krUw{sSa-@-+;2<03jhaz|MM#cppAP3<2G^ zj_637B$^P@;ZtZ!^dp$WDB=L5#HvG<&|myJ;Lxu^hw;myrTE^^fB4nVMZ7q47q1ST z#@~jv;5%XNy)bkZRO)N-5Iz9k0jo290lv~gi*a#i82%nN2j}4Hf_?Gsur$G5xEJcy zvw;@){=iB+E3h5^8W@LP479^{2Rh*w;P&6ZVjK-_!8-+S97sY@FyEj|L zR7{J^09AxpVNB$zKkt$Gu{6UQ1B$EML3ygk-{u8va z$G{D&6R`V#Ql;Qzmrdp9BsLAMxq9576K$yaDdO z$KhS!Z{~KW5*HC@s1FeznoCRxJtJO(T(oiE!F~kt2~Pr3Xcstq zAE#c2JY73D3)H4fr?sGM02j7xv>~($a4VnojRsn3`YL)8a3Y>Y&!(TI{{`)I2+rwb zq&p-iEk&lnd7ia}xu2E6T)?W$90Ul;2-Z8sGS+Lx0oDh`de$Sx zFxGxX9BVkkiAFJksDhzjHDEMj^kwP*BXN#IzBv|?RDdb1uOQ&?5VI93qp&LR*E z%ZBh+cEo~Oko)KtWE#2;k)nN(&rB6^mdQaTF{|lXaCsfW@X}DmSy~}7o3<4kme>fm zRnS|39$pJ->Wh>uprmd{BO|%gO_3c`CCpJ@kz(px@+pN*wxz5M7lAtY5Gaf@B6o>K zk-0>Wj3K_0`Juby#n4G|WoSR-|1Bnagu0WpLo70kzYM>?cZc`jYr-4wN#RAfBHSC# zC0gTI#ArO5*o|K#PT(VmHMp9XhdbdKn+H`@Rp>3wB4R@+#NvrVyX-gy@7lWQEjiOQ$bvx0AxI&B|@*&+%0e>k&!_~yrusr-G z+&kLS`mS}Ew@JJS2nx5D51FS-%@0eVB0s3%Zy(yc*6n zz@Q?~?HuF}<|PRJ@*W5l@P`W(f`~9na6>dlI7loNnZ? z%Vt7d+)ADVCr!5ErDB+Jp)#OMQ(aJ1s=BL>sH@cVq9#YZh_XcWh~65V8yy!jA?9*S zMT`nKYo}xX#m2-*<5tHFj;n|}5!W+55ce&9LHxpms(5u`e8Qf@MhV{&TPNU&?GoaX zh9`_j+MIAA=~2R;q%R4kq^yMUq?-xZNp}(+CYcg)lNu$W$vqQ=$#oJTC9ZYsq1YoaLg3+Tiy0IxjQJLIKYB=1Ms&G4Cc3lwPSjpi zTokUns$Qe)sMaa6RkaoMRqN#sl-0l@=>h%4U1>9gTzX!;{#9zmy@ryaNc-=S|+z;$*P6KufXB{?|{g`zP z)1g0E4NwYeE;A0j%jnOHAm<>5tOR_^3Ghx((N{wr_(RG%$OL#n@sK~k2S10bglw3y zkd4scT%t0l3Y7<dKFUDdy;w5kPFuPc>Ri!0rgohqv<)s?xGp^B%Ke=1gj z*1Tcmh6-23)QZm)gDYNCw61tqp{O`h5h>qZ!2*vaR>gl673Bj#kKVZAF*qeXFK<`z zxx9PDPgsB8@x1bJ6{Y3VDqQ8uD#R6sDjHSXtr%VLv*H*S<$eK;gRY``rK_TUB~sa| zvR&oK$}N?%DqmO5uXI)Z2j0%tDi2nbR~oCN;1t!Us=c;d)m-h!s{7h4RYKj5sx`V= z+V8pyEnk03I|DdO75cuq3Duu;->aMI;|+WCV-30bBZfF|Mc!21)##|+VeDx5V%%a7 zn{o^jO=-sarrkzLjn_D%W|8S{joXxLo?Me*{!sJQoNlgd*#iB+8}oNdwHdQYEd8xx zEN83_EiNl&ZEfpqU1?iqeP(-XcA@mOh`xBcK_zB}29Q$KO2fN2H&aQ-+ zLKEjM`!eTG`#)!_qp53wW34O8amB@UUUGGD9&{~po^`!+R=84JY3{?Wk zUhwOD&;4fK7r)8(!*75i<}dbl@(29W{FJ~#I4<+!;Q18tukt4ce)*3CbpB6)@BW`~ zI|x(a=E0=Eh2Zo66&MZe@#|0pzYko;U4e2u7AAl_f?Y#%!MpiD@LMQ5m_XD7rxFtU z1knV4Mohqqi0il@jE4G$r-ycg?}r{jg5s|*jR=LC6V1W%aU_{ROd!t@>p+`)l~jT{ zBq4m7Y!p61jtSocugAAgBfTMigddW0@($UVd`hk$v&eJg7ZNID(nwm!;Qz677T`^! z-QOOMHBH*4k-F;wOR-Yi-QC^YWpP_zad&rzUEH-mp*XZulQiDA%glV|{a@e3H6$%H zU?%fC=bYbtGeHJrMXZFa54qJ6hfp;YKfUQvvM$Alb2=*h|klTrIq?R}XM#f5V z9*I%+$z&=-HlgZK&8Z=<>)8aBz}Hk;is1C5vN=tu`W%XC#Q940K)-FZxBz&RIItzZ1Bd4%mOxB^{B<5yj&rbo z@z3abd?#=s`=V)h4(h<<=q-#yCt@{-1oAnL!9g_#?Fav&ZGdmo3Hgrn0v^>UWG1kV z^B~z)0X5>okSAFRw4~u|GbES&12F+ViQLyfA$1Y>RM8xVD8LMI9StFAVjF)=sK86c+ZVT8&oXkch#H?jp%veUnbYl!m zFD8tg2=&@!%w+I*ZH9Tg3+zqiJM6mzU_vTD>OtkU6FUr8R`bDvbQWR%$CyDlK>dyd z&rBQChOB|L>>F53xY0sbQG{bz*hnB;Uxamq1)Bkk;H}tZ@JN2ZYcT`ZEl?tW)g$8J z-+vfX2lfK3=LTK^`!ke$1$n|!d9uj}h-+zgAB2Ar;@A zw3ACoCwY|8gI0^kIAi3Vg9p(lR8bx;oHeFf1H z_PBiF5b+T_v%B$r;Owji{!kKp(v{$ReS-f5eWM;&PdpCeLc;$JcvU7~iH2z&WV`U%sQzQoL@w=#?AQOsX-eORRu%zv~B48(;rk2y*I2{z?E z%t(4X(~Mrpq|@i22J)GS21789wlRKi(%Ik$L3c#~U%44=Wct$%W-fGH_P}u&Y9^1s zz*|Gd!cSD6odq4>OH3@#AcBmIF~T!DGl)fi6%ocd;MFo85r8900JD?HVDoCrTHzWM z0Gl`ob_I3OlWZ&W6*~YmvrAD0at!R+m(fw+*xHR;LmvaR&HygyRG7A$h(3egOHdtZ zLgS$q*A|0*26*C5!FswFLxJiZfqetc`&X<5R*8+m4A>%Y&#c6LV@t6&;H-NH#Ms-I z4jz-?$`}C5*d_R0Y!AK?dxp;gX6#s)UOLs;`dO&TbUV$aHiaJYiIS1jI zT1EBcOrn-@`cr2)?WrPo#kX-9Q8MlyR6}k&)rlKU4dr6gJg$@6$TgCCxhC>3*GnGb z2FasbH+dZ1KFzHqZ*V!VV@#z=;q%^b>rfZDEvRGMQPgSfR_X%xCIypi)JkqSH5umF z`a+i?pWB&}&Rxri;=Y8dh=m<&Bd(7#6|TqA+-ykHbmB(v266LvW4L{J3%N_77jleO z$bHH4ah<%zJm_yir}G_e7oWp_$?wSbLASGk;0|;mg8Z9;{sIy@ibKK*!VbW%_hIU= zU|6QGo^Y0MneeOdi?AR(Hhf?B$Z&i3vGC3!XZU&1IFUg7Q#3-{UVL19Qv6Zug&|9gQ3;`4)Luf=1~iaZ$49x>19p z`$nCKUK{0zeiqeGic6+QJ4%j9H%m&S-z7X*d~_q(jOgjmF*q%YmwuEDl$vD!NWs4% z^~*%Eplpncl;4y^%iXdJ`5*E;`7n8F`Br&9pb<=xo8;@{5sGW_#)@*7AVU^Uk%e>LMWRIh} z%KnLFrK6*7N}ENGl1iibQj6qY$jc9m-Yl_5I!e|{=%`r9si=!l^`h!TU5UIM`A1~) z$TJa-BKQ$`5yQnN#D_)U;HkIs&6iE|#zx}I}>0j6jRyU=mY*2XTdt+Y)8 zW5{RAAJ%-!I?I0ZN3*In)|^)RSM4;D-t^em&lF~SXdGmyV>}B}U1puaP*-H;7wpTW+JPqX7|0)kvzOF2;{9cJwDJ$z$)m9FzqQU$UU3H_XZk4WTU{!AQKUFiT zpH`i$R#yFlj)hFwu6nfcboFUvgtA1rNEr!xn_j9Os?DlLknzh^2UQ2u?bT5=htvmZ zg6bU2)S6<=_nJA{)*7+yj^>swMcY-sQCq5~wbKmib%;@-KWIFvZ){33d^epo%&M(p zRW=Qe=P@U3#@tON7h1fUE4&<_KG>@%RdA+;ZHJg`SO2RJr3 zoselg>KyCpuDEI}xpfdxrwM1-yR}TL=#MlW?CX z#BzcEvlbTvIi)_HNOT3J;$VC=RABFbMXZ)sjtj||cpA_R>%x%%W^x5N1Lu=da2m{F zc481-2E@ackc2x+^oO3q7`!(z9Zw-<;VyhC{tO?5Zv~dmEO;CY?t}LDMBs>z!6kTi zFe9|WOJRj}8*FIX!16E`)56;A4b~SskM#t!MB9JkRjcpGr-9%<7Yo_b7 zPiZG}oW8*mKc<_}+vw)>1iBsFh8{pC(lcpWXc7H9^cTG+w31#B z+DMOv9CrKAemXmJkVawht17q}>cT6)f-{GH9Gpns33j2+2jl6TK~rc!@J?uGa3xIH zbPqKOCc_jb8Hx|uf>NluNrDf8F;I0&{vR1FI5F4&{%6|;rv}a+PI}fP6JK4)HId5mn*cQOd*not=97QZ*f!#(l+80*fOCSMq8dfPq zNENK#lCY-W%Uh2gz$(CflMSxBu~-&<85<2&xy^Vh{2{&;s>iSJ_5?+&Bw7KfXBzPq z`XM^vClO6b$lhd6av3?7JVEY)Y5W_o+AM-~b_JPDxyWV|Mm2*~Lo>=kwxXCsne z9*0l)2rJ1DKgl5M@9ePN*Atsz*Et0qdyx*PYx96wpA8v+X27iPM%DwCRVq23l!Akf z0`r_5ocI6p-m76}_>0(0z9tTl{}FqEYqbIT8mq~j#3FJPF`b-E3?YXR`D9ljl59^n zh(^E{kAuIx9si4X2CkBwU=x^ttMNAYDf|z7GPpwWa2)60HL!wvg*^ts{{h&|EC(0o zB=Dwm1omgr{~190L*>3M_)JM4WBmr7Fi?-tg~&GGW6cIz=qRuW4FJn+54buyLtef+ z(35)sMY#>QF>=uQZO}VLekmKNFvnIQrN@b)R+XU;QGMp^g;#q9(#dV$?jy@ zf;m~lZUfiyPUbPx12zITWgs&Q>b?CL40va1x+5gL^O#R`0(2yJPzxp*4b1`49|3&0YfO9bF-Q5kaJnYE@4i=_xQzL1=?^4P^KkpS0GGJ zM*d;9AlKMa$Vcd9SlGK@#eIfkBVUn@U;>&1+~dtaaK4C?B0qo?MkBi+|GXG!1*_*_ zXlG;*Wh@>-h@fbhp3({ zK}86SwnU`hddk8MAO*mYhF4B>2G$<@i(VJnqC^;K}%J zyg$7DZ2>>ROE50_Vb7mUTq6d+^usDbM4loVldp&wq>VUF%E>Y?BCup@QVQp3Hr0k~ zMRg+k!=%wDsyR7@sz=VHlA#U}K`w*yb{SPo{7wBJwotE$jnr*eRUaWbQJaWAsf|P` zth6JkLxhXmM|>pzA+C_?;Y{2JXW=2RM_weFfQKOr>J}>EF_;x^5r={Gwv^aQ^dq(r zdBiT5+uKiI#6F@H-%b?bD~bKkv7C$#BJ%NOgcOeglm z0mjQzGsVnj<~Y=trooxj3i<{~%oHY!nFq9zwTub&Zsqi8s6{}`3L-W`% zbUH9xJFQ3g|^gYn+jW4s9F&APx&`3C*~sK*$&1UMqq#A&iGNt2(TBiwF`mQ@jdjGHip`8GiR}^Rg}y>~+}gOzxZ`mh z;_k(biF+P5KdvxtLtJItx;S6liZ~wdAEV;8#VO(s$EC-gj%y5$t>V|mwTzz#&pXBC z#W#y<9p5}|aD0on>2NHMZyC2ezIEK``1WxRZ8MiL}NZhRWlX2bSw?fZjQrw%k7I91C#PE};z=3fgc2w-7 zSSN5k{)zb-69WXcGYWA`tm24b10=W&vMcgdvK09-=}H+c{UDtY9VRW7w2zLH`~#e| zFHx_7h4lxpul7Z(j$p*+fG+S-^e;?dhXG??R(NY+5!gS|g%2R9o){NAlp8fO1`n-@r0(2CQy9&^72ubC{)n?GE!nQxte9j@Aw|rq#XynqPB6 zBhwrGQ{xnUKVz8QVmPncVd$hQFgUbI{dMgo{c>#+eQ&J_*4Nv0HJWC?b~0(lXbx&~ zfww_v7>%;#rRHtTF0eL?((JEE*DR^A)(ot7dG*C}h3)St^wP1nx0LM91J@pz@mU^NpK|M$nukHiSTdV$5r>PpM#j5sdTs1}= zRIUe>)m1g7s!~U&B5JZ#Eo-`~X4WiLovFE~Qq@$b5;O|+5Y0&Se$7esCrz!I&~^nT z)Sa4{+8oVQ?HNr_8>8)}+payR3)AUzYjrt#k8ZMlr2f4Ax!$BtGvpc87#0|Q7;YJ2 zje5gmW2W(`afVT7I%6DeDl?unMVYjwJ|-nvG)}XB%QYZF^u<+hT0V_NBH7 z_A1*gdoMfXcy1ry$aCy<9Cy5PP>?qn1As!QQ6+z1~*-FW$C(uCJ57t#62by>F)fv2V4%!gthf^A-8SU=LH@ z-y$%`KRd9{e>kw!e>DLwke$=(^y<7!>M2FAH^} zPlQI%AAp?g1k$#Mz5tnypY#+uj5$iTW!}*X7&F{~1VC9xf}VDLW)9niDTF9~VrgtK)`4|kW7u$fEt`Q~Wt-!b z>|k7i%)vV$%kX)~O8gkI6n~G*$34hgJPVx+_5T52TJC`F0=M)%;O?t|voC@xzX2AB z5665kqhSWqoDEjk0SpStV3p(Ixv*|*2kXav;KS>W&%}G+hv4l(SXJs^I-ew(;@LzV zK7{xKUj^806y7rm=B@f;N6}W;Tr>~s3r9BE7+hKPpg$r7PeTa2pk^RsRH8!U9cpLKp=InE z^ea0Q{lxx>eqmX-OTU1-`dY-r_CO-R7Lf}EiI#9*?*(hj@yH2a*YAOK@Jg7SnF4l? z!LTkK%oahdwhZY5j=7G&5@-uYZ|Ftz2d{lkwipt|Pmm^HrfkLj3-3RNjAb_h*J}W9 zzGA>)qJ|FHU9g<(f^NxdwwUd~*0O1^g216uV_{~)iex?Vh1rUH20!LcW+hlU7XRPs zB%9p%(i*S6$rht*W15UzO zq`-slSr)84Zor1%O8Dp>U@o{1|3il$r?3#}_qA-^zuzg}%yQj01*6KCuE5 z61y=eaRaKzKd^?-=jsgS+z4V47!gjvWLGu5gh(b96QhU~#2I2eQ48I(JaRWNncP7f zfc?^Y=(YsOdqf6RLUg3;#6al64S}Tma99NoqW+h~9tbPs31kB}{-DOgig_v-2X$oz z%wlCg6n+jfkhe(KfsyCI5`KrANj`;r+rQAY*iW)B392LJk>#)>`$7yP9}>;TD?|)= znxLV7p@y~Z7h*eDA9le{b_n*T*N9<65p*;R(37OWOo5RVPz||>Cz6}+#^flx3t1QM zN22&3Qi%;93$ZTbC9EO26-y>3Vief|uBdqI1wmrRh!DDxu%Ug48Z?e5L91Z?`80kO zEE|8JNq8@`0?R>9V*+$OSl)VJ<*?g$hqxd=b{9Q`tVGv=6?Z7?wzFWb69fZlF`N-c z+2!Cn9Dy{4wP!Zl7|CH9B6Zm2aCC;Zd&54iC+z2Xf}N#5^cx04MPwABV`f4xZ!Mf< z2jRE_2A6M0knw}BAs%fDmYue23fdUb@i}Y(cpJyT^G#?0B!CLo^Jo+H3<~Ks__Lj8 zGP?qdwBu1B+YzPUit;lGR0m(Dl=%v0@ipW;u>ko5U!#VZ0$0OM`1`y< z+OrJ&z3ZWWgVp6MI}?4*Za^#G=L)g^qVcfKZiDF2$p{68mKd<=C1X0UtnknTECUr| z9Z(dTfd;{ygMp!!57$Qo)R$tgmRMb=g|)^GW1X=V(3Ms}^$CS5BN3m16@bgH7rqml z0IRN*cnNe#SUCTa@c;hrb#*$f!q4JJG;{}s=R|U6tHi4hlD69j2eb_<%?=U?-TUbXhLpWP-Quv?XvoItG5APh-KYUBr z;qaoc@^FDLT+~IFFWM*^BYGp;F5-kg7YztEi7ti<#Ln*B64Ar zBdt;NZ`VN{m9I&PMKyY!I0e`3(9*9V1dA-iR;3uCKYcNc39N zO4Jo$=&^3$6cR*x!%wD&gpP;asK6a=^!2L z9VdWeHqbu9&atz$Yql%4$+kW=xh=wGhBWX?>p|;7uz?)1=36&|zoMh{r6tO`#`4ax z)bhmA)w0LZ(Q*_Byc;cjfx_O?asl2xW+|}jwe$xD>pvC^@K~d*G1kG>k=E_j1F#1w z2SQ4QZJe#A?Ii4qKEd~cWVd~ceUSZz{i>aC07=3z((%i2!_mn}JMKA$I`duS&T3bG z*J_w2B0VBE*iPJ(_nLdUw~dG6GkG5P2E$y>YVQ*NDeqlB&(|pM)fW*w@27(Wfqz5G z0~z$zzRae$FqC`PN_+sC zPqxBhspgB-&Jp#U+o>>L%}Cg*Ztnv+7WJ>X)%~u7+tz{+Tk_lRb!ObtNK;l zsK6^1ln<^bDQi@5uZ*ntyDYl=`0vEuPfC{mYW&ms{nfX_U$=h=e2)6e``qnQ`%l-3 zCluR0PXEaJc;rL74{Xtmq8CMLiry6MFM3q8w`gb4q$2P8!uJE;C%^yjZtuJBcVFJN zdCL?&FI-%>y714!Nrl|Pp@ph9$%Px<>Y*W2H0e;rdOesibr@|)pryA{%J ze;1y9H}&nU_Y>bmez^bs+Q%Lr27U5;Jn^~pCm@Y|ivIH8Q|jj*#lGUFA76bu{o(hA zZ$M?kC#6X#oIoX7Vj+n^6BZP;?JJXcfUk`z5ccNH|Mtt-?#jj@N@64 zT_sCPkNy7mTVB4u46TSL-%&BYoUYhco>r+YUsO4}BD_jk`L^n5<%a6mDs%P7s&wV2 zs^!XU)#<7|$~g56RlS;Gbz6-Ui2h$RX~4dGt`q9|>9^~C>#e%BhL-w$hK|r#%+;@f z$L)rh`qPlI3K^CeHXAz|dz#k6bf2NN+RU>smRgJ6dfWQcM%mKriMD}uhqbM}r}ds~ zp@p$-GS|00s@-6j4=JJPwaYCNYL8oP)rMI|n?GA;03UXXHQmv`W_C2PiJYsfGaM@{ zbM0Hr8*K1Jt)FU3tV7MP7q;}ZFSibLY`67r&b3EF*8hX+lq1%?)!}fBbX;@|cl_g8 z=h)|RIP|Ws&dct$?vSU6_p5KX|0|?a+#w&G#nyq&kq0I59K1g91}`L@Ll^4+?22xH z!S;V^(Q#mly#y)74B+7O6AlQE5v7WE1E23oL=o_WM@RLH+!QqgNW|+St-zRCCNV?} zg4f{#()ZFB`Aq0)%VN63ZjC(?_Zujg`uLj(#}Yau_D(EK%uU*z6c4PC3Lv^pOj(}d zNvTb_o4PUedfL#mFW_-W$XuOqHcOw`Cudo<^p6I)wmN8?+x70(9bCWTpO5nXseh-z zsJ!+KKjlqssLmVN@O$1Yc)Zpyvq95F4;pY9|J_j6cu1q-CiNO0&38BM-}GjaK-01L z3kyv7R|~S69xjkIU0h(!Uj@hJ0$cvjf@k@43ijov7VOB6EZC4AXu2@Jvgy!#W7CoO ztqU&XKPiwl&22Wd>EdR4n;vU+tm(#PtD9yu`?Kl#f>Ze~n_8R1H0{=8Xa3X1Ir;q? ze`w-s)UV0LM(-MP8ntV@vf-OX-Uc%oZEaw0h&9;JaBtqyhRgE0H0+g!H00&2Xt23H zoflqzN#346&)5H0@9v-Fb&KmM>&WXx)|pXv;2%%woXw4{!_DpRN4K0Axofg-

MM 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�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

  • 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

    Start location module

    -

    Stop location module

    Get current position

    -

    Map current position




    diff --git a/blackberry/src/www/test/media.html b/blackberry/src/www/test/media.html new file mode 100644 index 00000000..0656e686 --- /dev/null +++ b/blackberry/src/www/test/media.html @@ -0,0 +1,17 @@ + + + + + + + +

    Play percBass2.wav

    +
    +

    Play bird.mp3

    +
    +
    +
    +
    + Back + + \ No newline at end of file From 6e256e373000d8ae5af7e131e1f867bee0789f78 Mon Sep 17 00:00:00 2001 From: shazron Date: Thu, 13 Aug 2009 16:09:09 -0700 Subject: [PATCH 07/80] Re-factored URL parsing, fixed leaks. --- iphone/Classes/Device.h | 2 +- iphone/Classes/Device.m | 2 +- iphone/Classes/InvokedUrlCommand.h | 30 +++ iphone/Classes/InvokedUrlCommand.m | 90 +++++++ iphone/Classes/Movie.m | 52 +++-- iphone/Classes/PhoneGapDelegate.h | 7 +- iphone/Classes/PhoneGapDelegate.m | 273 ++++++++-------------- iphone/PhoneGap.xcodeproj/project.pbxproj | 6 + 8 files changed, 265 insertions(+), 197 deletions(-) create mode 100644 iphone/Classes/InvokedUrlCommand.h create mode 100644 iphone/Classes/InvokedUrlCommand.m diff --git a/iphone/Classes/Device.h b/iphone/Classes/Device.h index bf221a33..f1efef4a 100755 --- a/iphone/Classes/Device.h +++ b/iphone/Classes/Device.h @@ -13,6 +13,6 @@ @interface Device : PhoneGapCommand { } -- (NSDictionary*) getDeviceProperties; +- (NSDictionary*) deviceProperties; @end \ No newline at end of file diff --git a/iphone/Classes/Device.m b/iphone/Classes/Device.m index 0b81cdbc..4accfb1f 100755 --- a/iphone/Classes/Device.m +++ b/iphone/Classes/Device.m @@ -18,7 +18,7 @@ @implementation Device * - Device name (e.g. user-defined name of the phone) * - Device uuid */ -- (NSDictionary*) getDeviceProperties +- (NSDictionary*) deviceProperties { UIDevice *device = [UIDevice currentDevice]; NSMutableDictionary *devProps = [NSMutableDictionary dictionaryWithCapacity:4]; diff --git a/iphone/Classes/InvokedUrlCommand.h b/iphone/Classes/InvokedUrlCommand.h new file mode 100644 index 00000000..736fbd3e --- /dev/null +++ b/iphone/Classes/InvokedUrlCommand.h @@ -0,0 +1,30 @@ +// +// InvokedUrlCommand.h +// PhoneGap +// +// Created by Shazron Abdullah on 13/08/09. +// Copyright 2009 Nitobi Inc. All rights reserved. +// + +#import + + +@interface InvokedUrlCommand : NSObject { + NSString* command; + NSString* className; + NSString* methodName; + NSMutableArray* arguments; + NSMutableDictionary* options; +} + +@property(retain) NSMutableArray* arguments; +@property(retain) NSMutableDictionary* options; +@property(copy) NSString* command; +@property(copy) NSString* className; +@property(copy) NSString* methodName; + ++ (InvokedUrlCommand*) newFromUrl:(NSURL*)url; + +- (void) dealloc; + +@end diff --git a/iphone/Classes/InvokedUrlCommand.m b/iphone/Classes/InvokedUrlCommand.m new file mode 100644 index 00000000..6c318cb7 --- /dev/null +++ b/iphone/Classes/InvokedUrlCommand.m @@ -0,0 +1,90 @@ +// +// InvokedUrlCommand.m +// PhoneGap +// +// Created by Shazron Abdullah on 13/08/09. +// Copyright 2009 Nitobi Inc. All rights reserved. +// + +#import "InvokedUrlCommand.h" + +@implementation InvokedUrlCommand + +@synthesize arguments; +@synthesize options; +@synthesize command; +@synthesize className; +@synthesize methodName; + ++ (InvokedUrlCommand*) newFromUrl:(NSURL*)url +{ + /* + * Get Command and Options From URL + * We are looking for URLS that match yourscheme://./[][?] + * We have to strip off the leading slash for the options. + * + * Note: We have to go through the following contortions because NSURL "helpfully" unescapes + * certain characters, such as "/" from their hex encoding for us. This normally wouldn't + * be a problem, unless your argument has a "/" in it, such as a file path. + */ + InvokedUrlCommand* iuc = [[InvokedUrlCommand alloc] init]; + + iuc.command = [url host]; + + NSString * fullUrl = [url description]; + int prefixLength = [[url scheme] length] + [@"://" length] + [iuc.command length] + 1; // "yourscheme://" plus command plus the leading "/" (magic number 1) + int qsLength = [[url query] length]; + int pathLength = [fullUrl length] - prefixLength; + + // remove query string length + if (qsLength > 0) + pathLength = pathLength - qsLength - 1; // 1 is the "?" char + // remove leading forward slash length + else if ([fullUrl hasSuffix:@"/"]) + pathLength -= 1; // 1 is the "/" char + + NSString *path = [fullUrl substringWithRange:NSMakeRange(prefixLength, pathLength)]; + + // Array of arguments + NSMutableArray* arguments = [NSMutableArray arrayWithArray:[path componentsSeparatedByString:@"/"]]; + int i, arguments_count = [arguments count]; + for (i = 0; i < arguments_count; i++) { + [arguments replaceObjectAtIndex:i withObject:[(NSString *)[arguments objectAtIndex:i] + stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + } + iuc.arguments = arguments; + + // Dictionary of options + NSMutableDictionary* options = [NSMutableDictionary dictionaryWithCapacity:1]; + NSArray * options_parts = [NSArray arrayWithArray:[[url query] componentsSeparatedByString:@"&"]]; + int options_count = [options_parts count]; + + for (i = 0; i < options_count; i++) { + NSArray *option_part = [[options_parts objectAtIndex:i] componentsSeparatedByString:@"="]; + NSString *name = [(NSString *)[option_part objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + NSString *value = [(NSString *)[option_part objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + [options setObject:value forKey:name]; + } + iuc.options = options; + + NSArray* components = [iuc.command componentsSeparatedByString:@"."]; + if (components.count == 2) { + iuc.className = [components objectAtIndex:0]; + iuc.methodName = [components objectAtIndex:1]; + } + + return iuc; +} + +- (void) dealloc +{ + [arguments release]; + [options release]; + [command release]; + [className release]; + [methodName release]; + + [super dealloc]; +} + +@end diff --git a/iphone/Classes/Movie.m b/iphone/Classes/Movie.m index 5ee45526..c8e12ed3 100755 --- a/iphone/Classes/Movie.m +++ b/iphone/Classes/Movie.m @@ -15,10 +15,9 @@ @implementation Movie @synthesize theMovie,stopReceived,repeat; --(PhoneGapCommand*) initWithWebView:(UIWebView*)theWebView +- (PhoneGapCommand*) initWithWebView:(UIWebView*)theWebView { - - self = [super initWithWebView:(UIWebView*)theWebView]; + self = (Movie*)[super initWithWebView:(UIWebView*)theWebView]; if (self) { stopReceived = false; repeat = false; @@ -70,19 +69,19 @@ - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // AudioSessionSetActive (true); - theMovie = [[[MPMoviePlayerController alloc] initWithContentURL: [NSURL fileURLWithPath: filePath]] retain]; + theMovie = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL fileURLWithPath: filePath]]; NSLog(@"theMovie description = %@", [(NSObject *)theMovie description]); - [theMovie setOrientation:UIDeviceOrientationPortrait animated:NO]; + //[theMovie setOrientation:UIDeviceOrientationPortrait animated:NO]; // TODO: remove? no such selector theMovie.scalingMode = MPMovieScalingModeAspectFill; theMovie.movieControlMode = MPMovieControlModeDefault; + // Register for the playback finished notification. - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification - object:theMovie]; + object:[theMovie retain]]; // Movie playback is asynchronous, so this method returns immediately. [theMovie play]; @@ -92,15 +91,15 @@ - (void) stop:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options NSLog(@"Stop the movie!"); stopReceived = true; - NSLog(@"theMovie description = %@", [(NSObject *)theMovie description]); + NSLog(@"theMovie description = %@", [(NSObject *)theMovie description]); [theMovie stop]; NSLog(@"Finished stopping the movie."); - - } + #pragma mark AudioSession listeners + void interruptionListener ( void *inClientData, UInt32 inInterruptionState @@ -110,33 +109,38 @@ void interruptionListener ( NSLog(@"Movie: interruptionListener"); } + void propListener( void * inClientData, AudioSessionPropertyID inID, UInt32 inDataSize, const void * inData) { NSLog(@"Movie: audio prop Listener"); - } +} --(void)myMovieFinishedCallback:(NSNotification*)aNotification +- (void) myMovieFinishedCallback:(NSNotification*)aNotification { NSLog(@"myMovieFinishedCallback"); MPMoviePlayerController* myMovie = [aNotification object]; - NSLog(@"myMovie description = %@, theMovie description = %@, stopRecieved = %d", [(NSObject *)myMovie description], theMovie, stopReceived); + NSLog(@"myMovie description = %@, theMovie description = %@, stopReceived = %d", [(NSObject *)myMovie description], theMovie, stopReceived); + if(stopReceived) { - [theMovie stop]; + [theMovie stop]; [[NSNotificationCenter defaultCenter] removeObserver:self - name:MPMoviePlayerPlaybackDidFinishNotification - object:myMovie]; - - [ myMovie release]; - } if(repeat) { + name:MPMoviePlayerPlaybackDidFinishNotification + object:myMovie]; + } + + if(repeat) { [myMovie play]; - } - + } } -+(MPMoviePlayerController *)theMovie { return theMovie;} -+(BOOL) stopReceived { return stopReceived;} -+(BOOL) repeat { return repeat;} + +- (void) dealloc +{ + [theMovie release]; + [super dealloc]; +} + @end diff --git a/iphone/Classes/PhoneGapDelegate.h b/iphone/Classes/PhoneGapDelegate.h index e9663829..690202a9 100755 --- a/iphone/Classes/PhoneGapDelegate.h +++ b/iphone/Classes/PhoneGapDelegate.h @@ -11,6 +11,7 @@ #import "UIControls.h" //#import "Image.h" +@class InvokedUrlCommand; @class PhoneGapViewController; @class Sound; @class Contacts; @@ -48,7 +49,11 @@ @property (nonatomic, retain) NSDictionary *settings; @property (nonatomic, retain) NSURL *invokedURL; --(id) getCommandInstance:(NSString*)className; +- (id) getCommandInstance:(NSString*)className; +- (void) javascriptAlert:(NSString*)text; +- (BOOL) execute:(InvokedUrlCommand*)command; +- (NSString*) appURLScheme; + + (NSDictionary*)getBundlePlist:(NSString *)plistName; @end diff --git a/iphone/Classes/PhoneGapDelegate.m b/iphone/Classes/PhoneGapDelegate.m index db0c6352..9120eefd 100755 --- a/iphone/Classes/PhoneGapDelegate.m +++ b/iphone/Classes/PhoneGapDelegate.m @@ -2,6 +2,7 @@ #import "PhoneGapViewController.h" #import #import "Movie.h" +#import "InvokedUrlCommand.h" @implementation PhoneGapDelegate @@ -157,13 +158,12 @@ - (void)applicationDidFinishLaunching:(UIApplication *)application [window makeKeyAndVisible]; } - /** When web application loads Add stuff to the DOM, mainly the user-defined settings from the Settings.plist file, and the device's data such as device ID, platform version, etc. */ - (void)webViewDidStartLoad:(UIWebView *)theWebView { - NSDictionary *deviceProperties = [[self getCommandInstance:@"Device"] getDeviceProperties]; + NSDictionary *deviceProperties = [[self getCommandInstance:@"Device"] deviceProperties]; NSMutableString *result = [[NSMutableString alloc] initWithFormat:@"DeviceInfo = %@;", [deviceProperties JSONFragment]]; /* Settings.plist @@ -180,116 +180,73 @@ - (void)webViewDidStartLoad:(UIWebView *)theWebView { [theWebView stringByEvaluatingJavaScriptFromString:result]; [result release]; - if(![[[UIDevice currentDevice] model] isEqualToString:@"iPhone Simulator"]) { - NSLog(@"going to play movie"); - Movie *mov = [[[Movie alloc] init ] retain ]; - NSMutableArray *args = [[[NSMutableArray alloc] init] autorelease]; - [args addObject:@"default.mov"]; - NSMutableDictionary* opts = [[[NSMutableDictionary alloc] init] autorelease]; - [opts setObject:@"1" forKey:@"repeat"]; - [ mov play:args withDict:opts]; - } - + // Play any default movie + if(![[[UIDevice currentDevice] model] isEqualToString:@"iPhone Simulator"]) { + NSLog(@"Going to play default movie"); + Movie* mov = (Movie*)[self getCommandInstance:@"Movie"]; + NSMutableArray *args = [[[NSMutableArray alloc] init] autorelease]; + [args addObject:@"default.mov"]; + NSMutableDictionary* opts = [[[NSMutableDictionary alloc] init] autorelease]; + [opts setObject:@"1" forKey:@"repeat"]; + [mov play:args withDict:opts]; + } - - // Determine the URL used to invoke this application. + // Determine the URL used to invoke this application. // Described in http://iphonedevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html - NSURL *url = invokedURL; - // if(!url){ - // NSLog(@"No InvokeURL so returning from webViewDidStartLoad"); - // return; - // } - -// Uncomment to have a javascript alert show you the URL used to invoke this instance. -// NSString * jsCallBack = nil; -// jsCallBack = [[NSString alloc] initWithFormat:@"alert('processing url in webViewDidStartLoad %@');", [url absoluteURL]]; -// NSLog(jsCallBack); -// [webView stringByEvaluatingJavaScriptFromString:jsCallBack]; - - - NSString * urlHost = [url host]; - NSLog(@"host = ", urlHost); - -// The info.plist contains this structure: -//CFBundleURLTypes -// -// -// CFBundleURLSchemes -// -// yourscheme -// -// CFBundleURLName -// YourbundleURLName -// -// - - NSArray *URLTypes = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleURLTypes"]; - if(URLTypes == nil ) { return;} - NSDictionary *dict = [URLTypes objectAtIndex:0]; - if(dict == nil ) {return;} - NSArray *URLSchemes = [dict objectForKey:@"CFBundleURLSchemes"]; - if( URLSchemes == nil ) {return;} - NSString *URLScheme = [URLSchemes objectAtIndex:0]; - if( URLScheme == nil ) {return;} - NSLog( @"Found URLScheme == ", URLScheme); - if ([[url scheme] isEqualToString:URLScheme]) { - NSLog(@"%@", [url description]); // Uncomment to watch gap: commands being issued - /* -* Get Command and Options From URL -* We are looking for URLS that match yourscheme://./[][?] -* We have to strip off the leading slash for the options. -* -* Note: We have to go through the following contortions because NSURL "helpfully" unescapes -* certain characters, such as "/" from their hex encoding for us. This normally wouldn't -* be a problem, unless your argument has a "/" in it, such as a file path. -*/ - NSString * command = [url host]; - - NSString * fullUrl = [url description]; - int prefixLength = [command length] + 3 + [URLScheme length ] ; // "yourscheme://" plus the leading "://" - int qsLength = [[url query] length]; - int pathLength = [fullUrl length] - prefixLength; - if (qsLength > 0) - pathLength = pathLength - qsLength - 1; - NSString *path = [fullUrl substringWithRange:NSMakeRange(prefixLength, pathLength)]; - - // Array of arguments - NSMutableArray * arguments = [NSMutableArray arrayWithArray:[path componentsSeparatedByString:@"/"]]; - int i, arguments_count = [arguments count]; - for (i = 0; i < arguments_count; i++) { - [arguments replaceObjectAtIndex:i withObject:[(NSString *)[arguments objectAtIndex:i] - stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; - } + + if ([[invokedURL scheme] isEqualToString:[self appURLScheme]]) { + InvokedUrlCommand* iuc = [[InvokedUrlCommand newFromUrl:invokedURL] autorelease]; - NSLog(@"Arguments: %@", arguments); - [webView stringByEvaluatingJavaScriptFromString:[[NSString alloc] initWithFormat:@"alert('arguments=%@');", arguments]]; - - NSMutableDictionary * options = [NSMutableDictionary dictionaryWithCapacity:1]; - NSArray * options_parts = [NSArray arrayWithArray:[[url query] componentsSeparatedByString:@"&"]]; - int options_count = [options_parts count]; - - NSString *optionsString = @"var Invoke_params={"; - for (i = 0; i < options_count; i++) { - NSArray *option_part = [[options_parts objectAtIndex:i] componentsSeparatedByString:@"="]; - NSString *name = [(NSString *)[option_part objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - NSString *value = [(NSString *)[option_part objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - optionsString = [optionsString stringByAppendingFormat:@"%@:'%@'", name, value]; - if(i != options_count -1 ) optionsString = [optionsString stringByAppendingString:@","]; - - [options setObject:value forKey:name]; - } - optionsString = [optionsString stringByAppendingString:@"}"]; - - NSString * jsCallBack = nil; - jsCallBack = [[NSString alloc] initWithFormat:@"%@;", optionsString]; - NSLog(@"js callback = %@", jsCallBack); - // [webView stringByEvaluatingJavaScriptFromString:[[NSString alloc] initWithFormat:@"alert('callback=%@');", jsCallBack]]; - - [webView stringByEvaluatingJavaScriptFromString:jsCallBack]; - [jsCallBack release]; + NSLog(@"Arguments: %@", iuc.arguments); + NSString *optionsString = [[NSString alloc] initWithFormat:@"var Invoke_params=%@;", [iuc.options JSONFragment]]; + + [webView stringByEvaluatingJavaScriptFromString:optionsString]; + + [optionsString release]; } } +- (NSString*) appURLScheme +{ + // The info.plist contains this structure: + //CFBundleURLTypes + // + // + // CFBundleURLSchemes + // + // yourscheme + // + // CFBundleURLName + // YourbundleURLName + // + // + + NSString* URLScheme = nil; + + NSArray *URLTypes = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleURLTypes"]; + if(URLTypes != nil ) { + NSDictionary* dict = [URLTypes objectAtIndex:0]; + if(dict != nil ) { + NSArray* URLSchemes = [dict objectForKey:@"CFBundleURLSchemes"]; + if( URLSchemes != nil ) { + URLScheme = [URLSchemes objectAtIndex:0]; + } + } + } + + return URLScheme; +} + +- (void) javascriptAlert:(NSString*)text +{ + NSString* jsString = nil; + jsString = [[NSString alloc] initWithFormat:@"alert('%@');", text]; + [webView stringByEvaluatingJavaScriptFromString:jsString]; + + NSLog(jsString); + [jsString release]; +} + /** Returns the contents of the named plist bundle, loaded as a dictionary object */ @@ -353,70 +310,16 @@ - (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest * We have to strip off the leading slash for the options. */ if ([[url scheme] isEqualToString:@"gap"]) { - //NSLog(@"%@", [url description]); // Uncomment to watch gap: commands being issued - /* - * Note: We have to go through the following contortions because NSURL "helpfully" unescapes - * certain characters, such as "/" from their hex encoding for us. This normally wouldn't - * be a problem, unless your argument has a "/" in it, such as a file path. - */ - NSString * command = [url host]; - - NSString * fullUrl = [url description]; - int prefixLength = [command length] + 7; // "gap://" plus the leading "/" - int qsLength = [[url query] length]; - int pathLength = [fullUrl length] - prefixLength; - if (qsLength > 0) - pathLength = pathLength - qsLength - 1; - NSString *path = [fullUrl substringWithRange:NSMakeRange(prefixLength, pathLength)]; - - // Array of arguments - NSMutableArray * arguments = [NSMutableArray arrayWithArray:[path componentsSeparatedByString:@"/"]]; - int i, arguments_count = [arguments count]; - for (i = 0; i < arguments_count; i++) { - [arguments replaceObjectAtIndex:i withObject:[(NSString *)[arguments objectAtIndex:i] - stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; - } - //NSLog(@"Arguments: %@", arguments); - - NSMutableDictionary * options = [NSMutableDictionary dictionaryWithCapacity:1]; - NSArray * options_parts = [NSArray arrayWithArray:[[url query] componentsSeparatedByString:@"&"]]; - int options_count = [options_parts count]; - for (i = 0; i < options_count; i++) { - NSArray *option_part = [[options_parts objectAtIndex:i] componentsSeparatedByString:@"="]; - NSString *name = [(NSString *)[option_part objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - NSString *value = [(NSString *)[option_part objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - [options setObject:value forKey:name]; - } - //NSLog(@"Options: %@", options); + + InvokedUrlCommand* iuc = [[InvokedUrlCommand newFromUrl:url] autorelease]; // Tell the JS code that we've gotten this command, and we're ready for another [theWebView stringByEvaluatingJavaScriptFromString:@"PhoneGap.queue.ready = true;"]; // Check to see if we are provided a class:method style command. - NSArray* components = [command componentsSeparatedByString:@"."]; - if (components.count == 2) - { - NSString* className = [components objectAtIndex:0]; - NSString* methodName = [components objectAtIndex:1]; - - // Fetch an instance of this class - PhoneGapCommand* obj = [self getCommandInstance:className]; - - // construct the fill method name to ammend the second argument. - NSString* fullMethodName = [[NSString alloc] initWithFormat:@"%@:withDict:", methodName]; - if ([obj respondsToSelector:NSSelectorFromString(fullMethodName)]) - { - [obj performSelector:NSSelectorFromString(fullMethodName) withObject:arguments withObject:options]; - } - else - { - // There's no method to call, so throw an error. - NSLog(@"Class method '%@' not defined in class '%@'", fullMethodName, className); - [NSException raise:NSInternalInconsistencyException format:@"Class method '%@' not defined against class '%@'.", fullMethodName, className]; - } - [fullMethodName release]; - } - return NO; + [self execute:iuc]; + + return NO; } /* @@ -440,13 +343,41 @@ - (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest return YES; } + +- (BOOL) execute:(InvokedUrlCommand*)command +{ + if (command.className == nil || command.methodName == nil) { + return NO; + } + + // Fetch an instance of this class + PhoneGapCommand* obj = [self getCommandInstance:command.className]; + + // construct the fill method name to ammend the second argument. + NSString* fullMethodName = [[NSString alloc] initWithFormat:@"%@:withDict:", command.methodName]; + if ([obj respondsToSelector:NSSelectorFromString(fullMethodName)]) { + [obj performSelector:NSSelectorFromString(fullMethodName) withObject:command.arguments withObject:command.options]; + } + else { + // There's no method to call, so throw an error. + NSLog(@"Class method '%@' not defined in class '%@'", fullMethodName, command.className); + [NSException raise:NSInternalInconsistencyException format:@"Class method '%@' not defined against class '%@'.", fullMethodName, command.className]; + } + [fullMethodName release]; + + return YES; +} + + - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { - NSLog(@"In handleOpenURL"); - if (!url) { return NO; } - NSLog(@"URL = ", [url absoluteURL]); - invokedURL = [url retain]; - return YES; + NSLog(@"In handleOpenURL"); + if (!url) { return NO; } + + NSLog(@"URL = %@", [url absoluteURL]); + invokedURL = url; + + return YES; } /** @@ -466,6 +397,8 @@ - (void)dealloc [viewController release]; [activityView release]; [window release]; + [invokedURL release]; + [super dealloc]; } diff --git a/iphone/PhoneGap.xcodeproj/project.pbxproj b/iphone/PhoneGap.xcodeproj/project.pbxproj index a7787ed6..9f1eb8f1 100755 --- a/iphone/PhoneGap.xcodeproj/project.pbxproj +++ b/iphone/PhoneGap.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; + 301469B91034A0EB008103DA /* InvokedUrlCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 301469B81034A0EB008103DA /* InvokedUrlCommand.m */; }; 303554C1100E56B7002C5EC0 /* Camera.m in Sources */ = {isa = PBXBuildFile; fileRef = 303554C0100E56B7002C5EC0 /* Camera.m */; }; 30355582100E7477002C5EC0 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 30355581100E7477002C5EC0 /* NSData+Base64.m */; }; 30C531981020E3B20017260B /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 30C531971020E3B20017260B /* Reachability.m */; }; @@ -70,6 +71,8 @@ 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../main.m; sourceTree = ""; }; + 301469B71034A0EB008103DA /* InvokedUrlCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvokedUrlCommand.h; sourceTree = ""; }; + 301469B81034A0EB008103DA /* InvokedUrlCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InvokedUrlCommand.m; sourceTree = ""; }; 3023AB3D0FCB6FC40012AC33 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; 303554BF100E56B7002C5EC0 /* Camera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Camera.h; sourceTree = ""; }; 303554C0100E56B7002C5EC0 /* Camera.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Camera.m; sourceTree = ""; }; @@ -149,6 +152,8 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 301469B71034A0EB008103DA /* InvokedUrlCommand.h */, + 301469B81034A0EB008103DA /* InvokedUrlCommand.m */, 29B97316FDCFA39411CA2CEA /* main.m */, 1D3623240D0F684500981E51 /* PhoneGapDelegate.h */, 1D3623250D0F684500981E51 /* PhoneGapDelegate.m */, @@ -387,6 +392,7 @@ 30355582100E7477002C5EC0 /* NSData+Base64.m in Sources */, 30C531981020E3B20017260B /* Reachability.m in Sources */, 30C5319B1020E3CF0017260B /* Network.m in Sources */, + 301469B91034A0EB008103DA /* InvokedUrlCommand.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 35c3bea73537bd0ccb872bc0167dce9116a6f20b Mon Sep 17 00:00:00 2001 From: shazron Date: Thu, 13 Aug 2009 16:22:16 -0700 Subject: [PATCH 08/80] Removed unncessary retain. --- iphone/Classes/Movie.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iphone/Classes/Movie.m b/iphone/Classes/Movie.m index c8e12ed3..740fce33 100755 --- a/iphone/Classes/Movie.m +++ b/iphone/Classes/Movie.m @@ -81,7 +81,7 @@ - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification - object:[theMovie retain]]; + object:theMovie]; // Movie playback is asynchronous, so this method returns immediately. [theMovie play]; From b0da6167e1b60f2ee60bdfa344d0d2fcb61a1779 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Thu, 13 Aug 2009 18:28:19 -0700 Subject: [PATCH 09/80] Updated Contacts to work with PhoneGap BlackBerry. Following Shazrons lead on the JS API for the contacts with respect to parameters. --- .../src/com/nitobi/phonegap/PhoneGap.java | 41 ++++++ .../phonegap/api/impl/ContactsCommand.java | 127 +++++++++++++++--- blackberry/src/www/js/contacts.js | 49 ++++--- blackberry/src/www/test/contacts.html | 36 +++-- 4 files changed, 206 insertions(+), 47 deletions(-) diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index 06d3b3fb..51759eb1 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -285,4 +285,45 @@ public void invokeRunnable(Runnable runnable) { (new Thread(runnable)).start(); } + public static final String[] splitString(final String data, final char splitChar, final boolean allowEmpty) + { + Vector v = new Vector(); + + int indexStart = 0; + int indexEnd = data.indexOf(splitChar); + if (indexEnd != -1) + { + while (indexEnd != -1) + { + String s = data.substring(indexStart, indexEnd); + if (allowEmpty || s.length() > 0) + { + v.addElement(s); + } + indexStart = indexEnd + 1; + indexEnd = data.indexOf(splitChar, indexStart); + } + + if (indexStart != data.length()) + { + // Add the rest of the string + String s = data.substring(indexStart); + if (allowEmpty || s.length() > 0) + { + v.addElement(s); + } + } + } + else + { + if (allowEmpty || data.length() > 0) + { + v.addElement(data); + } + } + + String[] result = new String[v.size()]; + v.copyInto(result); + return result; + } } diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java index 23323dc7..93ce1129 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java @@ -23,6 +23,7 @@ package com.nitobi.phonegap.api.impl; import java.util.Enumeration; +import java.util.Hashtable; import javax.microedition.pim.Contact; import javax.microedition.pim.PIM; @@ -30,22 +31,23 @@ import net.rim.blackberry.api.pdap.BlackBerryContact; import net.rim.blackberry.api.pdap.BlackBerryContactList; +import com.nitobi.phonegap.PhoneGap; import com.nitobi.phonegap.api.Command; /** * Finds data in agenda. * * @author Jose Noheda + * @author Fil Maj * */ public class ContactsCommand implements Command { private static final int SEARCH_COMMAND = 0; - private static final String CODE = "gap://contacts"; + private static final int GET_ALL_COMMAND = 1; + private static final String CODE = "PhoneGap=contacts"; + private static final String CONTACT_MANAGER_JS_NAMESPACE = "navigator.ContactManager"; - /** - * Able to run the call command. Ex: gap://contacts/search/name/Joe - */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); } @@ -54,39 +56,120 @@ public boolean accept(String instruction) { * Invokes internal phone application. */ public String execute(String instruction) { + Hashtable options = ContactsCommand.parseParameters(instruction); switch (getCommand(instruction)) { case SEARCH_COMMAND: - return "navigator.ContactManager.contacts = navigator.ContactManager.contacts.concat(" + getAgendaByName("Joe") + ");"; + return getAgenda(options); + case GET_ALL_COMMAND: + return getAgenda(options); } return null; } - + /** + * + * @param instruction + * @return + */ + private static Hashtable parseParameters(String instruction) { + String[] params = PhoneGap.splitString(instruction, '/', false); + int numParams = params.length; + Hashtable hash = new Hashtable(); + for (int i = 0; i < numParams; i++) { + String curParam = params[i]; + if (curParam.indexOf(':') == -1) continue; + String[] key_value = PhoneGap.splitString(curParam, ':', false); + if (key_value.length < 2) continue; + String key = key_value[0]; + String value = key_value[1]; + hash.put(key, value); + } + return hash; + } private int getCommand(String instruction) { - String command = instruction.substring(instruction.substring(7).indexOf('/') + 1); - if (command.indexOf("search") > 0) return SEARCH_COMMAND; + String command = instruction.substring(instruction.indexOf('/') + 1); + if (command.startsWith("search")) return SEARCH_COMMAND; + if (command.startsWith("getall")) return GET_ALL_COMMAND; return -1; } - - private String getAgendaByName(String name) { + /** + * Returns a contact list, either all contacts or contacts matching the optional search parameter. + * @param options A hash of options to pass into retrieving contacts. These can include name filters and paging parameters. + * @return JSON string representing the contacts that are retrieved. + */ + private String getAgenda(Hashtable options) { + String callbackHook = ""; try { BlackBerryContactList agenda = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY); + StringBuffer contacts = new StringBuffer("["); if (agenda != null) { - StringBuffer contacts = new StringBuffer("["); - Enumeration matches = agenda.itemsByName(name); - while (matches.hasMoreElements()) { - BlackBerryContact contact = (BlackBerryContact) matches.nextElement(); - contacts.append("{email:'"); - contacts.append(contact.getString(Contact.EMAIL, 0)); - contacts.append("', phone:'"); - contacts.append(contact.getString(Contact.TEL, 0)); - contacts.append("'},"); + Enumeration matches; + String name = options.get("nameFilter")!=null?options.get("nameFilter").toString():""; + if (name != "") { + matches = agenda.itemsByName(name); + callbackHook = "search_"; + } else { + matches = agenda.items(); + callbackHook = "global_"; + } + int pageSize = 0, pageNumber = 0; + if (options.contains("pageSize")) pageSize = Integer.parseInt(options.get("pageSize").toString()); + if (options.contains("pageNumber")) pageNumber = Integer.parseInt(options.get("pageNumber").toString()); + if (pageSize > 0) { + for (int i = 0; i < pageSize*pageNumber && matches.hasMoreElements(); i++) { + matches.nextElement(); + } + for (int j = 0; j < pageSize && matches.hasMoreElements(); j++) { + BlackBerryContact contact = (BlackBerryContact)matches.nextElement(); + ContactsCommand.addContactToBuffer(contacts, contact); + contacts.append(','); + } + } else { + while (matches.hasMoreElements()) { + BlackBerryContact contact = (BlackBerryContact)matches.nextElement(); + ContactsCommand.addContactToBuffer(contacts, contact); + contacts.append(','); + } } - return contacts.deleteCharAt(contacts.length() - 1).append("]").toString(); + if (contacts.length() > 1) contacts = contacts.deleteCharAt(contacts.length() - 1); + contacts.append("];"); + // Return an assignment to the contact manager contacts array with the contacts JSON generated above. + // Also call the right onSuccess if it exists. + return ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess() };"; + } else { + // TODO: If cannot get reference to Agenda, should the error or success callback be called? + return contacts.append("];").toString(); } } catch (Exception ex) { System.out.println("Exception getting contact list: " + ex.getMessage()); + return "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError() };"; } - return null; } - + private static void addContactToBuffer(StringBuffer buff, BlackBerryContact contact) { + buff.append("{email:'"); + buff.append(contact.getString(Contact.EMAIL, 0)); + buff.append("', phone:'"); + buff.append(contact.getString(Contact.TEL, 0)); + buff.append("', name:'"); + String displayName = ""; + // See if there is a meaningful name set for the contact. + if (contact.countValues(Contact.NAME) > 0) { + final String[] name = contact.getStringArray(Contact.NAME, 0); + final String firstName = name[Contact.NAME_GIVEN]; + final String lastName = name[Contact.NAME_FAMILY]; + if (firstName != null && lastName != null) { + displayName = firstName + " " + lastName; + } else if (firstName != null) { + displayName = firstName; + } else if (lastName != null) { + displayName = lastName; + } + if (displayName != "") { + final String namePrefix = name[Contact.NAME_PREFIX]; + if (namePrefix != null) { + displayName = namePrefix + " " + displayName; + } + } + } + buff.append(displayName + "'}"); + } } diff --git a/blackberry/src/www/js/contacts.js b/blackberry/src/www/js/contacts.js index d20e207b..bdb2aeda 100644 --- a/blackberry/src/www/js/contacts.js +++ b/blackberry/src/www/js/contacts.js @@ -6,26 +6,45 @@ function Contact() { this.name = ""; this.phone = ""; this.address = ""; + this.email = ""; } -/** - * - * @param {Object} successCallback - * @param {Object} errorCallback - * @param {Object} options - */ -Contact.prototype.get = function(successCallback, errorCallback, options) { - -} - - function ContactManager() { this.contacts = []; - this.timestap = new Date().getTime(); + this.timestamp = new Date().getTime(); + // Options used when calling ContactManager functions. + this.options = { + 'pageSize':0, + 'pageNumber':0, + 'nameFilter':'' + }; } - -ContactManager.prototype.get = function(successCallback, errorCallback, options) { - Device.exec("contacts", [options.operation, options.field, options.value], true); +ContactManager.prototype.formParams = function(options, startArray) { + var params = []; + if (startArray) params = startArray; + if (options.pageSize && options.pageSize > 0) params.push("pageSize:" + options.pageSize); + if (options.pageNumber) params.push("pageNumber:" + options.pageNumber); + if (options.nameFilter) params.push("nameFilter:" + options.nameFilter); + return params; +} +ContactManager.prototype.displayContact = function(successCallback, errorCallback, options) { + if (options.nameFilter && options.nameFilter.length > 0) { + var params = ["search"]; + params = this.formParams(options,params); + this.search_onSuccess = successCallback; + this.search_onError = errorCallback; + device.exec("contacts", params, true); + } else { + ContactManager.getAllContacts(successCallback,errorCallback,options); + return; + } +} +ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + this.global_onSuccess = successCallback; + this.global_onError = errorCallback; + var params = ["getall"]; + params = this.formParams(options,params); + device.exec("contacts", params, true); } if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); \ No newline at end of file diff --git a/blackberry/src/www/test/contacts.html b/blackberry/src/www/test/contacts.html index ffd1626e..2a015397 100644 --- a/blackberry/src/www/test/contacts.html +++ b/blackberry/src/www/test/contacts.html @@ -3,22 +3,38 @@ -

    Add a contact with name Joe first

    -
    -

    Find Joe in contacts

    +

    Find Joe in contacts

    +
    +

    Get first contact in address book




    From f8c13fbb8232b6fc8f658cb62a47be5683527ab9 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Thu, 13 Aug 2009 18:32:17 -0700 Subject: [PATCH 10/80] Updated BB gitignore --- blackberry/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/blackberry/.gitignore b/blackberry/.gitignore index ba0085c4..e457492f 100644 --- a/blackberry/.gitignore +++ b/blackberry/.gitignore @@ -1,5 +1,4 @@ .tmp .settings bin/* -phonegap.* .project.old \ No newline at end of file From 96c1e41a1fae90a2f1c8dcad691b360ce67420f4 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Fri, 14 Aug 2009 10:50:22 -0700 Subject: [PATCH 11/80] Updated BlackBerry PhoneGap project file (phonegap.jdp), added a test CSS file, fixed stylesheet retrieval and injection (css works now). --- blackberry/phonegap.jdp | 74 ++++--------------- .../nitobi/phonegap/io/ConnectionManager.java | 12 ++- blackberry/src/www/css/test.css | 1 + blackberry/src/www/test/index.html | 1 + 4 files changed, 24 insertions(+), 64 deletions(-) create mode 100644 blackberry/src/www/css/test.css diff --git a/blackberry/phonegap.jdp b/blackberry/phonegap.jdp index 5ed95231..24d5375c 100644 --- a/blackberry/phonegap.jdp +++ b/blackberry/phonegap.jdp @@ -21,80 +21,35 @@ AutoRestart=0 ] ExcludeFromBuildAll=0 [Files -..\..\..\..\workspace_blackberry\phonegap\src\0.png -..\..\..\..\workspace_blackberry\phonegap\src\1.png -..\..\..\..\workspace_blackberry\phonegap\src\2.png -..\..\..\..\workspace_blackberry\phonegap\src\3.png -..\..\..\..\workspace_blackberry\phonegap\src\4.png -..\..\..\..\workspace_blackberry\phonegap\src\5.png -..\..\..\..\workspace_blackberry\phonegap\src\camera.html -..\..\..\..\workspace_blackberry\phonegap\src\camera.js -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\Command.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\CommandManager.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\CameraCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\ContactsCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\GeoLocationCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\InitializationCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\TelephonyCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\api\impl\VibrationCommand.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\io\AsynchronousResourceFetcher.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\io\Callback.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\io\ConnectionManager.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\io\QueueResourceFetcher.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\model\Position.java -..\..\..\..\workspace_blackberry\phonegap\src\com\nitobi\phonegap\PhoneGap.java -..\..\..\..\workspace_blackberry\phonegap\src\contacts.html -..\..\..\..\workspace_blackberry\phonegap\src\contacts.js -..\..\..\..\workspace_blackberry\phonegap\src\device.html -..\..\..\..\workspace_blackberry\phonegap\src\device.js -..\..\..\..\workspace_blackberry\phonegap\src\geolocation.js -..\..\..\..\workspace_blackberry\phonegap\src\index.html -..\..\..\..\workspace_blackberry\phonegap\src\io.html -..\..\..\..\workspace_blackberry\phonegap\src\location.html -..\..\..\..\workspace_blackberry\phonegap\src\position.js -..\..\..\..\workspace_blackberry\phonegap\src\telephony.html -..\..\..\..\workspace_blackberry\phonegap\src\telephony.js -..\..\..\..\workspace_blackberry\phonegap\src\vibration.html -..\..\..\..\workspace_blackberry\phonegap\src\www\js\camera.js -..\..\..\..\workspace_blackberry\phonegap\src\www\js\contacts.js -..\..\..\..\workspace_blackberry\phonegap\src\www\js\device.js -..\..\..\..\workspace_blackberry\phonegap\src\www\js\geolocation.js -..\..\..\..\workspace_blackberry\phonegap\src\www\js\position.js -..\..\..\..\workspace_blackberry\phonegap\src\www\js\telephony.js -..\..\..\..\workspace_blackberry\phonegap\src\www\test\camera.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\contacts.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\device.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\0.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\1.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\2.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\3.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\4.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\images\5.png -..\..\..\..\workspace_blackberry\phonegap\src\www\test\index.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\io.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\location.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\telephony.html -..\..\..\..\workspace_blackberry\phonegap\src\www\test\vibration.html src\com\nitobi\phonegap\api\Command.java src\com\nitobi\phonegap\api\CommandManager.java src\com\nitobi\phonegap\api\impl\CameraCommand.java src\com\nitobi\phonegap\api\impl\ContactsCommand.java +src\com\nitobi\phonegap\api\impl\DeviceCommand.java src\com\nitobi\phonegap\api\impl\GeoLocationCommand.java -src\com\nitobi\phonegap\api\impl\InitializationCommand.java +src\com\nitobi\phonegap\api\impl\MediaCommand.java +src\com\nitobi\phonegap\api\impl\NotificationCommand.java src\com\nitobi\phonegap\api\impl\TelephonyCommand.java -src\com\nitobi\phonegap\api\impl\VibrationCommand.java src\com\nitobi\phonegap\io\AsynchronousResourceFetcher.java src\com\nitobi\phonegap\io\Callback.java src\com\nitobi\phonegap\io\ConnectionManager.java +src\com\nitobi\phonegap\io\HttpConnection.java +src\com\nitobi\phonegap\io\PrimaryResourceFetchThread.java src\com\nitobi\phonegap\io\QueueResourceFetcher.java +src\com\nitobi\phonegap\io\SecondaryResourceFetchThread.java src\com\nitobi\phonegap\model\Position.java src\com\nitobi\phonegap\PhoneGap.java +src\www\css\test.css src\www\js\camera.js src\www\js\contacts.js src\www\js\device.js src\www\js\geolocation.js +src\www\js\media.js +src\www\js\notification.js src\www\js\position.js src\www\js\telephony.js +src\www\media\bird.mp3 +src\www\media\percBass2.wav src\www\test\camera.html src\www\test\contacts.html src\www\test\device.html @@ -107,8 +62,9 @@ src\www\test\images\5.png src\www\test\index.html src\www\test\io.html src\www\test\location.html +src\www\test\media.html +src\www\test\notification.html src\www\test\telephony.html -src\www\test\vibration.html ] HaveAlxImports=0 HaveDefs=0 @@ -120,9 +76,8 @@ HaveImports=0 [Imports ] Listing=0 -MidletClass=data:///www/test/index.html Options=-quiet -OutputFileName=phonegap +OutputFileName=PhoneGapBB [PackageProtection ] RibbonPosition=0 @@ -131,6 +86,5 @@ RibbonPosition=0 RunOnStartup=0 StartupTier=7 SystemModule=0 -Title=PhoneGap Type=0 UserData=|src diff --git a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java index ddb44c5b..08d5a3ad 100644 --- a/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java +++ b/blackberry/src/com/nitobi/phonegap/io/ConnectionManager.java @@ -51,10 +51,12 @@ public final class ConnectionManager { public static final String DATA = "data"; public static final String DATA_PROTOCOL = DATA + ":///"; - private static final byte[] DATA_URL_HTML = (ConnectionManager.DATA + ":text/html;charset=utf-8;base64,").getBytes(); - private static final byte[] DATA_URL_JS = (ConnectionManager.DATA + ":text/javascript;charset=utf-8;base64,").getBytes(); - private static final byte[] DATA_URL_IMG_JPG = (ConnectionManager.DATA + ":image/jpeg;charset=utf-8;base64,").getBytes(); - private static final byte[] DATA_URL_PLAIN = (ConnectionManager.DATA + ":text/plain;charset=utf-8;base64,").getBytes(); + private static final String URI_SUFFIX = ";charset=utf-8;base64,"; + private static final byte[] DATA_URL_HTML = (ConnectionManager.DATA + ":text/html" + URI_SUFFIX).getBytes(); + private static final byte[] DATA_URL_JS = (ConnectionManager.DATA + ":text/javascript" + URI_SUFFIX).getBytes(); + private static final byte[] DATA_URL_IMG_JPG = (ConnectionManager.DATA + ":image/jpeg" + URI_SUFFIX).getBytes(); + private static final byte[] DATA_URL_CSS = (ConnectionManager.DATA + ":text/css" + URI_SUFFIX).getBytes(); + private static final byte[] DATA_URL_PLAIN = (ConnectionManager.DATA + ":text/plain" + URI_SUFFIX).getBytes(); /** * Creates a connection and returns it. Calling this method without care may saturate BB capacity. @@ -206,6 +208,8 @@ private static HttpConnection getDataProtocolConnection(String url) { output.write(ConnectionManager.DATA_URL_JS); } else if (dataUrl.endsWith(".jpg") || dataUrl.endsWith(".jpeg")) { output.write(ConnectionManager.DATA_URL_IMG_JPG); + } else if (dataUrl.endsWith(".css")) { + output.write(ConnectionManager.DATA_URL_CSS); } else { output.write(ConnectionManager.DATA_URL_PLAIN); } diff --git a/blackberry/src/www/css/test.css b/blackberry/src/www/css/test.css new file mode 100644 index 00000000..b851b995 --- /dev/null +++ b/blackberry/src/www/css/test.css @@ -0,0 +1 @@ +a { color:red; } \ No newline at end of file diff --git a/blackberry/src/www/test/index.html b/blackberry/src/www/test/index.html index ba3ed801..7d6af463 100644 --- a/blackberry/src/www/test/index.html +++ b/blackberry/src/www/test/index.html @@ -1,6 +1,7 @@ + Navigate to Internet (needs MDS)
    From f1583d5595608560a64a671ab75988c2ad62df88 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Fri, 14 Aug 2009 16:20:21 -0700 Subject: [PATCH 12/80] Updated telephony API calls - works now :) --- .../src/com/nitobi/phonegap/api/impl/TelephonyCommand.java | 5 +---- blackberry/src/www/js/telephony.js | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/TelephonyCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/TelephonyCommand.java index 958f4938..4ff40097 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/TelephonyCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/TelephonyCommand.java @@ -35,11 +35,8 @@ */ public class TelephonyCommand implements Command { - private static final String CODE = "gap://call"; + private static final String CODE = "PhoneGap=call"; - /** - * Able to run the call command. Ex: gap://call/555666777 - */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); } diff --git a/blackberry/src/www/js/telephony.js b/blackberry/src/www/js/telephony.js index 2ad33928..83a2616a 100644 --- a/blackberry/src/www/js/telephony.js +++ b/blackberry/src/www/js/telephony.js @@ -12,7 +12,7 @@ function Telephony() { */ Telephony.prototype.call = function(number) { this.number = number; - Device.exec("call", [this.number]); + device.exec("call", [this.number]); } if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); \ No newline at end of file From 97222790ce5476d3053e36d23f5d1824037f485e Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 17 Aug 2009 15:40:54 -0700 Subject: [PATCH 13/80] Updated Contacts, now has chooseContact method (which will invoke stock BlackBerry contact list chooser). --- .../phonegap/api/impl/CameraCommand.java | 11 ++--- .../phonegap/api/impl/ContactsCommand.java | 42 ++++++++++++++++--- blackberry/src/www/js/camera.js | 13 ++++-- blackberry/src/www/js/contacts.js | 6 +++ blackberry/src/www/test/contacts.html | 11 ++++- 5 files changed, 65 insertions(+), 18 deletions(-) diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/CameraCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/CameraCommand.java index 5ee18c01..b1be687c 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/CameraCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/CameraCommand.java @@ -35,7 +35,7 @@ import com.nitobi.phonegap.api.Command; /** - * Switchs current application to the camera to take a photo. + * Switches current application to the camera to take a photo. * * @author Jose Noheda * @@ -44,7 +44,8 @@ public class CameraCommand implements Command { private static final int INVOKE_COMMAND = 0; private static final int PICTURE_COMMAND = 1; - private static final String CODE = "gap://camera"; + private static final String CODE = "PhoneGap=camera"; + //private static final String private long lastUSN = 0; private String photoPath; @@ -70,10 +71,6 @@ public void fileJournalChanged() { } }; } - - /** - * Able to run the camera command. Ex: gap://camera/obtain - */ public boolean accept(String instruction) { return instruction != null && instruction.startsWith(CODE); } @@ -85,7 +82,7 @@ public String execute(String instruction) { switch (getCommand(instruction)) { case PICTURE_COMMAND: UiApplication.getUiApplication().removeFileSystemJournalListener(listener); - return "navigator.camera.picture = '" + photoPath + "'"; + return ";navigator.camera.picture = '" + photoPath + "';"; case INVOKE_COMMAND: photoPath = null; UiApplication.getUiApplication().addFileSystemJournalListener(listener); diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java index 93ce1129..8e5af38b 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java @@ -45,6 +45,7 @@ public class ContactsCommand implements Command { private static final int SEARCH_COMMAND = 0; private static final int GET_ALL_COMMAND = 1; + private static final int CHOOSE_COMMAND = 2; private static final String CODE = "PhoneGap=contacts"; private static final String CONTACT_MANAGER_JS_NAMESPACE = "navigator.ContactManager"; @@ -62,13 +63,41 @@ public String execute(String instruction) { return getAgenda(options); case GET_ALL_COMMAND: return getAgenda(options); + case CHOOSE_COMMAND: + return chooseContact(); } return null; } /** - * - * @param instruction - * @return + * Invokes the default BlackBerry contact chooser to allow the user to choose a contact. + * @return JSON representation of the chosen contact, which will then be sent back to JavaScript. + */ + private String chooseContact() { + try { + BlackBerryContactList agenda = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY); + BlackBerryContact blackberryContact; + StringBuffer contacts = new StringBuffer("["); + if (agenda != null) { + blackberryContact = (BlackBerryContact) agenda.choose(); + agenda.close(); + ContactsCommand.addContactToBuffer(contacts, blackberryContact); + contacts.append("];"); + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess();" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null; };"; + } else { + // TODO: If cannot get reference to Agenda, should the error or success callback be called? + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.append("];").toString() + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null;"; + } + } catch (Exception e) { + System.out.println("Exception getting contact list: " + e.getMessage()); + // TODO: No error callbacks associated with contact chooser - what to do? + } + return null; + } + + /** + * Parses the options object and returns a hash of params. + * @param instruction The cookie/string representation of the instruction. + * @return Hashtable */ private static Hashtable parseParameters(String instruction) { String[] params = PhoneGap.splitString(instruction, '/', false); @@ -89,6 +118,7 @@ private int getCommand(String instruction) { String command = instruction.substring(instruction.indexOf('/') + 1); if (command.startsWith("search")) return SEARCH_COMMAND; if (command.startsWith("getall")) return GET_ALL_COMMAND; + if (command.startsWith("choose")) return CHOOSE_COMMAND; return -1; } /** @@ -134,14 +164,14 @@ private String getAgenda(Hashtable options) { contacts.append("];"); // Return an assignment to the contact manager contacts array with the contacts JSON generated above. // Also call the right onSuccess if it exists. - return ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess() };"; + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess();" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess = null;" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError = null; };"; } else { // TODO: If cannot get reference to Agenda, should the error or success callback be called? - return contacts.append("];").toString(); + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.append("];").toString() + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess = null;" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError = null;"; } } catch (Exception ex) { System.out.println("Exception getting contact list: " + ex.getMessage()); - return "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError() };"; + return ";if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError();" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onSuccess = null;" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + "." + callbackHook + "onError = null; };"; } } private static void addContactToBuffer(StringBuffer buff, BlackBerryContact contact) { diff --git a/blackberry/src/www/js/camera.js b/blackberry/src/www/js/camera.js index 0ef78214..6eef7181 100644 --- a/blackberry/src/www/js/camera.js +++ b/blackberry/src/www/js/camera.js @@ -7,8 +7,8 @@ function Camera() { } Camera.prototype.launch = function () { - if (Device.hasCamera) Device.exec("camera", ["obtain"], true); - else alert("Camera not supported"); + if (device.hasCamera) device.exec("camera", ["obtain"], true); + else alert("Camera not supported on this device."); } /** @@ -18,8 +18,13 @@ Camera.prototype.launch = function () { * @param {Object} options */ Camera.prototype.getPicture = function(successCallback, errorCallback, options) { - if (Device.hasCamera) Device.exec("camera", ["picture"], true); - else alert("Camera not supported"); + if (device.hasCamera) { + if (successCallback) this.onSuccess = successCallback; + else this.onSuccess = null; + if (errorCallback) this.onError = errorCallback; + else this.onError = null; + device.exec("camera", ["picture"], true); + } else alert("Camera not supported"); } if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); \ No newline at end of file diff --git a/blackberry/src/www/js/contacts.js b/blackberry/src/www/js/contacts.js index bdb2aeda..43c585d3 100644 --- a/blackberry/src/www/js/contacts.js +++ b/blackberry/src/www/js/contacts.js @@ -46,5 +46,11 @@ ContactManager.prototype.getAllContacts = function(successCallback, errorCallbac params = this.formParams(options,params); device.exec("contacts", params, true); } +ContactManager.prototype.chooseContact = function(successCallback, options) { + this.choose_onSuccess = successCallback; + var params = ["choose"]; + params = this.formParams(options,params); + device.exec("contacts", params, true); +} if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); \ No newline at end of file diff --git a/blackberry/src/www/test/contacts.html b/blackberry/src/www/test/contacts.html index 2a015397..6e230fa1 100644 --- a/blackberry/src/www/test/contacts.html +++ b/blackberry/src/www/test/contacts.html @@ -29,6 +29,14 @@ }; navigator.ContactManager.getAllContacts(win,fail,options); } + function chooseContact() { + var options = {}; + var win = function() { + if (navigator.ContactManager.contacts.length > 0) alert('Found:\nname: ' + navigator.ContactManager.contacts[0].name + '\nemail: ' + navigator.ContactManager.contacts[0].email + '\nphone: ' + navigator.ContactManager.contacts[0].phone); + else alert("No contacts found."); + }; + navigator.ContactManager.chooseContact(win, options); + } @@ -36,7 +44,8 @@

    Get first contact in address book


    -
    +

    Use Contact Chooser to select a Contact

    +



    From ef25d3ffd905ee30a7b8900a53dfe0a0cc0f1122 Mon Sep 17 00:00:00 2001 From: Brock Whitten Date: Mon, 17 Aug 2009 17:32:40 -0700 Subject: [PATCH 14/80] updated gitignore files --- .gitignore | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 36522045..219b16f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ -android/default.properties -android/bin/* -android/gen/* \ No newline at end of file +.gitignore +.DS_Store +.*.sw? +*.cso +tmp/ +*.xcodeproj/* !*.xcodeproj/project.pbxproj +lib/iphone/phonegap-min.js +lib/iphone/phonegap.js From 04e2e6c7976f468151ddbee672d19bb0fd859805 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Fri, 21 Aug 2009 10:26:50 -0700 Subject: [PATCH 15/80] Updated JS for BlackBerry. --- javascripts/blackberry/geolocation.js | 104 +++++++++++++++++++------- 1 file changed, 75 insertions(+), 29 deletions(-) diff --git a/javascripts/blackberry/geolocation.js b/javascripts/blackberry/geolocation.js index 399ef9d6..99ba3b06 100644 --- a/javascripts/blackberry/geolocation.js +++ b/javascripts/blackberry/geolocation.js @@ -1,35 +1,81 @@ -Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { - document.cookie = 'bb_command={command:'+phonegap.LOCATION+'}'; - // Blackberry 4.5 does not let you use function pointers in setInterval. idiots. - geoSuccessCallback = successCallback; - geoErrorCallback = errorCallback; - geoOptions = options; - locationTimeout = window.setInterval('navigator.geolocation._getCurrentPosition()', 1000); +/** + * This class provides access to device GPS data. + * @constructor + */ +function Geolocation() { + /** + * Was the GPS started? + */ + this.started = false; + + /** + * The last known GPS position. + */ + this.lastPosition = null; +} + +/** + * Starts the GPS of the device + */ +Geolocation.prototype.start = function() { + if (this.started) { + alert("GPS already started"); + return; + } + device.exec("location", ["start"], true); +} + +/** + * Stops the GPS of the device + */ +Geolocation.prototype.stop = function() { + if (!this.started) { + alert("GPS not started"); + return; + } + if (this.locationTimeout) window.clearTimeout(this.locationTimeout); + device.exec("location", ["stop"], true); } -Geolocation.prototype._getCurrentPosition = function(successCallback, errorCallback, options) { - var cookies = document.cookie.split(';'); - for (var i=0; i Date: Fri, 21 Aug 2009 10:33:42 -0700 Subject: [PATCH 16/80] Added initial repository for Windows Mobile - only a couple of device functionalities work right now. Also updated JS for BlackBerry. --- javascripts/blackberry/camera.js | 30 +++++ javascripts/blackberry/contacts.js | 56 ++++++++++ javascripts/blackberry/device.js | 31 ++++++ javascripts/blackberry/media.js | 5 + javascripts/blackberry/notification.js | 8 ++ javascripts/blackberry/position.js | 72 ++++++++++++ javascripts/blackberry/telephony.js | 18 +++ winmo/Command.cs | 12 ++ winmo/CommandManager.cs | 30 +++++ winmo/InitializationCommand.cs | 148 +++++++++++++++++++++++++ winmo/Program.cs | 16 +++ winmo/WebForm.Designer.cs | 66 +++++++++++ winmo/WebForm.cs | 61 ++++++++++ winmo/WebForm.resx | 129 +++++++++++++++++++++ winmo/www/index.html | 28 +++++ winmo/www/js/device.js | 20 ++++ 16 files changed, 730 insertions(+) create mode 100644 javascripts/blackberry/camera.js create mode 100644 javascripts/blackberry/contacts.js create mode 100644 javascripts/blackberry/device.js create mode 100644 javascripts/blackberry/media.js create mode 100644 javascripts/blackberry/notification.js create mode 100644 javascripts/blackberry/position.js create mode 100644 javascripts/blackberry/telephony.js create mode 100644 winmo/Command.cs create mode 100644 winmo/CommandManager.cs create mode 100644 winmo/InitializationCommand.cs create mode 100644 winmo/Program.cs create mode 100644 winmo/WebForm.Designer.cs create mode 100644 winmo/WebForm.cs create mode 100644 winmo/WebForm.resx create mode 100644 winmo/www/index.html create mode 100644 winmo/www/js/device.js diff --git a/javascripts/blackberry/camera.js b/javascripts/blackberry/camera.js new file mode 100644 index 00000000..6eef7181 --- /dev/null +++ b/javascripts/blackberry/camera.js @@ -0,0 +1,30 @@ +/** + * This class provides access to the device camera. + * @constructor + */ +function Camera() { + this.picture = null; +} + +Camera.prototype.launch = function () { + if (device.hasCamera) device.exec("camera", ["obtain"], true); + else alert("Camera not supported on this device."); +} + +/** + * + * @param {Function} successCallback + * @param {Function} errorCallback + * @param {Object} options + */ +Camera.prototype.getPicture = function(successCallback, errorCallback, options) { + if (device.hasCamera) { + if (successCallback) this.onSuccess = successCallback; + else this.onSuccess = null; + if (errorCallback) this.onError = errorCallback; + else this.onError = null; + device.exec("camera", ["picture"], true); + } else alert("Camera not supported"); +} + +if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); \ No newline at end of file diff --git a/javascripts/blackberry/contacts.js b/javascripts/blackberry/contacts.js new file mode 100644 index 00000000..43c585d3 --- /dev/null +++ b/javascripts/blackberry/contacts.js @@ -0,0 +1,56 @@ +/** + * This class represents a Contact in the manager. + * @constructor + */ +function Contact() { + this.name = ""; + this.phone = ""; + this.address = ""; + this.email = ""; +} + +function ContactManager() { + this.contacts = []; + this.timestamp = new Date().getTime(); + // Options used when calling ContactManager functions. + this.options = { + 'pageSize':0, + 'pageNumber':0, + 'nameFilter':'' + }; +} +ContactManager.prototype.formParams = function(options, startArray) { + var params = []; + if (startArray) params = startArray; + if (options.pageSize && options.pageSize > 0) params.push("pageSize:" + options.pageSize); + if (options.pageNumber) params.push("pageNumber:" + options.pageNumber); + if (options.nameFilter) params.push("nameFilter:" + options.nameFilter); + return params; +} +ContactManager.prototype.displayContact = function(successCallback, errorCallback, options) { + if (options.nameFilter && options.nameFilter.length > 0) { + var params = ["search"]; + params = this.formParams(options,params); + this.search_onSuccess = successCallback; + this.search_onError = errorCallback; + device.exec("contacts", params, true); + } else { + ContactManager.getAllContacts(successCallback,errorCallback,options); + return; + } +} +ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + this.global_onSuccess = successCallback; + this.global_onError = errorCallback; + var params = ["getall"]; + params = this.formParams(options,params); + device.exec("contacts", params, true); +} +ContactManager.prototype.chooseContact = function(successCallback, options) { + this.choose_onSuccess = successCallback; + var params = ["choose"]; + params = this.formParams(options,params); + device.exec("contacts", params, true); +} + +if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); \ No newline at end of file diff --git a/javascripts/blackberry/device.js b/javascripts/blackberry/device.js new file mode 100644 index 00000000..dc25835d --- /dev/null +++ b/javascripts/blackberry/device.js @@ -0,0 +1,31 @@ +window.device = { + isIPhone: false, + isIPod: false, + isBlackBerry: true, + + init: function() { + this.exec("initialize"); + this.poll(function() { + device.available = typeof device.name == "string"; + }); + }, + exec: function(command, params, sync) { + if (device.available || command == "initialize") { + try { + var cookieCommand = "PhoneGap=" + command; + if (params) cookieCommand += "/" + params.join("/"); + document.cookie = cookieCommand; + if (sync) this.poll(); + } catch(e) { + console.log("Command '" + command + "' has not been executed, because of exception: " + e); + alert("Error executing command '" + command + "'.") + } + } else { + alert("Device not available YET - still loading."); + } + }, + poll: function(callback) { + eval(document.cookie + (callback ? ";callback();" : "")); + } +}; +window.device.init(); \ No newline at end of file diff --git a/javascripts/blackberry/media.js b/javascripts/blackberry/media.js new file mode 100644 index 00000000..58dc7752 --- /dev/null +++ b/javascripts/blackberry/media.js @@ -0,0 +1,5 @@ +navigator.media = { + playSound: function(media) { + window.device.exec("media",[media],true); + } +}; \ No newline at end of file diff --git a/javascripts/blackberry/notification.js b/javascripts/blackberry/notification.js new file mode 100644 index 00000000..f4092d9b --- /dev/null +++ b/javascripts/blackberry/notification.js @@ -0,0 +1,8 @@ +navigator.notification = { + vibrate: function(secs) { + window.device.exec("notification/vibrate",[secs]); + }, + beep: function(times) { + window.device.exec("notification/beep",[times]); + } +}; \ No newline at end of file diff --git a/javascripts/blackberry/position.js b/javascripts/blackberry/position.js new file mode 100644 index 00000000..685beeb7 --- /dev/null +++ b/javascripts/blackberry/position.js @@ -0,0 +1,72 @@ +/** + * This class contains position information. + * @param {Object} lat + * @param {Object} lng + * @param {Object} acc + * @param {Object} alt + * @param {Object} altacc + * @param {Object} head + * @param {Object} vel + * @constructor + */ +function Position(coords) { + this.coords = coords; + this.timestamp = new Date().getTime(); +} + +function Coordinates(lat, lng, alt, acc, head, vel) { + /** + * The latitude of the position. + */ + this.latitude = lat; + /** + * The longitude of the position, + */ + this.longitude = lng; + /** + * The accuracy of the position. + */ + this.accuracy = acc; + /** + * The altitude of the position. + */ + this.altitude = alt; + /** + * The direction the device is moving at the position. + */ + this.heading = head; + /** + * The velocity with which the device is moving at the position. + */ + this.speed = vel; +} + +/** + * This class specifies the options for requesting position data. + * @constructor + */ +function PositionOptions() { + /** + * Specifies the desired position accuracy. + */ + this.enableHighAccuracy = true; + /** + * The timeout after which if position data cannot be obtained the errorCallback + * is called. + */ + this.timeout = 10000; +} + +/** + * This class contains information about any GSP errors. + * @constructor + */ +function PositionError() { + this.code = null; + this.message = ""; +} + +PositionError.UNKNOWN_ERROR = 0; +PositionError.PERMISSION_DENIED = 1; +PositionError.POSITION_UNAVAILABLE = 2; +PositionError.TIMEOUT = 3; \ No newline at end of file diff --git a/javascripts/blackberry/telephony.js b/javascripts/blackberry/telephony.js new file mode 100644 index 00000000..83a2616a --- /dev/null +++ b/javascripts/blackberry/telephony.js @@ -0,0 +1,18 @@ +/** + * This class provides access to the telephony features of the device. + * @constructor + */ +function Telephony() { + this.number = null; +} + +/** + * Calls the specifed number. + * @param {Integer} number The number to be called. + */ +Telephony.prototype.call = function(number) { + this.number = number; + device.exec("call", [this.number]); +} + +if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); \ No newline at end of file diff --git a/winmo/Command.cs b/winmo/Command.cs new file mode 100644 index 00000000..85025515 --- /dev/null +++ b/winmo/Command.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace PhoneGap { + + public interface Command { + String execute(String instruction); + Boolean accept(String instruction); + } + +} diff --git a/winmo/CommandManager.cs b/winmo/CommandManager.cs new file mode 100644 index 00000000..f654f512 --- /dev/null +++ b/winmo/CommandManager.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace PhoneGap { + + class CommandManager { + + private Command[] commands = new Command[1]; + + public CommandManager() { + commands[0] = new InitializationCommand(); + //commands[1] = new MediaCommand(); + } + + public String processInstruction(String instruction) { + for (int index = 0; index < commands.Length; index++) { + Command command = (Command) commands[index]; + if (command.accept(instruction)) + try { + return command.execute(instruction); + } catch(Exception e) { + + } + } + return null; + } + } + +} diff --git a/winmo/InitializationCommand.cs b/winmo/InitializationCommand.cs new file mode 100644 index 00000000..f4ff1c3d --- /dev/null +++ b/winmo/InitializationCommand.cs @@ -0,0 +1,148 @@ +using System; +using System.Text; +using System.Runtime.InteropServices; +using System.ComponentModel; + +namespace PhoneGap +{ + + internal partial class PInvoke + { + private static Int32 FILE_DEVICE_HAL = 0x00000101; + private static Int32 FILE_ANY_ACCESS = 0x0; + private static Int32 METHOD_BUFFERED = 0x0; + private static Int32 IOCTL_HAL_GET_DEVICEID = ((FILE_DEVICE_HAL) << 16) | ((FILE_ANY_ACCESS) << 14) | ((21) << 2) | (METHOD_BUFFERED); + private const Int32 ERROR_NOT_SUPPORTED = 0x32; + private const Int32 ERROR_INSUFFICIENT_BUFFER = 0x7A; + + [DllImport("Coredll.dll", EntryPoint = "SystemParametersInfoW", CharSet = CharSet.Unicode)] + static extern int SystemParametersInfo4Strings(uint uiAction, uint uiParam, StringBuilder pvParam, uint fWinIni); + + public enum SystemParametersInfoActions : uint + { + SPI_GETPLATFORMTYPE = 257, // this is used elsewhere for Smartphone/PocketPC detection + SPI_GETOEMINFO = 258, + } + + public static string GetOemInfo() + { + StringBuilder oemInfo = new StringBuilder(50); + if (SystemParametersInfo4Strings((uint)SystemParametersInfoActions.SPI_GETOEMINFO, + (uint)oemInfo.Capacity, oemInfo, 0) == 0) + throw new Exception("Error getting OEM info."); + return oemInfo.ToString(); + } + [DllImport("coredll.dll", SetLastError = true)] + private static extern bool KernelIoControl(Int32 dwIoControlCode, + IntPtr lpInBuf, Int32 nInBufSize, byte[] lpOutBuf, + Int32 nOutBufSize, ref Int32 lpBytesReturned); + + public static string GetDeviceID() + { + // Initialize the output buffer to the size of a + // Win32 DEVICE_ID structure. + byte[] outbuff = new byte[20]; + Int32 dwOutBytes; + bool done = false; + + Int32 nBuffSize = outbuff.Length; + + // Set DEVICEID.dwSize to size of buffer. Some platforms look at + // this field rather than the nOutBufSize param of KernelIoControl + // when determining if the buffer is large enough. + BitConverter.GetBytes(nBuffSize).CopyTo(outbuff, 0); + dwOutBytes = 0; + + // Loop until the device ID is retrieved or an error occurs. + while (!done) + { + if (KernelIoControl(IOCTL_HAL_GET_DEVICEID, IntPtr.Zero, + 0, outbuff, nBuffSize, ref dwOutBytes)) + { + done = true; + } + else + { + int error = Marshal.GetLastWin32Error(); + switch (error) + { + case ERROR_NOT_SUPPORTED: + throw new NotSupportedException( + "IOCTL_HAL_GET_DEVICEID is not supported on this device", + new Win32Exception(error)); + + case ERROR_INSUFFICIENT_BUFFER: + + // The buffer is not big enough for the data. The + // required size is in the first 4 bytes of the output + // buffer (DEVICE_ID.dwSize). + nBuffSize = BitConverter.ToInt32(outbuff, 0); + outbuff = new byte[nBuffSize]; + + // Set DEVICEID.dwSize to size of buffer. Some + // platforms look at this field rather than the + // nOutBufSize param of KernelIoControl when + // determining if the buffer is large enough. + BitConverter.GetBytes(nBuffSize).CopyTo(outbuff, 0); + break; + + default: + throw new Win32Exception(error, "Unexpected error"); + } + } + } + + // Copy the elements of the DEVICE_ID structure. + Int32 dwPresetIDOffset = BitConverter.ToInt32(outbuff, 0x4); + Int32 dwPresetIDSize = BitConverter.ToInt32(outbuff, 0x8); + Int32 dwPlatformIDOffset = BitConverter.ToInt32(outbuff, 0xc); + Int32 dwPlatformIDSize = BitConverter.ToInt32(outbuff, 0x10); + StringBuilder sb = new StringBuilder(); + + for (int i = dwPresetIDOffset; + i < dwPresetIDOffset + dwPresetIDSize; i++) + { + sb.Append(String.Format("{0:X2}", outbuff[i])); + } + + sb.Append("-"); + + for (int i = dwPlatformIDOffset; + i < dwPlatformIDOffset + dwPlatformIDSize; i++) + { + sb.Append(String.Format("{0:X2}", outbuff[i])); + } + return sb.ToString(); + } + } + + internal partial class PlatformDetection + { + private const string MicrosoftEmulatorOemValue = "Microsoft DeviceEmulator"; + public static bool IsEmulator() + { + return PInvoke.GetOemInfo() == MicrosoftEmulatorOemValue; + } + } + + class InitializationCommand : Command + { + + #region Command Members + + Boolean Command.accept(String instruction) + { + return "/initialize".Equals(instruction); + } + + String Command.execute(string instruction) + { + string retVal = ";device.name = '" + PInvoke.GetOemInfo() + "';"; + retVal += "device.uuid = '" + PInvoke.GetDeviceID() + "';"; + return retVal; + } + + #endregion + } + +} diff --git a/winmo/Program.cs b/winmo/Program.cs new file mode 100644 index 00000000..69438e61 --- /dev/null +++ b/winmo/Program.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace PhoneGap { + + static class Program { + + [MTAThread] + static void Main() { + Application.Run(new WebForm()); + } + + } + +} \ No newline at end of file diff --git a/winmo/WebForm.Designer.cs b/winmo/WebForm.Designer.cs new file mode 100644 index 00000000..fac30d37 --- /dev/null +++ b/winmo/WebForm.Designer.cs @@ -0,0 +1,66 @@ +namespace PhoneGap +{ + partial class WebForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.SuspendLayout(); + // + // webBrowser + // + this.webBrowser.Dock = System.Windows.Forms.DockStyle.Fill; + this.webBrowser.Location = new System.Drawing.Point(0, 0); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.Size = new System.Drawing.Size(176, 200); + this.webBrowser.Navigating += new System.Windows.Forms.WebBrowserNavigatingEventHandler(this.webBrowser_Navigating); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // WebForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.AutoScroll = true; + this.ClientSize = new System.Drawing.Size(176, 200); + this.Controls.Add(this.webBrowser); + this.Name = "WebForm"; + this.Text = "WebForm"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.WebBrowser webBrowser; + private CommandManager commandManager; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + } +} \ No newline at end of file diff --git a/winmo/WebForm.cs b/winmo/WebForm.cs new file mode 100644 index 00000000..3e767fcc --- /dev/null +++ b/winmo/WebForm.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using System.IO; +using System.Reflection; + +namespace PhoneGap { + + public partial class WebForm : Form { + // TODO: Shouldn't create the HTML to display from resources all in memory. Should create a file and send html/js/css resources to the file. + // Less memory used. + public WebForm() { + // use this for certain file/audio i/o operations - grab embedded resources and add + // dynamically to the manifestmodule. Cool hack - thanks Ran! + //string s = Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName; + + InitializeComponent(); + commandManager = new CommandManager(); + webBrowser.ScriptErrorsSuppressed = false; + webBrowser.DocumentText = parseDataProtocol(readEmbedded("/www/index.html")); + } + + private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url.Host.Equals("gap.exec")) { + e.Cancel = true; + String res = commandManager.processInstruction(e.Url.AbsolutePath); + webBrowser.Navigate(new Uri("javascript:" + res + ";abc.x=1;//JS error!")); + } + } + private String readEmbedded(String fileName) + { + Assembly assembly = Assembly.GetExecutingAssembly(); + String path = assembly.GetName().Name + ".www." + (fileName.StartsWith("/www/") ? fileName.Substring(5) : fileName).Replace("/", "."); + Stream stream = assembly.GetManifestResourceStream(path); + StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("UTF-8")); + return reader.ReadToEnd(); + } + + private String parseDataProtocol(String documentText) { + string toMatch = "",position); + int scriptTagLength = endScript + "".Length - position; + String jsName = parsedText.Substring(0, endName - 2); + parsedText = documentText.Remove(position, scriptTagLength); + parsedText = parsedText.Insert(position, ""); + return parseDataProtocol(parsedText); + } + return documentText; + } + } + +} \ No newline at end of file diff --git a/winmo/WebForm.resx b/winmo/WebForm.resx new file mode 100644 index 00000000..8c326d74 --- /dev/null +++ b/winmo/WebForm.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + Pocket_PC + + + True + + \ No newline at end of file diff --git a/winmo/www/index.html b/winmo/www/index.html new file mode 100644 index 00000000..5f704326 --- /dev/null +++ b/winmo/www/index.html @@ -0,0 +1,28 @@ + + + + Nothing important + + + + + +

    This is an HTML page.


    + Show me the device model/name
    + Show me the device UUID
    + +
    +

    +
    +

    For more information, please visit www.phonegap.com.

    +

    PhoneGap source is available on GitHub (http://www.github.com/sintaxi/phonegap/tree).

    + + \ No newline at end of file diff --git a/winmo/www/js/device.js b/winmo/www/js/device.js new file mode 100644 index 00000000..021aa0d7 --- /dev/null +++ b/winmo/www/js/device.js @@ -0,0 +1,20 @@ +var device = { + init: function() { + this.exec("initialize"); + // For some reason, in WinMo v6.0, we need to delay setting device.available because device.name does not exist yet. + // A 10ms delay is sufficient for the variable to be visible. + setTimeout('device.available = typeof(device.name) == "string";',10); + }, + exec: function(command, params) { + if (device.available || command == "initialize") { + try { + var url = "http://gap.exec/" + command; + if (params) url += "/" + params.join("/"); + window.location.href = url; + } catch(e) { + console.log("Command '" + command + "' has not been executed, because of exception: " + e); + alert("Error executing command '" + command + "'."); + } + } + } +}; \ No newline at end of file From 17595eb2653d2f105c1c383297d57340208c7bbd Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Fri, 21 Aug 2009 11:38:49 -0700 Subject: [PATCH 17/80] Added basic media support (WAV and MP3 for now) and updated demo to reflect. --- winmo/CommandManager.cs | 4 +- winmo/MediaCommand.cs | 91 +++++++++++++++++++++++++++++++++++ winmo/www/index.html | 8 ++- winmo/www/js/media.js | 5 ++ winmo/www/media/applause.wav | Bin 0 -> 416868 bytes winmo/www/media/bird.mp3 | Bin 0 -> 65472 bytes 6 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 winmo/MediaCommand.cs create mode 100644 winmo/www/js/media.js create mode 100644 winmo/www/media/applause.wav create mode 100644 winmo/www/media/bird.mp3 diff --git a/winmo/CommandManager.cs b/winmo/CommandManager.cs index f654f512..5395767e 100644 --- a/winmo/CommandManager.cs +++ b/winmo/CommandManager.cs @@ -6,11 +6,11 @@ namespace PhoneGap { class CommandManager { - private Command[] commands = new Command[1]; + private Command[] commands = new Command[2]; public CommandManager() { commands[0] = new InitializationCommand(); - //commands[1] = new MediaCommand(); + commands[1] = new MediaCommand(); } public String processInstruction(String instruction) { diff --git a/winmo/MediaCommand.cs b/winmo/MediaCommand.cs new file mode 100644 index 00000000..a36990e4 --- /dev/null +++ b/winmo/MediaCommand.cs @@ -0,0 +1,91 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Reflection; +using System.Runtime.InteropServices; + +namespace PhoneGap +{ + // Need to invoke unmanaged mobile native code from .NET to play sounds. Woot! + internal partial class PInvoke + { + private static IntPtr hSound = IntPtr.Zero; // Pointer/handle of currently-playing sound. + const int SND_SCOPE_PROCESS = 0x1; + private enum Flags + { + SND_SYNC = 0x0000, /* play synchronously (default) */ + SND_ASYNC = 0x0001, /* play asynchronously */ + SND_NODEFAULT = 0x0002, /* silence (!default) if sound not found */ + SND_MEMORY = 0x0004, /* pszSound points to a memory file */ + SND_LOOP = 0x0008, /* loop the sound until next sndPlaySound */ + SND_NOSTOP = 0x0010, /* don't stop any currently playing sound */ + SND_NOWAIT = 0x00002000, /* don't wait if the driver is busy */ + SND_ALIAS = 0x00010000, /* name is a registry alias */ + SND_ALIAS_ID = 0x00110000, /* alias is a predefined ID */ + SND_FILENAME = 0x00020000, /* name is file name */ + SND_RESOURCE = 0x00040004 /* name is resource name or atom */ + } + + + [DllImport("aygshell.dll")] + static extern uint SndOpen(string pszSoundFile, ref IntPtr phSound); + + [DllImport("aygshell.dll")] + static extern uint SndPlayAsync(IntPtr hSound, uint dwFlags); + + [DllImport("aygshell.dll")] + static extern uint SndClose(IntPtr hSound); + + [DllImport("aygshell.dll")] + static extern uint SndStop(int SoundScope, IntPtr hSound); + public static bool PlaySound(string path) + { + if (File.Exists(path)) + { + SndOpen(path, ref hSound); + SndPlayAsync(hSound, 0); + return true; + } + else return false; + } + public static void StopSound() + { + SndClose(hSound); + SndStop(SND_SCOPE_PROCESS, hSound); + hSound = IntPtr.Zero; + } + } + class MediaCommand : Command + { + private string soundFileName = ""; + private string soundExtension = ""; + Boolean Command.accept(String instruction) + { + Boolean retVal = false; + if (instruction.StartsWith("/media")) + { + int firstSlash = instruction.IndexOf('/',5); + soundFileName = instruction.Substring(firstSlash); + soundExtension = soundFileName.Substring(soundFileName.LastIndexOf('.')); + // TODO: Test what other sound file types work. + switch (soundExtension) + { + case ".wav": + case ".mp3": + retVal = true; + break; + } + } + return retVal; + } + String Command.execute(String instruction) + { + Assembly assembly = Assembly.GetExecutingAssembly(); + string path = "\\Program Files\\" + assembly.GetName().Name + "\\" + soundFileName.Substring(1).Replace("/","\\"); + if (PInvoke.PlaySound(path)) return ""; + else return ";alert(\"[PhoneGap Error] Could not find sound file with path '" + path + "'.\");"; + } + } +} diff --git a/winmo/www/index.html b/winmo/www/index.html index 5f704326..94ce2c35 100644 --- a/winmo/www/index.html +++ b/winmo/www/index.html @@ -9,16 +9,20 @@ document.getElementById('resultText').innerText = newText; } function playApplause() { - media.playSound('data:///www/media/applause.wav'); + media.playSound('www/media/applause.wav'); showLabel('CLAP CLAP CLAP!'); } + function playBirds() { + media.playSound('www/media/bird.mp3'); + }

    This is an HTML page.


    Show me the device model/name
    Show me the device UUID
    - + Play applause
    + Play birds


    diff --git a/winmo/www/js/media.js b/winmo/www/js/media.js new file mode 100644 index 00000000..e3792d13 --- /dev/null +++ b/winmo/www/js/media.js @@ -0,0 +1,5 @@ +var media = { + playSound: function(filename) { + device.exec("media",[filename]); + } +}; \ No newline at end of file diff --git a/winmo/www/media/applause.wav b/winmo/www/media/applause.wav new file mode 100644 index 0000000000000000000000000000000000000000..56d29afba6b01a317133f601285a7fbec32a5fac GIT binary patch literal 416868 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

    &7v2YI?uM?@}1 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⪙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

    #C{!X&P;eHBuMgUz7%9VWKzZ~{zW&Vq~Y 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

    y0kO`>aZiPk~g|*K5 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 N*#C Date: Sat, 22 Aug 2009 17:45:34 -0700 Subject: [PATCH 18/80] resolved conflict in android/assets/www/phonegap.js file --- Makefile | 1 - android/assets/www/phonegap.js | 2461 +++++++++++++++----------------- 2 files changed, 1141 insertions(+), 1321 deletions(-) diff --git a/Makefile b/Makefile index 59517d0d..7eb398ba 100644 --- a/Makefile +++ b/Makefile @@ -114,7 +114,6 @@ android: lib/android/phonegap-min.js lib/android/phonegap-min.js: lib/android/phonegap.js $(JAVA) -jar util/yuicompressor-2.4.2.jar --charset UTF-8 -o $@ lib/android/phonegap.js -<<<<<<< HEAD:Makefile lib/android/phonegap.js: javascripts/phonegap.js.base javascripts/acceleration.js javascripts/accelerometer.js javascripts/camera.js javascripts/contact.js javascripts/debugconsole.js javascripts/device.js javascripts/file.js javascripts/geolocation.js javascripts/map.js javascripts/media.js javascripts/notification.js javascripts/orientation.js javascripts/position.js javascripts/sms.js javascripts/telephony.js javascripts/uicontrols.js javascripts/android/device.js javascripts/android/geolocation.js javascripts/android/notification.js javascripts/android/camera.js $(MKPATH) lib/android $(RM_F) $@ diff --git a/android/assets/www/phonegap.js b/android/assets/www/phonegap.js index 8f246d3f..906a585a 100644 --- a/android/assets/www/phonegap.js +++ b/android/assets/www/phonegap.js @@ -1,1335 +1,1156 @@ -if (typeof(DeviceInfo) != 'object') - DeviceInfo = {}; - -/** - * This represents the PhoneGap API itself, and provides a global namespace for accessing - * information about the state of PhoneGap. - * @class - */ -PhoneGap = { - queue: { - ready: true, - commands: [], - timer: null - }, - _constructors: [] -}; - -/** - * Boolean flag indicating if the PhoneGap API is available and initialized. - */ -PhoneGap.available = DeviceInfo.uuid != undefined; - -/** - * Add an initialization function to a queue that ensures it will run and initialize - * application constructors only once PhoneGap has been initialized. - * @param {Function} func The function callback you want run once PhoneGap is initialized - */ -PhoneGap.addConstructor = function(func) { - var state = document.readyState; - if (state != 'loaded' && state != 'complete') - PhoneGap._constructors.push(func); - else - func(); -}; -(function() { - var timer = setInterval(function() { - var state = document.readyState; - if (state != 'loaded' && state != 'complete') - return; - clearInterval(timer); - while (PhoneGap._constructors.length > 0) { - var constructor = PhoneGap._constructors.shift(); - try { - constructor(); - } catch(e) { - if (typeof(debug['log']) == 'function') - debug.log("Failed to run constructor: " + debug.processMessage(e)); - else - alert("Failed to run constructor: " + e.message); + + /** + * this represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ + function Device() { + this.available = PhoneGap.available; + this.platform = null; + this.version = null; + this.name = null; + this.gap = null; + this.uuid = null; + try { + if (window.DroidGap) { + this.available = true; + this.uuid = window.DroidGap.getUuid(); + this.version = window.DroidGap.getOSVersion(); + this.gapVersion = window.DroidGap.getVersion(); + this.platform = window.DroidGap.getPlatform(); + this.name = window.DroidGap.getProductName(); + } else { + this.platform = DeviceInfo.platform; + this.version = DeviceInfo.version; + this.name = DeviceInfo.name; + this.gap = DeviceInfo.gap; + this.uuid = DeviceInfo.uuid; } + } catch(e) { + this.available = false; } - }, 1); -})(); - - -/** - * Execute a PhoneGap command in a queued fashion, to ensure commands do not - * execute with any race conditions, and only run when PhoneGap is ready to - * recieve them. - * @param {String} command Command to be run in PhoneGap, e.g. "ClassName.method" - * @param {String[]} [args] Zero or more arguments to pass to the method - */ -PhoneGap.exec = function() { - PhoneGap.queue.commands.push(arguments); - if (PhoneGap.queue.timer == null) - PhoneGap.queue.timer = setInterval(PhoneGap.run_command, 10); -}; -/** - * Internal function used to dispatch the request to PhoneGap. This needs to be implemented per-platform to - * ensure that methods are called on the phone in a way appropriate for that device. - * @private - */ -PhoneGap.run_command = function() { -}; - -/** - * This class contains acceleration information - * @constructor - * @param {Number} x The force applied by the device in the x-axis. - * @param {Number} y The force applied by the device in the y-axis. - * @param {Number} z The force applied by the device in the z-axis. - */ -function Acceleration(x, y, z) { - /** - * The force applied by the device in the x-axis. - */ - this.x = x; - /** - * The force applied by the device in the y-axis. - */ - this.y = y; - /** - * The force applied by the device in the z-axis. - */ - this.z = z; - /** - * The time that the acceleration was obtained. - */ - this.timestamp = new Date().getTime(); -} - -/** - * This class specifies the options for requesting acceleration data. - * @constructor - */ -function AccelerationOptions() { - /** - * The timeout after which if acceleration data cannot be obtained the errorCallback - * is called. - */ - this.timeout = 10000; -} -/** - * This class provides access to device accelerometer data. - * @constructor - */ -function Accelerometer() { - /** - * The last known acceleration. - */ - this.lastAcceleration = null; -} - -/** - * Asynchronously aquires the current acceleration. - * @param {Function} successCallback The function to call when the acceleration - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the acceleration data. - * @param {AccelerationOptions} options The options for getting the accelerometer data - * such as timeout. - */ -Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) { - // If the acceleration is available then call success - // If the acceleration is not available then call error - - // Created for iPhone, Iphone passes back _accel obj litteral - if (typeof successCallback == "function") { - var accel = new Acceleration(_accel.x,_accel.y,_accel.z); - Accelerometer.lastAcceleration = accel; - successCallback(accel); - } -} - -/** - * Asynchronously aquires the acceleration repeatedly at a given interval. - * @param {Function} successCallback The function to call each time the acceleration - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the acceleration data. - * @param {AccelerationOptions} options The options for getting the accelerometer data - * such as timeout. - */ - -Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) { - this.getCurrentAcceleration(successCallback, errorCallback, options); - // TODO: add the interval id to a list so we can clear all watches - var frequency = (options != undefined)? options.frequency : 10000; - return setInterval(function() { - navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options); - }, frequency); -} - -/** - * Clears the specified accelerometer watch. - * @param {String} watchId The ID of the watch returned from #watchAcceleration. - */ -Accelerometer.prototype.clearWatch = function(watchId) { - clearInterval(watchId); -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer(); -}); -/** - * This class provides access to the device camera. - * @constructor - */ -function Camera() { - -} - -/** - * - * @param {Function} successCallback - * @param {Function} errorCallback - * @param {Object} options - */ -Camera.prototype.getPicture = function(successCallback, errorCallback, options) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); -}); -/** - * This class provides access to the device contacts. - * @constructor - */ - -function Contact(jsonObject) { - this.firstName = ""; - this.lastName = ""; - this.phoneNumber = ""; - this.address = ""; -} - -Contact.prototype.displayName = function() -{ - // TODO: can be tuned according to prefs - return this.firstName + " " + this.lastName; -} - -function ContactManager() { - // Dummy object to hold array of contacts - this.contacts = []; - this.timestamp = new Date().getTime(); -} - -ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { - // Interface -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); -}); -/** - * This class provides access to the debugging console. - * @constructor - */ -function DebugConsole() { -} - -/** - * Utility function for rendering and indenting strings, or serializing - * objects to a string capable of being printed to the console. - * @param {Object|String} message The string or object to convert to an indented string - * @private - */ -DebugConsole.prototype.processMessage = function(message) { - if (typeof(message) != 'object') { - return message; - } else { - /** - * @function - * @ignore - */ - function indent(str) { - return str.replace(/^/mg, " "); - } - /** - * @function - * @ignore - */ - function makeStructured(obj) { - var str = ""; - for (var i in obj) { - try { - if (typeof(obj[i]) == 'object') { - str += i + ":\n" + indent(makeStructured(obj[i])) + "\n"; - } else { - str += i + " = " + indent(String(obj[i])).replace(/^ /, "") + "\n"; + } + + PhoneGap.addConstructor(function() { + navigator.device = window.device = new Device(); + }); + + + + + + + /** + * This class contains acceleration information + * @constructor + * @param {Number} x The force applied by the device in the x-axis. + * @param {Number} y The force applied by the device in the y-axis. + * @param {Number} z The force applied by the device in the z-axis. + */ + function Acceleration(x, y, z) { + /** + * The force applied by the device in the x-axis. + */ + this.x = x; + /** + * The force applied by the device in the y-axis. + */ + this.y = y; + /** + * The force applied by the device in the z-axis. + */ + this.z = z; + /** + * The time that the acceleration was obtained. + */ + this.timestamp = new Date().getTime(); + } + + /** + * This class specifies the options for requesting acceleration data. + * @constructor + */ + function AccelerationOptions() { + /** + * The timeout after which if acceleration data cannot be obtained the errorCallback + * is called. + */ + this.timeout = 10000; + } + + + + /** + * This class provides access to device accelerometer data. + * @constructor + */ + function Accelerometer() { + /** + * The last known acceleration. + */ + this.lastAcceleration = null; + } + + /** + * Asynchronously aquires the current acceleration. + * @param {Function} successCallback The function to call when the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ + Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) { + // If the acceleration is available then call success + // If the acceleration is not available then call error + + // Created for iPhone, Iphone passes back _accel obj litteral + if (typeof successCallback == "function") { + var accel = new Acceleration(_accel.x,_accel.y,_accel.z); + Accelerometer.lastAcceleration = accel; + successCallback(accel); + } + } + + /** + * Asynchronously aquires the acceleration repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ + + Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) { + this.getCurrentAcceleration(successCallback, errorCallback, options); + // TODO: add the interval id to a list so we can clear all watches + var frequency = (options != undefined)? options.frequency : 10000; + return setInterval(function() { + navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options); + }, frequency); + } + + /** + * Clears the specified accelerometer watch. + * @param {String} watchId The ID of the watch returned from #watchAcceleration. + */ + Accelerometer.prototype.clearWatch = function(watchId) { + clearInterval(watchId); + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer(); + }); + + + + // Need to define these for android + _accel = {} + _accel.x = 0; + _accel.y = 0; + _accel.z = 0; + + function gotAccel(x, y, z) + { + _accel.x = x; + _accel.y = y; + _accel.z = z; + } + + /** + * This class provides access to device accelerometer data. + * @constructor + */ + function Accelerometer() { + /** + * The last known acceleration. + */ + this.lastAcceleration = null; + } + + /** + * Asynchronously aquires the current acceleration. + * @param {Function} successCallback The function to call when the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ + Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) { + // If the acceleration is available then call success + // If the acceleration is not available then call error + + // Created for iPhone, Iphone passes back _accel obj litteral + if (typeof successCallback == "function") { + var accel = new Acceleration(_accel.x,_accel.y,_accel.z); + Accelerometer.lastAcceleration = accel; + successCallback(accel); + } + } + + /** + * Asynchronously aquires the acceleration repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ + + Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) { + // TODO: add the interval id to a list so we can clear all watches + var frequency = (options != undefined)? options.frequency : 10000; + + Accel.start(frequency); + return setInterval(function() { + navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options); + }, frequency); + } + + /** + * Clears the specified accelerometer watch. + * @param {String} watchId The ID of the watch returned from #watchAcceleration. + */ + Accelerometer.prototype.clearWatch = function(watchId) { + Accel.stop(); + clearInterval(watchId); + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer(); + }); + + + + + /** + * This class provides access to the device media, interfaces to both sound and video + * @constructor + */ + function Media(src) { + this.src = src; + } + + Media.prototype.record = function() { + } + + Media.prototype.play = function() { + } + + Media.prototype.pause = function() { + } + + Media.prototype.stop = function() { + } + + + /** + * This class contains information about any Media errors. + * @constructor + */ + function MediaError() { + this.code = null, + this.message = ""; + } + + MediaError.MEDIA_ERR_ABORTED = 1; + MediaError.MEDIA_ERR_NETWORK = 2; + MediaError.MEDIA_ERR_DECODE = 3; + MediaError.MEDIA_ERR_NONE_SUPPORTED = 4; + + + //if (typeof navigator.audio == "undefined") navigator.audio = new Media(src); + + + + + /** + * This class provides access to the device media, interfaces to both sound and video + * @constructor + */ + var MEDIA_AUDIO = "mp3"; + + function Media(src) { + this.src = src; + } + + Media.prototype.record = function() { + var fileparse = this.src.split('.'); + var filetype = fileparse[fileparse.length - 1]; + if ( filetype == MEDIA_AUDIO ) + { + // Queue up Audio API + } + else + { + // Start Camera Preview for Video Recording + } + } + + Media.prototype.play = function() { + var fileparse = this.src.split('.'); + var filetype = fileparse[fileparse.length - 1]; + if ( filetype = MEDIA_AUDIO) + { + // Play Audio + } + else + { + // Bring up Video Overlay + // (Note: On HTML 5 Browsers (iPhone), this should + // create a DIV with a VIDEO tag in it) + } + } + + Media.prototype.pause = function() { + // Do some pausing + } + + Media.prototype.stop = function() { + // Stop playback + } + + + /** + * This class contains information about any Media errors. + * @constructor + */ + function MediaError() { + this.code = null, + this.message = ""; + } + + MediaError.MEDIA_ERR_ABORTED = 1; + MediaError.MEDIA_ERR_NETWORK = 2; + MediaError.MEDIA_ERR_DECODE = 3; + MediaError.MEDIA_ERR_NONE_SUPPORTED = 4; + + + //if (typeof navigator.audio == "undefined") navigator.audio = new Media(src); + + + + /** + * This class provides access to the device camera. + * @constructor + */ + function Camera() { + + } + + /** + * + * @param {Function} successCallback + * @param {Function} errorCallback + * @param {Object} options + */ + Camera.prototype.getPicture = function(successCallback, errorCallback, options) { + + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); + }); + + + + /** + * This class provides access to the device camera. + * @constructor + */ + function Camera() { + + } + + /** + * + * @param {Function} successCallback + * @param {Function} errorCallback + * @param {Object} options + */ + Camera.prototype.getPicture = function(successCallback, errorCallback, options) { + + this.winCallback = successCallback; + this.failCallback = errorCallback; + if (options.quality) + { + GapCam.takePicture(options.quality); + } + else + { + GapCam.takePicture(80); + } + } + + Camera.prototype.win = function(picture) + { + this.winCallback(picture); + } + + Camera.prototype.fail = function(err) + { + this.failCallback(err); + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); + }); + + + + /** + * This class provides access to the device contacts. + * @constructor + */ + + function Contact(jsonObject) { + this.firstName = ""; + this.lastName = ""; + this.name = ""; + this.phones = {}; + this.emails = {}; + this.address = ""; + } + + Contact.prototype.displayName = function() + { + // TODO: can be tuned according to prefs + return this.name; + } + + function ContactManager() { + // Dummy object to hold array of contacts + this.contacts = []; + this.timestamp = new Date().getTime(); + } + + ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + // Interface + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); + }); + + + + /** + * This class exposes mobile phone interface controls to JavaScript, such as + * native tab and tool bars, etc. + * @constructor + */ + function UIControls() { + this.tabBarTag = 0; + this.tabBarCallbacks = {}; + } + + /** + * Create a native tab bar that can have tab buttons added to it which can respond to events. + */ + UIControls.prototype.createTabBar = function() {}; + + /** + * Show a tab bar. The tab bar has to be created first. + * @param {Object} [options] Options indicating how the tab bar should be shown: + * - \c height integer indicating the height of the tab bar (default: \c 49) + * - \c position specifies whether the tab bar will be placed at the \c top or \c bottom of the screen (default: \c bottom) + */ + UIControls.prototype.showTabBar = function(options) {}; + + /** + * Hide a tab bar. The tab bar has to be created first. + */ + UIControls.prototype.hideTabBar = function(animate) {}; + + /** + * Create a new tab bar item for use on a previously created tab bar. Use ::showTabBarItems to show the new item on the tab bar. + * + * If the supplied image name is one of the labels listed below, then this method will construct a tab button + * using the standard system buttons. Note that if you use one of the system images, that the \c title you supply will be ignored. + * + * Tab Buttons + * - tabButton:More + * - tabButton:Favorites + * - tabButton:Featured + * - tabButton:TopRated + * - tabButton:Recents + * - tabButton:Contacts + * - tabButton:History + * - tabButton:Bookmarks + * - tabButton:Search + * - tabButton:Downloads + * - tabButton:MostRecent + * - tabButton:MostViewed + * @param {String} name internal name to refer to this tab by + * @param {String} [title] title text to show on the tab, or null if no text should be shown + * @param {String} [image] image filename or internal identifier to show, or null if now image should be shown + * @param {Object} [options] Options for customizing the individual tab item + * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden + */ + UIControls.prototype.createTabBarItem = function(name, label, image, options) {}; + + /** + * Update an existing tab bar item to change its badge value. + * @param {String} name internal name used to represent this item when it was created + * @param {Object} options Options for customizing the individual tab item + * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden + */ + UIControls.prototype.updateTabBarItem = function(name, options) {}; + + /** + * Show previously created items on the tab bar + * @param {String} arguments... the item names to be shown + * @param {Object} [options] dictionary of options, notable options including: + * - \c animate indicates that the items should animate onto the tab bar + * @see createTabBarItem + * @see createTabBar + */ + UIControls.prototype.showTabBarItems = function(tabs, options) {}; + + /** + * Manually select an individual tab bar item, or nil for deselecting a currently selected tab bar item. + * @param {String} tabName the name of the tab to select, or null if all tabs should be deselected + * @see createTabBarItem + * @see showTabBarItems + */ + UIControls.prototype.selectTabBarItem = function(tab) {}; + + /** + * Function called when a tab bar item has been selected. + * @param {Number} tag the tag number for the item that has been selected + */ + UIControls.prototype.tabBarItemSelected = function(tag) { + if (typeof(this.tabBarCallbacks[tag]) == 'function') + this.tabBarCallbacks[tag](); + }; + + /** + * Create a toolbar. + */ + UIControls.prototype.createToolBar = function() {}; + + /** + * Function called when a tab bar item has been selected. + * @param {String} title the title to set within the toolbar + */ + UIControls.prototype.setToolBarTitle = function(title) {}; + + PhoneGap.addConstructor(function() { + window.uicontrols = new UIControls(); + }); + + + + /** + * This class provides access to the debugging console. + * @constructor + */ + function DebugConsole() { + } + + /** + * Utility function for rendering and indenting strings, or serializing + * objects to a string capable of being printed to the console. + * @param {Object|String} message The string or object to convert to an indented string + * @private + */ + DebugConsole.prototype.processMessage = function(message) { + if (typeof(message) != 'object') { + return message; + } else { + /** + * @function + * @ignore + */ + function indent(str) { + return str.replace(/^/mg, " "); + } + /** + * @function + * @ignore + */ + function makeStructured(obj) { + var str = ""; + for (var i in obj) { + try { + if (typeof(obj[i]) == 'object') { + str += i + ":\n" + indent(makeStructured(obj[i])) + "\n"; + } else { + str += i + " = " + indent(String(obj[i])).replace(/^ /, "") + "\n"; + } + } catch(e) { + str += i + " = EXCEPTION: " + e.message + "\n"; } - } catch(e) { - str += i + " = EXCEPTION: " + e.message + "\n"; } + return str; } - return str; + return "Object:\n" + makeStructured(message); } - return "Object:\n" + makeStructured(message); + }; + + /** + * Print a normal log message to the console + * @param {Object|String} message Message or object to print to the console + */ + DebugConsole.prototype.log = function(message) { + }; + + /** + * Print a warning message to the console + * @param {Object|String} message Message or object to print to the console + */ + DebugConsole.prototype.warn = function(message) { + }; + + /** + * Print an error message to the console + * @param {Object|String} message Message or object to print to the console + */ + DebugConsole.prototype.error = function(message) { + }; + + PhoneGap.addConstructor(function() { + window.debug = new DebugConsole(); + }); + + + + /** + * This class provides generic read and write access to the mobile device file system. + */ + function File() { + /** + * The data of a file. + */ + this.data = ""; + /** + * The name of the file. + */ + this.name = ""; } -}; - -/** - * Print a normal log message to the console - * @param {Object|String} message Message or object to print to the console - */ -DebugConsole.prototype.log = function(message) { -}; - -/** - * Print a warning message to the console - * @param {Object|String} message Message or object to print to the console - */ -DebugConsole.prototype.warn = function(message) { -}; - -/** - * Print an error message to the console - * @param {Object|String} message Message or object to print to the console - */ -DebugConsole.prototype.error = function(message) { -}; - -PhoneGap.addConstructor(function() { - window.debug = new DebugConsole(); -}); -/** - * this represents the mobile device, and provides properties for inspecting the model, version, UUID of the - * phone, etc. - * @constructor - */ -function Device() { - this.available = PhoneGap.available; - this.platform = null; - this.version = null; - this.name = null; - this.gap = null; - this.uuid = null; - try { -<<<<<<< HEAD:android/assets/www/phonegap.js - if (window['DroidGap'] != undefined && window.DroidGap.exists()) { - this.available = true; - this.isAndroid = true; - this.uuid = window.DroidGap.getUuid(); - this.gapVersion = window.DroidGap.getVersion(); -======= - if (window.DroidGap) { - this.available = true; - this.uuid = window.DroidGap.getUuid(); - this.version = window.DroidGap.getOSVersion(); - this.gapVersion = window.DroidGap.getVersion(); - this.platform = window.DroidGap.getPlatform(); - this.name = window.DroidGap.getProductName(); ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js - } else { - this.platform = DeviceInfo.platform; - this.version = DeviceInfo.version; - this.name = DeviceInfo.name; - this.gap = DeviceInfo.gap; - this.uuid = DeviceInfo.uuid; - } - } catch(e) { - this.available = false; + + /** + * Reads a file from the mobile device. This function is asyncronous. + * @param {String} fileName The name (including the path) to the file on the mobile device. + * The file name will likely be device dependant. + * @param {Function} successCallback The function to call when the file is successfully read. + * @param {Function} errorCallback The function to call when there is an error reading the file from the device. + */ + File.prototype.read = function(fileName, successCallback, errorCallback) { + } -} - -PhoneGap.addConstructor(function() { - navigator.device = window.device = new Device(); -}); -/** - * This class provides generic read and write access to the mobile device file system. - */ -function File() { - /** - * The data of a file. - */ - this.data = ""; - /** - * The name of the file. - */ - this.name = ""; -} - -/** - * Reads a file from the mobile device. This function is asyncronous. - * @param {String} fileName The name (including the path) to the file on the mobile device. - * The file name will likely be device dependant. - * @param {Function} successCallback The function to call when the file is successfully read. - * @param {Function} errorCallback The function to call when there is an error reading the file from the device. - */ -File.prototype.read = function(fileName, successCallback, errorCallback) { - -} - -/** - * Writes a file to the mobile device. - * @param {File} file The file to write to the device. - */ -File.prototype.write = function(file) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.file == "undefined") navigator.file = new File(); -}); -/** - * This class provides access to device GPS data. - * @constructor - */ -function Geolocation() { - /** - * The last known GPS position. - */ - this.lastPosition = null; - this.lastError = null; - this.callbacks = { - onLocationChanged: [], - onError: [] + + /** + * Writes a file to the mobile device. + * @param {File} file The file to write to the device. + */ + File.prototype.write = function(file) { + + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.file == "undefined") navigator.file = new File(); + }); + + + + /** + * This class provides access to device GPS data. + * @constructor + */ + function Geolocation() { + /** + * The last known GPS position. + */ + this.lastPosition = null; + this.lastError = null; + this.callbacks = { + onLocationChanged: [], + onError: [] + }; + }; + + /** + * Asynchronously aquires the current position. + * @param {Function} successCallback The function to call when the position + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the position data. + * @param {PositionOptions} options The options for getting the position data + * such as timeout. + */ + Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { + var referenceTime = 0; + if (this.lastPosition) + referenceTime = this.lastPosition.timeout; + else + this.start(options); + + var timeout = 20000; + var interval = 500; + if (typeof(options) == 'object' && options.interval) + interval = options.interval; + + if (typeof(successCallback) != 'function') + successCallback = function() {}; + if (typeof(errorCallback) != 'function') + errorCallback = function() {}; + + var dis = this; + var delay = 0; + var timer = setInterval(function() { + delay += interval; + + if (typeof(dis.lastPosition) == 'object' && dis.lastPosition.timestamp > referenceTime) { + successCallback(dis.lastPosition); + clearInterval(timer); + } else if (delay >= timeout) { + errorCallback(); + clearInterval(timer); + } + }, interval); + }; + + /** + * Asynchronously aquires the position repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the position + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the position data. + * @param {PositionOptions} options The options for getting the position data + * such as timeout and the frequency of the watch. + */ + Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) { + // Invoke the appropriate callback with a new Position object every time the implementation + // determines that the position of the hosting device has changed. + + this.getCurrentPosition(successCallback, errorCallback, options); + var frequency = 10000; + if (typeof(options) == 'object' && options.frequency) + frequency = options.frequency; + + var that = this; + return setInterval(function() { + that.getCurrentPosition(successCallback, errorCallback, options); + }, frequency); }; -}; - -/** - * Asynchronously aquires the current position. - * @param {Function} successCallback The function to call when the position - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the position data. - * @param {PositionOptions} options The options for getting the position data - * such as timeout. - */ -Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { - var referenceTime = 0; - if (this.lastPosition) - referenceTime = this.lastPosition.timeout; - else - this.start(options); - - var timeout = 20000; - var interval = 500; - if (typeof(options) == 'object' && options.interval) - interval = options.interval; - - if (typeof(successCallback) != 'function') - successCallback = function() {}; - if (typeof(errorCallback) != 'function') - errorCallback = function() {}; - - var dis = this; - var delay = 0; - var timer = setInterval(function() { - delay += interval; - - if (typeof(dis.lastPosition) == 'object' && dis.lastPosition.timestamp > referenceTime) { - successCallback(dis.lastPosition); - clearInterval(timer); - } else if (delay >= timeout) { - errorCallback(); - clearInterval(timer); + + + /** + * Clears the specified position watch. + * @param {String} watchId The ID of the watch returned from #watchPosition. + */ + Geolocation.prototype.clearWatch = function(watchId) { + clearInterval(watchId); + }; + + /** + * Called by the geolocation framework when the current location is found. + * @param {PositionOptions} position The current position. + */ + Geolocation.prototype.setLocation = function(position) { + this.lastPosition = position; + for (var i = 0; i < this.callbacks.onLocationChanged.length; i++) { + var f = this.callbacks.onLocationChanged.shift(); + f(position); + } + }; + + /** + * Called by the geolocation framework when an error occurs while looking up the current position. + * @param {String} message The text of the error message. + */ + Geolocation.prototype.setError = function(message) { + this.lastError = message; + for (var i = 0; i < this.callbacks.onError.length; i++) { + var f = this.callbacks.onError.shift(); + f(message); } - }, interval); -}; - -/** - * Asynchronously aquires the position repeatedly at a given interval. - * @param {Function} successCallback The function to call each time the position - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the position data. - * @param {PositionOptions} options The options for getting the position data - * such as timeout and the frequency of the watch. - */ -Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) { - // Invoke the appropriate callback with a new Position object every time the implementation - // determines that the position of the hosting device has changed. - - this.getCurrentPosition(successCallback, errorCallback, options); - var frequency = 10000; - if (typeof(options) == 'object' && options.frequency) - frequency = options.frequency; - - var that = this; - return setInterval(function() { - that.getCurrentPosition(successCallback, errorCallback, options); - }, frequency); -}; - - -/** - * Clears the specified position watch. - * @param {String} watchId The ID of the watch returned from #watchPosition. - */ -Geolocation.prototype.clearWatch = function(watchId) { - clearInterval(watchId); -}; - -/** - * Called by the geolocation framework when the current location is found. - * @param {PositionOptions} position The current position. - */ -Geolocation.prototype.setLocation = function(position) { - this.lastPosition = position; - for (var i = 0; i < this.callbacks.onLocationChanged.length; i++) { - var f = this.callbacks.onLocationChanged.shift(); - f(position); + }; + + PhoneGap.addConstructor(function() { + if (typeof navigator.geolocation == "undefined") navigator.geolocation = new Geolocation(); + }); + + + + /* + * Since we can't guarantee that we will have the most recent, we just try our best! + * + * Also, the API doesn't specify which version is the best version of the API + */ + + Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) + { + var position = Geo.getCurrentLocation(); + this.global_success = successCallback; + this.fail = errorCallback; } -}; - -/** - * Called by the geolocation framework when an error occurs while looking up the current position. - * @param {String} message The text of the error message. - */ -Geolocation.prototype.setError = function(message) { - this.lastError = message; - for (var i = 0; i < this.callbacks.onError.length; i++) { - var f = this.callbacks.onError.shift(); - f(message); + + + // Run the global callback + Geolocation.prototype.gotCurrentPosition = function(lat, lng, alt, altacc, head, vel, stamp) + { + if (lat == "undefined" || lng == "undefined") + { + this.fail(); + } + else + { + coords = new Coordinates(lat, lng, alt, altacc, head, vel); + loc = new Position(coords, stamp); + this.global_success(loc); + } } -}; - -PhoneGap.addConstructor(function() { - if (typeof navigator.geolocation == "undefined") navigator.geolocation = new Geolocation(); -}); -/** - * This class provides access to native mapping applications on the device. - */ -function Map() { - -} - -/** - * Shows a native map on the device with pins at the given positions. - * @param {Array} positions - */ -Map.prototype.show = function(positions) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.map == "undefined") navigator.map = new Map(); -}); - -/** - * This class provides access to the device media, interfaces to both sound and video - * @constructor - */ -function Media(src) { - this.src = src; -} - -<<<<<<< HEAD:android/assets/www/phonegap.js -Media.prototype.record = function() { -} - -======= ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js -Media.prototype.play = function() { -} - -Media.prototype.pause = function() { -} - -Media.prototype.stop = function() { -} - - -/** - * This class contains information about any Media errors. - * @constructor - */ -function MediaError() { - this.code = null, - this.message = ""; -} - -MediaError.MEDIA_ERR_ABORTED = 1; -MediaError.MEDIA_ERR_NETWORK = 2; -MediaError.MEDIA_ERR_DECODE = 3; -MediaError.MEDIA_ERR_NONE_SUPPORTED = 4; - - -//if (typeof navigator.audio == "undefined") navigator.audio = new Media(src); -/** - * This class provides access to notifications on the device. - */ -function Notification() { - -} - -/** - * Open a native alert dialog, with a customizable title and button text. - * @param {String} message Message to print in the body of the alert - * @param {String} [title="Alert"] Title of the alert dialog (default: Alert) - * @param {String} [buttonLabel="OK"] Label of the close button (default: OK) - */ -Notification.prototype.alert = function(message, title, buttonLabel) { - // Default is to use a browser alert; this will use "index.html" as the title though - alert(message); -}; - -/** - * Start spinning the activity indicator on the statusbar - */ -Notification.prototype.activityStart = function() { -}; - -/** - * Stop spinning the activity indicator on the statusbar, if it's currently spinning - */ -Notification.prototype.activityStop = function() { -}; - -/** - * Causes the device to blink a status LED. - * @param {Integer} count The number of blinks. - * @param {String} colour The colour of the light. - */ -Notification.prototype.blink = function(count, colour) { - -}; - -/** - * Causes the device to vibrate. - * @param {Integer} mills The number of milliseconds to vibrate for. - */ -Notification.prototype.vibrate = function(mills) { - -}; - -/** - * Causes the device to beep. - * @param {Integer} count The number of beeps. - * @param {Integer} volume The volume of the beep. - */ -Notification.prototype.beep = function(count, volume) { - -}; - -// TODO: of course on Blackberry and Android there notifications in the UI as well - -PhoneGap.addConstructor(function() { - if (typeof navigator.notification == "undefined") navigator.notification = new Notification(); -}); - -/** - * This class provides access to the device orientation. - * @constructor - */ -function Orientation() { - /** - * The current orientation, or null if the orientation hasn't changed yet. - */ - this.currentOrientation = null; -} - -/** - * Set the current orientation of the phone. This is called from the device automatically. - * - * When the orientation is changed, the DOMEvent \c orientationChanged is dispatched against - * the document element. The event has the property \c orientation which can be used to retrieve - * the device's current orientation, in addition to the \c Orientation.currentOrientation class property. - * - * @param {Number} orientation The orientation to be set - */ -Orientation.prototype.setOrientation = function(orientation) { - Orientation.currentOrientation = orientation; - var e = document.createEvent('Events'); - e.initEvent('orientationChanged', 'false', 'false'); - e.orientation = orientation; - document.dispatchEvent(e); -}; - -/** - * Asynchronously aquires the current orientation. - * @param {Function} successCallback The function to call when the orientation - * is known. - * @param {Function} errorCallback The function to call when there is an error - * getting the orientation. - */ -Orientation.prototype.getCurrentOrientation = function(successCallback, errorCallback) { - // If the position is available then call success - // If the position is not available then call error -}; - -/** - * Asynchronously aquires the orientation repeatedly at a given interval. - * @param {Function} successCallback The function to call each time the orientation - * data is available. - * @param {Function} errorCallback The function to call when there is an error - * getting the orientation data. - */ -Orientation.prototype.watchOrientation = function(successCallback, errorCallback) { - // Invoke the appropriate callback with a new Position object every time the implementation - // determines that the position of the hosting device has changed. - this.getCurrentPosition(successCallback, errorCallback); - return setInterval(function() { - navigator.orientation.getCurrentOrientation(successCallback, errorCallback); - }, 10000); -}; - -/** - * Clears the specified orientation watch. - * @param {String} watchId The ID of the watch returned from #watchOrientation. - */ -Orientation.prototype.clearWatch = function(watchId) { - clearInterval(watchId); -}; - -PhoneGap.addConstructor(function() { - if (typeof navigator.orientation == "undefined") navigator.orientation = new Orientation(); -}); -/** - * This class contains position information. - * @param {Object} lat - * @param {Object} lng - * @param {Object} acc - * @param {Object} alt - * @param {Object} altacc - * @param {Object} head - * @param {Object} vel - * @constructor - */ -<<<<<<< HEAD:android/assets/www/phonegap.js -function Position(lat, lng, acc, alt, altacc, head, vel) { - /** - * The latitude of the position. - */ - this.latitude = lat; - /** - * The longitude of the position, - */ - this.longitude = lng; - /** - * The accuracy of the position. - */ - this.accuracy = acc; - /** - * The altitude of the position. - */ - this.altitude = alt; - /** - * The altitude accuracy of the position. - */ - this.altitudeAccuracy = altacc; - /** - * The direction the device is moving at the position. - */ - this.heading = head; - /** - * The velocity with which the device is moving at the position. - */ - this.velocity = vel; - /** - * The time that the position was obtained. - */ - this.timestamp = new Date().getTime(); -} - -/** - * This class specifies the options for requesting position data. - * @constructor - */ -function PositionOptions() { - /** - * Specifies the desired position accuracy. - */ - this.enableHighAccuracy = true; - /** - * The timeout after which if position data cannot be obtained the errorCallback - * is called. - */ - this.timeout = 10000; -} - -/** - * This class contains information about any GSP errors. - * @constructor - */ -function PositionError() { - this.code = null; - this.message = ""; -} - -PositionError.UNKNOWN_ERROR = 0; -PositionError.PERMISSION_DENIED = 1; -PositionError.POSITION_UNAVAILABLE = 2; -PositionError.TIMEOUT = 3; -/** - * This class provides access to the device SMS functionality. - * @constructor - */ -function Sms() { - -} - -/** - * Sends an SMS message. - * @param {Integer} number The phone number to send the message to. - * @param {String} message The contents of the SMS message to send. - * @param {Function} successCallback The function to call when the SMS message is sent. - * @param {Function} errorCallback The function to call when there is an error sending the SMS message. - * @param {PositionOptions} options The options for accessing the GPS location such as timeout and accuracy. - */ -Sms.prototype.send = function(number, message, successCallback, errorCallback, options) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.sms == "undefined") navigator.sms = new Sms(); -}); -/** - * This class provides access to the telephony features of the device. - * @constructor - */ -function Telephony() { - -} - -/** - * Calls the specifed number. - * @param {Integer} number The number to be called. - */ -Telephony.prototype.call = function(number) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); -}); -/** - * This class exposes mobile phone interface controls to JavaScript, such as - * native tab and tool bars, etc. - * @constructor - */ -function UIControls() { - this.tabBarTag = 0; - this.tabBarCallbacks = {}; -} - -/** - * Create a native tab bar that can have tab buttons added to it which can respond to events. - */ -UIControls.prototype.createTabBar = function() {}; - -/** - * Show a tab bar. The tab bar has to be created first. - * @param {Object} [options] Options indicating how the tab bar should be shown: - * - \c height integer indicating the height of the tab bar (default: \c 49) - * - \c position specifies whether the tab bar will be placed at the \c top or \c bottom of the screen (default: \c bottom) - */ -UIControls.prototype.showTabBar = function(options) {}; - -/** - * Hide a tab bar. The tab bar has to be created first. - */ -UIControls.prototype.hideTabBar = function(animate) {}; - -/** - * Create a new tab bar item for use on a previously created tab bar. Use ::showTabBarItems to show the new item on the tab bar. - * - * If the supplied image name is one of the labels listed below, then this method will construct a tab button - * using the standard system buttons. Note that if you use one of the system images, that the \c title you supply will be ignored. - * - * Tab Buttons - * - tabButton:More - * - tabButton:Favorites - * - tabButton:Featured - * - tabButton:TopRated - * - tabButton:Recents - * - tabButton:Contacts - * - tabButton:History - * - tabButton:Bookmarks - * - tabButton:Search - * - tabButton:Downloads - * - tabButton:MostRecent - * - tabButton:MostViewed - * @param {String} name internal name to refer to this tab by - * @param {String} [title] title text to show on the tab, or null if no text should be shown - * @param {String} [image] image filename or internal identifier to show, or null if now image should be shown - * @param {Object} [options] Options for customizing the individual tab item - * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden - */ -UIControls.prototype.createTabBarItem = function(name, label, image, options) {}; - -/** - * Update an existing tab bar item to change its badge value. - * @param {String} name internal name used to represent this item when it was created - * @param {Object} options Options for customizing the individual tab item - * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden - */ -UIControls.prototype.updateTabBarItem = function(name, options) {}; - -/** - * Show previously created items on the tab bar - * @param {String} arguments... the item names to be shown - * @param {Object} [options] dictionary of options, notable options including: - * - \c animate indicates that the items should animate onto the tab bar - * @see createTabBarItem - * @see createTabBar - */ -UIControls.prototype.showTabBarItems = function(tabs, options) {}; - -/** - * Manually select an individual tab bar item, or nil for deselecting a currently selected tab bar item. - * @param {String} tabName the name of the tab to select, or null if all tabs should be deselected - * @see createTabBarItem - * @see showTabBarItems - */ -UIControls.prototype.selectTabBarItem = function(tab) {}; - -/** - * Function called when a tab bar item has been selected. - * @param {Number} tag the tag number for the item that has been selected - */ -UIControls.prototype.tabBarItemSelected = function(tag) { - if (typeof(this.tabBarCallbacks[tag]) == 'function') - this.tabBarCallbacks[tag](); -}; - -/** - * Create a toolbar. - */ -UIControls.prototype.createToolBar = function() {}; - -/** - * Function called when a tab bar item has been selected. - * @param {String} title the title to set within the toolbar - */ -UIControls.prototype.setToolBarTitle = function(title) {}; - -PhoneGap.addConstructor(function() { - window.uicontrols = new UIControls(); -}); -/* - * This is because strings are not exposed - * - */ -var Device = { - - platform: "", - version: "", - uuid: "", - - init: function() { - Device.platform = DroidGap.getPlatform(); - Device.version = Droidap.getVersion(); - Device.uuid = DroidGap.getUuid(); - }, - vibrate: function(mills) + + /* + * This turns on the GeoLocator class, which has two listeners. + * The listeners have their own timeouts, and run independently of this process + * In this case, we return the key to the watch hash + */ + + Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) + { + var frequency = (options != undefined)? options.frequency : 10000; + + if (!this.listeners) + { + this.listeners = []; + } + + var key = this.listeners.push( {"success" : successCallback, "fail" : failCallback }) - 1; + + // TO-DO: Get the names of the method and pass them as strings to the Java. + return Geolocation.start(frequency, key); + } + + /* + * Retrieve and stop this listener from listening to the GPS + * + */ + Geolocation.prototype.success = function(key, lat, lng, alt, altacc, head, vel, stamp) { - DroidGap.vibrate(mills); - }, - beep: function() + var coords = new Coordinates(lat, lng, alt, altacc, head, vel); + var loc = new Position(coords, stamp); + this.listeners[key].success(loc); + } + + Geolocation.prototype.fail = function(key) { - DroidGap.beep(); + this.listeners[key].fail(); } -======= -function Position(coords, timestamp) { - this.coords = coords; - this.timestamp = new Date().getTime(); -} - -function Coordinates(lat, lng, alt, acc, head, vel) { - /** - * The latitude of the position. - */ - this.latitude = lat; - /** - * The longitude of the position, - */ - this.longitude = lng; - /** - * The accuracy of the position. - */ - this.accuracy = acc; - /** - * The altitude of the position. - */ - this.altitude = alt; - /** - * The direction the device is moving at the position. - */ - this.heading = head; - /** - * The velocity with which the device is moving at the position. - */ - this.speed = vel; -} - -/** - * This class specifies the options for requesting position data. - * @constructor - */ -function PositionOptions() { - /** - * Specifies the desired position accuracy. - */ - this.enableHighAccuracy = true; - /** - * The timeout after which if position data cannot be obtained the errorCallback - * is called. - */ - this.timeout = 10000; -} - -/** - * This class contains information about any GSP errors. - * @constructor - */ -function PositionError() { - this.code = null; - this.message = ""; -} - -PositionError.UNKNOWN_ERROR = 0; -PositionError.PERMISSION_DENIED = 1; -PositionError.POSITION_UNAVAILABLE = 2; -PositionError.TIMEOUT = 3; -/** - * This class provides access to the device SMS functionality. - * @constructor - */ -function Sms() { - -} - -/** - * Sends an SMS message. - * @param {Integer} number The phone number to send the message to. - * @param {String} message The contents of the SMS message to send. - * @param {Function} successCallback The function to call when the SMS message is sent. - * @param {Function} errorCallback The function to call when there is an error sending the SMS message. - * @param {PositionOptions} options The options for accessing the GPS location such as timeout and accuracy. - */ -Sms.prototype.send = function(number, message, successCallback, errorCallback, options) { - ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.sms == "undefined") navigator.sms = new Sms(); -}); -/** - * This class provides access to the telephony features of the device. - * @constructor - */ -function Telephony() { - -} - -/** - * Calls the specifed number. - * @param {Integer} number The number to be called. - */ -Telephony.prototype.call = function(number) { - -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); -}); -/** - * This class exposes mobile phone interface controls to JavaScript, such as - * native tab and tool bars, etc. - * @constructor - */ -function UIControls() { - this.tabBarTag = 0; - this.tabBarCallbacks = {}; -} - -/** - * Create a native tab bar that can have tab buttons added to it which can respond to events. - */ -UIControls.prototype.createTabBar = function() {}; - -/** - * Show a tab bar. The tab bar has to be created first. - * @param {Object} [options] Options indicating how the tab bar should be shown: - * - \c height integer indicating the height of the tab bar (default: \c 49) - * - \c position specifies whether the tab bar will be placed at the \c top or \c bottom of the screen (default: \c bottom) - */ -UIControls.prototype.showTabBar = function(options) {}; - -/** - * Hide a tab bar. The tab bar has to be created first. - */ -UIControls.prototype.hideTabBar = function(animate) {}; - -/** - * Create a new tab bar item for use on a previously created tab bar. Use ::showTabBarItems to show the new item on the tab bar. - * - * If the supplied image name is one of the labels listed below, then this method will construct a tab button - * using the standard system buttons. Note that if you use one of the system images, that the \c title you supply will be ignored. - * - * Tab Buttons - * - tabButton:More - * - tabButton:Favorites - * - tabButton:Featured - * - tabButton:TopRated - * - tabButton:Recents - * - tabButton:Contacts - * - tabButton:History - * - tabButton:Bookmarks - * - tabButton:Search - * - tabButton:Downloads - * - tabButton:MostRecent - * - tabButton:MostViewed - * @param {String} name internal name to refer to this tab by - * @param {String} [title] title text to show on the tab, or null if no text should be shown - * @param {String} [image] image filename or internal identifier to show, or null if now image should be shown - * @param {Object} [options] Options for customizing the individual tab item - * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden - */ -UIControls.prototype.createTabBarItem = function(name, label, image, options) {}; - -/** - * Update an existing tab bar item to change its badge value. - * @param {String} name internal name used to represent this item when it was created - * @param {Object} options Options for customizing the individual tab item - * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden - */ -UIControls.prototype.updateTabBarItem = function(name, options) {}; - -/** - * Show previously created items on the tab bar - * @param {String} arguments... the item names to be shown - * @param {Object} [options] dictionary of options, notable options including: - * - \c animate indicates that the items should animate onto the tab bar - * @see createTabBarItem - * @see createTabBar - */ -UIControls.prototype.showTabBarItems = function(tabs, options) {}; - -/** - * Manually select an individual tab bar item, or nil for deselecting a currently selected tab bar item. - * @param {String} tabName the name of the tab to select, or null if all tabs should be deselected - * @see createTabBarItem - * @see showTabBarItems - */ -UIControls.prototype.selectTabBarItem = function(tab) {}; - -/** - * Function called when a tab bar item has been selected. - * @param {Number} tag the tag number for the item that has been selected - */ -UIControls.prototype.tabBarItemSelected = function(tag) { - if (typeof(this.tabBarCallbacks[tag]) == 'function') - this.tabBarCallbacks[tag](); -}; - -/** - * Create a toolbar. - */ -UIControls.prototype.createToolBar = function() {}; - -/** - * Function called when a tab bar item has been selected. - * @param {String} title the title to set within the toolbar - */ -UIControls.prototype.setToolBarTitle = function(title) {}; - -PhoneGap.addConstructor(function() { - window.uicontrols = new UIControls(); -}); -/* - * Since we can't guarantee that we will have the most recent, we just try our best! - * - * Also, the API doesn't specify which version is the best version of the API - */ - -Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) -{ -<<<<<<< HEAD:android/assets/www/phonegap.js - var position = Geo.getCurrentPosition(); -======= - var position = Geo.getCurrentLocation(); ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js - this.global_success = successCallback; - this.fail = errorCallback; -} - - -// Run the global callback -<<<<<<< HEAD:android/assets/www/phonegap.js -Geolocation.prototype.gotCurrentPosition = function(lat, lng) -======= -Geolocation.prototype.gotCurrentPosition = function(lat, lng, alt, altacc, head, vel, stamp) ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js -{ - if (lat == 0 || lng == 0) - { - this.fail(); - } - else - { -<<<<<<< HEAD:android/assets/www/phonegap.js - var p = { "lat" : lat, "lng": lng }; - this.global_success(p); -======= - coords = new Coordinates(lat, lng, alt, altacc, head, vel); - loc = new Position(coords, stamp); - this.global_success(loc); ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js - } -} - -/* - * This turns on the GeoLocator class, which has two listeners. - * The listeners have their own timeouts, and run independently of this process - * In this case, we return the key to the watch hash - */ - -Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) -{ - var frequency = (options != undefined)? options.frequency : 10000; - - if (!this.listeners) - { - this.listeners = []; - } - - var key = this.listeners.push( {"success" : successCallback, "fail" : failCallback }) - 1; - - // TO-DO: Get the names of the method and pass them as strings to the Java. - return Geolocation.start(frequency, key); -} - -/* - * Retrieve and stop this listener from listening to the GPS - * - */ -<<<<<<< HEAD:android/assets/www/phonegap.js -Geolocation.prototype.success(key, lat, lng) -======= -Geolocation.prototype.success = function(key, lat, lng, alt, altacc, head, vel, stamp) ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js -{ - var coords = new Coordinates(lat, lng, alt, altacc, head, vel); - var loc = new Position(coords, stamp); - this.listeners[key].success(loc); -} - -Geolocation.prototype.fail(key) -{ - this.listeners[key].fail(); -} - -Geolocation.prototype.clearWatch = function(watchId) -{ - Geo.stop(watchId); -} - -<<<<<<< HEAD:android/assets/www/phonegap.js - -Notification.prototype.vibrate = function(mills) -{ - Device.vibrate(mills); -} - -/* - * On the Android, we don't beep, we notify you with your - * notification! We shouldn't keep hammering on this, and should - * review what we want beep to do. - */ - -Notification.prototype.beep = function(count, volume) -{ - Device.notify(); -} -======= - -Notification.prototype.vibrate = function(mills) -{ - DroidGap.vibrate(mills); -} - -/* - * On the Android, we don't beep, we notify you with your - * notification! We shouldn't keep hammering on this, and should - * review what we want beep to do. - */ - -Notification.prototype.beep = function(count, volume) -{ - DroidGap.beep(count); -} -// Need to define these for android -_accel = {} -_accel.x = 0; -_accel.y = 0; -_accel.z = 0; - -function gotAccel(x, y, z) -{ - _accel.x = x; - _accel.y = y; - _accel.z = z; -} - -/** - * This class provides access to device accelerometer data. - * @constructor - */ -function Accelerometer() { - /** - * The last known acceleration. - */ - this.lastAcceleration = null; -} - -/** - * Asynchronously aquires the current acceleration. - * @param {Function} successCallback The function to call when the acceleration - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the acceleration data. - * @param {AccelerationOptions} options The options for getting the accelerometer data - * such as timeout. - */ -Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) { - // If the acceleration is available then call success - // If the acceleration is not available then call error - - // Created for iPhone, Iphone passes back _accel obj litteral - if (typeof successCallback == "function") { - var accel = new Acceleration(_accel.x,_accel.y,_accel.z); - Accelerometer.lastAcceleration = accel; - successCallback(accel); - } -} - -/** - * Asynchronously aquires the acceleration repeatedly at a given interval. - * @param {Function} successCallback The function to call each time the acceleration - * data is available - * @param {Function} errorCallback The function to call when there is an error - * getting the acceleration data. - * @param {AccelerationOptions} options The options for getting the accelerometer data - * such as timeout. - */ - -Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) { - // TODO: add the interval id to a list so we can clear all watches - var frequency = (options != undefined)? options.frequency : 10000; - - Accel.start(frequency); - return setInterval(function() { - navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options); - }, frequency); -} - -/** - * Clears the specified accelerometer watch. - * @param {String} watchId The ID of the watch returned from #watchAcceleration. - */ -Accelerometer.prototype.clearWatch = function(watchId) { - Accel.stop(); - clearInterval(watchId); -} - -PhoneGap.addConstructor(function() { - if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer(); -}); ->>>>>>> 4c08b34a81e55a3146e67a8ad2282b7082b640e0:android/assets/www/phonegap.js + + Geolocation.prototype.clearWatch = function(watchId) + { + Geo.stop(watchId); + } + + + + /** + * This class provides access to native mapping applications on the device. + */ + function Map() { + + } + + /** + * Shows a native map on the device with pins at the given positions. + * @param {Array} positions + */ + Map.prototype.show = function(positions) { + + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.map == "undefined") navigator.map = new Map(); + }); + + + + /** + * This class provides access to notifications on the device. + */ + function Notification() { + + } + + /** + * Open a native alert dialog, with a customizable title and button text. + * @param {String} message Message to print in the body of the alert + * @param {String} [title="Alert"] Title of the alert dialog (default: Alert) + * @param {String} [buttonLabel="OK"] Label of the close button (default: OK) + */ + Notification.prototype.alert = function(message, title, buttonLabel) { + // Default is to use a browser alert; this will use "index.html" as the title though + alert(message); + }; + + /** + * Start spinning the activity indicator on the statusbar + */ + Notification.prototype.activityStart = function() { + }; + + /** + * Stop spinning the activity indicator on the statusbar, if it's currently spinning + */ + Notification.prototype.activityStop = function() { + }; + + /** + * Causes the device to blink a status LED. + * @param {Integer} count The number of blinks. + * @param {String} colour The colour of the light. + */ + Notification.prototype.blink = function(count, colour) { + + }; + + /** + * Causes the device to vibrate. + * @param {Integer} mills The number of milliseconds to vibrate for. + */ + Notification.prototype.vibrate = function(mills) { + + }; + + /** + * Causes the device to beep. + * @param {Integer} count The number of beeps. + * @param {Integer} volume The volume of the beep. + */ + Notification.prototype.beep = function(count, volume) { + + }; + + // TODO: of course on Blackberry and Android there notifications in the UI as well + + PhoneGap.addConstructor(function() { + if (typeof navigator.notification == "undefined") navigator.notification = new Notification(); + }); + + + + + Notification.prototype.vibrate = function(mills) + { + DroidGap.vibrate(mills); + } + + /* + * On the Android, we don't beep, we notify you with your + * notification! We shouldn't keep hammering on this, and should + * review what we want beep to do. + */ + + Notification.prototype.beep = function(count, volume) + { + DroidGap.beep(count); + } + + + + /** + * This class provides access to the device orientation. + * @constructor + */ + function Orientation() { + /** + * The current orientation, or null if the orientation hasn't changed yet. + */ + this.currentOrientation = null; + } + + /** + * Set the current orientation of the phone. This is called from the device automatically. + * + * When the orientation is changed, the DOMEvent \c orientationChanged is dispatched against + * the document element. The event has the property \c orientation which can be used to retrieve + * the device's current orientation, in addition to the \c Orientation.currentOrientation class property. + * + * @param {Number} orientation The orientation to be set + */ + Orientation.prototype.setOrientation = function(orientation) { + Orientation.currentOrientation = orientation; + var e = document.createEvent('Events'); + e.initEvent('orientationChanged', 'false', 'false'); + e.orientation = orientation; + document.dispatchEvent(e); + }; + + /** + * Asynchronously aquires the current orientation. + * @param {Function} successCallback The function to call when the orientation + * is known. + * @param {Function} errorCallback The function to call when there is an error + * getting the orientation. + */ + Orientation.prototype.getCurrentOrientation = function(successCallback, errorCallback) { + // If the position is available then call success + // If the position is not available then call error + }; + + /** + * Asynchronously aquires the orientation repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the orientation + * data is available. + * @param {Function} errorCallback The function to call when there is an error + * getting the orientation data. + */ + Orientation.prototype.watchOrientation = function(successCallback, errorCallback) { + // Invoke the appropriate callback with a new Position object every time the implementation + // determines that the position of the hosting device has changed. + this.getCurrentPosition(successCallback, errorCallback); + return setInterval(function() { + navigator.orientation.getCurrentOrientation(successCallback, errorCallback); + }, 10000); + }; + + /** + * Clears the specified orientation watch. + * @param {String} watchId The ID of the watch returned from #watchOrientation. + */ + Orientation.prototype.clearWatch = function(watchId) { + clearInterval(watchId); + }; + + PhoneGap.addConstructor(function() { + if (typeof navigator.orientation == "undefined") navigator.orientation = new Orientation(); + }); + + + + /** + * This class contains position information. + * @param {Object} lat + * @param {Object} lng + * @param {Object} acc + * @param {Object} alt + * @param {Object} altacc + * @param {Object} head + * @param {Object} vel + * @constructor + */ + function Position(coords, timestamp) { + this.coords = coords; + this.timestamp = new Date().getTime(); + } + + function Coordinates(lat, lng, alt, acc, head, vel) { + /** + * The latitude of the position. + */ + this.latitude = lat; + /** + * The longitude of the position, + */ + this.longitude = lng; + /** + * The accuracy of the position. + */ + this.accuracy = acc; + /** + * The altitude of the position. + */ + this.altitude = alt; + /** + * The direction the device is moving at the position. + */ + this.heading = head; + /** + * The velocity with which the device is moving at the position. + */ + this.speed = vel; + } + + /** + * This class specifies the options for requesting position data. + * @constructor + */ + function PositionOptions() { + /** + * Specifies the desired position accuracy. + */ + this.enableHighAccuracy = true; + /** + * The timeout after which if position data cannot be obtained the errorCallback + * is called. + */ + this.timeout = 10000; + } + + /** + * This class contains information about any GSP errors. + * @constructor + */ + function PositionError() { + this.code = null; + this.message = ""; + } + + PositionError.UNKNOWN_ERROR = 0; + PositionError.PERMISSION_DENIED = 1; + PositionError.POSITION_UNAVAILABLE = 2; + PositionError.TIMEOUT = 3; + + + + function Position(coords, timestamp) + { + this.coords = coords; + this.timestamp = timestamp; + } + + + + /** + * This class provides access to the device SMS functionality. + * @constructor + */ + function Sms() { + + } + + /** + * Sends an SMS message. + * @param {Integer} number The phone number to send the message to. + * @param {String} message The contents of the SMS message to send. + * @param {Function} successCallback The function to call when the SMS message is sent. + * @param {Function} errorCallback The function to call when there is an error sending the SMS message. + * @param {PositionOptions} options The options for accessing the GPS location such as timeout and accuracy. + */ + Sms.prototype.send = function(number, message, successCallback, errorCallback, options) { + + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.sms == "undefined") navigator.sms = new Sms(); + }); + + + + /** + * This class provides access to the telephony features of the device. + * @constructor + */ + function Telephony() { + + } + + /** + * Calls the specifed number. + * @param {Integer} number The number to be called. + */ + Telephony.prototype.call = function(number) { + + } + + PhoneGap.addConstructor(function() { + if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); + }); + + From d36b7baa47811c5fa5b5188b40d2307caa48e459 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Tue, 25 Aug 2009 16:01:14 -0700 Subject: [PATCH 19/80] BlackBerry: Finished implementing newContact. --- .../src/com/nitobi/phonegap/PhoneGap.java | 2 +- .../phonegap/api/impl/ContactsCommand.java | 171 +++++++++++++----- blackberry/src/www/js/contacts.js | 48 ++++- blackberry/src/www/test/camera.html | 4 +- 4 files changed, 172 insertions(+), 53 deletions(-) diff --git a/blackberry/src/com/nitobi/phonegap/PhoneGap.java b/blackberry/src/com/nitobi/phonegap/PhoneGap.java index 51759eb1..147bff19 100644 --- a/blackberry/src/com/nitobi/phonegap/PhoneGap.java +++ b/blackberry/src/com/nitobi/phonegap/PhoneGap.java @@ -55,7 +55,7 @@ * Bridges HTML/JS/CSS to a native Blackberry application. * @author Jose Noheda * @author Fil Maj - * + * @author Dave Johnson */ public class PhoneGap extends UiApplication implements RenderingApplication { diff --git a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java index 8e5af38b..0e70e54e 100644 --- a/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java +++ b/blackberry/src/com/nitobi/phonegap/api/impl/ContactsCommand.java @@ -27,7 +27,7 @@ import javax.microedition.pim.Contact; import javax.microedition.pim.PIM; - +import javax.microedition.pim.PIMException; import net.rim.blackberry.api.pdap.BlackBerryContact; import net.rim.blackberry.api.pdap.BlackBerryContactList; @@ -46,6 +46,8 @@ public class ContactsCommand implements Command { private static final int SEARCH_COMMAND = 0; private static final int GET_ALL_COMMAND = 1; private static final int CHOOSE_COMMAND = 2; + private static final int REMOVE_COMMAND = 3; + private static final int NEW_COMMAND = 4; private static final String CODE = "PhoneGap=contacts"; private static final String CONTACT_MANAGER_JS_NAMESPACE = "navigator.ContactManager"; @@ -65,39 +67,17 @@ public String execute(String instruction) { return getAgenda(options); case CHOOSE_COMMAND: return chooseContact(); + case REMOVE_COMMAND: + return removeContact(options); + case NEW_COMMAND: + return newContact(options); } return null; } - /** - * Invokes the default BlackBerry contact chooser to allow the user to choose a contact. - * @return JSON representation of the chosen contact, which will then be sent back to JavaScript. - */ - private String chooseContact() { - try { - BlackBerryContactList agenda = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY); - BlackBerryContact blackberryContact; - StringBuffer contacts = new StringBuffer("["); - if (agenda != null) { - blackberryContact = (BlackBerryContact) agenda.choose(); - agenda.close(); - ContactsCommand.addContactToBuffer(contacts, blackberryContact); - contacts.append("];"); - return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess();" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null; };"; - } else { - // TODO: If cannot get reference to Agenda, should the error or success callback be called? - return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.append("];").toString() + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null;"; - } - } catch (Exception e) { - System.out.println("Exception getting contact list: " + e.getMessage()); - // TODO: No error callbacks associated with contact chooser - what to do? - } - return null; - } - /** * Parses the options object and returns a hash of params. * @param instruction The cookie/string representation of the instruction. - * @return Hashtable + * @return Hashtable Hash of key:value pairs containing the parameter names & values. */ private static Hashtable parseParameters(String instruction) { String[] params = PhoneGap.splitString(instruction, '/', false); @@ -119,12 +99,99 @@ private int getCommand(String instruction) { if (command.startsWith("search")) return SEARCH_COMMAND; if (command.startsWith("getall")) return GET_ALL_COMMAND; if (command.startsWith("choose")) return CHOOSE_COMMAND; + if (command.startsWith("remove")) return REMOVE_COMMAND; + if (command.startsWith("new")) return NEW_COMMAND; return -1; } + /** + * Creates a new contact based on the hash of parameters passed in via options. + * @param options Parsed parameters for use with creating a new contact. + * @return String, which will be executed back in browser. Just callback invokes. + */ + private String newContact(Hashtable options) { + try { + BlackBerryContactList agenda = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE); + BlackBerryContact contact = (BlackBerryContact) agenda.createContact(); + // Add name(s). + String[] nameField = new String[2]; + nameField[Contact.NAME_FAMILY] = options.get("lastName").toString(); + nameField[Contact.NAME_GIVEN] = options.get("firstName").toString(); + if (agenda.isSupportedField(Contact.NAME)) contact.addStringArray(Contact.NAME, Contact.ATTR_NONE, nameField); + // TODO: Need to finalize JSON representation of address - it's multi-field in BlackBerry :s. + + // TODO: Figure out how attributes and fields work for contact in BlackBerry. RUN TESTS! Code below may change. + String numbers = options.get("phoneNumber").toString(); + if (agenda.isSupportedField(Contact.TEL)) contact.addString(Contact.TEL, Contact.ATTR_MOBILE, numbers.substring(numbers.lastIndexOf('=')+1)); + String emails = options.get("email").toString(); + if (agenda.isSupportedField(Contact.EMAIL)) contact.addString(Contact.EMAIL, Contact.ATTR_MOBILE, emails.substring(emails.lastIndexOf('=')+1)); + contact.commit(); + return ";if (" + CONTACT_MANAGER_JS_NAMESPACE + ".new_onSuccess) { " + CONTACT_MANAGER_JS_NAMESPACE + ".new_onSuccess(); };"; + } catch (PIMException e) { + e.printStackTrace(); + return ";if (" + CONTACT_MANAGER_JS_NAMESPACE + ".new_onError) { " + CONTACT_MANAGER_JS_NAMESPACE + ".new_onError(); };"; + } + } + + /** + * Removes the specified contact from the contact list. + * @param options A hash of options (parameters) passed by the PhoneGap app. Needs to contain a 'contactID' property for the removal to go through properly. + * @return JavaScript that will be evaluated by the PhoneGap app - only callbacks. + */ + private String removeContact(Hashtable options) { + if (options.contains("contactID")) { + try { + BlackBerryContactList agenda = (BlackBerryContactList) PIM + .getInstance().openPIMList(PIM.CONTACT_LIST, + PIM.READ_WRITE); + Contact matchContact = agenda.createContact(); + int contactID = Integer.parseInt(options.get("contactID").toString()); + if (agenda.isSupportedField(Contact.UID)) matchContact.addInt(Contact.UID, Contact.ATTR_HOME | Contact.ATTR_PREFERRED, contactID); + Enumeration matches = agenda.items(matchContact); + if (matches.hasMoreElements()) { + // Matched to a contact. + } else { + // No matches found - call error callback. + + } + } catch (Exception e) { + e.printStackTrace(); + // Trigger error callback if exception occurs. + return ";if (" + CONTACT_MANAGER_JS_NAMESPACE + ".remove_onError) { " + CONTACT_MANAGER_JS_NAMESPACE + ".remove_onError(); };"; + } + } else { + return ";alert('[PhoneGap Error] Contact ID not specified during contact removal operation.');"; + } + return null; + } + /** + * Invokes the default BlackBerry contact chooser to allow the user to choose a contact. + * @return JSON representation of the chosen contact, which will then be sent back to JavaScript. + */ + private String chooseContact() { + try { + BlackBerryContactList agenda = (BlackBerryContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY); + BlackBerryContact blackberryContact; + StringBuffer contacts = new StringBuffer("["); + if (agenda != null) { + blackberryContact = (BlackBerryContact) agenda.choose(); + agenda.close(); + ContactsCommand.addContactToBuffer(contacts, blackberryContact); + contacts.append("];"); + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.toString() + "if (" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess) { " + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess();" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null; };"; + } else { + // TODO: If cannot get reference to Agenda, should the error or success callback be called? + return ";" + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".contacts=" + contacts.append("];").toString() + ContactsCommand.CONTACT_MANAGER_JS_NAMESPACE + ".choose_onSuccess = null;"; + } + } catch (Exception e) { + System.out.println("Exception getting contact list: " + e.getMessage()); + // TODO: No error callbacks associated with contact chooser - what to do? + } + return null; + } /** * Returns a contact list, either all contacts or contacts matching the optional search parameter. * @param options A hash of options to pass into retrieving contacts. These can include name filters and paging parameters. - * @return JSON string representing the contacts that are retrieved. + * @return JSON string representing the contacts that are retrieved, plus necessary JavaScript callbacks. */ private String getAgenda(Hashtable options) { String callbackHook = ""; @@ -175,31 +242,41 @@ private String getAgenda(Hashtable options) { } } private static void addContactToBuffer(StringBuffer buff, BlackBerryContact contact) { - buff.append("{email:'"); + // TODO: Eventually extend this to return proper labels/values for differing phone/email types. + buff.append("{email:[{'label':'mobile','value':'"); buff.append(contact.getString(Contact.EMAIL, 0)); - buff.append("', phone:'"); + buff.append("'}], phoneNumber:[{'label':'mobile','value':'"); buff.append(contact.getString(Contact.TEL, 0)); - buff.append("', name:'"); - String displayName = ""; + buff.append("'}], firstName:'"); // See if there is a meaningful name set for the contact. if (contact.countValues(Contact.NAME) > 0) { final String[] name = contact.getStringArray(Contact.NAME, 0); final String firstName = name[Contact.NAME_GIVEN]; final String lastName = name[Contact.NAME_FAMILY]; - if (firstName != null && lastName != null) { - displayName = firstName + " " + lastName; - } else if (firstName != null) { - displayName = firstName; - } else if (lastName != null) { - displayName = lastName; - } - if (displayName != "") { - final String namePrefix = name[Contact.NAME_PREFIX]; - if (namePrefix != null) { - displayName = namePrefix + " " + displayName; - } - } + if (firstName != null) buff.append(firstName + "',lastName:'"); + else buff.append("',lastName:'"); + if (lastName != null) buff.append(lastName + "',"); + else buff.append("',"); + } else { + buff.append("',lastName:''"); + } + buff.append(",address:'"); + // Build up a meaningful address field. + if (contact.countValues(Contact.ADDR) > 0) { + String address = ""; + final String[] addr = contact.getStringArray(Contact.ADDR, 0); + final String street = addr[Contact.ADDR_STREET]; + final String city = addr[Contact.ADDR_LOCALITY]; + final String state = addr[Contact.ADDR_REGION]; + final String country = addr[Contact.ADDR_COUNTRY]; + final String postalCode = addr[Contact.ADDR_POSTALCODE]; + if (street!=null) address = street.replace('\'',' '); + if (city!=null) if (address.length() > 0) address += ", " + city.replace('\'',' '); else address = city.replace('\'',' '); + if (state!=null) if (address.length() > 0) address += ", " + state.replace('\'',' '); else address = state.replace('\'',' '); + if (country!=null) if (address.length() > 0) address += ", " + country.replace('\'',' '); else address = country.replace('\'',' '); + if (postalCode!=null) if (address.length() > 0) address += ", " + postalCode.replace('\'',' '); else address = postalCode.replace('\'',' '); + buff.append(address); } - buff.append(displayName + "'}"); + buff.append("'}"); } } diff --git a/blackberry/src/www/js/contacts.js b/blackberry/src/www/js/contacts.js index 43c585d3..75a59f8e 100644 --- a/blackberry/src/www/js/contacts.js +++ b/blackberry/src/www/js/contacts.js @@ -3,10 +3,11 @@ * @constructor */ function Contact() { - this.name = ""; - this.phone = ""; + this.firstName = ""; + this.lastName = ""; + this.phoneNumber = {}; this.address = ""; - this.email = ""; + this.email = {}; } function ContactManager() { @@ -16,7 +17,8 @@ function ContactManager() { this.options = { 'pageSize':0, 'pageNumber':0, - 'nameFilter':'' + 'nameFilter':'', + 'contactID':0 }; } ContactManager.prototype.formParams = function(options, startArray) { @@ -25,8 +27,39 @@ ContactManager.prototype.formParams = function(options, startArray) { if (options.pageSize && options.pageSize > 0) params.push("pageSize:" + options.pageSize); if (options.pageNumber) params.push("pageNumber:" + options.pageNumber); if (options.nameFilter) params.push("nameFilter:" + options.nameFilter); + if (options.contactID) params.push("contactID:" + options.contactID); return params; } +ContactManager.prototype.newContact = function(contact, successCallback, errorCallback, options) { + if (!contact) { + alert("[PhoneGap Error] newContact function not provided with a contact parameter."); + return; + } else { + if (!contact.firstName || !contact.lastName || !contact.phoneNumber || !contact.address || !contact.email) { + alert("[PhoneGap Error] newContact function parameter 'contact' does not have proper contact members (firstName, lastName, phoneNumber, address and email)."); + return; + } + options.push("firstName:" + contact.firstName); + options.push("lastName:" + contact.lastName); + options.push("address:" + contact.address); + // Create a phone number parameter that we can parse on the BlackBerry end. + var phones = ''; + for (var i = 0; i < contact.phoneNumber.length; i++) { + phones += contact.phoneNumber[i].label + '='; + phones += contact.phoneNumber[i].value + '|'; + } + options.push("phoneNumber:" + phones.substring(0,phones.length-1); + var emails = ''; + for (var i = 0; i < contact.email.length; i++) { + emails += contact.email[i].label + '='; + emails += contact.email[i].value + '|'; + } + options.push("email:" + emails.substring(0,emails.length-1); + this.new_onSuccess = successCallback; + this.new_onError = errorCallback; + device.exec("new", options, true); + } +} ContactManager.prototype.displayContact = function(successCallback, errorCallback, options) { if (options.nameFilter && options.nameFilter.length > 0) { var params = ["search"]; @@ -52,5 +85,12 @@ ContactManager.prototype.chooseContact = function(successCallback, options) { params = this.formParams(options,params); device.exec("contacts", params, true); } +ContactManager.prototype.removeContact = function(successCallback, errorCallback, options) { + this.remove_onSuccess = successCallback; + this.remove_onError = errorCallback; + var params = ["remove"]; + params = this.formParams(options,params); + device.exec("contacts", params, true); +} if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); \ No newline at end of file diff --git a/blackberry/src/www/test/camera.html b/blackberry/src/www/test/camera.html index 95e004bc..5ab4dc77 100644 --- a/blackberry/src/www/test/camera.html +++ b/blackberry/src/www/test/camera.html @@ -9,6 +9,7 @@ function picture() { navigator.camera.getPicture(); alert("Path is: " + navigator.camera.picture); + document.getElementById('testImg').src = navigator.camera.picture; } @@ -18,7 +19,8 @@

    Use the Camera

    Get the picture


    -
    +

    Placeholder for image:

    +


    From f460ee2b2f15b662334404abe22386821854dc82 Mon Sep 17 00:00:00 2001 From: Robbie Clutton Date: Tue, 18 Aug 2009 19:28:11 +0100 Subject: [PATCH 20/80] Add callbacks to the Media class for success and failure of playing a media file --- iphone/Classes/Sound.h | 19 ++++++++++++++++++- iphone/Classes/Sound.m | 28 ++++++++++++++++++++++++++++ javascripts/iphone/media.js | 2 +- javascripts/media.js | 4 +++- 4 files changed, 50 insertions(+), 3 deletions(-) diff --git a/iphone/Classes/Sound.h b/iphone/Classes/Sound.h index 93202b7c..66e90575 100755 --- a/iphone/Classes/Sound.h +++ b/iphone/Classes/Sound.h @@ -8,11 +8,28 @@ #import #import + +#ifdef __IPHONE_3_0 +#import +#endif + #import "PhoneGapCommand.h" -@interface Sound : PhoneGapCommand { +@interface Sound : PhoneGapCommand +#ifdef __IPHONE_3_0 + +#endif +{ + NSString *successCallback; + NSString *errorCallback; +#ifdef __IPHONE_3_0 + AVAudioPlayer *player; +#endif } +@property (retain) NSString* successCallback; +@property (retain) NSString* errorCallback; + - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; @end diff --git a/iphone/Classes/Sound.m b/iphone/Classes/Sound.m index 2bf6cd99..38288138 100755 --- a/iphone/Classes/Sound.m +++ b/iphone/Classes/Sound.m @@ -10,8 +10,15 @@ @implementation Sound +@synthesize successCallback, errorCallback; + - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options { + NSUInteger argc = [arguments count]; + + if (argc > 1) self.successCallback = [arguments objectAtIndex:1]; + if (argc > 2) self.errorCallback = [arguments objectAtIndex:2]; + NSBundle * mainBundle = [NSBundle mainBundle]; NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[(NSString*)[arguments objectAtIndex:0] componentsSeparatedByString:@"/"]]; NSString *filename = [directoryParts lastObject]; @@ -41,4 +48,25 @@ - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options AudioServicesPlaySystemSound(soundID); } +/* + * event listener when file has stopped playing + */ +- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag { + NSLog(@"finished playing audio sample"); + + if (flag){ + if (self.successCallback) { + NSString* jsString = [[NSString alloc] initWithFormat:@"%@(\"%@\");", self.successCallback, @""]; + [webView stringByEvaluatingJavaScriptFromString:jsString]; + [jsString release]; + } + } else { + if (self.errorCallback) { + NSString* jsString = [[NSString alloc] initWithFormat:@"%@(\"%@\");", self.errorCallback, @""]; + [webView stringByEvaluatingJavaScriptFromString:jsString]; + [jsString release]; + } + } +} + @end diff --git a/javascripts/iphone/media.js b/javascripts/iphone/media.js index e28260e5..664b4726 100644 --- a/javascripts/iphone/media.js +++ b/javascripts/iphone/media.js @@ -5,6 +5,6 @@ Media.prototype.play = function() { if (this.src != null) { - PhoneGap.exec("Sound.play", this.src); + PhoneGap.exec("Sound.play", this.src, this.successCallback, this.errorCallback); } } diff --git a/javascripts/media.js b/javascripts/media.js index 9906b092..70e18b59 100644 --- a/javascripts/media.js +++ b/javascripts/media.js @@ -3,8 +3,10 @@ * This class provides access to the device media, interfaces to both sound and video * @constructor */ -function Media(src) { +function Media(src, successCallback, errorCallback) { this.src = src; + this.successCallback = successCallback; + this.errorCallback = errorCallback; } Media.prototype.record = function() { From 49f827c7ae695098274184d46a2a60fd5e717330 Mon Sep 17 00:00:00 2001 From: Robbie Clutton Date: Wed, 19 Aug 2009 07:53:44 +0100 Subject: [PATCH 21/80] prevent exceptions with empty media URIs --- iphone/Classes/Sound.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/iphone/Classes/Sound.m b/iphone/Classes/Sound.m index 38288138..064abd5d 100755 --- a/iphone/Classes/Sound.m +++ b/iphone/Classes/Sound.m @@ -14,11 +14,15 @@ @implementation Sound - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options { + if([[arguments objectAtIndex:0] isEqualToString:@""]){ + NSLog(@"Cannot play empty URI"); + return; + } NSUInteger argc = [arguments count]; if (argc > 1) self.successCallback = [arguments objectAtIndex:1]; if (argc > 2) self.errorCallback = [arguments objectAtIndex:2]; - + NSBundle * mainBundle = [NSBundle mainBundle]; NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[(NSString*)[arguments objectAtIndex:0] componentsSeparatedByString:@"/"]]; NSString *filename = [directoryParts lastObject]; From ba7db85b010db60afcd3bf49fe5ce139a986abaf Mon Sep 17 00:00:00 2001 From: shazron Date: Thu, 27 Aug 2009 15:19:37 -0700 Subject: [PATCH 22/80] Fixed crash bug related to gap url commands [#13 state:resolved] --- iphone/Classes/InvokedUrlCommand.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iphone/Classes/InvokedUrlCommand.m b/iphone/Classes/InvokedUrlCommand.m index 6c318cb7..bd5ef7b5 100644 --- a/iphone/Classes/InvokedUrlCommand.m +++ b/iphone/Classes/InvokedUrlCommand.m @@ -40,7 +40,7 @@ + (InvokedUrlCommand*) newFromUrl:(NSURL*)url if (qsLength > 0) pathLength = pathLength - qsLength - 1; // 1 is the "?" char // remove leading forward slash length - else if ([fullUrl hasSuffix:@"/"]) + else if ([fullUrl hasSuffix:@"/"] && pathLength > 0) pathLength -= 1; // 1 is the "/" char NSString *path = [fullUrl substringWithRange:NSMakeRange(prefixLength, pathLength)]; From 52da519e20cfd79a7572b061d0e143b32f3ea5e8 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Mon, 31 Aug 2009 11:32:24 -0700 Subject: [PATCH 23/80] Hacking on the File and Media APIs --- android/assets/www/master.css | 3 - .../src/com/phonegap/demo/AccelListener.java | 1 + android/src/com/phonegap/demo/PhoneGap.java | 63 ------------------- javascripts/android/file.js | 27 ++++++++ javascripts/android/media.js | 59 ++--------------- 5 files changed, 32 insertions(+), 121 deletions(-) create mode 100644 javascripts/android/file.js diff --git a/android/assets/www/master.css b/android/assets/www/master.css index 6a9b7218..d4401f51 100644 --- a/android/assets/www/master.css +++ b/android/assets/www/master.css @@ -94,6 +94,3 @@ padding:1.2em 0; } - #viewport { - display: none; - } diff --git a/android/src/com/phonegap/demo/AccelListener.java b/android/src/com/phonegap/demo/AccelListener.java index acb2f2a8..83a7d161 100644 --- a/android/src/com/phonegap/demo/AccelListener.java +++ b/android/src/com/phonegap/demo/AccelListener.java @@ -8,6 +8,7 @@ import android.hardware.SensorListener; import android.webkit.WebView; +@SuppressWarnings("deprecation") public class AccelListener implements SensorListener{ WebView mAppView; diff --git a/android/src/com/phonegap/demo/PhoneGap.java b/android/src/com/phonegap/demo/PhoneGap.java index adccfbdb..021a2308 100644 --- a/android/src/com/phonegap/demo/PhoneGap.java +++ b/android/src/com/phonegap/demo/PhoneGap.java @@ -162,70 +162,7 @@ public void httpGet(String url, String file) http.get(url, file); } - - - public int testSaveLocationExists(){ - if (fileManager.testSaveLocationExists()) - return 0; - else - return 1; - } - - public long getFreeDiskSpace(){ - long freeDiskSpace=fileManager.getFreeDiskSpace(); - return freeDiskSpace; - } - - public int testFileExists(String file){ - if (fileManager.testFileExists(file)) - return 0; - else - return 1; - } - - public int testDirectoryExists(String file){ - if (fileManager.testFileExists(file)) - return 0; - else - return 1; - } - - /** - * Delete a specific directory. - * Everyting in side the directory would be gone. - * TODO: JavaScript Call backs for success and error handling - */ - public int deleteDirectory (String dir){ - if (fileManager.deleteDirectory(dir)) - return 0; - else - return 1; - } - - - /** - * Delete a specific file. - * TODO: JavaScript Call backs for success and error handling - */ - public int deleteFile (String file){ - if (fileManager.deleteFile(file)) - return 0; - else - return 1; - } - - - /** - * Create a new directory. - * TODO: JavaScript Call backs for success and error handling - */ - public int createDirectory(String dir){ - if (fileManager.createDirectory(dir)) - return 0; - else - return 1; - } /** diff --git a/javascripts/android/file.js b/javascripts/android/file.js new file mode 100644 index 00000000..d09b7eac --- /dev/null +++ b/javascripts/android/file.js @@ -0,0 +1,27 @@ +File.prototype.read = function(fileName, successCallback, errorCallback) { + var data = navigator.FileUtil.read(fileName); + if( data.substr("FAIL")) + { + errorCallback(); + } + else + { + successCallback(data); + } +} + +/** + * Writes a file to the mobile device. + * @param {File} file The file to write to the device. + */ +File.prototype.write = function(file, str, successCallback, failCallback) { + var call = FileUtil.write(str); + if(call == 0) + { + successCallback(); + } + else + { + failCallback(call); + } +} diff --git a/javascripts/android/media.js b/javascripts/android/media.js index 228bd942..1fb9f916 100644 --- a/javascripts/android/media.js +++ b/javascripts/android/media.js @@ -3,62 +3,11 @@ * This class provides access to the device media, interfaces to both sound and video * @constructor */ -var MEDIA_AUDIO = "mp3"; -function Media(src) { - this.src = src; +Media.prototype.recordAudio = function(filename) { + } -Media.prototype.record = function() { - var fileparse = this.src.split('.'); - var filetype = fileparse[fileparse.length - 1]; - if ( filetype == MEDIA_AUDIO ) - { - // Queue up Audio API - } - else - { - // Start Camera Preview for Video Recording - } +Media.prototype.playAudio = function(filename) { + } - -Media.prototype.play = function() { - var fileparse = this.src.split('.'); - var filetype = fileparse[fileparse.length - 1]; - if ( filetype = MEDIA_AUDIO) - { - // Play Audio - } - else - { - // Bring up Video Overlay - // (Note: On HTML 5 Browsers (iPhone), this should - // create a DIV with a VIDEO tag in it) - } -} - -Media.prototype.pause = function() { - // Do some pausing -} - -Media.prototype.stop = function() { - // Stop playback -} - - -/** - * This class contains information about any Media errors. - * @constructor - */ -function MediaError() { - this.code = null, - this.message = ""; -} - -MediaError.MEDIA_ERR_ABORTED = 1; -MediaError.MEDIA_ERR_NETWORK = 2; -MediaError.MEDIA_ERR_DECODE = 3; -MediaError.MEDIA_ERR_NONE_SUPPORTED = 4; - - -//if (typeof navigator.audio == "undefined") navigator.audio = new Media(src); From b94762a237a09ab98273ff4ade610a102ad6beba Mon Sep 17 00:00:00 2001 From: Michael Nachbaur Date: Fri, 19 Jun 2009 17:11:54 -0700 Subject: [PATCH 24/80] Fixed bug in robb1e's sound code; streaming only works on iPhone OS 3.0 --- iphone/Classes/Sound.h | 1 + iphone/Classes/Sound.m | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/iphone/Classes/Sound.h b/iphone/Classes/Sound.h index 66e90575..30eacb50 100755 --- a/iphone/Classes/Sound.h +++ b/iphone/Classes/Sound.h @@ -22,6 +22,7 @@ { NSString *successCallback; NSString *errorCallback; + #ifdef __IPHONE_3_0 AVAudioPlayer *player; #endif diff --git a/iphone/Classes/Sound.m b/iphone/Classes/Sound.m index 064abd5d..9af14694 100755 --- a/iphone/Classes/Sound.m +++ b/iphone/Classes/Sound.m @@ -34,8 +34,25 @@ - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options NSString *filePath = [mainBundle pathForResource:(NSString*)[filenameParts objectAtIndex:0] ofType:(NSString*)[filenameParts objectAtIndex:1] inDirectory:directoryStr]; - if (filePath == nil) { - NSLog(@"Can't find filename %@ in the app bundle", [arguments objectAtIndex:0]); + if (filePath == nil) { + NSLog(@"Can't find filename %@ in the app bundle", [arguments objectAtIndex:0]); +#ifdef __IPHONE_3_0 + if ([[arguments objectAtIndex:0] hasPrefix:@"http"]){ + + if (player != nil) + [player stop]; + + NSURL *sampleUrl = [NSURL URLWithString:[arguments objectAtIndex:0]]; + NSData *sampleAudio = [NSData dataWithContentsOfURL:sampleUrl]; + NSError *err; + player = [[ AVAudioPlayer alloc ] initWithData:sampleAudio error:&err]; + if (err) + NSLog(@"Failed to initialize AVAudioPlayer: %@\n", err); + player.delegate = self; + [ player prepareToPlay ]; + [ player play ]; + } +#endif return; } SystemSoundID soundID; From a5e61e200b9c63676ffe43a55f3c87d94faceb91 Mon Sep 17 00:00:00 2001 From: shazron Date: Mon, 31 Aug 2009 14:44:03 -0700 Subject: [PATCH 25/80] Added missing AVFoundation and MediaPlayer frameworks for new http:// url media playback --- iphone/PhoneGap.xcodeproj/project.pbxproj | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/iphone/PhoneGap.xcodeproj/project.pbxproj b/iphone/PhoneGap.xcodeproj/project.pbxproj index 9f1eb8f1..b473d49f 100755 --- a/iphone/PhoneGap.xcodeproj/project.pbxproj +++ b/iphone/PhoneGap.xcodeproj/project.pbxproj @@ -25,6 +25,8 @@ 30C5319B1020E3CF0017260B /* Network.m in Sources */ = {isa = PBXBuildFile; fileRef = 30C5319A1020E3CF0017260B /* Network.m */; }; 30C531A01020E4310017260B /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30C5319F1020E4310017260B /* SystemConfiguration.framework */; }; 30CD0F0F0FCBED3F00AA6748 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3023AB3D0FCB6FC40012AC33 /* AddressBookUI.framework */; }; + 30D42BE0104C7B2F003E817C /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30D42BDF104C7B2F003E817C /* AVFoundation.framework */; }; + 30D42BE6104C7B40003E817C /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30D42BE5104C7B40003E817C /* MediaPlayer.framework */; }; 30EC9AEC0FCDF4DD00A52C71 /* LoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 30EC9AEB0FCDF4DD00A52C71 /* LoadingView.m */; }; 30EC9B110FCDFC9900A52C71 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30EC9B100FCDFC9900A52C71 /* CoreGraphics.framework */; }; 30EC9B220FCDFCC500A52C71 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30EC9B210FCDFCC500A52C71 /* QuartzCore.framework */; }; @@ -50,7 +52,6 @@ BB8FCC5E0F5F00FF007C7DCE /* Map.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8FCC5D0F5F00FF007C7DCE /* Map.m */; }; BB8FCE250F5F2CF3007C7DCE /* Location.m in Sources */ = {isa = PBXBuildFile; fileRef = 8254F8800E650500002FDA36 /* Location.m */; }; E94AEB79101A70B60091C5ED /* Movie.m in Sources */ = {isa = PBXBuildFile; fileRef = E94AEB78101A70B60091C5ED /* Movie.m */; }; - E94AEBB1101A71BA0091C5ED /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E94AEBB0101A71BA0091C5ED /* MediaPlayer.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -83,6 +84,8 @@ 30C531991020E3CF0017260B /* Network.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Network.h; sourceTree = ""; }; 30C5319A1020E3CF0017260B /* Network.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Network.m; sourceTree = ""; }; 30C5319F1020E4310017260B /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 30D42BDF104C7B2F003E817C /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 30D42BE5104C7B40003E817C /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; 30EC9AEA0FCDF4DD00A52C71 /* LoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadingView.h; sourceTree = ""; }; 30EC9AEB0FCDF4DD00A52C71 /* LoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoadingView.m; sourceTree = ""; }; 30EC9B100FCDFC9900A52C71 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -124,7 +127,6 @@ BB8FCC5D0F5F00FF007C7DCE /* Map.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Map.m; sourceTree = ""; }; E94AEB77101A70B60091C5ED /* Movie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Movie.h; sourceTree = ""; }; E94AEB78101A70B60091C5ED /* Movie.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Movie.m; sourceTree = ""; }; - E94AEBB0101A71BA0091C5ED /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -141,8 +143,9 @@ BB8FC69F0F5BB58D007C7DCE /* CFNetwork.framework in Frameworks */, 30EC9B110FCDFC9900A52C71 /* CoreGraphics.framework in Frameworks */, 30EC9B220FCDFCC500A52C71 /* QuartzCore.framework in Frameworks */, - E94AEBB1101A71BA0091C5ED /* MediaPlayer.framework in Frameworks */, 30C531A01020E4310017260B /* SystemConfiguration.framework in Frameworks */, + 30D42BE0104C7B2F003E817C /* AVFoundation.framework in Frameworks */, + 30D42BE6104C7B40003E817C /* MediaPlayer.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -229,7 +232,6 @@ 29B97317FDCFA39411CA2CEA /* Resources */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, - E94AEBB0101A71BA0091C5ED /* MediaPlayer.framework */, ); name = CustomTemplate; sourceTree = ""; @@ -264,6 +266,8 @@ 828B59CD0E520C7F0096DE8B /* AudioToolbox.framework */, 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 1D30AB110D05D00D00671497 /* Foundation.framework */, + 30D42BDF104C7B2F003E817C /* AVFoundation.framework */, + 30D42BE5104C7B40003E817C /* MediaPlayer.framework */, ); name = Frameworks; sourceTree = ""; From 0f9c51a1ce2aab97889721d5d5d2317e6df05b72 Mon Sep 17 00:00:00 2001 From: shazron Date: Mon, 31 Aug 2009 17:42:49 -0700 Subject: [PATCH 26/80] Removed JSON custom sdk binary and added the source in its stead --- iphone/Classes/OCABMutableMultiValue.m | 2 +- iphone/Classes/PhoneGapDelegate.h | 2 +- .../JSON/iphoneos.sdk/SDKSettings.plist | 49 ------- .../usr/local/include/JSON/JSON.h | 44 ------ .../usr/local/include/JSON/NSObject+SBJSON.h | 60 -------- .../usr/local/include/JSON/NSString+SBJSON.h | 41 ------ .../usr/local/include/JSON/SBJSON.h | 137 ------------------ .../JSON/iphoneos.sdk/usr/local/lib/libjson.a | Bin 88304 -> 0 bytes .../iphonesimulator.sdk/SDKSettings.plist | 35 ----- .../usr/local/include/JSON/JSON.h | 44 ------ .../usr/local/include/JSON/NSObject+SBJSON.h | 60 -------- .../usr/local/include/JSON/NSString+SBJSON.h | 41 ------ .../usr/local/include/JSON/SBJSON.h | 137 ------------------ .../usr/local/lib/libjson.a | Bin 74064 -> 0 bytes .../macosx.sdk/usr/local/include/JSON/JSON.h | 44 ------ .../usr/local/include/JSON/NSObject+SBJSON.h | 60 -------- .../usr/local/include/JSON/NSString+SBJSON.h | 41 ------ .../usr/local/include/JSON/SBJSON.h | 137 ------------------ .../JSON/macosx.sdk/usr/local/lib/libjson.a | Bin 361768 -> 0 bytes iphone/PhoneGap.xcodeproj/project.pbxproj | 76 ++++++++-- 20 files changed, 69 insertions(+), 941 deletions(-) delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/SDKSettings.plist delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/JSON.h delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSObject+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSString+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphoneos.sdk/usr/local/lib/libjson.a delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/SDKSettings.plist delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/JSON.h delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSObject+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSString+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/SBJSON.h delete mode 100644 iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/lib/libjson.a delete mode 100644 iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/JSON.h delete mode 100644 iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSObject+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSString+SBJSON.h delete mode 100644 iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/SBJSON.h delete mode 100644 iphone/Frameworks/JSON/macosx.sdk/usr/local/lib/libjson.a diff --git a/iphone/Classes/OCABMutableMultiValue.m b/iphone/Classes/OCABMutableMultiValue.m index ba98b417..2e8cea25 100644 --- a/iphone/Classes/OCABMutableMultiValue.m +++ b/iphone/Classes/OCABMutableMultiValue.m @@ -9,7 +9,7 @@ #import #import "OCCFObject.h" #import "OCABMutableMultiValue.h" -#import +#import "JSON.h" @implementation OCABMutableMultiValue diff --git a/iphone/Classes/PhoneGapDelegate.h b/iphone/Classes/PhoneGapDelegate.h index 690202a9..86321dff 100755 --- a/iphone/Classes/PhoneGapDelegate.h +++ b/iphone/Classes/PhoneGapDelegate.h @@ -1,7 +1,7 @@ #import #import #import -#import +#import "JSON.h" #import "Location.h" #import "Device.h" diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/SDKSettings.plist b/iphone/Frameworks/JSON/iphoneos.sdk/SDKSettings.plist deleted file mode 100644 index 4307f277..00000000 --- a/iphone/Frameworks/JSON/iphoneos.sdk/SDKSettings.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - AlternateSDK - jsoniphonesimulator2.0 - CanonicalName - jsoniphoneos2.0 - CustomProperties - - DefaultProperties - - AD_HOC_CODE_SIGNING_ALLOWED - NO - CODE_SIGN_ENTITLEMENTS - - CODE_SIGN_RESOURCE_RULES_PATH - $(SDKROOT)/ResourceRules.plist - DEAD_CODE_STRIPPING - YES - ENTITLEMENTS_REQUIRED - YES - GCC_THUMB_SUPPORT - YES - IPHONEOS_DEPLOYMENT_TARGET - 2.0 - MACOSX_DEPLOYMENT_TARGET - 10.5 - PLATFORM_NAME - iphoneos - - DisplayName - Device - iPhone OS 2.0 - FamilyIdentifier - iphoneos - FamilyName - iPhone OS - IsBaseSDK - NO - MaximumOSDeploymentTarget - 10.5 - MinimalDisplayName - Device - MinimumSupportedToolsVersion - 3.1 - Version - 2.0 - - diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/JSON.h b/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/JSON.h deleted file mode 100644 index 54b26f82..00000000 --- a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/JSON.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright (c) 2007, Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** -@mainpage A strict JSON parser and generator for Objective-C - -JSON (JavaScript Object Notation) is a lightweight data-interchange -format. This framework provides two apis for parsing and generating -JSON. One standard object-based and a higher level api consisting of -categories added to existing Objective-C classes. - -Learn more on the http://code.google.com/p/json-framework project site. -*/ - -#import -#import -#import - diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSObject+SBJSON.h b/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSObject+SBJSON.h deleted file mode 100644 index 038ea8e3..00000000 --- a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSObject+SBJSON.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - - -/// Adds JSON generation to NSObject subclasses -@interface NSObject (NSObject_SBJSON) - -/** - @brief Returns a string containing the receiver encoded as a JSON fragment. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - @li NSString - @li NSNumber (also used for booleans) - @li NSNull - */ -- (NSString *)JSONFragment; - -/** - @brief Returns a string containing the receiver encoded in JSON. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - */ -- (NSString *)JSONRepresentation; - -@end - diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSString+SBJSON.h b/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSString+SBJSON.h deleted file mode 100644 index 69cfa4fd..00000000 --- a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/NSString+SBJSON.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -/// Adds JSON parsing to NSString -@interface NSString (NSString_SBJSON) - -/// Returns the object represented in the receiver, or nil on error. -- (id)JSONFragmentValue; - -/// Returns the dictionary or array represented in the receiver, or nil on error. -- (id)JSONValue; - -@end diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/SBJSON.h b/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/SBJSON.h deleted file mode 100644 index c931d464..00000000 --- a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/include/JSON/SBJSON.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright (C) 2008 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -extern NSString * SBJSONErrorDomain; - -enum { - EUNSUPPORTED = 1, - EPARSENUM, - EPARSE, - EFRAGMENT, - ECTRL, - EUNICODE, - EDEPTH, - EESCAPE, - ETRAILCOMMA, - ETRAILGARBAGE, - EEOF, - EINPUT -}; - -/** -@brief A strict JSON parser and generator - -This is the parser and generator underlying the categories added to -NSString and various other objects. - -Objective-C types are mapped to JSON types and back in the following way: - -@li NSNull -> Null -> NSNull -@li NSString -> String -> NSMutableString -@li NSArray -> Array -> NSMutableArray -@li NSDictionary -> Object -> NSMutableDictionary -@li NSNumber (-initWithBool:) -> Boolean -> NSNumber -initWithBool: -@li NSNumber -> Number -> NSDecimalNumber - -In JSON the keys of an object must be strings. NSDictionary keys need -not be, but attempting to convert an NSDictionary with non-string keys -into JSON will throw an exception. - -NSNumber instances created with the +numberWithBool: method are -converted into the JSON boolean "true" and "false" values, and vice -versa. Any other NSNumber instances are converted to a JSON number the -way you would expect. JSON numbers turn into NSDecimalNumber instances, -as we can thus avoid any loss of precision. - -Strictly speaking correctly formed JSON text must have exactly -one top-level container. (Either an Array or an Object.) Scalars, -i.e. nulls, numbers, booleans and strings, are not valid JSON on their own. -It can be quite convenient to pretend that such fragments are valid -JSON however, and this class lets you do so. - -This class does its best to be as strict as possible, both in what it -accepts and what it generates. (Other than the above mentioned support -for JSON fragments.) For example, it does not support trailing commas -in arrays or objects. Nor does it support embedded comments, or -anything else not in the JSON specification. - -*/ -@interface SBJSON : NSObject { - BOOL humanReadable; - BOOL sortKeys; - NSUInteger maxDepth; - -@private - // Used temporarily during scanning/generation - NSUInteger depth; - const char *c; -} - -/// Whether we are generating human-readable (multiline) JSON -/** - Set whether or not to generate human-readable JSON. The default is NO, which produces - JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable - JSON with linebreaks after each array value and dictionary key/value pair, indented two - spaces per nesting level. - */ -@property BOOL humanReadable; - -/// Whether or not to sort the dictionary keys in the output -/** The default is to not sort the keys. */ -@property BOOL sortKeys; - -/// The maximum depth the parser will go to -/** Defaults to 512. */ -@property NSUInteger maxDepth; - -/// Return JSON representation of an array or dictionary -- (NSString*)stringWithObject:(id)value error:(NSError**)error; - -/// Return JSON representation of any legal JSON value -- (NSString*)stringWithFragment:(id)value error:(NSError**)error; - -/// Return the object represented by the given string -- (id)objectWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return the fragment represented by the given string -- (id)fragmentWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return JSON representation (or fragment) for the given object -- (NSString*)stringWithObject:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -/// Parse the string and return the represented object (or scalar) -- (id)objectWithString:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -@end diff --git a/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/lib/libjson.a b/iphone/Frameworks/JSON/iphoneos.sdk/usr/local/lib/libjson.a deleted file mode 100644 index 9f8c01fa5d7850549b9d0105b81bf18cfb736c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88304 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 - - - - CanonicalName - jsoniphonesimulator2.0 - CustomProperties - - DefaultProperties - - GCC_PRODUCT_TYPE_PREPROCESSOR_DEFINITIONS - __IPHONE_OS_VERSION_MIN_REQUIRED=20000 - MACOSX_DEPLOYMENT_TARGET - 10.5 - PLATFORM_NAME - iphonesimulator - - DisplayName - Simulator - iPhone OS 2.0 - FamilyIdentifier - iphoneos - FamilyName - iPhone OS - MaximumDeploymentTarget - 10.5 - MinimalDisplayName - Simulator - MinimumSupportedToolsVersion - 3.1 - Version - 2.0 - isBaseSDK - NO - - diff --git a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/JSON.h b/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/JSON.h deleted file mode 100644 index 54b26f82..00000000 --- a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/JSON.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright (c) 2007, Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** -@mainpage A strict JSON parser and generator for Objective-C - -JSON (JavaScript Object Notation) is a lightweight data-interchange -format. This framework provides two apis for parsing and generating -JSON. One standard object-based and a higher level api consisting of -categories added to existing Objective-C classes. - -Learn more on the http://code.google.com/p/json-framework project site. -*/ - -#import -#import -#import - diff --git a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSObject+SBJSON.h b/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSObject+SBJSON.h deleted file mode 100644 index 038ea8e3..00000000 --- a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSObject+SBJSON.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - - -/// Adds JSON generation to NSObject subclasses -@interface NSObject (NSObject_SBJSON) - -/** - @brief Returns a string containing the receiver encoded as a JSON fragment. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - @li NSString - @li NSNumber (also used for booleans) - @li NSNull - */ -- (NSString *)JSONFragment; - -/** - @brief Returns a string containing the receiver encoded in JSON. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - */ -- (NSString *)JSONRepresentation; - -@end - diff --git a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSString+SBJSON.h b/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSString+SBJSON.h deleted file mode 100644 index 69cfa4fd..00000000 --- a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/NSString+SBJSON.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -/// Adds JSON parsing to NSString -@interface NSString (NSString_SBJSON) - -/// Returns the object represented in the receiver, or nil on error. -- (id)JSONFragmentValue; - -/// Returns the dictionary or array represented in the receiver, or nil on error. -- (id)JSONValue; - -@end diff --git a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/SBJSON.h b/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/SBJSON.h deleted file mode 100644 index c931d464..00000000 --- a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/include/JSON/SBJSON.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright (C) 2008 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -extern NSString * SBJSONErrorDomain; - -enum { - EUNSUPPORTED = 1, - EPARSENUM, - EPARSE, - EFRAGMENT, - ECTRL, - EUNICODE, - EDEPTH, - EESCAPE, - ETRAILCOMMA, - ETRAILGARBAGE, - EEOF, - EINPUT -}; - -/** -@brief A strict JSON parser and generator - -This is the parser and generator underlying the categories added to -NSString and various other objects. - -Objective-C types are mapped to JSON types and back in the following way: - -@li NSNull -> Null -> NSNull -@li NSString -> String -> NSMutableString -@li NSArray -> Array -> NSMutableArray -@li NSDictionary -> Object -> NSMutableDictionary -@li NSNumber (-initWithBool:) -> Boolean -> NSNumber -initWithBool: -@li NSNumber -> Number -> NSDecimalNumber - -In JSON the keys of an object must be strings. NSDictionary keys need -not be, but attempting to convert an NSDictionary with non-string keys -into JSON will throw an exception. - -NSNumber instances created with the +numberWithBool: method are -converted into the JSON boolean "true" and "false" values, and vice -versa. Any other NSNumber instances are converted to a JSON number the -way you would expect. JSON numbers turn into NSDecimalNumber instances, -as we can thus avoid any loss of precision. - -Strictly speaking correctly formed JSON text must have exactly -one top-level container. (Either an Array or an Object.) Scalars, -i.e. nulls, numbers, booleans and strings, are not valid JSON on their own. -It can be quite convenient to pretend that such fragments are valid -JSON however, and this class lets you do so. - -This class does its best to be as strict as possible, both in what it -accepts and what it generates. (Other than the above mentioned support -for JSON fragments.) For example, it does not support trailing commas -in arrays or objects. Nor does it support embedded comments, or -anything else not in the JSON specification. - -*/ -@interface SBJSON : NSObject { - BOOL humanReadable; - BOOL sortKeys; - NSUInteger maxDepth; - -@private - // Used temporarily during scanning/generation - NSUInteger depth; - const char *c; -} - -/// Whether we are generating human-readable (multiline) JSON -/** - Set whether or not to generate human-readable JSON. The default is NO, which produces - JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable - JSON with linebreaks after each array value and dictionary key/value pair, indented two - spaces per nesting level. - */ -@property BOOL humanReadable; - -/// Whether or not to sort the dictionary keys in the output -/** The default is to not sort the keys. */ -@property BOOL sortKeys; - -/// The maximum depth the parser will go to -/** Defaults to 512. */ -@property NSUInteger maxDepth; - -/// Return JSON representation of an array or dictionary -- (NSString*)stringWithObject:(id)value error:(NSError**)error; - -/// Return JSON representation of any legal JSON value -- (NSString*)stringWithFragment:(id)value error:(NSError**)error; - -/// Return the object represented by the given string -- (id)objectWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return the fragment represented by the given string -- (id)fragmentWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return JSON representation (or fragment) for the given object -- (NSString*)stringWithObject:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -/// Parse the string and return the represented object (or scalar) -- (id)objectWithString:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -@end diff --git a/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/lib/libjson.a b/iphone/Frameworks/JSON/iphonesimulator.sdk/usr/local/lib/libjson.a deleted file mode 100644 index d127448f3658135223be97fefc69366737ab1875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74064 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ⓈE!q`fB2k1o(`tOAPE70wH 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 MI$eMNjFhkc0&$9aGynhq diff --git a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/JSON.h b/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/JSON.h deleted file mode 100644 index 54b26f82..00000000 --- a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/JSON.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright (c) 2007, Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** -@mainpage A strict JSON parser and generator for Objective-C - -JSON (JavaScript Object Notation) is a lightweight data-interchange -format. This framework provides two apis for parsing and generating -JSON. One standard object-based and a higher level api consisting of -categories added to existing Objective-C classes. - -Learn more on the http://code.google.com/p/json-framework project site. -*/ - -#import -#import -#import - diff --git a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSObject+SBJSON.h b/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSObject+SBJSON.h deleted file mode 100644 index 038ea8e3..00000000 --- a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSObject+SBJSON.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - - -/// Adds JSON generation to NSObject subclasses -@interface NSObject (NSObject_SBJSON) - -/** - @brief Returns a string containing the receiver encoded as a JSON fragment. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - @li NSString - @li NSNumber (also used for booleans) - @li NSNull - */ -- (NSString *)JSONFragment; - -/** - @brief Returns a string containing the receiver encoded in JSON. - - This method is added as a category on NSObject but is only actually - supported for the following objects: - @li NSDictionary - @li NSArray - */ -- (NSString *)JSONRepresentation; - -@end - diff --git a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSString+SBJSON.h b/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSString+SBJSON.h deleted file mode 100644 index 69cfa4fd..00000000 --- a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/NSString+SBJSON.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright (C) 2007 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -/// Adds JSON parsing to NSString -@interface NSString (NSString_SBJSON) - -/// Returns the object represented in the receiver, or nil on error. -- (id)JSONFragmentValue; - -/// Returns the dictionary or array represented in the receiver, or nil on error. -- (id)JSONValue; - -@end diff --git a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/SBJSON.h b/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/SBJSON.h deleted file mode 100644 index c931d464..00000000 --- a/iphone/Frameworks/JSON/macosx.sdk/usr/local/include/JSON/SBJSON.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright (C) 2008 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#import - -extern NSString * SBJSONErrorDomain; - -enum { - EUNSUPPORTED = 1, - EPARSENUM, - EPARSE, - EFRAGMENT, - ECTRL, - EUNICODE, - EDEPTH, - EESCAPE, - ETRAILCOMMA, - ETRAILGARBAGE, - EEOF, - EINPUT -}; - -/** -@brief A strict JSON parser and generator - -This is the parser and generator underlying the categories added to -NSString and various other objects. - -Objective-C types are mapped to JSON types and back in the following way: - -@li NSNull -> Null -> NSNull -@li NSString -> String -> NSMutableString -@li NSArray -> Array -> NSMutableArray -@li NSDictionary -> Object -> NSMutableDictionary -@li NSNumber (-initWithBool:) -> Boolean -> NSNumber -initWithBool: -@li NSNumber -> Number -> NSDecimalNumber - -In JSON the keys of an object must be strings. NSDictionary keys need -not be, but attempting to convert an NSDictionary with non-string keys -into JSON will throw an exception. - -NSNumber instances created with the +numberWithBool: method are -converted into the JSON boolean "true" and "false" values, and vice -versa. Any other NSNumber instances are converted to a JSON number the -way you would expect. JSON numbers turn into NSDecimalNumber instances, -as we can thus avoid any loss of precision. - -Strictly speaking correctly formed JSON text must have exactly -one top-level container. (Either an Array or an Object.) Scalars, -i.e. nulls, numbers, booleans and strings, are not valid JSON on their own. -It can be quite convenient to pretend that such fragments are valid -JSON however, and this class lets you do so. - -This class does its best to be as strict as possible, both in what it -accepts and what it generates. (Other than the above mentioned support -for JSON fragments.) For example, it does not support trailing commas -in arrays or objects. Nor does it support embedded comments, or -anything else not in the JSON specification. - -*/ -@interface SBJSON : NSObject { - BOOL humanReadable; - BOOL sortKeys; - NSUInteger maxDepth; - -@private - // Used temporarily during scanning/generation - NSUInteger depth; - const char *c; -} - -/// Whether we are generating human-readable (multiline) JSON -/** - Set whether or not to generate human-readable JSON. The default is NO, which produces - JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable - JSON with linebreaks after each array value and dictionary key/value pair, indented two - spaces per nesting level. - */ -@property BOOL humanReadable; - -/// Whether or not to sort the dictionary keys in the output -/** The default is to not sort the keys. */ -@property BOOL sortKeys; - -/// The maximum depth the parser will go to -/** Defaults to 512. */ -@property NSUInteger maxDepth; - -/// Return JSON representation of an array or dictionary -- (NSString*)stringWithObject:(id)value error:(NSError**)error; - -/// Return JSON representation of any legal JSON value -- (NSString*)stringWithFragment:(id)value error:(NSError**)error; - -/// Return the object represented by the given string -- (id)objectWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return the fragment represented by the given string -- (id)fragmentWithString:(NSString*)jsonrep error:(NSError**)error; - -/// Return JSON representation (or fragment) for the given object -- (NSString*)stringWithObject:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -/// Parse the string and return the represented object (or scalar) -- (id)objectWithString:(id)value - allowScalar:(BOOL)x - error:(NSError**)error; - -@end diff --git a/iphone/Frameworks/JSON/macosx.sdk/usr/local/lib/libjson.a b/iphone/Frameworks/JSON/macosx.sdk/usr/local/lib/libjson.a deleted file mode 100644 index 3072d81a9bf3f88aabe655f75293593294ad02fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361768 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

    h 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%0DSC_Jb>WdFc|y6+uI? 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 diff --git a/iphone/PhoneGap.xcodeproj/project.pbxproj b/iphone/PhoneGap.xcodeproj/project.pbxproj index b473d49f..b68111d6 100755 --- a/iphone/PhoneGap.xcodeproj/project.pbxproj +++ b/iphone/PhoneGap.xcodeproj/project.pbxproj @@ -19,6 +19,12 @@ 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 301469B91034A0EB008103DA /* InvokedUrlCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 301469B81034A0EB008103DA /* InvokedUrlCommand.m */; }; + 3014D276104CA4D400CF4156 /* NSObject+SBJSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D26B104CA4D300CF4156 /* NSObject+SBJSON.m */; }; + 3014D277104CA4D400CF4156 /* NSString+SBJSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D26D104CA4D400CF4156 /* NSString+SBJSON.m */; }; + 3014D278104CA4D400CF4156 /* SBJSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D26F104CA4D400CF4156 /* SBJSON.m */; }; + 3014D279104CA4D400CF4156 /* SBJsonBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D271104CA4D400CF4156 /* SBJsonBase.m */; }; + 3014D27A104CA4D400CF4156 /* SBJsonParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D273104CA4D400CF4156 /* SBJsonParser.m */; }; + 3014D27B104CA4D400CF4156 /* SBJsonWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3014D275104CA4D400CF4156 /* SBJsonWriter.m */; }; 303554C1100E56B7002C5EC0 /* Camera.m in Sources */ = {isa = PBXBuildFile; fileRef = 303554C0100E56B7002C5EC0 /* Camera.m */; }; 30355582100E7477002C5EC0 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 30355581100E7477002C5EC0 /* NSData+Base64.m */; }; 30C531981020E3B20017260B /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 30C531971020E3B20017260B /* Reachability.m */; }; @@ -74,6 +80,19 @@ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../main.m; sourceTree = ""; }; 301469B71034A0EB008103DA /* InvokedUrlCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvokedUrlCommand.h; sourceTree = ""; }; 301469B81034A0EB008103DA /* InvokedUrlCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InvokedUrlCommand.m; sourceTree = ""; }; + 3014D269104CA4D300CF4156 /* JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSON.h; sourceTree = ""; }; + 3014D26A104CA4D300CF4156 /* NSObject+SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+SBJSON.h"; sourceTree = ""; }; + 3014D26B104CA4D300CF4156 /* NSObject+SBJSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+SBJSON.m"; sourceTree = ""; }; + 3014D26C104CA4D400CF4156 /* NSString+SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+SBJSON.h"; sourceTree = ""; }; + 3014D26D104CA4D400CF4156 /* NSString+SBJSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+SBJSON.m"; sourceTree = ""; }; + 3014D26E104CA4D400CF4156 /* SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJSON.h; sourceTree = ""; }; + 3014D26F104CA4D400CF4156 /* SBJSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJSON.m; sourceTree = ""; }; + 3014D270104CA4D400CF4156 /* SBJsonBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonBase.h; sourceTree = ""; }; + 3014D271104CA4D400CF4156 /* SBJsonBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonBase.m; sourceTree = ""; }; + 3014D272104CA4D400CF4156 /* SBJsonParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonParser.h; sourceTree = ""; }; + 3014D273104CA4D400CF4156 /* SBJsonParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonParser.m; sourceTree = ""; }; + 3014D274104CA4D400CF4156 /* SBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonWriter.h; sourceTree = ""; }; + 3014D275104CA4D400CF4156 /* SBJsonWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonWriter.m; sourceTree = ""; }; 3023AB3D0FCB6FC40012AC33 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; 303554BF100E56B7002C5EC0 /* Camera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Camera.h; sourceTree = ""; }; 303554C0100E56B7002C5EC0 /* Camera.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Camera.m; sourceTree = ""; }; @@ -155,6 +174,7 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 3014D268104CA4D300CF4156 /* JSON */, 301469B71034A0EB008103DA /* InvokedUrlCommand.h */, 301469B81034A0EB008103DA /* InvokedUrlCommand.m */, 29B97316FDCFA39411CA2CEA /* main.m */, @@ -272,6 +292,26 @@ name = Frameworks; sourceTree = ""; }; + 3014D268104CA4D300CF4156 /* JSON */ = { + isa = PBXGroup; + children = ( + 3014D269104CA4D300CF4156 /* JSON.h */, + 3014D26A104CA4D300CF4156 /* NSObject+SBJSON.h */, + 3014D26B104CA4D300CF4156 /* NSObject+SBJSON.m */, + 3014D26C104CA4D400CF4156 /* NSString+SBJSON.h */, + 3014D26D104CA4D400CF4156 /* NSString+SBJSON.m */, + 3014D26E104CA4D400CF4156 /* SBJSON.h */, + 3014D26F104CA4D400CF4156 /* SBJSON.m */, + 3014D270104CA4D400CF4156 /* SBJsonBase.h */, + 3014D271104CA4D400CF4156 /* SBJsonBase.m */, + 3014D272104CA4D400CF4156 /* SBJsonParser.h */, + 3014D273104CA4D400CF4156 /* SBJsonParser.m */, + 3014D274104CA4D400CF4156 /* SBJsonWriter.h */, + 3014D275104CA4D400CF4156 /* SBJsonWriter.m */, + ); + path = JSON; + sourceTree = ""; + }; 30EF088D0FCFDA4B009B3930 /* Proxies */ = { isa = PBXGroup; children = ( @@ -397,6 +437,12 @@ 30C531981020E3B20017260B /* Reachability.m in Sources */, 30C5319B1020E3CF0017260B /* Network.m in Sources */, 301469B91034A0EB008103DA /* InvokedUrlCommand.m in Sources */, + 3014D276104CA4D400CF4156 /* NSObject+SBJSON.m in Sources */, + 3014D277104CA4D400CF4156 /* NSString+SBJSON.m in Sources */, + 3014D278104CA4D400CF4156 /* SBJSON.m in Sources */, + 3014D279104CA4D400CF4156 /* SBJsonBase.m in Sources */, + 3014D27A104CA4D400CF4156 /* SBJsonParser.m in Sources */, + 3014D27B104CA4D400CF4156 /* SBJsonWriter.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -406,7 +452,7 @@ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ALWAYS_SEARCH_USER_PATHS = NO; CODE_SIGN_IDENTITY = "Don't Code Sign"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -422,7 +468,7 @@ INFOPLIST_FILE = Info.plist; OTHER_LDFLAGS = ( "-ObjC", - "-ljson", + "-all_load", ); PRODUCT_NAME = PhoneGap; PROVISIONING_PROFILE = ""; @@ -433,7 +479,7 @@ 1D6058950D05DD3E006BFB54 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -443,6 +489,10 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = PhoneGap_Prefix.pch; INFOPLIST_FILE = Info.plist; + OTHER_LDFLAGS = ( + "-ObjC", + "-all_load", + ); PRODUCT_NAME = PhoneGap; }; name = Release; @@ -450,7 +500,7 @@ B74E58180EC6C9AC00215614 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -460,6 +510,10 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-ObjC", + "-all_load", + ); PREBINDING = NO; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; @@ -470,7 +524,7 @@ B74E58190EC6C9AC00215614 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -484,7 +538,7 @@ INFOPLIST_FILE = Info.plist; OTHER_LDFLAGS = ( "-ObjC", - "-ljson", + "-all_load", ); PRODUCT_NAME = PhoneGap; }; @@ -493,7 +547,7 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -503,6 +557,10 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 2.2.1; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-ObjC", + "-all_load", + ); PREBINDING = NO; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; @@ -513,7 +571,7 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "\"$(SRCROOT)/Frameworks/JSON/$(PLATFORM_NAME).sdk\""; + ADDITIONAL_SDKS = ""; ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CODE_SIGN_IDENTITY = "Don't Code Sign"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Don't Code Sign"; @@ -523,7 +581,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; OTHER_LDFLAGS = ( "-ObjC", - "-ljson", + "-all_load", ); PREBINDING = NO; SDKROOT = iphoneos3.0; From 0a2c2c0112c323200b95bfb8ebe84b2fe2b43028 Mon Sep 17 00:00:00 2001 From: shazron Date: Mon, 31 Aug 2009 17:51:35 -0700 Subject: [PATCH 27/80] Conditionally compiled deprecated functions. --- iphone/Classes/PhoneGapDelegate.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/iphone/Classes/PhoneGapDelegate.m b/iphone/Classes/PhoneGapDelegate.m index 9120eefd..fa476a61 100755 --- a/iphone/Classes/PhoneGapDelegate.m +++ b/iphone/Classes/PhoneGapDelegate.m @@ -57,8 +57,10 @@ - (void)applicationDidFinishLaunching:(UIApplication *)application */ NSDictionary *temp = [PhoneGapDelegate getBundlePlist:@"PhoneGap"]; settings = [[NSDictionary alloc] initWithDictionary:temp]; - + +#if __IPHONE_OS_VERSION_MIN_REQUIRED < 30000 NSNumber *detectNumber = [settings objectForKey:@"DetectPhoneNumber"]; +#endif NSNumber *useLocation = [settings objectForKey:@"UseLocation"]; NSNumber *useAccelerometer = [settings objectForKey:@"EnableAcceleration"]; NSNumber *autoRotate = [settings objectForKey:@"AutoRotate"]; @@ -90,7 +92,9 @@ - (void)applicationDidFinishLaunching:(UIApplication *)application NSURLRequest *appReq = [NSURLRequest requestWithURL:appURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0]; [webView loadRequest:appReq]; +#if __IPHONE_OS_VERSION_MIN_REQUIRED < 30000 webView.detectsPhoneNumbers = [detectNumber boolValue]; +#endif /* * imageView - is the Default loading screen, it stay up until the app and UIWebView (WebKit) has completly loaded. From ad77639f0c9d031ad9715462fb6d7a2f1f03b671 Mon Sep 17 00:00:00 2001 From: shazron Date: Tue, 1 Sep 2009 06:51:53 -0700 Subject: [PATCH 28/80] Added missing JSON library files --- iphone/Classes/JSON/JSON.h | 50 +++ iphone/Classes/JSON/NSObject+SBJSON.h | 68 ++++ iphone/Classes/JSON/NSObject+SBJSON.m | 53 +++ iphone/Classes/JSON/NSString+SBJSON.h | 58 ++++ iphone/Classes/JSON/NSString+SBJSON.m | 55 +++ iphone/Classes/JSON/SBJSON.h | 75 ++++ iphone/Classes/JSON/SBJSON.m | 212 ++++++++++++ iphone/Classes/JSON/SBJsonBase.h | 86 +++++ iphone/Classes/JSON/SBJsonBase.m | 78 +++++ iphone/Classes/JSON/SBJsonParser.h | 87 +++++ iphone/Classes/JSON/SBJsonParser.m | 475 ++++++++++++++++++++++++++ iphone/Classes/JSON/SBJsonWriter.h | 129 +++++++ iphone/Classes/JSON/SBJsonWriter.m | 228 +++++++++++++ 13 files changed, 1654 insertions(+) create mode 100644 iphone/Classes/JSON/JSON.h create mode 100644 iphone/Classes/JSON/NSObject+SBJSON.h create mode 100644 iphone/Classes/JSON/NSObject+SBJSON.m create mode 100644 iphone/Classes/JSON/NSString+SBJSON.h create mode 100644 iphone/Classes/JSON/NSString+SBJSON.m create mode 100644 iphone/Classes/JSON/SBJSON.h create mode 100644 iphone/Classes/JSON/SBJSON.m create mode 100644 iphone/Classes/JSON/SBJsonBase.h create mode 100644 iphone/Classes/JSON/SBJsonBase.m create mode 100644 iphone/Classes/JSON/SBJsonParser.h create mode 100644 iphone/Classes/JSON/SBJsonParser.m create mode 100644 iphone/Classes/JSON/SBJsonWriter.h create mode 100644 iphone/Classes/JSON/SBJsonWriter.m diff --git a/iphone/Classes/JSON/JSON.h b/iphone/Classes/JSON/JSON.h new file mode 100644 index 00000000..1e58c9ad --- /dev/null +++ b/iphone/Classes/JSON/JSON.h @@ -0,0 +1,50 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + @mainpage A strict JSON parser and generator for Objective-C + + JSON (JavaScript Object Notation) is a lightweight data-interchange + format. This framework provides two apis for parsing and generating + JSON. One standard object-based and a higher level api consisting of + categories added to existing Objective-C classes. + + Learn more on the http://code.google.com/p/json-framework project site. + + This framework does its best to be as strict as possible, both in what it + accepts and what it generates. For example, it does not support trailing commas + in arrays or objects. Nor does it support embedded comments, or + anything else not in the JSON specification. This is considered a feature. + +*/ + +#import "SBJSON.h" +#import "NSObject+SBJSON.h" +#import "NSString+SBJSON.h" + diff --git a/iphone/Classes/JSON/NSObject+SBJSON.h b/iphone/Classes/JSON/NSObject+SBJSON.h new file mode 100644 index 00000000..ecf0ee40 --- /dev/null +++ b/iphone/Classes/JSON/NSObject+SBJSON.h @@ -0,0 +1,68 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + + +/** + @brief Adds JSON generation to Foundation classes + + This is a category on NSObject that adds methods for returning JSON representations + of standard objects to the objects themselves. This means you can call the + -JSONRepresentation method on an NSArray object and it'll do what you want. + */ +@interface NSObject (NSObject_SBJSON) + +/** + @brief Returns a string containing the receiver encoded as a JSON fragment. + + This method is added as a category on NSObject but is only actually + supported for the following objects: + @li NSDictionary + @li NSArray + @li NSString + @li NSNumber (also used for booleans) + @li NSNull + + @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (NSString *)JSONFragment; + +/** + @brief Returns a string containing the receiver encoded in JSON. + + This method is added as a category on NSObject but is only actually + supported for the following objects: + @li NSDictionary + @li NSArray + */ +- (NSString *)JSONRepresentation; + +@end + diff --git a/iphone/Classes/JSON/NSObject+SBJSON.m b/iphone/Classes/JSON/NSObject+SBJSON.m new file mode 100644 index 00000000..f9cea43e --- /dev/null +++ b/iphone/Classes/JSON/NSObject+SBJSON.m @@ -0,0 +1,53 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "NSObject+SBJSON.h" +#import "SBJsonWriter.h" + +@implementation NSObject (NSObject_SBJSON) + +- (NSString *)JSONFragment { + SBJsonWriter *jsonWriter = [SBJsonWriter new]; + NSString *json = [jsonWriter stringWithFragment:self]; + if (json) + NSLog(@"-JSONFragment failed. Error trace is: %@", [jsonWriter errorTrace]); + [jsonWriter release]; + return json; +} + +- (NSString *)JSONRepresentation { + SBJsonWriter *jsonWriter = [SBJsonWriter new]; + NSString *json = [jsonWriter stringWithObject:self]; + if (json) + NSLog(@"-JSONRepresentation failed. Error trace is: %@", [jsonWriter errorTrace]); + [jsonWriter release]; + return json; +} + +@end diff --git a/iphone/Classes/JSON/NSString+SBJSON.h b/iphone/Classes/JSON/NSString+SBJSON.h new file mode 100644 index 00000000..fad7179c --- /dev/null +++ b/iphone/Classes/JSON/NSString+SBJSON.h @@ -0,0 +1,58 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +/** + @brief Adds JSON parsing methods to NSString + +This is a category on NSString that adds methods for parsing the target string. +*/ +@interface NSString (NSString_SBJSON) + + +/** + @brief Returns the object represented in the receiver, or nil on error. + + Returns a a scalar object represented by the string's JSON fragment representation. + + @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (id)JSONFragmentValue; + +/** + @brief Returns the NSDictionary or NSArray represented by the current string's JSON representation. + + Returns the dictionary or array represented in the receiver, or nil on error. + + Returns the NSDictionary or NSArray represented by the current string's JSON representation. + */ +- (id)JSONValue; + +@end diff --git a/iphone/Classes/JSON/NSString+SBJSON.m b/iphone/Classes/JSON/NSString+SBJSON.m new file mode 100644 index 00000000..6e199644 --- /dev/null +++ b/iphone/Classes/JSON/NSString+SBJSON.m @@ -0,0 +1,55 @@ +/* + Copyright (C) 2007-2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "NSString+SBJSON.h" +#import "SBJsonParser.h" + +@implementation NSString (NSString_SBJSON) + +- (id)JSONFragmentValue +{ + SBJsonParser *jsonParser = [SBJsonParser new]; + id repr = [jsonParser fragmentWithString:self]; + if (repr) + NSLog(@"-JSONFragmentValue failed. Error trace is: %@", [jsonParser errorTrace]); + [jsonParser release]; + return repr; +} + +- (id)JSONValue +{ + SBJsonParser *jsonParser = [SBJsonParser new]; + id repr = [jsonParser objectWithString:self]; + if (!repr) + NSLog(@"-JSONValue failed. Error trace is: %@", [jsonParser errorTrace]); + [jsonParser release]; + return repr; +} + +@end diff --git a/iphone/Classes/JSON/SBJSON.h b/iphone/Classes/JSON/SBJSON.h new file mode 100644 index 00000000..43d63c30 --- /dev/null +++ b/iphone/Classes/JSON/SBJSON.h @@ -0,0 +1,75 @@ +/* + Copyright (C) 2007-2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import "SBJsonParser.h" +#import "SBJsonWriter.h" + +/** + @brief Facade for SBJsonWriter/SBJsonParser. + + Requests are forwarded to instances of SBJsonWriter and SBJsonParser. + */ +@interface SBJSON : SBJsonBase { + +@private + SBJsonParser *jsonParser; + SBJsonWriter *jsonWriter; +} + + +/// Return the fragment represented by the given string +- (id)fragmentWithString:(NSString*)jsonrep + error:(NSError**)error; + +/// Return the object represented by the given string +- (id)objectWithString:(NSString*)jsonrep + error:(NSError**)error; + +/// Parse the string and return the represented object (or scalar) +- (id)objectWithString:(id)value + allowScalar:(BOOL)x + error:(NSError**)error; + + +/// Return JSON representation of an array or dictionary +- (NSString*)stringWithObject:(id)value + error:(NSError**)error; + +/// Return JSON representation of any legal JSON value +- (NSString*)stringWithFragment:(id)value + error:(NSError**)error; + +/// Return JSON representation (or fragment) for the given object +- (NSString*)stringWithObject:(id)value + allowScalar:(BOOL)x + error:(NSError**)error; + + +@end diff --git a/iphone/Classes/JSON/SBJSON.m b/iphone/Classes/JSON/SBJSON.m new file mode 100644 index 00000000..2a30f1a7 --- /dev/null +++ b/iphone/Classes/JSON/SBJSON.m @@ -0,0 +1,212 @@ +/* + Copyright (C) 2007-2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "SBJSON.h" + +@implementation SBJSON + +- (id)init { + self = [super init]; + if (self) { + jsonWriter = [SBJsonWriter new]; + jsonParser = [SBJsonParser new]; + [self setMaxDepth:512]; + + } + return self; +} + +- (void)dealloc { + [jsonWriter release]; + [jsonParser release]; + [super dealloc]; +} + +#pragma mark Writer + + +- (NSString *)stringWithObject:(id)obj { + NSString *repr = [jsonWriter stringWithObject:obj]; + if (repr) + return repr; + + [errorTrace release]; + errorTrace = [[jsonWriter errorTrace] mutableCopy]; + return nil; +} + +/** + Returns a string containing JSON representation of the passed in value, or nil on error. + If nil is returned and @p error is not NULL, @p *error can be interrogated to find the cause of the error. + + @param value any instance that can be represented as a JSON fragment + @param allowScalar wether to return json fragments for scalar objects + @param error used to return an error by reference (pass NULL if this is not desired) + +@deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (NSString*)stringWithObject:(id)value allowScalar:(BOOL)allowScalar error:(NSError**)error { + + NSString *json = allowScalar ? [jsonWriter stringWithFragment:value] : [jsonWriter stringWithObject:value]; + if (json) + return json; + + [errorTrace release]; + errorTrace = [[jsonWriter errorTrace] mutableCopy]; + + if (error) + *error = [errorTrace lastObject]; + return nil; +} + +/** + Returns a string containing JSON representation of the passed in value, or nil on error. + If nil is returned and @p error is not NULL, @p error can be interrogated to find the cause of the error. + + @param value any instance that can be represented as a JSON fragment + @param error used to return an error by reference (pass NULL if this is not desired) + + @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (NSString*)stringWithFragment:(id)value error:(NSError**)error { + return [self stringWithObject:value + allowScalar:YES + error:error]; +} + +/** + Returns a string containing JSON representation of the passed in value, or nil on error. + If nil is returned and @p error is not NULL, @p error can be interrogated to find the cause of the error. + + @param value a NSDictionary or NSArray instance + @param error used to return an error by reference (pass NULL if this is not desired) + */ +- (NSString*)stringWithObject:(id)value error:(NSError**)error { + return [self stringWithObject:value + allowScalar:NO + error:error]; +} + +#pragma mark Parsing + +- (id)objectWithString:(NSString *)repr { + id obj = [jsonParser objectWithString:repr]; + if (obj) + return obj; + + [errorTrace release]; + errorTrace = [[jsonParser errorTrace] mutableCopy]; + + return nil; +} + +/** + Returns the object represented by the passed-in string or nil on error. The returned object can be + a string, number, boolean, null, array or dictionary. + + @param value the json string to parse + @param allowScalar whether to return objects for JSON fragments + @param error used to return an error by reference (pass NULL if this is not desired) + + @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (id)objectWithString:(id)value allowScalar:(BOOL)allowScalar error:(NSError**)error { + + id obj = allowScalar ? [jsonParser fragmentWithString:value] : [jsonParser objectWithString:value]; + if (obj) + return obj; + + [errorTrace release]; + errorTrace = [[jsonParser errorTrace] mutableCopy]; + + if (error) + *error = [errorTrace lastObject]; + return nil; +} + +/** + Returns the object represented by the passed-in string or nil on error. The returned object can be + a string, number, boolean, null, array or dictionary. + + @param repr the json string to parse + @param error used to return an error by reference (pass NULL if this is not desired) + + @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed. + */ +- (id)fragmentWithString:(NSString*)repr error:(NSError**)error { + return [self objectWithString:repr + allowScalar:YES + error:error]; +} + +/** + Returns the object represented by the passed-in string or nil on error. The returned object + will be either a dictionary or an array. + + @param repr the json string to parse + @param error used to return an error by reference (pass NULL if this is not desired) + */ +- (id)objectWithString:(NSString*)repr error:(NSError**)error { + return [self objectWithString:repr + allowScalar:NO + error:error]; +} + + + +#pragma mark Properties - parsing + +- (NSUInteger)maxDepth { + return jsonParser.maxDepth; +} + +- (void)setMaxDepth:(NSUInteger)d { + jsonWriter.maxDepth = jsonParser.maxDepth = d; +} + + +#pragma mark Properties - writing + +- (BOOL)humanReadable { + return jsonWriter.humanReadable; +} + +- (void)setHumanReadable:(BOOL)x { + jsonWriter.humanReadable = x; +} + +- (BOOL)sortKeys { + return jsonWriter.sortKeys; +} + +- (void)setSortKeys:(BOOL)x { + jsonWriter.sortKeys = x; +} + +@end diff --git a/iphone/Classes/JSON/SBJsonBase.h b/iphone/Classes/JSON/SBJsonBase.h new file mode 100644 index 00000000..7b108440 --- /dev/null +++ b/iphone/Classes/JSON/SBJsonBase.h @@ -0,0 +1,86 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +extern NSString * SBJSONErrorDomain; + + +enum { + EUNSUPPORTED = 1, + EPARSENUM, + EPARSE, + EFRAGMENT, + ECTRL, + EUNICODE, + EDEPTH, + EESCAPE, + ETRAILCOMMA, + ETRAILGARBAGE, + EEOF, + EINPUT +}; + +/** + @brief Common base class for parsing & writing. + + This class contains the common error-handling code and option between the parser/writer. + */ +@interface SBJsonBase : NSObject { + NSMutableArray *errorTrace; + +@protected + NSUInteger depth, maxDepth; +} + +/** + @brief The maximum recursing depth. + + Defaults to 512. If the input is nested deeper than this the input will be deemed to be + malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can + turn off this security feature by setting the maxDepth value to 0. + */ +@property NSUInteger maxDepth; + +/** + @brief Return an error trace, or nil if there was no errors. + + Note that this method returns the trace of the last method that failed. + You need to check the return value of the call you're making to figure out + if the call actually failed, before you know call this method. + */ + @property(copy,readonly) NSArray* errorTrace; + +/// @internal for use in subclasses to add errors to the stack trace +- (void)addErrorWithCode:(NSUInteger)code description:(NSString*)str; + +/// @internal for use in subclasess to clear the error before a new parsing attempt +- (void)clearErrorTrace; + +@end diff --git a/iphone/Classes/JSON/SBJsonBase.m b/iphone/Classes/JSON/SBJsonBase.m new file mode 100644 index 00000000..6684325d --- /dev/null +++ b/iphone/Classes/JSON/SBJsonBase.m @@ -0,0 +1,78 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "SBJsonBase.h" +NSString * SBJSONErrorDomain = @"org.brautaset.JSON.ErrorDomain"; + + +@implementation SBJsonBase + +@synthesize errorTrace; +@synthesize maxDepth; + +- (id)init { + self = [super init]; + if (self) + self.maxDepth = 512; + return self; +} + +- (void)dealloc { + [errorTrace release]; + [super dealloc]; +} + +- (void)addErrorWithCode:(NSUInteger)code description:(NSString*)str { + NSDictionary *userInfo; + if (!errorTrace) { + errorTrace = [NSMutableArray new]; + userInfo = [NSDictionary dictionaryWithObject:str forKey:NSLocalizedDescriptionKey]; + + } else { + userInfo = [NSDictionary dictionaryWithObjectsAndKeys: + str, NSLocalizedDescriptionKey, + [errorTrace lastObject], NSUnderlyingErrorKey, + nil]; + } + + NSError *error = [NSError errorWithDomain:SBJSONErrorDomain code:code userInfo:userInfo]; + + [self willChangeValueForKey:@"errorTrace"]; + [errorTrace addObject:error]; + [self didChangeValueForKey:@"errorTrace"]; +} + +- (void)clearErrorTrace { + [self willChangeValueForKey:@"errorTrace"]; + [errorTrace release]; + errorTrace = nil; + [self didChangeValueForKey:@"errorTrace"]; +} + +@end diff --git a/iphone/Classes/JSON/SBJsonParser.h b/iphone/Classes/JSON/SBJsonParser.h new file mode 100644 index 00000000..e95304d9 --- /dev/null +++ b/iphone/Classes/JSON/SBJsonParser.h @@ -0,0 +1,87 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import "SBJsonBase.h" + +/** + @brief Options for the parser class. + + This exists so the SBJSON facade can implement the options in the parser without having to re-declare them. + */ +@protocol SBJsonParser + +/** + @brief Return the object represented by the given string. + + Returns the object represented by the passed-in string or nil on error. The returned object can be + a string, number, boolean, null, array or dictionary. + + @param repr the json string to parse + */ +- (id)objectWithString:(NSString *)repr; + +@end + + +/** + @brief The JSON parser class. + + JSON is mapped to Objective-C types in the following way: + + @li Null -> NSNull + @li String -> NSMutableString + @li Array -> NSMutableArray + @li Object -> NSMutableDictionary + @li Boolean -> NSNumber (initialised with -initWithBool:) + @li Number -> NSDecimalNumber + + Since Objective-C doesn't have a dedicated class for boolean values, these turns into NSNumber + instances. These are initialised with the -initWithBool: method, and + round-trip back to JSON properly. (They won't silently suddenly become 0 or 1; they'll be + represented as 'true' and 'false' again.) + + JSON numbers turn into NSDecimalNumber instances, + as we can thus avoid any loss of precision. (JSON allows ridiculously large numbers.) + + */ +@interface SBJsonParser : SBJsonBase { + +@private + const char *c; +} + +@end + +// don't use - exists for backwards compatibility with 2.1.x only. Will be removed in 2.3. +@interface SBJsonParser (Private) +- (id)fragmentWithString:(id)repr; +@end + + diff --git a/iphone/Classes/JSON/SBJsonParser.m b/iphone/Classes/JSON/SBJsonParser.m new file mode 100644 index 00000000..0fdfb36e --- /dev/null +++ b/iphone/Classes/JSON/SBJsonParser.m @@ -0,0 +1,475 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "SBJsonParser.h" + +@interface SBJsonParser () + +- (BOOL)scanValue:(NSObject **)o; + +- (BOOL)scanRestOfArray:(NSMutableArray **)o; +- (BOOL)scanRestOfDictionary:(NSMutableDictionary **)o; +- (BOOL)scanRestOfNull:(NSNull **)o; +- (BOOL)scanRestOfFalse:(NSNumber **)o; +- (BOOL)scanRestOfTrue:(NSNumber **)o; +- (BOOL)scanRestOfString:(NSMutableString **)o; + +// Cannot manage without looking at the first digit +- (BOOL)scanNumber:(NSNumber **)o; + +- (BOOL)scanHexQuad:(unichar *)x; +- (BOOL)scanUnicodeChar:(unichar *)x; + +- (BOOL)scanIsAtEnd; + +@end + +#define skipWhitespace(c) while (isspace(*c)) c++ +#define skipDigits(c) while (isdigit(*c)) c++ + + +@implementation SBJsonParser + +static char ctrl[0x22]; + ++ (void)initialize +{ + ctrl[0] = '\"'; + ctrl[1] = '\\'; + for (int i = 1; i < 0x20; i++) + ctrl[i+1] = i; + ctrl[0x21] = 0; +} + +/** + @deprecated This exists in order to provide fragment support in older APIs in one more version. + It should be removed in the next major version. + */ +- (id)fragmentWithString:(id)repr { + [self clearErrorTrace]; + + if (!repr) { + [self addErrorWithCode:EINPUT description:@"Input was 'nil'"]; + return nil; + } + + depth = 0; + c = [repr UTF8String]; + + id o; + if (![self scanValue:&o]) { + return nil; + } + + // We found some valid JSON. But did it also contain something else? + if (![self scanIsAtEnd]) { + [self addErrorWithCode:ETRAILGARBAGE description:@"Garbage after JSON"]; + return nil; + } + + NSAssert1(o, @"Should have a valid object from %@", repr); + return o; +} + +- (id)objectWithString:(NSString *)repr { + + id o = [self fragmentWithString:repr]; + if (!o) + return nil; + + // Check that the object we've found is a valid JSON container. + if (![o isKindOfClass:[NSDictionary class]] && ![o isKindOfClass:[NSArray class]]) { + [self addErrorWithCode:EFRAGMENT description:@"Valid fragment, but not JSON"]; + return nil; + } + + return o; +} + +/* + In contrast to the public methods, it is an error to omit the error parameter here. + */ +- (BOOL)scanValue:(NSObject **)o +{ + skipWhitespace(c); + + switch (*c++) { + case '{': + return [self scanRestOfDictionary:(NSMutableDictionary **)o]; + break; + case '[': + return [self scanRestOfArray:(NSMutableArray **)o]; + break; + case '"': + return [self scanRestOfString:(NSMutableString **)o]; + break; + case 'f': + return [self scanRestOfFalse:(NSNumber **)o]; + break; + case 't': + return [self scanRestOfTrue:(NSNumber **)o]; + break; + case 'n': + return [self scanRestOfNull:(NSNull **)o]; + break; + case '-': + case '0'...'9': + c--; // cannot verify number correctly without the first character + return [self scanNumber:(NSNumber **)o]; + break; + case '+': + [self addErrorWithCode:EPARSENUM description: @"Leading + disallowed in number"]; + return NO; + break; + case 0x0: + [self addErrorWithCode:EEOF description:@"Unexpected end of string"]; + return NO; + break; + default: + [self addErrorWithCode:EPARSE description: @"Unrecognised leading character"]; + return NO; + break; + } + + NSAssert(0, @"Should never get here"); + return NO; +} + +- (BOOL)scanRestOfTrue:(NSNumber **)o +{ + if (!strncmp(c, "rue", 3)) { + c += 3; + *o = [NSNumber numberWithBool:YES]; + return YES; + } + [self addErrorWithCode:EPARSE description:@"Expected 'true'"]; + return NO; +} + +- (BOOL)scanRestOfFalse:(NSNumber **)o +{ + if (!strncmp(c, "alse", 4)) { + c += 4; + *o = [NSNumber numberWithBool:NO]; + return YES; + } + [self addErrorWithCode:EPARSE description: @"Expected 'false'"]; + return NO; +} + +- (BOOL)scanRestOfNull:(NSNull **)o { + if (!strncmp(c, "ull", 3)) { + c += 3; + *o = [NSNull null]; + return YES; + } + [self addErrorWithCode:EPARSE description: @"Expected 'null'"]; + return NO; +} + +- (BOOL)scanRestOfArray:(NSMutableArray **)o { + if (maxDepth && ++depth > maxDepth) { + [self addErrorWithCode:EDEPTH description: @"Nested too deep"]; + return NO; + } + + *o = [NSMutableArray arrayWithCapacity:8]; + + for (; *c ;) { + id v; + + skipWhitespace(c); + if (*c == ']' && c++) { + depth--; + return YES; + } + + if (![self scanValue:&v]) { + [self addErrorWithCode:EPARSE description:@"Expected value while parsing array"]; + return NO; + } + + [*o addObject:v]; + + skipWhitespace(c); + if (*c == ',' && c++) { + skipWhitespace(c); + if (*c == ']') { + [self addErrorWithCode:ETRAILCOMMA description: @"Trailing comma disallowed in array"]; + return NO; + } + } + } + + [self addErrorWithCode:EEOF description: @"End of input while parsing array"]; + return NO; +} + +- (BOOL)scanRestOfDictionary:(NSMutableDictionary **)o +{ + if (maxDepth && ++depth > maxDepth) { + [self addErrorWithCode:EDEPTH description: @"Nested too deep"]; + return NO; + } + + *o = [NSMutableDictionary dictionaryWithCapacity:7]; + + for (; *c ;) { + id k, v; + + skipWhitespace(c); + if (*c == '}' && c++) { + depth--; + return YES; + } + + if (!(*c == '\"' && c++ && [self scanRestOfString:&k])) { + [self addErrorWithCode:EPARSE description: @"Object key string expected"]; + return NO; + } + + skipWhitespace(c); + if (*c != ':') { + [self addErrorWithCode:EPARSE description: @"Expected ':' separating key and value"]; + return NO; + } + + c++; + if (![self scanValue:&v]) { + NSString *string = [NSString stringWithFormat:@"Object value expected for key: %@", k]; + [self addErrorWithCode:EPARSE description: string]; + return NO; + } + + [*o setObject:v forKey:k]; + + skipWhitespace(c); + if (*c == ',' && c++) { + skipWhitespace(c); + if (*c == '}') { + [self addErrorWithCode:ETRAILCOMMA description: @"Trailing comma disallowed in object"]; + return NO; + } + } + } + + [self addErrorWithCode:EEOF description: @"End of input while parsing object"]; + return NO; +} + +- (BOOL)scanRestOfString:(NSMutableString **)o +{ + *o = [NSMutableString stringWithCapacity:16]; + do { + // First see if there's a portion we can grab in one go. + // Doing this caused a massive speedup on the long string. + size_t len = strcspn(c, ctrl); + if (len) { + // check for + id t = [[NSString alloc] initWithBytesNoCopy:(char*)c + length:len + encoding:NSUTF8StringEncoding + freeWhenDone:NO]; + if (t) { + [*o appendString:t]; + [t release]; + c += len; + } + } + + if (*c == '"') { + c++; + return YES; + + } else if (*c == '\\') { + unichar uc = *++c; + switch (uc) { + case '\\': + case '/': + case '"': + break; + + case 'b': uc = '\b'; break; + case 'n': uc = '\n'; break; + case 'r': uc = '\r'; break; + case 't': uc = '\t'; break; + case 'f': uc = '\f'; break; + + case 'u': + c++; + if (![self scanUnicodeChar:&uc]) { + [self addErrorWithCode:EUNICODE description: @"Broken unicode character"]; + return NO; + } + c--; // hack. + break; + default: + [self addErrorWithCode:EESCAPE description: [NSString stringWithFormat:@"Illegal escape sequence '0x%x'", uc]]; + return NO; + break; + } + CFStringAppendCharacters((CFMutableStringRef)*o, &uc, 1); + c++; + + } else if (*c < 0x20) { + [self addErrorWithCode:ECTRL description: [NSString stringWithFormat:@"Unescaped control character '0x%x'", *c]]; + return NO; + + } else { + NSLog(@"should not be able to get here"); + } + } while (*c); + + [self addErrorWithCode:EEOF description:@"Unexpected EOF while parsing string"]; + return NO; +} + +- (BOOL)scanUnicodeChar:(unichar *)x +{ + unichar hi, lo; + + if (![self scanHexQuad:&hi]) { + [self addErrorWithCode:EUNICODE description: @"Missing hex quad"]; + return NO; + } + + if (hi >= 0xd800) { // high surrogate char? + if (hi < 0xdc00) { // yes - expect a low char + + if (!(*c == '\\' && ++c && *c == 'u' && ++c && [self scanHexQuad:&lo])) { + [self addErrorWithCode:EUNICODE description: @"Missing low character in surrogate pair"]; + return NO; + } + + if (lo < 0xdc00 || lo >= 0xdfff) { + [self addErrorWithCode:EUNICODE description:@"Invalid low surrogate char"]; + return NO; + } + + hi = (hi - 0xd800) * 0x400 + (lo - 0xdc00) + 0x10000; + + } else if (hi < 0xe000) { + [self addErrorWithCode:EUNICODE description:@"Invalid high character in surrogate pair"]; + return NO; + } + } + + *x = hi; + return YES; +} + +- (BOOL)scanHexQuad:(unichar *)x +{ + *x = 0; + for (int i = 0; i < 4; i++) { + unichar uc = *c; + c++; + int d = (uc >= '0' && uc <= '9') + ? uc - '0' : (uc >= 'a' && uc <= 'f') + ? (uc - 'a' + 10) : (uc >= 'A' && uc <= 'F') + ? (uc - 'A' + 10) : -1; + if (d == -1) { + [self addErrorWithCode:EUNICODE description:@"Missing hex digit in quad"]; + return NO; + } + *x *= 16; + *x += d; + } + return YES; +} + +- (BOOL)scanNumber:(NSNumber **)o +{ + const char *ns = c; + + // The logic to test for validity of the number formatting is relicensed + // from JSON::XS with permission from its author Marc Lehmann. + // (Available at the CPAN: http://search.cpan.org/dist/JSON-XS/ .) + + if ('-' == *c) + c++; + + if ('0' == *c && c++) { + if (isdigit(*c)) { + [self addErrorWithCode:EPARSENUM description: @"Leading 0 disallowed in number"]; + return NO; + } + + } else if (!isdigit(*c) && c != ns) { + [self addErrorWithCode:EPARSENUM description: @"No digits after initial minus"]; + return NO; + + } else { + skipDigits(c); + } + + // Fractional part + if ('.' == *c && c++) { + + if (!isdigit(*c)) { + [self addErrorWithCode:EPARSENUM description: @"No digits after decimal point"]; + return NO; + } + skipDigits(c); + } + + // Exponential part + if ('e' == *c || 'E' == *c) { + c++; + + if ('-' == *c || '+' == *c) + c++; + + if (!isdigit(*c)) { + [self addErrorWithCode:EPARSENUM description: @"No digits after exponent"]; + return NO; + } + skipDigits(c); + } + + id str = [[NSString alloc] initWithBytesNoCopy:(char*)ns + length:c - ns + encoding:NSUTF8StringEncoding + freeWhenDone:NO]; + [str autorelease]; + if (str && (*o = [NSDecimalNumber decimalNumberWithString:str])) + return YES; + + [self addErrorWithCode:EPARSENUM description: @"Failed creating decimal instance"]; + return NO; +} + +- (BOOL)scanIsAtEnd +{ + skipWhitespace(c); + return !*c; +} + + +@end diff --git a/iphone/Classes/JSON/SBJsonWriter.h b/iphone/Classes/JSON/SBJsonWriter.h new file mode 100644 index 00000000..f6f5e17b --- /dev/null +++ b/iphone/Classes/JSON/SBJsonWriter.h @@ -0,0 +1,129 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import "SBJsonBase.h" + +/** + @brief Options for the writer class. + + This exists so the SBJSON facade can implement the options in the writer without having to re-declare them. + */ +@protocol SBJsonWriter + +/** + @brief Whether we are generating human-readable (multiline) JSON. + + Set whether or not to generate human-readable JSON. The default is NO, which produces + JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable + JSON with linebreaks after each array value and dictionary key/value pair, indented two + spaces per nesting level. + */ +@property BOOL humanReadable; + +/** + @brief Whether or not to sort the dictionary keys in the output. + + If this is set to YES, the dictionary keys in the JSON output will be in sorted order. + (This is useful if you need to compare two structures, for example.) The default is NO. + */ +@property BOOL sortKeys; + +/** + @brief Return JSON representation (or fragment) for the given object. + + Returns a string containing JSON representation of the passed in value, or nil on error. + If nil is returned and @p error is not NULL, @p *error can be interrogated to find the cause of the error. + + @param value any instance that can be represented as a JSON fragment + + */ +- (NSString*)stringWithObject:(id)value; + +@end + + +/** + @brief The JSON writer class. + + Objective-C types are mapped to JSON types in the following way: + + @li NSNull -> Null + @li NSString -> String + @li NSArray -> Array + @li NSDictionary -> Object + @li NSNumber (-initWithBool:) -> Boolean + @li NSNumber -> Number + + In JSON the keys of an object must be strings. NSDictionary keys need + not be, but attempting to convert an NSDictionary with non-string keys + into JSON will throw an exception. + + NSNumber instances created with the +initWithBool: method are + converted into the JSON boolean "true" and "false" values, and vice + versa. Any other NSNumber instances are converted to a JSON number the + way you would expect. + + */ +@interface SBJsonWriter : SBJsonBase { + +@private + BOOL sortKeys, humanReadable; +} + +@end + +// don't use - exists for backwards compatibility. Will be removed in 2.3. +@interface SBJsonWriter (Private) +- (NSString*)stringWithFragment:(id)value; +@end + +/** + @brief Allows generation of JSON for otherwise unsupported classes. + + If you have a custom class that you want to create a JSON representation for you can implement + this method in your class. It should return a representation of your object defined + in terms of objects that can be translated into JSON. For example, a Person + object might implement it like this: + + @code + - (id)jsonProxyObject { + return [NSDictionary dictionaryWithObjectsAndKeys: + name, @"name", + phone, @"phone", + email, @"email", + nil]; + } + @endcode + + */ +@interface NSObject (SBProxyForJson) +- (id)proxyForJson; +@end + diff --git a/iphone/Classes/JSON/SBJsonWriter.m b/iphone/Classes/JSON/SBJsonWriter.m new file mode 100644 index 00000000..03718b90 --- /dev/null +++ b/iphone/Classes/JSON/SBJsonWriter.m @@ -0,0 +1,228 @@ +/* + Copyright (C) 2009 Stig Brautaset. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the author nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "SBJsonWriter.h" + +@interface SBJsonWriter () + +- (BOOL)appendValue:(id)fragment into:(NSMutableString*)json; +- (BOOL)appendArray:(NSArray*)fragment into:(NSMutableString*)json; +- (BOOL)appendDictionary:(NSDictionary*)fragment into:(NSMutableString*)json; +- (BOOL)appendString:(NSString*)fragment into:(NSMutableString*)json; + +- (NSString*)indent; + +@end + +@implementation SBJsonWriter + +@synthesize sortKeys; +@synthesize humanReadable; + +/** + @deprecated This exists in order to provide fragment support in older APIs in one more version. + It should be removed in the next major version. + */ +- (NSString*)stringWithFragment:(id)value { + [self clearErrorTrace]; + depth = 0; + NSMutableString *json = [NSMutableString stringWithCapacity:128]; + + if ([self appendValue:value into:json]) + return json; + + return nil; +} + + +- (NSString*)stringWithObject:(id)value { + + if ([value isKindOfClass:[NSDictionary class]] || [value isKindOfClass:[NSArray class]]) { + return [self stringWithFragment:value]; + } + + [self clearErrorTrace]; + [self addErrorWithCode:EFRAGMENT description:@"Not valid type for JSON"]; + return nil; +} + + +- (NSString*)indent { + return [@"\n" stringByPaddingToLength:1 + 2 * depth withString:@" " startingAtIndex:0]; +} + +- (BOOL)appendValue:(id)fragment into:(NSMutableString*)json { + if ([fragment isKindOfClass:[NSDictionary class]]) { + if (![self appendDictionary:fragment into:json]) + return NO; + + } else if ([fragment isKindOfClass:[NSArray class]]) { + if (![self appendArray:fragment into:json]) + return NO; + + } else if ([fragment isKindOfClass:[NSString class]]) { + if (![self appendString:fragment into:json]) + return NO; + + } else if ([fragment isKindOfClass:[NSNumber class]]) { + if ('c' == *[fragment objCType]) + [json appendString:[fragment boolValue] ? @"true" : @"false"]; + else + [json appendString:[fragment stringValue]]; + + } else if ([fragment isKindOfClass:[NSNull class]]) { + [json appendString:@"null"]; + } else if ([fragment respondsToSelector:@selector(proxyForJson)]) { + [self appendValue:[fragment proxyForJson] into:json]; + + } else { + [self addErrorWithCode:EUNSUPPORTED description:[NSString stringWithFormat:@"JSON serialisation not supported for %@", [fragment class]]]; + return NO; + } + return YES; +} + +- (BOOL)appendArray:(NSArray*)fragment into:(NSMutableString*)json { + if (maxDepth && ++depth > maxDepth) { + [self addErrorWithCode:EDEPTH description: @"Nested too deep"]; + return NO; + } + [json appendString:@"["]; + + BOOL addComma = NO; + for (id value in fragment) { + if (addComma) + [json appendString:@","]; + else + addComma = YES; + + if ([self humanReadable]) + [json appendString:[self indent]]; + + if (![self appendValue:value into:json]) { + return NO; + } + } + + depth--; + if ([self humanReadable] && [fragment count]) + [json appendString:[self indent]]; + [json appendString:@"]"]; + return YES; +} + +- (BOOL)appendDictionary:(NSDictionary*)fragment into:(NSMutableString*)json { + if (maxDepth && ++depth > maxDepth) { + [self addErrorWithCode:EDEPTH description: @"Nested too deep"]; + return NO; + } + [json appendString:@"{"]; + + NSString *colon = [self humanReadable] ? @" : " : @":"; + BOOL addComma = NO; + NSArray *keys = [fragment allKeys]; + if (self.sortKeys) + keys = [keys sortedArrayUsingSelector:@selector(compare:)]; + + for (id value in keys) { + if (addComma) + [json appendString:@","]; + else + addComma = YES; + + if ([self humanReadable]) + [json appendString:[self indent]]; + + if (![value isKindOfClass:[NSString class]]) { + [self addErrorWithCode:EUNSUPPORTED description: @"JSON object key must be string"]; + return NO; + } + + if (![self appendString:value into:json]) + return NO; + + [json appendString:colon]; + if (![self appendValue:[fragment objectForKey:value] into:json]) { + [self addErrorWithCode:EUNSUPPORTED description:[NSString stringWithFormat:@"Unsupported value for key %@ in object", value]]; + return NO; + } + } + + depth--; + if ([self humanReadable] && [fragment count]) + [json appendString:[self indent]]; + [json appendString:@"}"]; + return YES; +} + +- (BOOL)appendString:(NSString*)fragment into:(NSMutableString*)json { + + static NSMutableCharacterSet *kEscapeChars; + if( ! kEscapeChars ) { + kEscapeChars = [[NSMutableCharacterSet characterSetWithRange: NSMakeRange(0,32)] retain]; + [kEscapeChars addCharactersInString: @"\"\\"]; + } + + [json appendString:@"\""]; + + NSRange esc = [fragment rangeOfCharacterFromSet:kEscapeChars]; + if ( !esc.length ) { + // No special chars -- can just add the raw string: + [json appendString:fragment]; + + } else { + NSUInteger length = [fragment length]; + for (NSUInteger i = 0; i < length; i++) { + unichar uc = [fragment characterAtIndex:i]; + switch (uc) { + case '"': [json appendString:@"\\\""]; break; + case '\\': [json appendString:@"\\\\"]; break; + case '\t': [json appendString:@"\\t"]; break; + case '\n': [json appendString:@"\\n"]; break; + case '\r': [json appendString:@"\\r"]; break; + case '\b': [json appendString:@"\\b"]; break; + case '\f': [json appendString:@"\\f"]; break; + default: + if (uc < 0x20) { + [json appendFormat:@"\\u%04x", uc]; + } else { + CFStringAppendCharacters((CFMutableStringRef)json, &uc, 1); + } + break; + + } + } + } + + [json appendString:@"\""]; + return YES; +} + + +@end From 71a3ede20586bbf94370ebbb9d2125bea1294460 Mon Sep 17 00:00:00 2001 From: shazron Date: Tue, 1 Sep 2009 07:02:18 -0700 Subject: [PATCH 29/80] Fixed compile problem on 2.2.1 --- iphone/Classes/Sound.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/iphone/Classes/Sound.m b/iphone/Classes/Sound.m index 9af14694..35cb231e 100755 --- a/iphone/Classes/Sound.m +++ b/iphone/Classes/Sound.m @@ -69,6 +69,7 @@ - (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options AudioServicesPlaySystemSound(soundID); } +#ifdef __IPHONE_3_0 /* * event listener when file has stopped playing */ @@ -89,5 +90,6 @@ - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)f } } } +#endif @end From 988dcd62a41fabe72d090b5f6dccae5280b0284a Mon Sep 17 00:00:00 2001 From: Ryan Willoughby Date: Fri, 4 Sep 2009 12:07:09 -0700 Subject: [PATCH 30/80] initial commit of nokia javascript files --- javascripts/nokia/contact.js | 94 +++++++++++++++++++++++++++++++ javascripts/nokia/geolocation.js | 88 +++++++++++++++++++++++++++++ javascripts/nokia/notification.js | 46 +++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 javascripts/nokia/contact.js create mode 100644 javascripts/nokia/geolocation.js create mode 100644 javascripts/nokia/notification.js diff --git a/javascripts/nokia/contact.js b/javascripts/nokia/contact.js new file mode 100644 index 00000000..a1acf71c --- /dev/null +++ b/javascripts/nokia/contact.js @@ -0,0 +1,94 @@ +/** + * @author ryan + */ + +var contactsService = device.getServiceObject("Service.Contact", "IDataSource"); + +ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + var criteria = new Object(); + criteria.Type = "Contact"; + + //need a closure here to bind this method to this instance of the contactmanager object + this.global_success = successCallback; + var obj = this; + + try { + //WRT: result.ReturnValue is an iterator of contacts + contactsService.IDataSource.GetList(criteria, function(transId, eventCode, result){obj.success_callback(result.ReturnValue);}); + } catch (e) { + errorCallback(e); + } +} + +ContactManager.prototype.success_callback = function(contacts_iterator) { + var gapContacts = new Array(); + contacts_iterator.reset(); + var contact; + while ((contact = contacts_iterator.getNext()) != undefined) { + try { + var gapContact = new Contact(); + gapContact.firstName = ContactManager.GetValue(contact, "FirstName"); + gapContact.lastName = ContactManager.GetValue(contact, "LastName"); + gapContact.name = gapContact.firstName + gapContact.lastName; + gapContact.emails = ContactManager.getEmailsList(contact); + gapContact.phones = ContactManager.getPhonesList(contact); + gapContact.address = ContactManager.getAddress(contact); + gapContacts.push(gapContact); + } catch (e) { + alert(e.name + ": " + e.message); + } + } + alert('yo: ' + gapContacts.length + " contacts found"); + this.contacts = gapContacts; + +} + +ContactManager.getEmailsList = function(contact) { + var list; + try { + list = { + "Home": ContactManager.GetValue(contact, "EmailHome"), + "Work": ContactManager.GetValue(contact, "EmailWork"), + "General": ContactManager.GetValue(contact, "EmailGen") + }; + } catch (e) { + list = {}; + } + return list; +} + +ContactManager.getPhonesList = function(contact) { + var list; + try { + list = { + "Home": ContactManager.GetValue(contact, "LandPhoneHome"), + "Mobile": ContactManager.GetValue(contact, "MobilePhoneHome"), + "Fax": ContactManager.GetValue(contact, "FaxNumberHome"), + "Work": ContactManager.GetValue(contact, "LandPhoneWork"), + "WorkMobile": ContactManager.GetValue(contact, "MobilePhoneWork") + }; + } catch (e) { + list = {}; + } + return list; +} + +ContactManager.getAddress = function(contact) { + var list = ""; + try { + list = ContactManager.GetValue(contact, "AddrLabelHome") + ", " + ContactManager.GetValue(contact, "AddrStreetHome") + ", " + + ContactManager.GetValue(contact, "AddrLocalHome") + ", " + ContactManager.GetValue(contact, "AddrRegionHome") + ", " + + ContactManager.GetValue(contact, "AddrPostCodeHome") + ", " + ContactManager.GetValue(contact, "AddrCountryHome"); + } catch (e) { + list = ""; + } + return list; +} + +ContactManager.GetValue = function(contactObj, key) { + try { + return contactObj[key]["Value"]; + } catch (e) { + return ""; + } +} diff --git a/javascripts/nokia/geolocation.js b/javascripts/nokia/geolocation.js new file mode 100644 index 00000000..4e6773d6 --- /dev/null +++ b/javascripts/nokia/geolocation.js @@ -0,0 +1,88 @@ +/* + * The device used for test rarely seemed to return a value for speed, and was flaky with heading. + * Nonetheless, they are included, and we can use whatever data we manage to get. + */ + +// TODO: running this on load of the js file is horrendous. The below solution of overriding the +// constructor is better, but it fails on the device! +var locationService = InitializeLocationServiceObject(); + + +// This allows us to override the constructor keeping all the original prototype methods. +var geoPlaceholder = Geolocation.prototype; +Geolocation = function() { + + this.lastPosition = null; + this.lastError = null; + this.callbacks = { + onLocationChanged: [], + onError: [] + }; + this.serviceObj = locationService; //InitializeLocationServiceObject(); +}; +Geolocation.prototype = geoPlaceholder; + + +Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { + + //construct the criteria for our location request + var updateOptions = new Object(); + // Specify that location information need not be guaranteed. This helps in + // that the widget doesn't need to wait for that information possibly indefinitely. + updateOptions.PartialUpdates = true; + + if (typeof(options) == 'object' && options.timeout) + //options.timeout in in ms, updateOptions.UpdateTimeout in microsecs + updateOptions.UpdateTimeOut = options.timeout * 1000; + + // Initialize the criteria for the GetLocation call + var trackCriteria = new Object(); + // could use "BasicLocationInformation" or "GenericLocationInfo" + trackCriteria.LocationInformationClass = "GenericLocationInfo"; + trackCriteria.Updateoptions = updateOptions; + + if (typeof(successCallback) != 'function') + successCallback = function() {}; + if (typeof(errorCallback) != 'function') + errorCallback = function() {}; + + var result; + try { + //WRT + result = this.serviceObj.ILocation.GetLocation(trackCriteria); + } catch (ex) { + alert("error:" + ex.name + " " + ex.message); + errorCallback(ex); + return; + } + + if (result.ReturnValue == undefined) { + errorCallback(); + return; + } + + var retVal = result.ReturnValue; + + // heading options: retVal.TrueCourse, retVal.MagneticHeading, retVal.Heading, retVal.MagneticCourse + // but retVal.Heading was the only field being returned with data on the test device (Nokia 5800) + // WRT does not provide accuracy + var coords = new Coordinates(retVal.Latitude, retVal.Longitude, retVal.Altitude, null, retVal.Heading, retVal.HorizontalSpeed); + var positionObj = new Position(coords, new Date().getTime()); + + this.lastPosition = positionObj; + + successCallback(); +} + +//gets the Location Service Object from WRT +function InitializeLocationServiceObject() { + var so; + + try { + so = device.getServiceObject("Service.Location", "ILocation"); + } catch (ex) { + alert('Error: failed to load location service: ' + ex.name + " " + ex.message); + return null; + } + return so; +} diff --git a/javascripts/nokia/notification.js b/javascripts/nokia/notification.js new file mode 100644 index 00000000..a4abecbf --- /dev/null +++ b/javascripts/nokia/notification.js @@ -0,0 +1,46 @@ + +/* + * this first line is unfortunate. but at the moment we must put an embed tag in the main + * html page of the widget to access notification services. commented out below + * are a couple of other options that are cleaner. i will leave them for now. + */ + +/* +var placeholder = Notification.prototype; +Notification = function () { + var el = document.createElement("embed"); + el.setAttribute("type", "application/x-systeminfo-widget"); + el.setAttribute("hidden", "yes"); + + alert(el); + + document.getElementsByTagName("head")[0].appendChild(el); + + this.sysinfo = document.embeds[0]; + + alert(this.sysinfo); +} +Notification.prototype = placeholder; +*/ + +/* +var placeholder = Notification.prototype; +Notification = function () { + this.sysinfo = com.nokia.device.load("", "com.nokia.device.sysinfo", ""); +} +Notification.prototype = placeholder; +*/ + +var sysinfo = document.embeds[0]; + +Notification.prototype.vibrate = function(mills) +{ + //quickfix: couldn't get vibrate to work unless it was called asynchronously + setTimeout('sysinfo.startvibra(2000, 100);',0); +} + +//not doing anything +Notification.prototype.beep = function(count, volume) +{ + sysinfo.beep(220,2000); +} \ No newline at end of file From 1d04a7ca068a7e7c7fc0220146306214b5cc321d Mon Sep 17 00:00:00 2001 From: Ryan Willoughby Date: Tue, 8 Sep 2009 11:05:37 -0700 Subject: [PATCH 31/80] adding nokia project directory, and some js code refactoring --- javascripts/nokia/contact.js | 4 ++- javascripts/nokia/geolocation.js | 14 ++++----- javascripts/nokia/notification.js | 51 ++++++++++++------------------- 3 files changed, 30 insertions(+), 39 deletions(-) diff --git a/javascripts/nokia/contact.js b/javascripts/nokia/contact.js index a1acf71c..b107f969 100644 --- a/javascripts/nokia/contact.js +++ b/javascripts/nokia/contact.js @@ -2,9 +2,11 @@ * @author ryan */ -var contactsService = device.getServiceObject("Service.Contact", "IDataSource"); +var contactsService; ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + contactsService = device.getServiceObject("Service.Contact", "IDataSource"); + var criteria = new Object(); criteria.Type = "Contact"; diff --git a/javascripts/nokia/geolocation.js b/javascripts/nokia/geolocation.js index 4e6773d6..1ef9e783 100644 --- a/javascripts/nokia/geolocation.js +++ b/javascripts/nokia/geolocation.js @@ -3,12 +3,8 @@ * Nonetheless, they are included, and we can use whatever data we manage to get. */ -// TODO: running this on load of the js file is horrendous. The below solution of overriding the -// constructor is better, but it fails on the device! -var locationService = InitializeLocationServiceObject(); - - // This allows us to override the constructor keeping all the original prototype methods. +/* var geoPlaceholder = Geolocation.prototype; Geolocation = function() { @@ -18,13 +14,17 @@ Geolocation = function() { onLocationChanged: [], onError: [] }; - this.serviceObj = locationService; //InitializeLocationServiceObject(); + + this.serviceObj = InitializeLocationServiceObject(); }; Geolocation.prototype = geoPlaceholder; - +*/ Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { + if (!this.serviceObj) + this.serviceObj = InitializeLocationServiceObject(); + //construct the criteria for our location request var updateOptions = new Object(); // Specify that location information need not be guaranteed. This helps in diff --git a/javascripts/nokia/notification.js b/javascripts/nokia/notification.js index a4abecbf..98b01368 100644 --- a/javascripts/nokia/notification.js +++ b/javascripts/nokia/notification.js @@ -5,42 +5,31 @@ * are a couple of other options that are cleaner. i will leave them for now. */ -/* -var placeholder = Notification.prototype; -Notification = function () { - var el = document.createElement("embed"); - el.setAttribute("type", "application/x-systeminfo-widget"); - el.setAttribute("hidden", "yes"); - - alert(el); - - document.getElementsByTagName("head")[0].appendChild(el); + +Notification.prototype.vibrate = function(mills) +{ - this.sysinfo = document.embeds[0]; + if (!Notification.getSysinfoObject()) + Notification.embedSysinfoObject(); - alert(this.sysinfo); + this.sysinfo = Notification.getSysinfoObject(); + this.sysinfo.startvibra(mills, 100); } -Notification.prototype = placeholder; -*/ -/* -var placeholder = Notification.prototype; -Notification = function () { - this.sysinfo = com.nokia.device.load("", "com.nokia.device.sysinfo", ""); +//TODO: this is not beeping +Notification.prototype.beep = function(count, volume) +{ + this.sysinfo.beep(220,2000); } -Notification.prototype = placeholder; -*/ - -var sysinfo = document.embeds[0]; -Notification.prototype.vibrate = function(mills) -{ - //quickfix: couldn't get vibrate to work unless it was called asynchronously - setTimeout('sysinfo.startvibra(2000, 100);',0); +Notification.embedSysinfoObject = function() { + var el = document.createElement("embed"); + el.setAttribute("type", "application/x-systeminfo-widget"); + el.setAttribute("hidden", "yes"); + document.getElementsByTagName("body")[0].appendChild(el); + return;//document.embeds[0]; } -//not doing anything -Notification.prototype.beep = function(count, volume) -{ - sysinfo.beep(220,2000); -} \ No newline at end of file +Notification.getSysinfoObject = function() { + return document.embeds[0]; +} From f6260b8d165eacfee070c7d5b7bb3a61250d0efb Mon Sep 17 00:00:00 2001 From: Ryan Willoughby Date: Tue, 8 Sep 2009 11:09:42 -0700 Subject: [PATCH 32/80] adding nokia project files --- nokia/www/Icon.png | Bin 0 -> 7390 bytes nokia/www/Info.plist | 18 + nokia/www/index.html | 60 + .../www/javascripts/phonegap/nokia/contact.js | 96 ++ .../javascripts/phonegap/nokia/geolocation.js | 88 + .../phonegap/nokia/notification.js | 35 + .../phonegap/phonegap-interface.js | 1032 ++++++++++++ nokia/www/nokia.wgz | Bin 0 -> 19770 bytes nokia/www/preview/css/style.css | 633 +++++++ nokia/www/preview/data/appManager_data.js | 99 ++ nokia/www/preview/data/calendar_data.js | 136 ++ nokia/www/preview/data/contact_data.js | 158 ++ nokia/www/preview/data/landmarks_data.js | 339 ++++ nokia/www/preview/data/location_data.js | 39 + nokia/www/preview/data/logging_data.js | 377 +++++ .../www/preview/data/mediaManagement_data.js | 233 +++ nokia/www/preview/data/messaging_data.js | 193 +++ nokia/www/preview/data/sensor_data.js | 469 ++++++ nokia/www/preview/data/sysInfo_data.js | 345 ++++ .../images/BrowserNotificationBar-Toogle.gif | Bin 0 -> 368 bytes .../preview/images/Gradient0Background.png | Bin 0 -> 5364 bytes nokia/www/preview/images/IconArea-hover.png | Bin 0 -> 1522 bytes nokia/www/preview/images/TransperantImage.png | Bin 0 -> 117 bytes .../images/active-orientation-icon.png | Bin 0 -> 6146 bytes nokia/www/preview/images/battery-icon.png | Bin 0 -> 5934 bytes .../preview/images/console-clear-button.png | Bin 0 -> 1792 bytes .../www/preview/images/console-close-icon.png | Bin 0 -> 805 bytes nokia/www/preview/images/console-icon.gif | Bin 0 -> 1216 bytes .../www/preview/images/console-open-icon.png | Bin 0 -> 848 bytes nokia/www/preview/images/default-Icon.png | Bin 0 -> 5948 bytes .../images/device/240x320/Landscape.png | Bin 0 -> 50759 bytes .../images/device/240x320/Portrait.png | Bin 0 -> 52562 bytes .../images/device/320x240/Landscape.png | Bin 0 -> 45545 bytes .../images/device/320x240/Portrait.png | Bin 0 -> 41165 bytes .../images/device/360x640/Landscape.png | Bin 0 -> 68969 bytes .../images/device/360x640/Portrait.png | Bin 0 -> 67414 bytes .../images/device/360x640/hs-landscape.png | Bin 0 -> 41325 bytes .../images/device/360x640/hs-portrait.png | Bin 0 -> 42065 bytes .../images/device/800x352/Landscape.png | Bin 0 -> 70600 bytes .../images/device/MenuItem-keys-Bg2.png | Bin 0 -> 3024 bytes .../www/preview/images/device/menuKeys-bg.png | Bin 0 -> 3312 bytes nokia/www/preview/images/errorIcon.png | Bin 0 -> 457 bytes nokia/www/preview/images/gradient-bg.png | Bin 0 -> 1276 bytes nokia/www/preview/images/hs-iframeMask.png | Bin 0 -> 3699 bytes nokia/www/preview/images/infoIcon.png | Bin 0 -> 524 bytes nokia/www/preview/images/memory-icon.png | Bin 0 -> 9017 bytes nokia/www/preview/images/messaging-icon.png | Bin 0 -> 9593 bytes .../images/normal-orientation-icon.png | Bin 0 -> 5879 bytes nokia/www/preview/images/settings-icon.png | Bin 0 -> 15805 bytes .../www/preview/images/statusBar_240x320.png | Bin 0 -> 2831 bytes .../www/preview/images/statusBar_320x240.png | Bin 0 -> 2937 bytes .../www/preview/images/statusBar_360x640.png | Bin 0 -> 5734 bytes .../www/preview/images/statusBar_640x360.png | Bin 0 -> 6052 bytes .../www/preview/images/statusBar_800x352.png | Bin 0 -> 6171 bytes nokia/www/preview/images/sub-menu-arrow.png | Bin 0 -> 4003 bytes nokia/www/preview/images/th-bg-gradient.png | Bin 0 -> 359 bytes nokia/www/preview/images/warningIcon.png | Bin 0 -> 516 bytes nokia/www/preview/images/wrt-help-icon.png | Bin 0 -> 3113 bytes nokia/www/preview/nopreview.html | 44 + ...00000_40x100_textures_05_inset_soft_25.png | Bin 0 -> 328 bytes .../0078a3_40x100_textures_02_glass_40.png | Bin 0 -> 3134 bytes .../222222_11x11_icon_arrows_leftright.gif | Bin 0 -> 58 bytes .../222222_11x11_icon_arrows_updown.gif | Bin 0 -> 56 bytes .../images/222222_11x11_icon_close.gif | Bin 0 -> 125 bytes .../images/222222_11x11_icon_doc.gif | Bin 0 -> 64 bytes .../222222_11x11_icon_folder_closed.gif | Bin 0 -> 61 bytes .../images/222222_11x11_icon_folder_open.gif | Bin 0 -> 61 bytes .../images/222222_11x11_icon_minus.gif | Bin 0 -> 56 bytes .../images/222222_11x11_icon_plus.gif | Bin 0 -> 61 bytes .../images/222222_7x7_arrow_down.gif | Bin 0 -> 52 bytes .../images/222222_7x7_arrow_left.gif | Bin 0 -> 53 bytes .../images/222222_7x7_arrow_right.gif | Bin 0 -> 53 bytes .../images/222222_7x7_arrow_up.gif | Bin 0 -> 52 bytes .../555555_40x100_textures_02_glass_20.png | Bin 0 -> 318 bytes .../cccccc_11x11_icon_arrows_leftright.gif | Bin 0 -> 58 bytes .../cccccc_11x11_icon_arrows_updown.gif | Bin 0 -> 56 bytes .../images/cccccc_11x11_icon_close.gif | Bin 0 -> 125 bytes .../images/cccccc_11x11_icon_doc.gif | Bin 0 -> 64 bytes .../cccccc_11x11_icon_folder_closed.gif | Bin 0 -> 61 bytes .../images/cccccc_11x11_icon_folder_open.gif | Bin 0 -> 61 bytes .../images/cccccc_11x11_icon_minus.gif | Bin 0 -> 56 bytes .../images/cccccc_11x11_icon_plus.gif | Bin 0 -> 61 bytes .../images/cccccc_11x11_icon_resize_se.gif | Bin 0 -> 61 bytes .../images/cccccc_7x7_arrow_down.gif | Bin 0 -> 52 bytes .../images/cccccc_7x7_arrow_left.gif | Bin 0 -> 53 bytes .../images/cccccc_7x7_arrow_right.gif | Bin 0 -> 53 bytes .../images/cccccc_7x7_arrow_up.gif | Bin 0 -> 52 bytes ...58400_40x100_textures_05_inset_soft_30.png | Bin 0 -> 236 bytes .../ffffff_11x11_icon_arrows_leftright.gif | Bin 0 -> 58 bytes .../ffffff_11x11_icon_arrows_updown.gif | Bin 0 -> 56 bytes .../images/ffffff_11x11_icon_close.gif | Bin 0 -> 287 bytes .../images/ffffff_11x11_icon_doc.gif | Bin 0 -> 64 bytes .../ffffff_11x11_icon_folder_closed.gif | Bin 0 -> 61 bytes .../images/ffffff_11x11_icon_folder_open.gif | Bin 0 -> 61 bytes .../images/ffffff_11x11_icon_minus.gif | Bin 0 -> 56 bytes .../images/ffffff_11x11_icon_plus.gif | Bin 0 -> 61 bytes .../images/ffffff_7x7_arrow_down.gif | Bin 0 -> 52 bytes .../images/ffffff_7x7_arrow_left.gif | Bin 0 -> 53 bytes .../images/ffffff_7x7_arrow_right.gif | Bin 0 -> 53 bytes .../images/ffffff_7x7_arrow_up.gif | Bin 0 -> 52 bytes .../css/ui-darkness/images/slider-handle.png | Bin 0 -> 1032 bytes .../jquery-ui/css/ui-darkness/ui.all.css | 630 +++++++ .../script/jquery-ui/js/jquery-1.2.6.min.js | 32 + .../jquery-ui/js/jquery-ui-1.6.custom.min.js | 78 + nokia/www/preview/script/lib/console.js | 121 ++ nokia/www/preview/script/lib/device.js | 544 ++++++ nokia/www/preview/script/lib/loader.js | 179 ++ nokia/www/preview/script/lib/menu.js | 497 ++++++ nokia/www/preview/script/lib/menuItem.js | 93 + .../www/preview/script/lib/sapi/AppManager.js | 223 +++ nokia/www/preview/script/lib/sapi/Calendar.js | 410 +++++ nokia/www/preview/script/lib/sapi/Contact.js | 407 +++++ .../www/preview/script/lib/sapi/Landmarks.js | 556 ++++++ nokia/www/preview/script/lib/sapi/Location.js | 523 ++++++ nokia/www/preview/script/lib/sapi/Logging.js | 535 ++++++ .../script/lib/sapi/MediaManagement.js | 157 ++ .../www/preview/script/lib/sapi/Messaging.js | 366 ++++ nokia/www/preview/script/lib/sapi/Sensor.js | 250 +++ nokia/www/preview/script/lib/sapi/SysInfo.js | 398 +++++ nokia/www/preview/script/lib/systeminfo.js | 107 ++ nokia/www/preview/script/lib/widget.js | 301 ++++ nokia/www/preview/script/nokia.js | 1492 +++++++++++++++++ nokia/www/preview/script/resolution.js | 303 ++++ nokia/www/preview/script/xml2json.js | 172 ++ nokia/www/wrt_preview_frame.html | 216 +++ nokia/www/wrt_preview_main.html | 62 + 126 files changed, 13046 insertions(+) create mode 100644 nokia/www/Icon.png create mode 100644 nokia/www/Info.plist create mode 100644 nokia/www/index.html create mode 100644 nokia/www/javascripts/phonegap/nokia/contact.js create mode 100644 nokia/www/javascripts/phonegap/nokia/geolocation.js create mode 100644 nokia/www/javascripts/phonegap/nokia/notification.js create mode 100644 nokia/www/javascripts/phonegap/phonegap-interface.js create mode 100644 nokia/www/nokia.wgz create mode 100644 nokia/www/preview/css/style.css create mode 100644 nokia/www/preview/data/appManager_data.js create mode 100644 nokia/www/preview/data/calendar_data.js create mode 100644 nokia/www/preview/data/contact_data.js create mode 100644 nokia/www/preview/data/landmarks_data.js create mode 100644 nokia/www/preview/data/location_data.js create mode 100644 nokia/www/preview/data/logging_data.js create mode 100644 nokia/www/preview/data/mediaManagement_data.js create mode 100644 nokia/www/preview/data/messaging_data.js create mode 100644 nokia/www/preview/data/sensor_data.js create mode 100644 nokia/www/preview/data/sysInfo_data.js create mode 100644 nokia/www/preview/images/BrowserNotificationBar-Toogle.gif create mode 100644 nokia/www/preview/images/Gradient0Background.png create mode 100644 nokia/www/preview/images/IconArea-hover.png create mode 100644 nokia/www/preview/images/TransperantImage.png create mode 100644 nokia/www/preview/images/active-orientation-icon.png create mode 100644 nokia/www/preview/images/battery-icon.png create mode 100644 nokia/www/preview/images/console-clear-button.png create mode 100644 nokia/www/preview/images/console-close-icon.png create mode 100644 nokia/www/preview/images/console-icon.gif create mode 100644 nokia/www/preview/images/console-open-icon.png create mode 100644 nokia/www/preview/images/default-Icon.png create mode 100644 nokia/www/preview/images/device/240x320/Landscape.png create mode 100644 nokia/www/preview/images/device/240x320/Portrait.png create mode 100644 nokia/www/preview/images/device/320x240/Landscape.png create mode 100644 nokia/www/preview/images/device/320x240/Portrait.png create mode 100644 nokia/www/preview/images/device/360x640/Landscape.png create mode 100644 nokia/www/preview/images/device/360x640/Portrait.png create mode 100644 nokia/www/preview/images/device/360x640/hs-landscape.png create mode 100644 nokia/www/preview/images/device/360x640/hs-portrait.png create mode 100644 nokia/www/preview/images/device/800x352/Landscape.png create mode 100644 nokia/www/preview/images/device/MenuItem-keys-Bg2.png create mode 100644 nokia/www/preview/images/device/menuKeys-bg.png create mode 100644 nokia/www/preview/images/errorIcon.png create mode 100644 nokia/www/preview/images/gradient-bg.png create mode 100644 nokia/www/preview/images/hs-iframeMask.png create mode 100644 nokia/www/preview/images/infoIcon.png create mode 100644 nokia/www/preview/images/memory-icon.png create mode 100644 nokia/www/preview/images/messaging-icon.png create mode 100644 nokia/www/preview/images/normal-orientation-icon.png create mode 100644 nokia/www/preview/images/settings-icon.png create mode 100644 nokia/www/preview/images/statusBar_240x320.png create mode 100644 nokia/www/preview/images/statusBar_320x240.png create mode 100644 nokia/www/preview/images/statusBar_360x640.png create mode 100644 nokia/www/preview/images/statusBar_640x360.png create mode 100644 nokia/www/preview/images/statusBar_800x352.png create mode 100644 nokia/www/preview/images/sub-menu-arrow.png create mode 100644 nokia/www/preview/images/th-bg-gradient.png create mode 100644 nokia/www/preview/images/warningIcon.png create mode 100644 nokia/www/preview/images/wrt-help-icon.png create mode 100644 nokia/www/preview/nopreview.html create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/000000_40x100_textures_05_inset_soft_25.png create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/0078a3_40x100_textures_02_glass_40.png create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_leftright.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_updown.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_close.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_doc.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_closed.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_open.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_minus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_plus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_down.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_left.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_right.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_up.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/555555_40x100_textures_02_glass_20.png create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_arrows_leftright.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_arrows_updown.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_close.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_doc.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_folder_closed.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_folder_open.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_minus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_plus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_resize_se.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_down.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_left.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_right.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_up.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/f58400_40x100_textures_05_inset_soft_30.png create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_arrows_leftright.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_arrows_updown.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_close.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_doc.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_folder_closed.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_folder_open.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_minus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_plus.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_down.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_left.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_right.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_up.gif create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/images/slider-handle.png create mode 100644 nokia/www/preview/script/jquery-ui/css/ui-darkness/ui.all.css create mode 100644 nokia/www/preview/script/jquery-ui/js/jquery-1.2.6.min.js create mode 100644 nokia/www/preview/script/jquery-ui/js/jquery-ui-1.6.custom.min.js create mode 100644 nokia/www/preview/script/lib/console.js create mode 100644 nokia/www/preview/script/lib/device.js create mode 100644 nokia/www/preview/script/lib/loader.js create mode 100644 nokia/www/preview/script/lib/menu.js create mode 100644 nokia/www/preview/script/lib/menuItem.js create mode 100644 nokia/www/preview/script/lib/sapi/AppManager.js create mode 100644 nokia/www/preview/script/lib/sapi/Calendar.js create mode 100644 nokia/www/preview/script/lib/sapi/Contact.js create mode 100644 nokia/www/preview/script/lib/sapi/Landmarks.js create mode 100644 nokia/www/preview/script/lib/sapi/Location.js create mode 100644 nokia/www/preview/script/lib/sapi/Logging.js create mode 100644 nokia/www/preview/script/lib/sapi/MediaManagement.js create mode 100644 nokia/www/preview/script/lib/sapi/Messaging.js create mode 100644 nokia/www/preview/script/lib/sapi/Sensor.js create mode 100644 nokia/www/preview/script/lib/sapi/SysInfo.js create mode 100644 nokia/www/preview/script/lib/systeminfo.js create mode 100644 nokia/www/preview/script/lib/widget.js create mode 100644 nokia/www/preview/script/nokia.js create mode 100644 nokia/www/preview/script/resolution.js create mode 100644 nokia/www/preview/script/xml2json.js create mode 100644 nokia/www/wrt_preview_frame.html create mode 100644 nokia/www/wrt_preview_main.html diff --git a/nokia/www/Icon.png b/nokia/www/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0c248ae33d72b57df4c955047f8c08638c460faf GIT binary patch literal 7390 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 QZ~y=R07*qoM6N<$f};8kr2qf` literal 0 HcmV?d00001 diff --git a/nokia/www/Info.plist b/nokia/www/Info.plist new file mode 100644 index 00000000..c3af991b --- /dev/null +++ b/nokia/www/Info.plist @@ -0,0 +1,18 @@ + + + + + DisplayName + phonegap + Identifier + com.phonegap.basic.widget + Version + 1.0 + AllowNetworkAccess + + MainHTML + index.html + MiniViewEnabled + + + \ No newline at end of file diff --git a/nokia/www/index.html b/nokia/www/index.html new file mode 100644 index 00000000..7d7bc64c --- /dev/null +++ b/nokia/www/index.html @@ -0,0 +1,60 @@ + + + + Sample Widget + + + + + + + + + + + + GO + + diff --git a/nokia/www/javascripts/phonegap/nokia/contact.js b/nokia/www/javascripts/phonegap/nokia/contact.js new file mode 100644 index 00000000..b107f969 --- /dev/null +++ b/nokia/www/javascripts/phonegap/nokia/contact.js @@ -0,0 +1,96 @@ +/** + * @author ryan + */ + +var contactsService; + +ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + contactsService = device.getServiceObject("Service.Contact", "IDataSource"); + + var criteria = new Object(); + criteria.Type = "Contact"; + + //need a closure here to bind this method to this instance of the contactmanager object + this.global_success = successCallback; + var obj = this; + + try { + //WRT: result.ReturnValue is an iterator of contacts + contactsService.IDataSource.GetList(criteria, function(transId, eventCode, result){obj.success_callback(result.ReturnValue);}); + } catch (e) { + errorCallback(e); + } +} + +ContactManager.prototype.success_callback = function(contacts_iterator) { + var gapContacts = new Array(); + contacts_iterator.reset(); + var contact; + while ((contact = contacts_iterator.getNext()) != undefined) { + try { + var gapContact = new Contact(); + gapContact.firstName = ContactManager.GetValue(contact, "FirstName"); + gapContact.lastName = ContactManager.GetValue(contact, "LastName"); + gapContact.name = gapContact.firstName + gapContact.lastName; + gapContact.emails = ContactManager.getEmailsList(contact); + gapContact.phones = ContactManager.getPhonesList(contact); + gapContact.address = ContactManager.getAddress(contact); + gapContacts.push(gapContact); + } catch (e) { + alert(e.name + ": " + e.message); + } + } + alert('yo: ' + gapContacts.length + " contacts found"); + this.contacts = gapContacts; + +} + +ContactManager.getEmailsList = function(contact) { + var list; + try { + list = { + "Home": ContactManager.GetValue(contact, "EmailHome"), + "Work": ContactManager.GetValue(contact, "EmailWork"), + "General": ContactManager.GetValue(contact, "EmailGen") + }; + } catch (e) { + list = {}; + } + return list; +} + +ContactManager.getPhonesList = function(contact) { + var list; + try { + list = { + "Home": ContactManager.GetValue(contact, "LandPhoneHome"), + "Mobile": ContactManager.GetValue(contact, "MobilePhoneHome"), + "Fax": ContactManager.GetValue(contact, "FaxNumberHome"), + "Work": ContactManager.GetValue(contact, "LandPhoneWork"), + "WorkMobile": ContactManager.GetValue(contact, "MobilePhoneWork") + }; + } catch (e) { + list = {}; + } + return list; +} + +ContactManager.getAddress = function(contact) { + var list = ""; + try { + list = ContactManager.GetValue(contact, "AddrLabelHome") + ", " + ContactManager.GetValue(contact, "AddrStreetHome") + ", " + + ContactManager.GetValue(contact, "AddrLocalHome") + ", " + ContactManager.GetValue(contact, "AddrRegionHome") + ", " + + ContactManager.GetValue(contact, "AddrPostCodeHome") + ", " + ContactManager.GetValue(contact, "AddrCountryHome"); + } catch (e) { + list = ""; + } + return list; +} + +ContactManager.GetValue = function(contactObj, key) { + try { + return contactObj[key]["Value"]; + } catch (e) { + return ""; + } +} diff --git a/nokia/www/javascripts/phonegap/nokia/geolocation.js b/nokia/www/javascripts/phonegap/nokia/geolocation.js new file mode 100644 index 00000000..1ef9e783 --- /dev/null +++ b/nokia/www/javascripts/phonegap/nokia/geolocation.js @@ -0,0 +1,88 @@ +/* + * The device used for test rarely seemed to return a value for speed, and was flaky with heading. + * Nonetheless, they are included, and we can use whatever data we manage to get. + */ + +// This allows us to override the constructor keeping all the original prototype methods. +/* +var geoPlaceholder = Geolocation.prototype; +Geolocation = function() { + + this.lastPosition = null; + this.lastError = null; + this.callbacks = { + onLocationChanged: [], + onError: [] + }; + + this.serviceObj = InitializeLocationServiceObject(); +}; +Geolocation.prototype = geoPlaceholder; +*/ + +Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { + + if (!this.serviceObj) + this.serviceObj = InitializeLocationServiceObject(); + + //construct the criteria for our location request + var updateOptions = new Object(); + // Specify that location information need not be guaranteed. This helps in + // that the widget doesn't need to wait for that information possibly indefinitely. + updateOptions.PartialUpdates = true; + + if (typeof(options) == 'object' && options.timeout) + //options.timeout in in ms, updateOptions.UpdateTimeout in microsecs + updateOptions.UpdateTimeOut = options.timeout * 1000; + + // Initialize the criteria for the GetLocation call + var trackCriteria = new Object(); + // could use "BasicLocationInformation" or "GenericLocationInfo" + trackCriteria.LocationInformationClass = "GenericLocationInfo"; + trackCriteria.Updateoptions = updateOptions; + + if (typeof(successCallback) != 'function') + successCallback = function() {}; + if (typeof(errorCallback) != 'function') + errorCallback = function() {}; + + var result; + try { + //WRT + result = this.serviceObj.ILocation.GetLocation(trackCriteria); + } catch (ex) { + alert("error:" + ex.name + " " + ex.message); + errorCallback(ex); + return; + } + + if (result.ReturnValue == undefined) { + errorCallback(); + return; + } + + var retVal = result.ReturnValue; + + // heading options: retVal.TrueCourse, retVal.MagneticHeading, retVal.Heading, retVal.MagneticCourse + // but retVal.Heading was the only field being returned with data on the test device (Nokia 5800) + // WRT does not provide accuracy + var coords = new Coordinates(retVal.Latitude, retVal.Longitude, retVal.Altitude, null, retVal.Heading, retVal.HorizontalSpeed); + var positionObj = new Position(coords, new Date().getTime()); + + this.lastPosition = positionObj; + + successCallback(); +} + +//gets the Location Service Object from WRT +function InitializeLocationServiceObject() { + var so; + + try { + so = device.getServiceObject("Service.Location", "ILocation"); + } catch (ex) { + alert('Error: failed to load location service: ' + ex.name + " " + ex.message); + return null; + } + return so; +} diff --git a/nokia/www/javascripts/phonegap/nokia/notification.js b/nokia/www/javascripts/phonegap/nokia/notification.js new file mode 100644 index 00000000..98b01368 --- /dev/null +++ b/nokia/www/javascripts/phonegap/nokia/notification.js @@ -0,0 +1,35 @@ + +/* + * this first line is unfortunate. but at the moment we must put an embed tag in the main + * html page of the widget to access notification services. commented out below + * are a couple of other options that are cleaner. i will leave them for now. + */ + + +Notification.prototype.vibrate = function(mills) +{ + + if (!Notification.getSysinfoObject()) + Notification.embedSysinfoObject(); + + this.sysinfo = Notification.getSysinfoObject(); + this.sysinfo.startvibra(mills, 100); +} + +//TODO: this is not beeping +Notification.prototype.beep = function(count, volume) +{ + this.sysinfo.beep(220,2000); +} + +Notification.embedSysinfoObject = function() { + var el = document.createElement("embed"); + el.setAttribute("type", "application/x-systeminfo-widget"); + el.setAttribute("hidden", "yes"); + document.getElementsByTagName("body")[0].appendChild(el); + return;//document.embeds[0]; +} + +Notification.getSysinfoObject = function() { + return document.embeds[0]; +} diff --git a/nokia/www/javascripts/phonegap/phonegap-interface.js b/nokia/www/javascripts/phonegap/phonegap-interface.js new file mode 100644 index 00000000..f514e445 --- /dev/null +++ b/nokia/www/javascripts/phonegap/phonegap-interface.js @@ -0,0 +1,1032 @@ +if (typeof(DeviceInfo) != 'object') + DeviceInfo = {}; + +/** + * This represents the PhoneGap API itself, and provides a global namespace for accessing + * information about the state of PhoneGap. + * @class + */ +PhoneGap = { + queue: { + ready: true, + commands: [], + timer: null + }, + _constructors: [] +}; + +/** + * Boolean flag indicating if the PhoneGap API is available and initialized. + */ +PhoneGap.available = DeviceInfo.uuid != undefined; + +/** + * Add an initialization function to a queue that ensures it will run and initialize + * application constructors only once PhoneGap has been initialized. + * @param {Function} func The function callback you want run once PhoneGap is initialized + */ +PhoneGap.addConstructor = function(func) { + var state = document.readyState; + if (state != 'loaded' && state != 'complete') + PhoneGap._constructors.push(func); + else + func(); +}; +(function() { + var timer = setInterval(function() { + var state = document.readyState; + if (state != 'loaded' && state != 'complete') + return; + clearInterval(timer); + while (PhoneGap._constructors.length > 0) { + var constructor = PhoneGap._constructors.shift(); + try { + constructor(); + } catch(e) { + if (typeof(debug['log']) == 'function') + debug.log("Failed to run constructor: " + debug.processMessage(e)); + else + alert("Failed to run constructor: " + e.message); + } + } + }, 1); +})(); + + +/** + * Execute a PhoneGap command in a queued fashion, to ensure commands do not + * execute with any race conditions, and only run when PhoneGap is ready to + * recieve them. + * @param {String} command Command to be run in PhoneGap, e.g. "ClassName.method" + * @param {String[]} [args] Zero or more arguments to pass to the method + */ +PhoneGap.exec = function() { + PhoneGap.queue.commands.push(arguments); + if (PhoneGap.queue.timer == null) + PhoneGap.queue.timer = setInterval(PhoneGap.run_command, 10); +}; +/** + * Internal function used to dispatch the request to PhoneGap. This needs to be implemented per-platform to + * ensure that methods are called on the phone in a way appropriate for that device. + * @private + */ +PhoneGap.run_command = function() { +}; + +/** + * This class contains acceleration information + * @constructor + * @param {Number} x The force applied by the device in the x-axis. + * @param {Number} y The force applied by the device in the y-axis. + * @param {Number} z The force applied by the device in the z-axis. + */ +function Acceleration(x, y, z) { + /** + * The force applied by the device in the x-axis. + */ + this.x = x; + /** + * The force applied by the device in the y-axis. + */ + this.y = y; + /** + * The force applied by the device in the z-axis. + */ + this.z = z; + /** + * The time that the acceleration was obtained. + */ + this.timestamp = new Date().getTime(); +} + +/** + * This class specifies the options for requesting acceleration data. + * @constructor + */ +function AccelerationOptions() { + /** + * The timeout after which if acceleration data cannot be obtained the errorCallback + * is called. + */ + this.timeout = 10000; +} +/** + * This class provides access to device accelerometer data. + * @constructor + */ +function Accelerometer() { + /** + * The last known acceleration. + */ + this.lastAcceleration = null; +} + +/** + * Asynchronously aquires the current acceleration. + * @param {Function} successCallback The function to call when the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ +Accelerometer.prototype.getCurrentAcceleration = function(successCallback, errorCallback, options) { + // If the acceleration is available then call success + // If the acceleration is not available then call error + + // Created for iPhone, Iphone passes back _accel obj litteral + if (typeof successCallback == "function") { + var accel = new Acceleration(_accel.x,_accel.y,_accel.z); + Accelerometer.lastAcceleration = accel; + successCallback(accel); + } +} + +/** + * Asynchronously aquires the acceleration repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the acceleration + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the acceleration data. + * @param {AccelerationOptions} options The options for getting the accelerometer data + * such as timeout. + */ + +Accelerometer.prototype.watchAcceleration = function(successCallback, errorCallback, options) { + this.getCurrentAcceleration(successCallback, errorCallback, options); + // TODO: add the interval id to a list so we can clear all watches + var frequency = (options != undefined)? options.frequency : 10000; + return setInterval(function() { + navigator.accelerometer.getCurrentAcceleration(successCallback, errorCallback, options); + }, frequency); +} + +/** + * Clears the specified accelerometer watch. + * @param {String} watchId The ID of the watch returned from #watchAcceleration. + */ +Accelerometer.prototype.clearWatch = function(watchId) { + clearInterval(watchId); +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer(); +}); +/** + * This class provides access to the device camera. + * @constructor + */ +function Camera() { + +} + +/** + * + * @param {Function} successCallback + * @param {Function} errorCallback + * @param {Object} options + */ +Camera.prototype.getPicture = function(successCallback, errorCallback, options) { + +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.camera == "undefined") navigator.camera = new Camera(); +}); +/** + * This class provides access to device Compass data. + * @constructor + */ +function Compass() { + /** + * The last known Compass position. + */ + this.lastHeading = null; + this.lastError = null; + this.callbacks = { + onHeadingChanged: [], + onError: [] + }; +}; + +/** + * Asynchronously aquires the current heading. + * @param {Function} successCallback The function to call when the heading + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the heading data. + * @param {PositionOptions} options The options for getting the heading data + * such as timeout. + */ +Compass.prototype.getCurrentHeading = function(successCallback, errorCallback, options) { + if (this.lastHeading == null) { + this.start(options); + } + else + if (typeof successCallback == "function") { + successCallback(this.lastHeading); + } +}; + +/** + * Asynchronously aquires the heading repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the heading + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the heading data. + * @param {HeadingOptions} options The options for getting the heading data + * such as timeout and the frequency of the watch. + */ +Compass.prototype.watchHeading= function(successCallback, errorCallback, options) { + // Invoke the appropriate callback with a new Position object every time the implementation + // determines that the position of the hosting device has changed. + + this.getCurrentHeading(successCallback, errorCallback, options); + var frequency = 100; + if (typeof(options) == 'object' && options.frequency) + frequency = options.frequency; + + var self = this; + return setInterval(function() { + self.getCurrentHeading(successCallback, errorCallback, options); + }, frequency); +}; + + +/** + * Clears the specified heading watch. + * @param {String} watchId The ID of the watch returned from #watchHeading. + */ +Compass.prototype.clearWatch = function(watchId) { + clearInterval(watchId); +}; + + +/** + * Called by the geolocation framework when the current heading is found. + * @param {HeadingOptions} position The current heading. + */ +Compass.prototype.setHeading = function(heading) { + this.lastHeading = heading; + for (var i = 0; i < this.callbacks.onHeadingChanged.length; i++) { + var f = this.callbacks.onHeadingChanged.shift(); + f(heading); + } +}; + +/** + * Called by the geolocation framework when an error occurs while looking up the current position. + * @param {String} message The text of the error message. + */ +Compass.prototype.setError = function(message) { + this.lastError = message; + for (var i = 0; i < this.callbacks.onError.length; i++) { + var f = this.callbacks.onError.shift(); + f(message); + } +}; + +PhoneGap.addConstructor(function() { + if (typeof navigator.compass == "undefined") navigator.compass = new Compass(); +}); +/** + * This class provides access to the device contacts. + * @constructor + */ + +function Contact(jsonObject) { + this.firstName = ""; + this.lastName = ""; + this.name = ""; + this.phones = {}; + this.emails = {}; + this.address = ""; +} + +Contact.prototype.displayName = function() +{ + // TODO: can be tuned according to prefs + return this.name; +} + +function ContactManager() { + // Dummy object to hold array of contacts + this.contacts = []; + this.timestamp = new Date().getTime(); +} + +ContactManager.prototype.getAllContacts = function(successCallback, errorCallback, options) { + // Interface +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.ContactManager == "undefined") navigator.ContactManager = new ContactManager(); +}); +/** + * This class provides access to the debugging console. + * @constructor + */ +function DebugConsole() { +} + +/** + * Utility function for rendering and indenting strings, or serializing + * objects to a string capable of being printed to the console. + * @param {Object|String} message The string or object to convert to an indented string + * @private + */ +DebugConsole.prototype.processMessage = function(message) { + if (typeof(message) != 'object') { + return message; + } else { + /** + * @function + * @ignore + */ + function indent(str) { + return str.replace(/^/mg, " "); + } + /** + * @function + * @ignore + */ + function makeStructured(obj) { + var str = ""; + for (var i in obj) { + try { + if (typeof(obj[i]) == 'object') { + str += i + ":\n" + indent(makeStructured(obj[i])) + "\n"; + } else { + str += i + " = " + indent(String(obj[i])).replace(/^ /, "") + "\n"; + } + } catch(e) { + str += i + " = EXCEPTION: " + e.message + "\n"; + } + } + return str; + } + return "Object:\n" + makeStructured(message); + } +}; + +/** + * Print a normal log message to the console + * @param {Object|String} message Message or object to print to the console + */ +DebugConsole.prototype.log = function(message) { +}; + +/** + * Print a warning message to the console + * @param {Object|String} message Message or object to print to the console + */ +DebugConsole.prototype.warn = function(message) { +}; + +/** + * Print an error message to the console + * @param {Object|String} message Message or object to print to the console + */ +DebugConsole.prototype.error = function(message) { +}; + +PhoneGap.addConstructor(function() { + window.debug = new DebugConsole(); +}); +/** + * this represents the mobile device, and provides properties for inspecting the model, version, UUID of the + * phone, etc. + * @constructor + */ +function Device() { + this.available = PhoneGap.available; + this.platform = null; + this.version = null; + this.name = null; + this.gap = null; + this.uuid = null; + try { + if (window.DroidGap) { + this.available = true; + this.uuid = window.DroidGap.getUuid(); + this.version = window.DroidGap.getOSVersion(); + this.gapVersion = window.DroidGap.getVersion(); + this.platform = window.DroidGap.getPlatform(); + this.name = window.DroidGap.getProductName(); + } else { + this.platform = DeviceInfo.platform; + this.version = DeviceInfo.version; + this.name = DeviceInfo.name; + this.gap = DeviceInfo.gap; + this.uuid = DeviceInfo.uuid; + } + } catch(e) { + this.available = false; + } +} + +PhoneGap.addConstructor(function() { + navigator.Device = window.Device = new Device(); +}); +/** + * This class provides generic read and write access to the mobile device file system. + */ +function File() { + /** + * The data of a file. + */ + this.data = ""; + /** + * The name of the file. + */ + this.name = ""; +} + +/** + * Reads a file from the mobile device. This function is asyncronous. + * @param {String} fileName The name (including the path) to the file on the mobile device. + * The file name will likely be device dependant. + * @param {Function} successCallback The function to call when the file is successfully read. + * @param {Function} errorCallback The function to call when there is an error reading the file from the device. + */ +File.prototype.read = function(fileName, successCallback, errorCallback) { + +} + +/** + * Writes a file to the mobile device. + * @param {File} file The file to write to the device. + */ +File.prototype.write = function(file) { + +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.file == "undefined") navigator.file = new File(); +}); +/** + * This class provides access to device GPS data. + * @constructor + */ +function Geolocation() { + /** + * The last known GPS position. + */ + this.lastPosition = null; + this.lastError = null; + this.callbacks = { + onLocationChanged: [], + onError: [] + }; +}; + +/** + * Asynchronously aquires the current position. + * @param {Function} successCallback The function to call when the position + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the position data. + * @param {PositionOptions} options The options for getting the position data + * such as timeout. + */ +Geolocation.prototype.getCurrentPosition = function(successCallback, errorCallback, options) { + var referenceTime = 0; + if (this.lastPosition) + referenceTime = this.lastPosition.timeout; + else + this.start(options); + + var timeout = 20000; + var interval = 500; + if (typeof(options) == 'object' && options.interval) + interval = options.interval; + + if (typeof(successCallback) != 'function') + successCallback = function() {}; + if (typeof(errorCallback) != 'function') + errorCallback = function() {}; + + var dis = this; + var delay = 0; + var timer = setInterval(function() { + delay += interval; + + if (typeof(dis.lastPosition) == 'object' && dis.lastPosition.timestamp > referenceTime) { + successCallback(dis.lastPosition); + clearInterval(timer); + } else if (delay >= timeout) { + errorCallback(); + clearInterval(timer); + } + }, interval); +}; + +/** + * Asynchronously aquires the position repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the position + * data is available + * @param {Function} errorCallback The function to call when there is an error + * getting the position data. + * @param {PositionOptions} options The options for getting the position data + * such as timeout and the frequency of the watch. + */ +Geolocation.prototype.watchPosition = function(successCallback, errorCallback, options) { + // Invoke the appropriate callback with a new Position object every time the implementation + // determines that the position of the hosting device has changed. + + //TODO: this is throwing "typeerror: undefined value" on the device + this.getCurrentPosition(successCallback, errorCallback, options); + var frequency = 10000; + if (typeof(options) == 'object' && options.frequency) + frequency = options.frequency; + + var that = this; + return setInterval(function() { + that.getCurrentPosition(successCallback, errorCallback, options); + }, frequency); +}; + + +/** + * Clears the specified position watch. + * @param {String} watchId The ID of the watch returned from #watchPosition. + */ +Geolocation.prototype.clearWatch = function(watchId) { + clearInterval(watchId); +}; + +/** + * Called by the geolocation framework when the current location is found. + * @param {PositionOptions} position The current position. + */ +Geolocation.prototype.setLocation = function(position) { + this.lastPosition = position; + for (var i = 0; i < this.callbacks.onLocationChanged.length; i++) { + var f = this.callbacks.onLocationChanged.shift(); + f(position); + } +}; + +/** + * Called by the geolocation framework when an error occurs while looking up the current position. + * @param {String} message The text of the error message. + */ +Geolocation.prototype.setError = function(message) { + this.lastError = message; + for (var i = 0; i < this.callbacks.onError.length; i++) { + var f = this.callbacks.onError.shift(); + f(message); + } +}; + +PhoneGap.addConstructor(function() { + if (typeof navigator.geolocation == "undefined") navigator.geolocation = new Geolocation(); +}); +/** + * This class provides access to native mapping applications on the device. + */ +function Map() { + +} + +/** + * Shows a native map on the device with pins at the given positions. + * @param {Array} positions + */ +Map.prototype.show = function(positions) { + +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.map == "undefined") navigator.map = new Map(); +}); + +/** + * This class provides access to the device media, interfaces to both sound and video + * @constructor + */ +function Media(src) { + this.src = src; +} + +Media.prototype.record = function() { +} + +Media.prototype.play = function() { +} + +Media.prototype.pause = function() { +} + +Media.prototype.stop = function() { +} + + +/** + * This class contains information about any Media errors. + * @constructor + */ +function MediaError() { + this.code = null, + this.message = ""; +} + +MediaError.MEDIA_ERR_ABORTED = 1; +MediaError.MEDIA_ERR_NETWORK = 2; +MediaError.MEDIA_ERR_DECODE = 3; +MediaError.MEDIA_ERR_NONE_SUPPORTED = 4; + + +//if (typeof navigator.audio == "undefined") navigator.audio = new Media(src); +/** + * This class contains information about any NetworkStatus. + * @constructor + */ +function NetworkStatus() { + this.code = null; + this.message = ""; +} + +NetworkStatus.NOT_REACHABLE = 0; +NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK = 1; +NetworkStatus.REACHABLE_VIA_WIFI_NETWORK = 2; + +/** + * This class provides access to device Network data (reachability). + * @constructor + */ +function Network() { + /** + * The last known Network status. + * { hostName: string, ipAddress: string, + remoteHostStatus: int(0/1/2), internetConnectionStatus: int(0/1/2), localWiFiConnectionStatus: int (0/2) } + */ + this.lastReachability = null; +}; + +/** + * + * @param {Function} successCallback + * @param {Function} errorCallback + * @param {Object} options (isIpAddress:boolean) + */ +Network.prototype.isReachable = function(hostName, successCallback, options) { +} + +/** + * Called by the geolocation framework when the reachability status has changed. + * @param {Reachibility} reachability The current reachability status. + */ +Network.prototype.updateReachability = function(reachability) { + this.lastReachability = reachability; +}; + +PhoneGap.addConstructor(function() { + if (typeof navigator.network == "undefined") navigator.network = new Network(); +}); +/** + * This class provides access to notifications on the device. + */ +function Notification() { +} + +/** + * Open a native alert dialog, with a customizable title and button text. + * @param {String} message Message to print in the body of the alert + * @param {String} [title="Alert"] Title of the alert dialog (default: Alert) + * @param {String} [buttonLabel="OK"] Label of the close button (default: OK) + */ +Notification.prototype.alert = function(message, title, buttonLabel) { + // Default is to use a browser alert; this will use "index.html" as the title though + alert(message); +}; + +/** + * Start spinning the activity indicator on the statusbar + */ +Notification.prototype.activityStart = function() { +}; + +/** + * Stop spinning the activity indicator on the statusbar, if it's currently spinning + */ +Notification.prototype.activityStop = function() { +}; + +/** + * Causes the device to blink a status LED. + * @param {Integer} count The number of blinks. + * @param {String} colour The colour of the light. + */ +Notification.prototype.blink = function(count, colour) { + +}; + +/** + * Causes the device to vibrate. + * @param {Integer} mills The number of milliseconds to vibrate for. + */ +Notification.prototype.vibrate = function(mills) { + +}; + +/** + * Causes the device to beep. + * @param {Integer} count The number of beeps. + * @param {Integer} volume The volume of the beep. + */ +Notification.prototype.beep = function(count, volume) { + +}; + +// TODO: of course on Blackberry and Android there notifications in the UI as well + +PhoneGap.addConstructor(function() { + if (typeof navigator.notification == "undefined") navigator.notification = new Notification(); +}); + +/** + * This class provides access to the device orientation. + * @constructor + */ +function Orientation() { + /** + * The current orientation, or null if the orientation hasn't changed yet. + */ + this.currentOrientation = null; +} + +/** + * Set the current orientation of the phone. This is called from the device automatically. + * + * When the orientation is changed, the DOMEvent \c orientationChanged is dispatched against + * the document element. The event has the property \c orientation which can be used to retrieve + * the device's current orientation, in addition to the \c Orientation.currentOrientation class property. + * + * @param {Number} orientation The orientation to be set + */ +Orientation.prototype.setOrientation = function(orientation) { + Orientation.currentOrientation = orientation; + var e = document.createEvent('Events'); + e.initEvent('orientationChanged', 'false', 'false'); + e.orientation = orientation; + document.dispatchEvent(e); +}; + +/** + * Asynchronously aquires the current orientation. + * @param {Function} successCallback The function to call when the orientation + * is known. + * @param {Function} errorCallback The function to call when there is an error + * getting the orientation. + */ +Orientation.prototype.getCurrentOrientation = function(successCallback, errorCallback) { + // If the position is available then call success + // If the position is not available then call error +}; + +/** + * Asynchronously aquires the orientation repeatedly at a given interval. + * @param {Function} successCallback The function to call each time the orientation + * data is available. + * @param {Function} errorCallback The function to call when there is an error + * getting the orientation data. + */ +Orientation.prototype.watchOrientation = function(successCallback, errorCallback) { + // Invoke the appropriate callback with a new Position object every time the implementation + // determines that the position of the hosting device has changed. + this.getCurrentPosition(successCallback, errorCallback); + return setInterval(function() { + navigator.orientation.getCurrentOrientation(successCallback, errorCallback); + }, 10000); +}; + +/** + * Clears the specified orientation watch. + * @param {String} watchId The ID of the watch returned from #watchOrientation. + */ +Orientation.prototype.clearWatch = function(watchId) { + clearInterval(watchId); +}; + +PhoneGap.addConstructor(function() { + if (typeof navigator.orientation == "undefined") navigator.orientation = new Orientation(); +}); +/** + * This class contains position information. + * @param {Object} lat + * @param {Object} lng + * @param {Object} acc + * @param {Object} alt + * @param {Object} altacc + * @param {Object} head + * @param {Object} vel + * @constructor + */ +function Position(coords, timestamp) { + this.coords = coords; + this.timestamp = new Date().getTime(); +} + +function Coordinates(lat, lng, alt, acc, head, vel) { + /** + * The latitude of the position. + */ + this.latitude = lat; + /** + * The longitude of the position, + */ + this.longitude = lng; + /** + * The accuracy of the position. + */ + this.accuracy = acc; + /** + * The altitude of the position. + */ + this.altitude = alt; + /** + * The direction the device is moving at the position. + */ + this.heading = head; + /** + * The velocity with which the device is moving at the position. + */ + this.speed = vel; +} + +/** + * This class specifies the options for requesting position data. + * @constructor + */ +function PositionOptions() { + /** + * Specifies the desired position accuracy. + */ + this.enableHighAccuracy = true; + /** + * The timeout after which if position data cannot be obtained the errorCallback + * is called. + */ + this.timeout = 10000; +} + +/** + * This class contains information about any GSP errors. + * @constructor + */ +function PositionError() { + this.code = null; + this.message = ""; +} + +PositionError.UNKNOWN_ERROR = 0; +PositionError.PERMISSION_DENIED = 1; +PositionError.POSITION_UNAVAILABLE = 2; +PositionError.TIMEOUT = 3; +/** + * This class provides access to the device SMS functionality. + * @constructor + */ +function Sms() { + +} + +/** + * Sends an SMS message. + * @param {Integer} number The phone number to send the message to. + * @param {String} message The contents of the SMS message to send. + * @param {Function} successCallback The function to call when the SMS message is sent. + * @param {Function} errorCallback The function to call when there is an error sending the SMS message. + * @param {PositionOptions} options The options for accessing the GPS location such as timeout and accuracy. + */ +Sms.prototype.send = function(number, message, successCallback, errorCallback, options) { + +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.sms == "undefined") navigator.sms = new Sms(); +}); +/** + * This class provides access to the telephony features of the device. + * @constructor + */ +function Telephony() { + +} + +/** + * Calls the specifed number. + * @param {Integer} number The number to be called. + */ +Telephony.prototype.call = function(number) { + +} + +PhoneGap.addConstructor(function() { + if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony(); +}); +/** + * This class exposes mobile phone interface controls to JavaScript, such as + * native tab and tool bars, etc. + * @constructor + */ +function UIControls() { + this.tabBarTag = 0; + this.tabBarCallbacks = {}; +} + +/** + * Create a native tab bar that can have tab buttons added to it which can respond to events. + */ +UIControls.prototype.createTabBar = function() {}; + +/** + * Show a tab bar. The tab bar has to be created first. + * @param {Object} [options] Options indicating how the tab bar should be shown: + * - \c height integer indicating the height of the tab bar (default: \c 49) + * - \c position specifies whether the tab bar will be placed at the \c top or \c bottom of the screen (default: \c bottom) + */ +UIControls.prototype.showTabBar = function(options) {}; + +/** + * Hide a tab bar. The tab bar has to be created first. + */ +UIControls.prototype.hideTabBar = function(animate) {}; + +/** + * Create a new tab bar item for use on a previously created tab bar. Use ::showTabBarItems to show the new item on the tab bar. + * + * If the supplied image name is one of the labels listed below, then this method will construct a tab button + * using the standard system buttons. Note that if you use one of the system images, that the \c title you supply will be ignored. + * + * Tab Buttons + * - tabButton:More + * - tabButton:Favorites + * - tabButton:Featured + * - tabButton:TopRated + * - tabButton:Recents + * - tabButton:Contacts + * - tabButton:History + * - tabButton:Bookmarks + * - tabButton:Search + * - tabButton:Downloads + * - tabButton:MostRecent + * - tabButton:MostViewed + * @param {String} name internal name to refer to this tab by + * @param {String} [title] title text to show on the tab, or null if no text should be shown + * @param {String} [image] image filename or internal identifier to show, or null if now image should be shown + * @param {Object} [options] Options for customizing the individual tab item + * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden + */ +UIControls.prototype.createTabBarItem = function(name, label, image, options) {}; + +/** + * Update an existing tab bar item to change its badge value. + * @param {String} name internal name used to represent this item when it was created + * @param {Object} options Options for customizing the individual tab item + * - \c badge value to display in the optional circular badge on the item; if null or unspecified, the badge will be hidden + */ +UIControls.prototype.updateTabBarItem = function(name, options) {}; + +/** + * Show previously created items on the tab bar + * @param {String} arguments... the item names to be shown + * @param {Object} [options] dictionary of options, notable options including: + * - \c animate indicates that the items should animate onto the tab bar + * @see createTabBarItem + * @see createTabBar + */ +UIControls.prototype.showTabBarItems = function(tabs, options) {}; + +/** + * Manually select an individual tab bar item, or nil for deselecting a currently selected tab bar item. + * @param {String} tabName the name of the tab to select, or null if all tabs should be deselected + * @see createTabBarItem + * @see showTabBarItems + */ +UIControls.prototype.selectTabBarItem = function(tab) {}; + +/** + * Function called when a tab bar item has been selected. + * @param {Number} tag the tag number for the item that has been selected + */ +UIControls.prototype.tabBarItemSelected = function(tag) { + if (typeof(this.tabBarCallbacks[tag]) == 'function') + this.tabBarCallbacks[tag](); +}; + +/** + * Create a toolbar. + */ +UIControls.prototype.createToolBar = function() {}; + +/** + * Function called when a tab bar item has been selected. + * @param {String} title the title to set within the toolbar + */ +UIControls.prototype.setToolBarTitle = function(title) {}; + +PhoneGap.addConstructor(function() { + window.uicontrols = new UIControls(); +}); diff --git a/nokia/www/nokia.wgz b/nokia/www/nokia.wgz new file mode 100644 index 0000000000000000000000000000000000000000..4f95ef6c160b1f430dd3c4a50a728fa034a6e3d2 GIT binary patch literal 19770 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

      (m#IJ_*an<2ttce(% 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 CJG@r_ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/css/style.css b/nokia/www/preview/css/style.css new file mode 100644 index 00000000..2f87e681 --- /dev/null +++ b/nokia/www/preview/css/style.css @@ -0,0 +1,633 @@ +@charset "utf-8"; +body { + background-image: url(../images/Gradient0Background.png); + background-repeat: repeat-x; + margin: 0px; + font-family: "Nokia Sans", "Nokia Sans SemiBold", "Arial Narrow"; + padding: 0px; + overflow: hidden; +} +.hide{ + display:none; +} +.show{ + display:block; +} + +code{ + background-color: #ffffa6; + color: #000000; + padding: 3px; + display: block; + font-size: 110%; + margin: 3px 0px; +} + +#DisplaySFKWrapper{ + overflow: hidden; +} +#DisplayArea { + margin-right: auto; + margin-left: auto; + overflow: hidden; + +} + +#WidgetArea{ + position: relative; + z-index: 99; +} +#WidgetArea iframe{ + width: 100%; + height: 100%; + border: 0px; + margin-left: auto; + margin-top: auto; +} + +#WidgetArea.hs_portrait{ + background-image: url(../images/device/360x640/hs-portrait.png); + background-repeat: no-repeat; +} + +#WidgetArea.hs_landscape{ + background-image: url(../images/device/360x640/hs-landscape.png); + background-repeat: no-repeat; +} +#WidgetArea.hs_portrait iframe{ + width: 306px; + height: 76px; + margin-left: 26px; + margin-top: 321px; + overflow: hidden !important; +} + +#WidgetArea.hs_landscape iframe{ + width: 306px; + height: 76px; + margin-left: 322px !important; + margin-top: 151px !important; + overflow: hidden !important; +} + +#iframeMask +{ + width: 328px; + height: 100px; + position: absolute; + z-index: 900; + background-image: url(../images/hs-iframeMask.png); + background-repeat: no-repeat; + background-position: top left; +} + +#iframeMask:hover +{ + background-repeat: no-repeat; + background-position: bottom left; +} + + +#WidgetArea.hs_portrait #iframeMask{ + margin-left: 16px !important; + margin-top: 310px !important; +} +#WidgetArea.hs_landscape #iframeMask{ + margin-left: 312px !important; + margin-top: 140px !important; +} + + +#SoftKeys{ + height: 50px; + width: 240px; + margin-right: auto; + margin-left: auto; + margin-top: 10px; +} + +div.clear{ + clear: both; +} +#DeviceDisplayLayout { + background-repeat: no-repeat; + background-position: center center; + margin-right: auto; + margin-left: auto; + margin-top: 0px; + overflow: hidden; +} + +#DeviceDisplayLayout.portrait_240x320 { + background-image: url(../images/device/240x320/Portrait.png); + width: 600px; + height: 536px; +} + +#DeviceDisplayLayout.landscape_240x320 { + background-image: url(../images/device/240x320/Landscape.png); + width: 848px; + height: 408px; +} + +#SoftKeysArea{ + z-index: 101; + position: relative; +/* background-image: url(../images/device/menuKeys-bg.png); + background-repeat: no-repeat; + background-position: center top; +*/ + background-color: #666666; +} + +#SoftKeysArea ul{ + list-style: none; + margin: 0px; + padding: 0px; + +} + +#SoftKeysArea ul li{ + margin: 0px; + font-weight: bold; + font-size: 15px; + float: left; + padding: 5px; +} + + +#SoftKeysArea ul li a{ + color: #FFFFFF; + text-decoration: none; + display: block; +} + +li#RskLabel{ + text-align: right; +} + +#MenuItemsArea{ + z-index: 100; + display: none; +} + +#MenuItemsArea ul{ + margin: 0px; + padding: 5px; + list-style-position: inside; + list-style-image: none; + list-style-type: none; + background-color: #CCCCCC; +} + +#MenuItemsArea ul li{ + font-size: 13px; + font-weight: bold; +} + +#MenuItemsArea li.active{ + background-color: #75ea00; +} + +#MenuItemsArea a{ + color: #000; + text-decoration: none; + display: block; + padding: 5px; + height: 14px; +} +#MenuItemsArea a:hover{ + background-color: #75ea00; +} + +#MenuItemsArea a.subMenuItem{ + background-image: url(../images/sub-menu-arrow.png); + background-repeat: no-repeat; + background-position: right 0px; +} + +#MenuItemsArea a.subMenuItem:hover{ + background-position: right -20px; +} +#MenuItemsArea a.subMenuItem:active{ + background-position: right -40px; +} + +#MenuItemsArea li.active a.subMenuItem{ + background-position: right -20px; +} +div#IconArea{ + display: none; + font-size: 0.9em; + font-weight: bold; + background-repeat: no-repeat; +} + +div#IconArea.portrait240x320{ + background-image: url(../images/statusBar_240x320.png); +} +div#IconArea.landscape240x320{ + background-image: url(../images/statusBar_320x240.png); +} + +div#IconArea.portrait320x240{ + background-image: url(../images/statusBar_320x240.png); +} +div#IconArea.landscape320x240{ + background-image: url(../images/statusBar_240x320.png); +} + +div#IconArea.portrait360x640{ + background-image: url(../images/statusBar_360x640.png); +} +div#IconArea.landscape360x640{ + background-image: url(../images/statusBar_640x360.png); +} + +div#IconArea.landscape800x352{ + background-image: url(../images/statusBar_800x352.png); +} + + +div.IconFile{ + margin-left: auto; + margin-right: auto; + text-align: center; + padding: 20px; +} + +div.IconFile:hover{ + background-image: url(../images/IconArea-hover.png); + background-position: center center; + background-repeat: no-repeat; +} + +div.IconFile p{ + margin: 0px; +} + + + +p.highlight span{ + background-color: #fbf7a2; + font-weight: normal; + font-size: 0.8em; + padding: 3px; +} + +/* + preferences CSS +*/ + +div#PreferencesBtn{ + width: 75px; + height: 85px; + background-image: url(../images/settings-icon.png); + position: absolute; + top: 10px; + left: 10px; + background-position: left bottom; + z-index: 200; +} + +div#PreferencesBtn:hover{ + background-position: left top; +} + +div#loaderDiv{ + padding: 10px; + font-size: 1.1em; + position: absolute; + top: 0px; + right: 0px; + display: none; + z-index: 202; +} + +div#loaderDiv.green{ + background-color: #5abd2b; + color: #FFFFFF; +} + +div#loaderDiv.yellow{ + background-color: #ffff00; + color: #000000; +} + +div#orientationIcon{ + background-image: url(../images/normal-orientation-icon.png); + background-repeat: no-repeat; + width: 191px; + height: 72px; + float: left; + position: absolute; + left: 10px; + top: 0px; + display: none; +} +div#orientationIcon:hover{ + background-image: url(../images/active-orientation-icon.png); +} + +table{ + border-top: 1px solid #808080; + border-left: 1px solid #808080; +} + +table a.link{ + background-color: #20c41c; + color: #ffffff; + font-weight: bold; + border: 1px solid #4e872c; + padding: 3px 2px; + text-decoration: none; + font-size: 80%; +} + +table th, table td{ + padding: 6px 5px; + border-bottom: 1px solid #808080; + border-right: 1px solid #808080; + font-size: 0.9em; +} +table th{ + width: 150px; + text-align: left; + background-image: url(../images/th-bg-gradient.png); + background-repeat: repeat-x; + background-position: left bottom; +} + +#NotificationDiv p{ + color: #ffffff; + font-size: 95%; + padding: 5px; +} + +strong{ + color: #eee46c; +} + +#BrowserNotificationBar{ + z-index: 2000; + background-color: #f2eb8e; + border-bottom: 2px solid #f0d25e; + display: none; + position: absolute; + left: 0; + top: 0; + width: 100%; + font-size: 80%; + font-weight: bolder; + text-align: right; + margin: 0px; + opacity: 0.9; +} +#BrowserNotificationBar a{ + height: 10px; + width: 10px; + float: right; + background-image: url(../images/BrowserNotificationBar-Toogle.gif); + background-position: 0px -10px; + margin : 4px 15px 0px 10px; + cursor: hand; + overflow: hidden; +} +/* + Event Triggering CSS +*/ + +h2{ + font-size: 120%; + margin: 3px 0px; + padding: 0px; +} + +#tabs-1, #tabs-2{ + height: 223px; + overflow: auto; +} + +#connect-charger-icon, #dis-connect-charger-icon{ + background-repeat: no-repeat; + background-position: left top; + width: 165px; + height: 36px; + margin: 5px auto; +} + +#connect-charger-icon{ + background-image: url(../images/connect-charger-icon.png); +} + +#dis-connect-charger-icon{ + background-image: url(../images/dis-connect-charger-icon.png); +} + +#connect-charger-icon:hover, #dis-connect-charger-icon:hover{ + background-position: left bottom; +} + +div#event-battery, div#event-messaging, div#event-memory{ + float: left; + width: 150px; + height: 50px; + background-position: left top; + margin: 10px; + background-repeat: no-repeat; + border: 1px solid #6f6f6f; +} + +div#event-battery.active:hover, div#event-messaging.active:hover, div#event-memory.active:hover{ + background-position: 0px -50px; + border: 1px solid #75ea4f; +} + +div#event-messaging.inactive, div#event-memory.inactive{ + background-position: 0px -100px; + border: 1px solid #676767; +} + + +div#event-battery{ + background-image: url(../images/battery-icon.png); +} + +div#event-messaging{ + background-image: url(../images/messaging-icon.png); +} + +div#event-memory{ + background-image: url(../images/memory-icon.png); +} + +div.ui-panel{ + height:30px; +} + +a.ui-button, a.ui-button-fixed { + background:#555555 url(../script/jquery-ui/css/ui-darkness/images/555555_40x100_textures_02_glass_20.png) repeat-x scroll 0 50%; + border:1px solid #666666; + color:#EEEEEE; + cursor:pointer; + font-size:0.9em; + font-weight:bolder; + line-height:1.4em; + margin:0.5em 8px 0.5em 0; + padding:0.2em 0.6em 0.3em; + text-decoration: none; +} +a.ui-button:hover, a.ui-button-fixed:hover { + background:#0078A3 url(../script/jquery-ui/css/ui-darkness/images/0078a3_40x100_textures_02_glass_40.png) repeat-x scroll 0 50%; + border:1px solid #4bd94b; + color:#FFFFFF; +} + +a.ui-button-fixed{ + float: left; + padding: 0.4em 0.6em 0.8em; + text-align: center; + width: 145px !important; +} + +div#slider-value-panel{ + text-align: center; + margin-top: 10px; +} + +div#slider-value-panel span{ + padding: 3px; + background:#0078A3 url(../script/jquery-ui/css/ui-darkness/images/0078a3_40x100_textures_02_glass_40.png) repeat-x scroll 0 50%; + border:1px solid #4bd94b; + color:#FFFFFF; + font-weight: bolder; +} + + +/* + Console UI +*/ +#preview-ui-top{ + overflow:auto; +} + +#preview-ui-bottom{ + overflow:hidden; + display: none; +} +#preview-ui-bottom-header{ + background-color: #aeaeae; + background-image: url(../images/console-icon.gif); + background-repeat: repeat-x; + background-position: 0px -28px; +} +span#Console-Toggle-Button{ + height: 9px; + width: 15px; + float: right; + background-repeat: no-repeat; + margin : 12px 8px 0px 0px; + cursor: hand; +} + +span#Console-Toggle-Button.open{ + background-position: 0px 0px; + background-image: url(../images/console-close-icon.png); +} + +span#Console-Toggle-Button.open:hover{ + background-position: 0px -9px; +} + +span#Console-Toggle-Button.open:active{ + background-position: 0px -18px; +} + + +span#Console-Toggle-Button.close{ + background-position: 0px 0px; + background-image: url(../images/console-open-icon.png); +} + +span#Console-Toggle-Button.close:hover{ + background-position: 0px -9px; +} + +span#Console-Toggle-Button.close:active{ + background-position: 0px -18px; +} + + +span#Console-Clear-Button{ + height: 16px; + width: 39px; + float: right; + background-image: url(../images/console-clear-button.png); + background-repeat: no-repeat; + margin : 10px 10px 0px 0px; + cursor: hand; +} +span#Console-Clear-Button:hover{ + background-position: -0px -16px; +} + +#preview-ui-bottom-body{ + overflow:auto; + background-color: #ffffff; + display: none; +} + +#preview-ui-bottom-body p{ + font-family: "Courier New", Courier, monospace; + font-size: 11px; + padding: 2px 5px; + border-bottom: 1px solid silver; + margin: 0px; +} + +#preview-ui-bottom-body p.log{ + +} + +#preview-ui-bottom-body p.info{ + background-image: url(../images/infoIcon.png); + background-repeat: no-repeat; + background-position: 5px center; + padding-left: 26px; +} +#preview-ui-bottom-body p.warn{ + background: #00ffff url(../images/warningIcon.png); + background-repeat: no-repeat; + background-position: 5px center; + padding-left: 26px; +} +#preview-ui-bottom-body p.error{ + background: #ffffe0 url(../images/errorIcon.png); + background-repeat: no-repeat; + background-position: 5px center; + padding-left: 26px; + color: #ff0000; +} + + +#preview-ui-bottom-header div{ + float: left; + margin: 9px; + color: #ffffff; + font-size: 11px; + font-weight: bolder; + font-family: "Arial"; +} + + +span#wrt-help{ + height: 28px; + width: 28px; + float: right; + background-repeat: no-repeat; + background-image: url(../images/wrt-help-icon.png); +} + +span#wrt-help:hover{ + background-position: -28px 0px; +} \ No newline at end of file diff --git a/nokia/www/preview/data/appManager_data.js b/nokia/www/preview/data/appManager_data.js new file mode 100644 index 00000000..560c5491 --- /dev/null +++ b/nokia/www/preview/data/appManager_data.js @@ -0,0 +1,99 @@ +/** + * SAPI Sample Data - AppManager + */ + + +(function(){ + + var data_apps = [ + { + "Path": "C:\\private\\10282822\\com.nokia.forum.widget.accuwidget\\AccuWidget\\accuwidget.xhtml", + "Uid": "0x2000dad2", + "Caption": "AccuWidget", + "ShortCaption": "AccuWidget" + }, { + "Path": "C:\\private\\10282822\\com.nokia.wrt.tools.sapi.CreatorWidget\\CreatorWidget\\index.html", + "Uid": "0x2000dadb", + "Caption": "Creator Widget", + "ShortCaption": "Creator Widget" + },{ + "Path": "Z:\\sys\\bin\\lcapp.exe", + "Uid": "0x10283139", + "Caption": "Location", + "ShortCaption": "Location" + }, { + "Path": "Z:\\sys\\bin\\javadrmmanager.exe", + "Uid": "0x1028246e", + "Caption": "javadrmmanager", + "ShortCaption": "javadrmmanager" + }, { + "Path": "Z:\\sys\\bin\\iaupdater.exe", + "Uid": "0x2000f85d", + "Caption": "iaupdater", + "ShortCaption": "iaupdater" + }, { + "Path": "Z:\\sys\\bin\\iaupdate.exe", + "Uid": "0x2000f85a", + "Caption": "App. update", + "ShortCaption": "App. update" + }, { + "Path": "Z:\\sys\\bin\\SAFlash.exe", + "Uid": "0x101fd693", + "Caption": "Flash Lite", + "ShortCaption": "Flash Lite" + }, { + "Path": "Z:\\sys\\bin\\eswt.exe", + "Uid": "0x101f9516", + "Caption": "eswt", + "ShortCaption": "eswt" + }, { + "Path": "Z:\\sys\\bin\\DRMRightsManager.exe", + "Uid": "0x101f85c7", + "Caption": "Licences", + "ShortCaption": "Licences" + }, { + "Path": "Z:\\sys\\bin\\RoapApp.exe", + "Uid": "0x10008d64", + "Caption": "Licence download", + "ShortCaption": "Licence download" + }, { + "Path": "Z:\\sys\\bin\\DdViewer.exe", + "Uid": "0x10008d3f", + "Caption": "Download", + "ShortCaption": "Download" + }, { + "Path": "Z:\\sys\\bin\\MediaGallery2.exe", + "Uid": "0x101f8599", + "Caption": "Gallery", + "ShortCaption": "Gallery" + }, { + "Path": "Z:\\sys\\bin\\CodViewer.exe", + "Uid": "0x10008d4a", + "Caption": "Download", + "ShortCaption": "Download" + }]; + + + + var data_packages = [{ + "PackageName": "Mobiola Screen Capture", + "Uid": "0x2000be16", + "Version": "3:0", + "Vendor": "Warelex LLC", + "Drive": "E" + }, { + "PackageName": "Facebook", + "Uid": "0x20011184", + "Version": "1:0", + "Vendor": "Nokia Corporation", + "Drive": "C" + }]; + + + /** + * register data! + */ + device.implementation.loadData('Service.AppManager', 'Application', data_apps); + device.implementation.loadData('Service.AppManager', 'UserInstalledPackage', data_packages); + +})() diff --git a/nokia/www/preview/data/calendar_data.js b/nokia/www/preview/data/calendar_data.js new file mode 100644 index 00000000..4235238f --- /dev/null +++ b/nokia/www/preview/data/calendar_data.js @@ -0,0 +1,136 @@ +/** + * SAPI Sample Data - Calendar + */ + + +(function(){ + + + var data_entries = [{ + "Type": "ToDo", + "Summary": "Face head on my problems", + "Description": "Face head on my problems", + "EndTime": "Wednesday, 15 April, 2009 12:00:00 am", + "id": "ihiwykmkjzcowqEnnEbeDnJpzWhPWrgNpNgudjdwgPfisvvQscuibwwSmgkdhdiBzIfyqvfIBmiYavfklygBssoKmWpJuxftbkdLsfmuwudczlJikohlFbQecaMlbaPnwyddzqXcjrhldXignjYtWyfqfzbpcxlH", + "LocalId": "34", + "Priority": 1, + "Replication": "Open" + }, { + "Type": "ToDo", + "Summary": "Believe myself first", + "Description": "Believe myself first", + "EndTime": "Sunday, 22 March, 2009 12:00:00 am", + "AlarmTime": "Saturday, 21 March, 2009 11:30:00 pm", + "id": "rjutskelXlDdoaebCyPzjopwgxMxluuLesqqsrykvIxrFLbxvuhBImBbhqwlSRfFtvWktkrvqpjfvxCoBxpsDlbgugvqjudregvyoebgtihRiSarcnryZovfwyHTcmXqZdjdrVPvSGnqroYgXdtpafqxTzrnkMKpzLihcxfaxwmdrkuGifsgbglhyfwqmtiPyzpeuxvKFfnrmhaqnrUarustDySMgKakjpFpkhtbonmTyBvhlzv", + "LocalId": "35", + "Priority": 1, + "Replication": "Open" + }, { + "Type": "Meeting", + "Summary": "Meeting with the professor", + "Description": "Meeting with the professor", + "StartTime": "Monday, 23 March, 2009 11:56:00 am", + "EndTime": "Monday, 23 March, 2009 2:31:00 pm", + "AlarmTime": "Monday, 23 March, 2009 11:01:00 am", + "InstanceStartTime": "Monday, 23 March, 2009 11:56:00 am", + "InstanceEndTime": "Monday, 23 March, 2009 2:31:00 pm", + "id": "hifXqeBiUOlelbioirmeoniClarsiybNhNxdlQbqBzcngmhxtzlRoebdeYxupjaxnapugxrKnmhGjzdwtChVydzwOdwrHPokjqjvyaPwbqCjdtpukjcoyjdkjkkrndZzwjCYQPxgvereyuktnOtIndpoyimtjzPzEnkxCfzhxaDTvUgclfpsfbtgtvwk", + "LocalId": "31", + "Priority": 0, + "Organizer": { + "CommonName": "Frideswide Farprington", + "Address": "Christian.Wilbar@Melleva.com" + }, + "Replication": "Open" + }, { + "Type": "Meeting", + "Summary": "Work issues", + "Description": "Work issues", + "StartTime": "Saturday, 28 March, 2009 1:22:00 am", + "EndTime": "Saturday, 28 March, 2009 7:56:00 am", + "AlarmTime": "Saturday, 28 March, 2009 12:49:00 am", + "InstanceStartTime": "Saturday, 28 March, 2009 1:22:00 am", + "InstanceEndTime": "Saturday, 28 March, 2009 7:56:00 am", + "id": "symstNdkqdznkcettruqqyefdjkzikeBXmcamanzrygnusjyFYheprwaxksxzrqsdbnkTqemtsqqZbqnbbircyqtohmymWvqEc", + "LocalId": "30", + "Priority": 0, + "Organizer": { + "CommonName": "Margery Worthley", + "Address": "Grace.Wilbar@Peger.com" + }, + "Replication": "Open" + }, { + "Type": "Reminder", + "Summary": "Remeber to harvest corn field", + "Description": "Remeber to harvest corn field", + "StartTime": "Thursday, 02 April, 2009 12:00:00 am", + "AlarmTime": "Wednesday, 01 April, 2009 11:52:00 pm", + "id": "uwtxgvTsowwGbnsgboEprwxvmihUkkDczxeohsnsXpUzUaHgjBJmjhpfOjaoyvRrjwIkgafrcszvbCSooutemfhejtyfonHviomgouimvPtexgdWmzDgGP", + "LocalId": "36", + "Priority": 0, + "Replication": "Open" + }, { + "Type": "Reminder", + "Summary": "Remeber to wax cross country skiis", + "Description": "Remeber to wax cross country skiis", + "StartTime": "Monday, 06 April, 2009 12:00:00 am", + "AlarmTime": "Sunday, 05 April, 2009 11:44:00 pm", + "id": "ivunsxcjmrsdaKkdtbqpskSIGIFOftMLwTuvCbiHmrkJnxdZgsapbqhoxNrhsbheyztgyOfvdqGrIlawVrvEwnYjnzoSlyimcxlKcSqetcruzf", + "LocalId": "37", + "Priority": 0, + "Replication": "Open" + }, { + "Type": "DayEvent", + "Summary": "Go the bank", + "Description": "Go the bank", + "StartTime": "Monday, 06 April, 2009 6:16:00 pm", + "EndTime": "Monday, 06 April, 2009 7:19:00 pm", + "AlarmTime": "Monday, 06 April, 2009 6:07:00 pm", + "id": "QvcvlpXpflemwqjtniukLPsjkSengqBEfajerjclkrwysdy", + "LocalId": "33", + "Priority": 0, + "Replication": "Open" + }, { + "Type": "DayEvent", + "Summary": "School day", + "Description": "School day", + "StartTime": "Thursday, 16 April, 2009 5:27:00 pm", + "EndTime": "Thursday, 16 April, 2009 9:39:00 pm", + "AlarmTime": "Thursday, 16 April, 2009 4:35:00 pm", + "id": "zmHupjqghnkEepdfghSCcsmFnrrducaqEyqyetauTcmxscSptpchgimxeEnOzxdiyEldyrikjmxvgzibauvjQfdbzgoumlVyAjqfhqlgpTtbiffqdzgpzWrquiyAdidvccvffzZxmpgjjbjUCqyeuBiikiedtclqabbsdazAbb", + "LocalId": "32", + "Priority": 0, + "Replication": "Open" + }]; + + + + name = "C:MyCalendar"; + id = 200; + localId = 20; + +/** start data block **/ +var data2 = []; + + for (var i = 1; i <= 10; i++) { + data2.push({ + Type : 'Meeting', + id : id++, + LocalId : localId++, + CalendarName: name, + StartTime : new Date('3/'+i+'/2009'), + Endtime : new Date('3/'+(1+i)+'/2009'), + Description : 'sample meeting ' + i + }); + } +/** end data block **/ + + + + /** + * register data! + */ + device.implementation.loadData('Service.Calendar', 'C:Calendar', data_entries); + device.implementation.loadData('Service.Calendar', 'C:MyCalendar', data2); + +})() diff --git a/nokia/www/preview/data/contact_data.js b/nokia/www/preview/data/contact_data.js new file mode 100644 index 00000000..8db8bcff --- /dev/null +++ b/nokia/www/preview/data/contact_data.js @@ -0,0 +1,158 @@ +/** + * SAPI Sample Data - Contacts + */ + +(function(){ + + + var data_contacts = [{ + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€†î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "FirstName": { + "Label": "First name", + "Value": "Alice" + }, + "LastName": { + "Label": "Last name", + "Value": "Moller" + }, + "LandPhoneGen": { + "Label": "Telephone", + "Value": "0230328732" + }, + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + } + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€ˆî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "FirstName": { + "Label": "First name", + "Value": "Amy" + }, + "LastName": { + "Label": "Last name", + "Value": "Kammer" + }, + "LandPhoneGen": { + "Label": "Telephone", + "Value": "0492303652" + }, + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + } + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‚", + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + }, + "LastName": { + "Label": "Last name", + "Value": "Bierman" + }, + "FirstName": { + "Label": "First name", + "Value": "Michael" + }, + "MobilePhoneGen": { + "Label": "Mobile", + "Value": "4084256071" + } + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‡î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "FirstName": { + "Label": "First name", + "Value": "Ralph" + }, + "LastName": { + "Label": "Last name", + "Value": "Jacmor" + }, + "LandPhoneGen": { + "Label": "Telephone", + "Value": "0432443343" + }, + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + } + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€…", + "FirstName": { + "Label": "First name", + "Value": "Robert" + }, + "LastName": { + "Label": "Last name", + "Value": "Richards" + }, + "LandPhoneGen": { + "Label": "Telephone", + "Value": "+4443433434" + }, + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + } + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€„", + "FirstName": { + "Label": "First name", + "Value": "Ursula" + }, + "LastName": { + "Label": "Last name", + "Value": "West" + }, + "LandPhoneGen": { + "Label": "Telephone", + "Value": "0213443434" + }, + "SyncClass": { + "Label": "Synchronisation", + "Value": "private" + } + }]; + + + var data_groups = [{ + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€ƒî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "TestGroupName" + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‰î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "Silver club #5488", + "Contents": ["î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‚", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€„", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€…", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€†î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‡î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€ˆî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿"] + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€Šî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "The buddies #9926" + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‹î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "Football team #5940", + "Contents": ["î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‚", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€„"] + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€Œî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "Science group #2742", + "Contents": ["î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‚", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€„", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€…", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€†î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‡î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€ˆî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿"] + }, { + "id": "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", + "GroupLabel": "Rockers #3062", + "Contents": ["î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‚", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€„", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€…", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€†î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€‡î€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿", "î€î€€î€–î£î€€î®î€€î´î€€î¤î€€î¢î€€î€ºî€€î€¯î€€î€¯î€€î£î€€î€ºî€€î£î€€î¯î€€î®î€€î´î€€î¡î€€î£î€€î´î€€î³î€€î€®î€€î£î€€î¤î€€î¢î€€î€î€€î€€î€€î€€î€€î€‰î€€î€€î€€î€î€ˆî€€î€€î€€îƒ¿îƒ¿îƒ¿îƒ¿"] + }]; + + + var data_database = [{ + "DBUri": "cntdb://c:contacts.cdb" + },{ + "DBUri": "sim://global_adn" + }]; + + + /** + * register data! + */ + device.implementation.loadData('Service.Contact', 'Contact', data_contacts); + device.implementation.loadData('Service.Contact', 'Group', data_groups); + device.implementation.loadData('Service.Contact', 'Database', data_database); + +})() diff --git a/nokia/www/preview/data/landmarks_data.js b/nokia/www/preview/data/landmarks_data.js new file mode 100644 index 00000000..efa8bb24 --- /dev/null +++ b/nokia/www/preview/data/landmarks_data.js @@ -0,0 +1,339 @@ +/** + * SAPI Sample Data - Landmark + */ + +(function(){ + + var data_landmark = [{ + "id":"47", + "LandmarkName":"Best food ever!", + "LandmarkPosition":{ + "Latitude":-17.5423, + "Longitude":-54.8163, + "Altitude":82, + "HAccuracy":2, + "VAccuracy":4 + }, + "CategoryInfo":["1"], + "LandmarkDesc":"Place looks really nice.", + "LandmarkFields":{ + "Country":"Finland", + "City":"Tokyo", + "AreaCode":"FI-70100", + "Street":"Plains Road", + "Telephone":"+4443433434" + } + },{ + "id":"44", + "LandmarkName":"Food store", + "LandmarkPosition":{ + "Latitude":65.4233, + "Longitude":-93.4225, + "Altitude":54, + "HAccuracy":1, + "VAccuracy":1 + }, + "CategoryInfo":["10"], + "LandmarkDesc":"Words are not enough to describe this landmark", + "LandmarkFields":{ + "Country":"Finland", + "City":"St. Michel", + "AreaCode":"11233", + "Street":"McKenzie Avenue", + "Telephone":"0432443343" + } + },{ + "id":"40", + "LandmarkName":"Hospital", + "LandmarkPosition":{ + "Latitude":-2.4616, + "Longitude":51.4958, + "Altitude":43, + "HAccuracy":3, + "VAccuracy":3 + }, + "CategoryInfo":["13"], + "LandmarkDesc":"Place looks really nice.", + "LandmarkFields":{ + "Country":"United States of America", + "City":"London", + "AreaCode":"11233", + "Street":"Pukershire Avenue", + "Telephone":"0565645455" + } + },{ + "id":"45", + "LandmarkName":"John’s home", + "LandmarkPosition":{ + "Latitude":36.9077, + "Longitude":134.4066, + "Altitude":42, + "HAccuracy":3, + "VAccuracy":5 + }, + "CategoryInfo":["14"], + "LandmarkDesc":"This is my favorite place", + "LandmarkFields":{ + "City":"Los Angeles", + "AreaCode":"00310", + "Street":"McKenzie Lane", + "Telephone":"+35854553456", + "Country":"Japan" + } + },{ + "id":"48", + "LandmarkName":"John’s home", + "LandmarkPosition":{ + "Latitude":17.1817, + "Longitude":113.4183, + "Altitude":29, + "HAccuracy":3, + "VAccuracy":2 + }, + "CategoryInfo":["3"], + "LandmarkDesc":"Words are not enough to describe this landmark", + "LandmarkFields":{ + "Country":"Norway", + "City":"St. Petersburg", + "AreaCode":"FI-70100", + "Street":"Windsor Road", + "Telephone":"+4465665456" + } + },{ + "id":"49", + "LandmarkName":"Nice beach", + "LandmarkPosition":{ + "Latitude":-22.0327, + "Longitude":-33.0193, + "Altitude":57, + "HAccuracy":1, + "VAccuracy":0 + }, + "CategoryInfo":["7"], + "LandmarkDesc":"This is my favorite place", + "LandmarkFields":{ + "Telephone":"+35854553456", + "Country":"Finland", + "City":"Bangkok", + "AreaCode":"00310", + "Street":"Highland Avenue Extension" + } + },{ + "id":"42", + "LandmarkName":"Nice view", + "LandmarkPosition":{ + "Latitude":-1.5979999999999999, + "Longitude":177.5871, + "Altitude":23, + "HAccuracy":1, + "VAccuracy":4 + }, + "CategoryInfo":["5"], + "LandmarkDesc":"Words are not enough to describe this landmark", + "LandmarkFields":{ + "Country":"Thailand", + "City":"St. Petersburg", + "AreaCode":"00310", + "Street":"Pukershire Avenue", + "Telephone":"0435445454" + } + },{ + "id":"41", + "LandmarkName":"Summer cottage", + "LandmarkPosition":{ + "Latitude":-80.6438, + "Longitude":78.5627, + "Altitude":60, + "HAccuracy":1, + "VAccuracy":4 + }, + "CategoryInfo":["11"], + "LandmarkDesc":"Place looks really nice.", + "LandmarkFields":{ + "Country":"Thailand", + "City":"Havana", + "AreaCode":"99002", + "Street":"Eastman Street", + "Telephone":"+4465665456" + } + },{ + "id":"43", + "LandmarkName":"Summer cottage", + "LandmarkPosition":{ + "Latitude":23.6319, + "Longitude":-141.5323, + "Altitude":60, + "HAccuracy":2, + "VAccuracy":2 + }, + "CategoryInfo":["1"], + "LandmarkDesc":"This is my favorite place", + "LandmarkFields":{ + "Country":"Norway", + "City":"Nairobi", + "AreaCode":"FI-70100", + "Street":"Windsor Avenue", + "Telephone":"0785434444" + } + },{ + "id":"46", + "LandmarkName":"Work place", + "LandmarkPosition":{ + "Latitude":1.7755, + "Longitude":66.132, + "Altitude":36, + "HAccuracy":5, + "VAccuracy":5 + }, + "CategoryInfo":["3"], + "LandmarkDesc":"Delicious strawberries sold here. Must visit again sometime!", + "LandmarkFields":{ + "Country":"Kenya", + "City":"Havana", + "AreaCode":"99002", + "Street":"Barnes Street", + "Telephone":"0342303777" + } + }]; + + + var data_category = [{ + "id":"1", + "CategoryName":"Accommodation", + "GlobalId":"3000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16384, + "IconMaskIndex":16385 + },{ + + "id":"2", + "CategoryName":"Businesses", + "GlobalId":"6000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16386, + "IconMaskIndex":16387 + },{ + "id":"3", + "CategoryName":"Telecommunications", + "GlobalId":"9000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16388, + "IconMaskIndex":16389 + },{ + "id":"4", + "CategoryName":"Education", + "GlobalId":"12000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16390, + "IconMaskIndex":16391 + },{ + "id":"5", + "CategoryName":"Entertainment", + "GlobalId":"15000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16392, + "IconMaskIndex":16393 + },{ + "id":"6", + "CategoryName":"Food and drink", + "GlobalId":"18000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16394, + "IconMaskIndex":16395 + },{ + "id":"7", + "CategoryName":"Geographical locations", + "GlobalId":"21000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16396, + "IconMaskIndex":16397 + },{ + "id":"8", + "CategoryName":"Outdoor activities", + "GlobalId":"24000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16398, + "IconMaskIndex":16399 + },{ + "id":"9", + "CategoryName":"People", + "GlobalId":"27000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16400, + "IconMaskIndex":16401 + },{ + "id":"10", + "CategoryName":"Public services", + "GlobalId":"30000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16402, + "IconMaskIndex":16403 + },{ + "id":"11", + "CategoryName":"Places of worship", + "GlobalId":"33000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16404, + "IconMaskIndex":16405 + },{ + "id":"12", + "CategoryName":"Shopping", + "GlobalId":"36000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16406, + "IconMaskIndex":16407 + },{ + "id":"13", + "CategoryName":"Sightseeing", + "GlobalId":"39000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16408, + "IconMaskIndex":16409 + },{ + "id":"14", + "CategoryName":"Sports", + "GlobalId":"42000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16410, + "IconMaskIndex":16411 + },{ + "id":"15", + "CategoryName":"Transport", + "GlobalId":"45000", + "IconFile":"\resource\apps\eposlmglcategories.mif", + "IconIndex":16412, + "IconMaskIndex":16413 + },{ + "id":"24", + "CategoryName":"All places", + "IconFile":"Z:\resource\apps\smart2go.mif", + "IconIndex":16384, + "IconMaskIndex":16385 + },{ + "id":"25", + "CategoryName":"Nokia maps", + "IconFile":"Z:\resource\apps\LmkUi.mif", + "IconIndex":16402, + "IconMaskIndex":16403 + }]; + + var data_database = [{ + "DatabaseURI":"file://C:eposlm.ldb", + "DatabaseName":"", + "DbProtocol":"file", + "DbActive":false, + "DbSize":226, + "DbDrive":"C", + "DbMedia":9 + }]; + + + /** + * register data! + */ + device.implementation.loadData('Service.Landmarks', 'Landmark', data_landmark); + device.implementation.loadData('Service.Landmarks', 'Category', data_category); + device.implementation.loadData('Service.Landmarks', 'Database', data_database); + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/location_data.js b/nokia/www/preview/data/location_data.js new file mode 100644 index 00000000..7543bc9e --- /dev/null +++ b/nokia/www/preview/data/location_data.js @@ -0,0 +1,39 @@ +/** + * SAPI Sample Data - Location + */ + +(function(){ + + +var data_basicLocationInformation = { + "Longitude":77.694589331833, + "Latitude":12.942209068513, + "Altitude":836.5 + } + +var data_genericLocationInfo = { + "Longitude":77.694546416505, + "Latitude":12.942233711299, + "Altitude":836, + "HorizontalSpeed":0.05999999865889549, + "HorizontalSpeedError":1.0199999809265137, + "SatelliteNumView":11, + "SatelliteNumViewUsed":7, + "Heading":203.89999389648438, + "HeadingError":2.89898989898232, + "MagneticCourse":205.89999389600000, + "MagneticCourseError":1.09090389600000, + "TrueCourse":203.89999389648438, + "TrueCourseError":2.89898989898232, + "MagneticHeading":205.89999389600000, + "MagneticHeadingError":1.09090389600000 + }; + + /** + * register data! + */ + device.implementation.loadData('Service.Location', 'BasicLocationInformation', data_basicLocationInformation); + device.implementation.loadData('Service.Location', 'GenericLocationInfo', data_genericLocationInfo); + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/logging_data.js b/nokia/www/preview/data/logging_data.js new file mode 100644 index 00000000..b2de1ebd --- /dev/null +++ b/nokia/www/preview/data/logging_data.js @@ -0,0 +1,377 @@ +/** + * SAPI Sample Data - Logging + */ + +(function(){ + + + var logging_data = [{ + "EventType":0, + "RemoteParty":"", + "EventDuration":5518, + "EventTime":"Wednesday, 08 April, 2009 11:17:42 am", + "Subject":"A", + "PhoneNumber":"5270443", + "Description":"Voice call", + "Link":0, + "id":"30", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":472, + "EventTime":"Wednesday, 08 April, 2009 11:17:42 am", + "Subject":"A", + "PhoneNumber":"1247463", + "Description":"Voice call", + "Link":0, + "id":"29", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":1914, + "EventTime":"Wednesday, 08 April, 2009 11:17:42 am", + "Subject":"A", + "PhoneNumber":"8759891", + "Description":"Voice call", + "Link":0, + "id":"28", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":3130, + "EventTime":"Wednesday, 08 April, 2009 11:17:32 am", + "Subject":"A", + "PhoneNumber":"3200343", + "Description":"Voice call", + "Link":0, + "id":"27", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":4128, + "EventTime":"Wednesday, 08 April, 2009 11:17:32 am", + "Subject":"A", + "PhoneNumber":"2101692", + "Description":"Voice call", + "Link":0, + "id":"26", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":2012, + "EventTime":"Wednesday, 08 April, 2009 11:17:32 am", + "Subject":"A", + "PhoneNumber":"8813355", + "Description":"Voice call", + "Link":0, + "id":"25", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:24 am", + "Subject":"A", + "PhoneNumber":"8092875", + "Description":"Voice call", + "Link":0, + "id":"24", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:24 am", + "Subject":"A", + "PhoneNumber":"3702771", + "Description":"Voice call", + "Link":0, + "id":"23", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:24 am", + "Subject":"A", + "PhoneNumber":"2680939", + "Description":"Voice call", + "Link":0, + "id":"22", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:11 am", + "Subject":"A", + "PhoneNumber":"1075503", + "Description":"Voice call", + "Link":0, + "id":"21", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:11 am", + "Subject":"A", + "PhoneNumber":"9781533", + "Description":"Voice call", + "Link":0, + "id":"20", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:17:11 am", + "Subject":"A", + "PhoneNumber":"4185107", + "Description":"Voice call", + "Link":0, + "id":"19", + "Direction":5, + "EventData":"" + },{ + "EventType":4, + "RemoteParty":"Mobile Office", + "EventDuration":90, + "EventTime":"Wednesday, 08 April, 2009 11:18:37 am", + "Subject":"", + "PhoneNumber":"", + "Description":"Packet Data", + "Link":0, + "id":"18", + "Direction":1, + "EventData":"" + },{ + "EventType":4, + "RemoteParty":"Mobile Office", + "EventDuration":80, + "EventTime":"Wednesday, 08 April, 2009 11:15:30 am", + "Subject":"", + "PhoneNumber":"", + "Description":"Packet Data", + "Link":0, + "id":"18", + "Direction":1, + "EventData":"" + },{ + "EventType":4, + "RemoteParty":"Mobile Office", + "EventDuration":16, + "EventTime":"Wednesday, 08 April, 2009 11:12:33 am", + "Subject":"", + "PhoneNumber":"", + "Description":"Packet Data", + "Link":0, + "id":"17", + "Direction":1, + "EventData":"8303,17570" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":2998, + "EventTime":"Wednesday, 08 April, 2009 11:09:20 am", + "Subject":"A", + "PhoneNumber":"1716582", + "Description":"Voice call", + "Link":0, + "id":"16", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":681, + "EventTime":"Wednesday, 08 April, 2009 11:09:20 am", + "Subject":"A", + "PhoneNumber":"9888150", + "Description":"Voice call", + "Link":0, + "id":"15", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":2294, + "EventTime":"Wednesday, 08 April, 2009 11:09:20 am", + "Subject":"A", + "PhoneNumber":"8378283", + "Description":"Voice call", + "Link":0, + "id":"14", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":4232, + "EventTime":"Wednesday, 08 April, 2009 11:09:19 am", + "Subject":"A", + "PhoneNumber":"6818380", + "Description":"Voice call", + "Link":0, + "id":"13", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":599, + "EventTime":"Wednesday, 08 April, 2009 11:09:19 am", + "Subject":"A", + "PhoneNumber":"5933409", + "Description":"Voice call", + "Link":0, + "id":"12", + "Direction":1, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":6376, + "EventTime":"Wednesday, 08 April, 2009 11:09:12 am", + "Subject":"A", + "PhoneNumber":"5487982", + "Description":"Voice call", + "Link":0, + "id":"11", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":6325, + "EventTime":"Wednesday, 08 April, 2009 11:09:12 am", + "Subject":"A", + "PhoneNumber":"2859596", + "Description":"Voice call", + "Link":0, + "id":"10", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":6571, + "EventTime":"Wednesday, 08 April, 2009 11:09:12 am", + "Subject":"A", + "PhoneNumber":"2820138", + "Description":"Voice call", + "Link":0, + "id":"9", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":4929, + "EventTime":"Wednesday, 08 April, 2009 11:09:12 am", + "Subject":"A", + "PhoneNumber":"6356454", + "Description":"Voice call", + "Link":0, + "id":"8", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":2620, + "EventTime":"Wednesday, 08 April, 2009 11:09:12 am", + "Subject":"A", + "PhoneNumber":"4461166", + "Description":"Voice call", + "Link":0, + "id":"7", + "Direction":0, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:09:02 am", + "Subject":"A", + "PhoneNumber":"8811808", + "Description":"Voice call", + "Link":0, + "id":"6", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:09:02 am", + "Subject":"A", + "PhoneNumber":"2985843", + "Description":"Voice call", + "Link":0, + "id":"5", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:09:02 am", + "Subject":"A", + "PhoneNumber":"9714278", + "Description":"Voice call", + "Link":0, + "id":"4", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:09:02 am", + "Subject":"A", + "PhoneNumber":"5044910", + "Description":"Voice call", + "Link":0, + "id":"3", + "Direction":5, + "EventData":"" + },{ + "EventType":0, + "RemoteParty":"", + "EventDuration":0, + "EventTime":"Wednesday, 08 April, 2009 11:09:02 am", + "Subject":"A", + "PhoneNumber":"6519793", + "Description":"Voice call", + "Link":0, + "id":"2", + "Direction":5, + "EventData":"" + }]; + + + /** + * register data! + */ + device.implementation.loadData('Service.Logging', 'Log', logging_data); + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/mediaManagement_data.js b/nokia/www/preview/data/mediaManagement_data.js new file mode 100644 index 00000000..e6abcf9c --- /dev/null +++ b/nokia/www/preview/data/mediaManagement_data.js @@ -0,0 +1,233 @@ +/** + * SAPI Sample Data - MediaManagement + */ + +(function(){ + + var music_data = [{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\Breathless.mp3", + "Type":"Media", + "FileName":"Breathless", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":4552794, + "Artist":"ABC", + "SongName":"Breathless", + "TrackNumber":"1", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + },{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\New song.mp3", + "Type":"Media", + "FileName":"New song", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":1232794, + "Artist":"ABC", + "SongName":"New song", + "TrackNumber":"2", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + },{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\Classic song.mp3", + "Type":"Media", + "FileName":"Classic song", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":3212794, + "Artist":"ABC", + "SongName":"Classic song", + "TrackNumber":"3", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + },{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\Folk sonk.mp3", + "Type":"Media", + "FileName":"Folk sonk", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":3412794, + "Artist":"ABC", + "SongName":"Folk sonk", + "TrackNumber":"4", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + },{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\National anthem.mp3", + "Type":"Media", + "FileName":"National anthem", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":4512794, + "Artist":"ABC", + "SongName":"National anthem", + "TrackNumber":"5", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + },{ + "FileNameAndPath":"E:\\Sounds\\Digital\\Album1\\Dance sequence.mp3", + "Type":"Media", + "FileName":"Dance sequence", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":9110000, + "Artist":"ABC", + "SongName":"Dance sequence", + "TrackNumber":"6", + "Album":"Album1", + "Genre":"Pop", + "Composer":"XYZ" + }]; + + var sound_data = [{ + "FileNameAndPath":"E:\\Sounds\\Simple\\Dance sequence-old.mp3", + "Type":"Media", + "FileName":"Dance sequence-old", + "FileExtension":".mp3", + "Drive":"E:", + "MimeType":"audio/mpeg", + "MediaType":1, + "FileDate":"Friday, 13 February, 2009 12:01:24 am", + "FileSize":1002794, + },{ + "FileNameAndPath": "E:\\Sounds\\Simple\\Rooster.mp3", + "Type": "Media", + "FileName": "Rooster", + "FileExtension": ".mp3", + "Drive": "E:", + "MimeType": "audio/mpeg", + "MediaType": 1, + "FileDate": "Friday, 13 February, 2009 12:01:24 am", + "FileSize": 911000, + + }]; + var image_data = [{ + "FileNameAndPath":"E:\\IMAGES\\Water.JPG", + "Type":"Media", + "FileName":"Water", + "FileExtension":".JPG", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Monday, 04 August, 2008 8:31:46 pm", + "FileSize":25275 + },{ + "FileNameAndPath":"E:\\IMAGES\\Beach.JPG", + "Type":"Media", + "FileName":"Beach", + "FileExtension":".JPG", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Wednesday, 28 May, 2008 8:52:16 am", + "FileSize":35151 + },{ + "FileNameAndPath":"E:\\IMAGES\\CountrySide.jpg", + "Type":"Media", + "FileName":"CountrySide", + "FileExtension":".jpg", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Monday, 24 March, 2008 12:27:32 am", + "FileSize":44318 + },{ + "FileNameAndPath":"E:\\IMAGES\\CoolBlue.JPG", + "Type":"Media", + "FileName":"CoolBlue", + "FileExtension":".JPG", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Monday, 04 August, 2008 8:31:46 pm", + "FileSize":25275 + },{ + "FileNameAndPath":"E:\\IMAGES\\Swimming.JPG", + "Type":"Media", + "FileName":"Swimming", + "FileExtension":".JPG", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Wednesday, 28 May, 2008 8:52:16 am", + "FileSize":35151 + },{ + "FileNameAndPath":"E:\\IMAGES\\Sky.jpg", + "Type":"Media", + "FileName":"Sky", + "FileExtension":".jpg", + "Drive":"E:", + "MimeType":"image/jpeg", + "MediaType":3, + "FileDate":"Monday, 24 March, 2008 12:27:32 am", + "FileSize":44318 + }]; + + var video_data = [{ + "FileNameAndPath":"C:\\Data\\Videos\\Inside water.3gp", + "Type":"Media", + "FileName":"Inside water", + "FileExtension":".3gp", + "Drive":"C:", + "MimeType":"video/3gpp", + "MediaType":4, + "FileDate":"Wednesday, 08 April, 2009 5:04:18 pm", + "FileSize":1103067 + },{ + "FileNameAndPath":"C:\\Data\\Videos\\Daring.mp4", + "Type":"Media", + "FileName":"Daring", + "FileExtension":".mp4", + "Drive":"C:", + "MimeType":"video/mp4", + "MediaType":4, + "FileDate":"Wednesday, 08 April, 2009 5:04:18 pm", + "FileSize":1020200 + },{ + "FileNameAndPath":"C:\\Data\\Videos\\On the train.mp4", + "Type":"Media", + "FileName":"On the train", + "FileExtension":".mp4", + "Drive":"C:", + "MimeType":"video/mp4", + "MediaType":4, + "FileDate":"Wednesday, 08 April, 2009 5:04:18 pm", + "FileSize":9090900 + }]; + + var streaming_data = [{}]; + + /** + * register data! + */ + device.implementation.loadData('Service.MediaManagement', 'Music', music_data); + device.implementation.loadData('Service.MediaManagement', 'Sound', sound_data); + device.implementation.loadData('Service.MediaManagement', 'Image', image_data); + device.implementation.loadData('Service.MediaManagement', 'Video', video_data); + device.implementation.loadData('Service.MediaManagement', 'StreamingURL', streaming_data); + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/messaging_data.js b/nokia/www/preview/data/messaging_data.js new file mode 100644 index 00000000..85982038 --- /dev/null +++ b/nokia/www/preview/data/messaging_data.js @@ -0,0 +1,193 @@ +/** + * SAPI Sample Data - Messaging + */ + +(function(){ + + +var data_messaging = [{ + "MessageType": "SMS", + "Sender": "0435445454", + "Subject": "Reproduction, transfer, distribu", + "Time": "Wednesday, 01 April, 2009 6:11:32 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1048980, + "BodyText": "Reproduction, transfer, distribution or storage of" + },{ + "MessageType": "SMS", + "Sender": "+35854553456", + "Subject": "If you place an order for a prod", + "Time": "Wednesday, 01 April, 2009 6:11:32 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1048981, + "BodyText": "If you place an order for a product, request a ser" + },{ + "MessageType": "SMS", + "Sender": "+4465655656", + "Subject": "You also agree that we have no c", + "Time": "Wednesday, 01 April, 2009 6:11:33 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1048982, + "BodyText": "You also agree that we have no control over the co" + + },{ + "MessageType": "SMS", + "Sender": "+4443433434", + "Subject": "We may use this information to r", + "Time": "Wednesday, 01 April, 2009 6:11:33 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1048983, + "BodyText": "We may use this information to respond to your req" + },{ + "MessageType": "SMS", + "Sender": "0565645455", + "Subject": "In order to respond to your ques", + "Time": "Wednesday, 01 April, 2009 6:11:33 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1048984, + "BodyText": "In order to respond to your questions or manage in" + },{ + "MessageType": "SMS", + "Sender": "0231343243", + "Subject": "We consents to you browsing the ", + "Time": "Wednesday, 01 April, 2009 6:11:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1048985, + "BodyText": "We consents to you browsing the pages on your computer or printing copies of extracts from these pag" + },{ + "MessageType": "SMS", + "Sender": "0545545454", + "Subject": "If you place an order for a prod", + "Time": "Wednesday, 01 April, 2009 6:11:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1048986, + "BodyText": "If you place an order for a product, request a service or submit content to this site, we may need t" + },{ + "MessageType": "unknown", + "Sender": "Edith", + "Subject": "You will win the battle, GUARANT", + "Time": "Wednesday, 01 April, 2009 6:12:22 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1048987 + },{ + "MessageType": "unknown", + "Sender": "Edith", + "Subject": "You will win the battle, GUARANT", + "Time": "Wednesday, 01 April, 2009 6:12:23 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1048989 + },{ + "MessageType": "unknown", + "Sender": "+4443433434", + "Subject": "Join us at the OSGi 2003 World C", + "Time": "Wednesday, 01 April, 2009 6:14:10 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1049013 + },{ + "MessageType": "unknown", + "Sender": "0231343243", + "Subject": "Put your subject line here", + "Time": "Wednesday, 01 April, 2009 6:14:10 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": 1049014 + },{ + "MessageType": "MMS", + "Sender": "0455454454", + "Subject": "A very funny game", + "Time": "Wednesday, 01 April, 2009 6:16:01 pm", + "Priority": "Medium", + "Attachment": true, + "Unread": true, + "MessageId": 1049043, + "BodyText": "" + },{ + "MessageType": "MMS", + "Sender": "0542303286", + "Subject": "Weedmon say: call, we be open 7 ", + "Time": "Wednesday, 01 April, 2009 6:16:03 pm", + "Priority": "Medium", + "Attachment": true, + "Unread": true, + "MessageId": 1049044, + "BodyText": "" + },{ + "MessageType": "SMS", + "Sender": "+4465656565", + "Subject": "In addition, a link to a such si", + "Time": "Wednesday, 01 April, 2009 6:16:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1049045, + "BodyText": "In addition, a link to a such site does not imply that we endorses the site or the products or servi" + },{ + "MessageType": "SMS", + "Sender": "0433032865", + "Subject": "The contents of these pages are ", + "Time": "Wednesday, 01 April, 2009 6:16:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1049046, + "BodyText": "The contents of these pages are copyrighted. Any rights not expressly granted herein are reserved. T" + },{ + "MessageType": "SMS", + "Sender": "+4465655656", + "Subject": "We may use this information to r", + "Time": "Wednesday, 01 April, 2009 6:16:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1049047, + "BodyText": "We may use this information to respond to your requests, or to contact you via mail, e-mail or phone" + },{ + "MessageType": "SMS", + "Sender": "+35876653456", + "Subject": "The use of press releases and ot", + "Time": "Wednesday, 01 April, 2009 6:16:59 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1049048, + "BodyText": "The use of press releases and other documents classified as public is permitted in public communicat" + },{ + "MessageType": "SMS", + "Sender": "0530328732", + "Subject": "The use of press releases and ot", + "Time": "Wednesday, 01 April, 2009 6:17:00 pm", + "Priority": "Medium", + "Attachment": false, + "Unread": false, + "MessageId": 1049054, + "BodyText": "The use of press releases and other documents classified as public is permitted in public communicat" + }]; + + /** + * register data! + */ + device.implementation.loadData('Service.Messaging', 'Inbox', data_messaging); + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/sensor_data.js b/nokia/www/preview/data/sensor_data.js new file mode 100644 index 00000000..7d53b5c2 --- /dev/null +++ b/nokia/www/preview/data/sensor_data.js @@ -0,0 +1,469 @@ +/** + * SAPI Sample Data - Sensor + */ + +(function(){ + +var property = { + "AccelerometerAxis":{ + "Availability":{ + "PropertyId":"Availability", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "ChannelAccuracy":{ + "PropertyId":"ChannelAccuracy", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":10 + }, + "ChannelDataFormat": + { + "PropertyId":"ChannelDataFormat", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":2 + }, + "ChannelScale": + { + "PropertyId":"ChannelScale", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "ChannelUnit": + { + "PropertyId":"ChannelUnit", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":10 + }, + "ConnectionType": + { + "PropertyId":"ConnectionType", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "DataRate": + { + "PropertyId":"DataRate", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "Description": + { + "PropertyId":"Description", + "PropertyDataType":2, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":"Accelerometer" + }, + "MeasureRange": + { + "PropertyId":"MeasureRange", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "ScaledRange": + { + "PropertyId":"ScaledRange", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":8 + } + }, + "AccelerometerDoubleTapping": + { + "Availability": + { + "PropertyId":"Availability", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "ChannelAccuracy": + { + "PropertyId":"ChannelAccuracy", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":10 + }, + "ChannelDataFormat": + { + "PropertyId":"ChannelDataFormat", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":2 + }, + "ChannelScale": + { + "PropertyId":"ChannelScale", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "ChannelUnit": + { + "PropertyId":"ChannelUnit", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":10 + }, + "ConnectionType": + { + "PropertyId":"ConnectionType", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "Description": + { + "PropertyId":"Description", + "PropertyDataType":2, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":"Accelerometer" + }, + "MeasureRange": + { + "PropertyId":"MeasureRange", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "ScaledRange": + { + "PropertyId":"ScaledRange", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":8 + } + }, + "Orientation": + { + "Availability": + { + "PropertyId":"Availability", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "DataRate": + { + "PropertyId":"DataRate", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "MeasureRange": + { + "PropertyId":"MeasureRange", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + } + }, + "Rotation": + { + "Availability": + { + "PropertyId":"Availability", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":1 + }, + "ChannelAccuracy": + { + "PropertyId":"ChannelAccuracy", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0.041666666666666664 + }, + "DataRate": + { + "PropertyId":"DataRate", + "PropertyDataType":0, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":0 + }, + "MeasureRange": + { + "PropertyId":"MeasureRange", + "PropertyDataType":1, + "ItemIndex":-1, + "ReadOnly":true, + "PropertyValue":359 + } + } +}; +var data_all =[{ + "ChannelId":7, + "ContextType":2, + "Quantity":10, + "ChannelType":270553214, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":24, + "ChannelDataTypeId":270553214 + }, + { + "ChannelId":8, + "ContextType":2, + "Quantity":11, + "ChannelType":270553217, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":16, + "ChannelDataTypeId":270553215 + }, + { + "ChannelId":10, + "ContextType":3, + "Quantity":12, + "ChannelType":270553224, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":16, + "ChannelDataTypeId":270553224 + }, + { + "ChannelId":11, + "ContextType":3, + "Quantity":13, + "ChannelType":270553225, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":24, + "ChannelDataTypeId":270553225 + }]; + +var data_accelerometerAxis = [{ + "ChannelId":7, + "ContextType":2, + "Quantity":10, + "ChannelType":270553214, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":24, + "ChannelDataTypeId":270553214 + }]; + +var data_accelerometerDoubleTapping = [{ + "ChannelId":8, + "ContextType":2, + "Quantity":11, + "ChannelType":270553217, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":16, + "ChannelDataTypeId":270553215 + }]; + +var data_orientation = [{ + "ChannelId":10, + "ContextType":3, + "Quantity":12, + "ChannelType":270553224, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":16, + "ChannelDataTypeId":270553224 + }]; + +var data_rotation = [{ + "ChannelId":11, + "ContextType":3, + "Quantity":13, + "ChannelType":270553225, + "Location":"NoLoc", + "VendorId":"Nokia", + "DataItemSize":24, + "ChannelDataTypeId":270553225 + }]; + + +var dataRet_accelerometerAxis = [{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":30, + "YAxisData":30, + "ZAxisData":30 + },{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":35, + "YAxisData":30, + "ZAxisData":30 + },{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":30, + "YAxisData":35, + "ZAxisData":30 + },{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":30, + "YAxisData":30, + "ZAxisData":35 + },{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":40, + "YAxisData":30, + "ZAxisData":30 + },{ + "DataType":"AxisData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XAxisData":30, + "YAxisData":40, + "ZAxisData":30 + }]; + +var dataRet_accelerometerDoubleTapping = [{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":30 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":40 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":50 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":60 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":70 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":80 + },{ + "DataType":"DoubleTappingData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceDirection":90 + }]; + +var dataRet_orientation = [{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayUp" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayDown" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayLeftUp" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayRightUp" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayUpwards" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"DisplayDownwards" + },{ + "DataType":"OrientationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "DeviceOrientation":"Undefined" + }]; + +var dataRet_rotation = [{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":30, + "YRotation":35, + "ZRotation":30 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":35, + "YRotation":30, + "ZRotation":30 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":30, + "YRotation":30, + "ZRotation":35 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":40, + "YRotation":30, + "ZRotation":30 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":30, + "YRotation":40, + "ZRotation":30 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":30, + "YRotation":30, + "ZRotation":40 + },{ + "DataType":"RotationData", + "TimeStamp":"Wednesday, 15 April, 2009 12:00:00 am", + "XRotation":50, + "YRotation":50, + "ZRotation":50 + }]; + + /** + * register data! + */ + device.implementation.loadData('Service.Sensor','SensorProperty',property); + device.implementation.loadData('Service.Sensor', 'All', data_all); + device.implementation.loadData('Service.Sensor', 'AccelerometerAxis', data_accelerometerAxis); + device.implementation.loadData('Service.Sensor', 'AccelerometerDoubleTapping', data_accelerometerDoubleTapping); + device.implementation.loadData('Service.Sensor', 'Orientation', data_orientation); + device.implementation.loadData('Service.Sensor', 'Rotation', data_rotation); +/* device.implementation.loadData('Service.Sensor', 'AccelerometerAxisRet', dataRet_accelerometerAxis); + device.implementation.loadData('Service.Sensor', 'AccelerometerDoubleTappingRet', dataRet_accelerometerDoubleTapping); + device.implementation.loadData('Service.Sensor', 'OrientationRet', dataRet_orientation); + device.implementation.loadData('Service.Sensor', 'RotationRet', dataRet_rotation);*/ + +})() + \ No newline at end of file diff --git a/nokia/www/preview/data/sysInfo_data.js b/nokia/www/preview/data/sysInfo_data.js new file mode 100644 index 00000000..2d15da85 --- /dev/null +++ b/nokia/www/preview/data/sysInfo_data.js @@ -0,0 +1,345 @@ +/** + * SAPI Sample Data - SysInfo + */ + + +(function(){ + +var data_5800 = { + "battery":{ + "batterystrength":{ + "Status":85, + "Entity":"Battery", + "Key":"BatteryStrength" + }, + "chargingstatus":{ + "Status":0, + "Entity":"Battery", + "Key":"ChargingStatus" + } + }, + "connectivity":{ + "bluetooth":{ + "Status":1, + "Entity":"Connectivity", + "Key":"BlueTooth" + }, + "infrared":{ + "Status":-1, + "Entity":"Connectivity", + "Key":"InfraRed" + }, + "activeconnections":{ + "ConnectionList":[{ + "IAPID":5, + "IAPName":"Browser", + "IAPConnectionName":"", + "NetworkName":"Browser", + "ConnectionType":7, + "ConnectionStatus":1 + },{ + "IAPID":1, + "IAPName":"airtelgprs.com", + "IAPConnectionName":"Mobile Office", + "NetworkName":"GPRS", + "ConnectionType":6, + "ConnectionStatus":1 + }], + "Entity":"Connectivity", + "Key":"ActiveConnections" + }, + "wlanmacaddress":{ + "StringData":"00:21:fe:97:c5:27", + "Entity":"Connectivity", + "Key":"WLanMacAddress" + } + }, + "device":{ + "firmwareversion":{ + "StringData":"V 20.0.012 RnD\n04-03-09\nRM-356\n(c)NMP", + "Entity":"Device", + "Key":"FirmwareVersion"}, + "platformversion":{ + "MajorVersion":"5", + "MinorVersion":"0", + "Entity":"Device", + "Key":"PlatformVersion" + }, + "producttype":{ + "StringData":"RM-356", + "Entity":"Device", + "Key":"ProductType" + }, + "manufacturer":{ + "StringData":"Nokia", + "Entity":"Device", + "Key":"Manufacturer" + }, + "machineid":{ + "Status":536926806, + "Entity":"Device", + "Key":"MachineId" + }, + "phonemodel":{ + "StringData":"5800 XpressMusic", + "Entity":"Device", + "Key":"PhoneModel" + }, + "imei":{ + "StringData":"004401102480155", + "Entity":"Device", + "Key":"IMEI" + } + }, + "display":{ + "brightness":{ + "Status":50, + "Entity":"Display", + "Key":"Brightness" + }, + "screensavertimeout":{ + "Status":15, + "Entity":"Display", + "Key":"ScreenSaverTimeout" + }, + "keyguardtime":{ + "Status":60, + "Entity":"Display", + "Key":"KeyGuardTime" + }, + "keyguardtime":{ + "Status":60, + "Entity":"Display", + "Key":"KeyGuardTime" + }, + "autolocktime":{ + "Status":0, + "Entity":"Display", + "Key":"AutoLockTime" + }, + "autolockstatus":{ + "Status":0, + "Entity":"Display", + "Key":"AutoLockStatus" + }, + "lighttimeout":{ + "Status":45, + "Entity":"Display", + "Key":"LightTimeout" + }, + "displayresolution":{ + "XPixels":640, + "YPixels":360, + "Entity":"Display", + "Key":"DisplayResolution" + }, + "displayorientation":{ + "Status":3, + "Entity":"Display", + "Key":"DisplayOrientation" + }, + "wallpaper":{ + "StringData":"C://Data//Others//wallpaper.jpeg", + "Entity":"Display", + "Key":"Wallpaper" + } + + }, + "features":{ + "bluetooth":{ + "Status":1, + "Entity":"Features", + "Key":"BlueTooth" + }, + "infrared":{ + "Status":0, + "Entity":"Features", + "Key":"InfraRed" + }, + "camera":{ + "Status":1, + "Entity":"Features", + "Key":"CAMERA" + }, + "memorycard":{ + "Status":1, + "Entity":"Features", + "Key":"MemoryCard" + }, + "fmradio":{ + "Status":1, + "Entity":"Features", + "Key":"FMRADIO" + }, + "qwerty":{ + "Status":1, + "Entity":"Features", + "Key":"QWERTY" + }, + "wlan":{ + "Status":1, + "Entity":"Features", + "Key":"WLAN" + }, + "usb":{ + "Status":1, + "Entity":"Features", + "Key":"USB" + }, + "pen":{ + "Status":1, + "Entity":"Features", + "Key":"Pen" + }, + "led":{ + "Status":0, + "Entity":"Features", + "Key":"LED" + }, + "coverui":{ + "Status":0, + "Entity":"Features", + "Key":"CoverUI" + }, + "sidevolumekeys":{ + "Status":1, + "Entity":"Features", + "Key":"SideVolumeKeys" + }, + "vibra":{ + "Status":1, + "Entity":"Features", + "Key":"Vibra" + } + }, + "general":{ + "connectedaccessories":{ + "AccessoryList":[{"AccessoryType":0,"AccessoryState":1}], + "Entity":"General", + "Key":"ConnectedAccessories" + }, + "accessorystatus":{ + "AccessoryInfo":{"AccessoryType":0,"AccessoryState":0}, + "Entity":"General", + "Key":"AccessoryStatus" + }, + "inputlanguage":{ + "Status":1, + "Entity":"General", + "Key":"InputLanguage" + }, + "supportedlanguages":{ + "LanguageList":[1,2,3,5,13,4], + "Entity":"General", + "Key":"SupportedLanguages" + }, + "predictivetext":{ + "Status":0, + "Entity":"General", + "Key":"PredictiveText" + }, + "vibraactive":{ + "Status":1, + "Entity":"General", + "Key":"VibraActive" + }, + "availableusbmodes":{ + "StringList":["PC Suite","Mass storage","Image transfer","Media transfer"], + "Entity":"General", + "Key":"AvailableUSBModes" + }, + "activeusbmode":{ + "StringData":"Mass storage", + "Entity":"General", + "Key":"ActiveUSBMode" + }, + "flipstatus":{ + "Status":-1, + "Entity":"General", + "Key":"FlipStatus" + }, + "gripstatus":{ + "Status":1, + "Entity":"General", + "Key":"GripStatus" + } + }, + "memory":{ + "listdrives":{ + "DriveList":["C:\\","D:\\","E:\\","Z:\\"], + "Entity":"Memory", + "Key":"ListDrives" + }, + "memorycard":{ + "Status":1, + "Entity":"Memory", + "Key":"MemoryCard" + }, + "driveinfo":{ + "Drive": { + "C:\\": { + "Drive": "C:\\", + "CriticalSpace": 131072, + "MediaType": 9, + "TotalSpace": 90210304, + "FreeSpace": 79319040, + "DriveName": "", + "BatterState": 0 + }, + "D:\\": { + "Drive": "D:\\", + "CriticalSpace": 2700000, + "MediaType": 5, + "TotalSpace": 52469760, + "FreeSpace": 52457472, + "DriveName": "", + "BatterState": 0 + }, + "Z:\\": { + "Drive": "Z:\\", + "CriticalSpace": 131072, + "MediaType": 7, + "TotalSpace": 0, + "FreeSpace": 0, + "DriveName": "RomDrive", + "BatterState": 0 + } + }, + "Entity":"Memory", + "Key":"DriveInfo" + } + }, + "network":{ + "registrationstatus":{ + "Status":4, + "Entity":"Network", + "Key":"RegistrationStatus" + }, + "networkmode":{ + "Status":0, + "Entity":"Network", + "Key":"NetworkMode" + }, + "signalstrength":{ + "Status":61, + "Entity":"Network", + "Key":"SignalStrength" + }, + "currentnetwork":{ + "NetworkName":"Airtel", + "NetworkStatus":1, + "NetworkMode":1, + "CountryCode":"404", + "NetworkCode":"45", + "LocationStatus":false, + "Entity":"Network", + "Key":"CurrentNetwork" + } + } + }; + /** + * register data! + */ + device.implementation.loadData('Service.SysInfo', '', data_5800); + +})() diff --git a/nokia/www/preview/images/BrowserNotificationBar-Toogle.gif b/nokia/www/preview/images/BrowserNotificationBar-Toogle.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebe7f612d0446f981605539e14d710bd1ee2a11e GIT binary patch literal 368 zcmZ?wbhEHbk7~B z*uQ?1_~NeXt9!2JwlTbaUh)1}$;-R;C)P52c-i*xWg`Psf#OdVuz5Nl667Zaw%!Am z6a%!Tv9K>(CZxs1HpzX#Bf(at=5CG%tJ15|CCebmCDAJ_D9k0xC9ljO%O|2NqavZqqs+#p%-YAX tTwZ={pDdd^3(JyeeA{-&i}edGVwI6!!NDNBrdMpa^6Xu`>t!4ntN}?gb4>sM literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/Gradient0Background.png b/nokia/www/preview/images/Gradient0Background.png new file mode 100644 index 0000000000000000000000000000000000000000..4faaeeb4035612ee6bb9e649a0c2ce9f35ac936d GIT binary patch literal 5364 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 MPgg&ebxsLQ0BI~AGynhq literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/active-orientation-icon.png b/nokia/www/preview/images/active-orientation-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..457253407506d9e3d65756c26d46568eb01a9ffd GIT binary patch literal 6146 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 DGv=mD literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/console-open-icon.png b/nokia/www/preview/images/console-open-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..065e0dfb08d03ad31b5eca9663b0913c3684175a GIT binary patch literal 848 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

      {5_5r2{DmN)UkORd?gavG)@ zxmd>#&OTYTrCTcw{p>wCTzJ)d(Epjd01++CwS;6$%wtA}H(QEJnvLTfQU}Jx&ad&c zHRe$*XTHiLy&cHb${$73h2|FWtf8fOVe5NAaDlDh{#sSkc>6FaMt9y$bh$Q)fhss5 z^_cV7fMlMW#I9Sv4!X=FLqq7>9D0U(x&>V+kSSfPmj^>$x3V2w#lKm>vkKy0(;&fz zBbeFV%^g*p0+<&MgRUEdC!-- zuUam%wXfJFJ}=I^HsPs>HqTi+x|nhc40)TeQin%IY&se@8u&7DI)H;|0R>bHHaBIp z5|+tZA$_dSD|>2t2e^-8JoS0aKlr;oz#mzySVY9V`w;cgzB|6-M{v&Vj*zT#@vB6$TR%{w+X1 z*wxS1Flj`Db+TrHqG#$;^b;%2wEz@-;Vj6Y$ZqJZ3Tvi^u zcap%a{mHHc+F?FI0$$6vTOOh1-(EP}amFbkD+@S4+E1u2R`i`IApxOq@)?B3@zH(K z-8TfB5cmcLNqeZaczOC<44hkp`OyYc_4~&i<4V%57C;*}k`8c0UTd%pW%eJbAxq{?oB#a!@Y@t>i;uQE?wT`}9JfJ*9^FF`hez z&fI0iExHAepp^~k^ylA%%N}`&4T&U5qr~qP`sbul-0kiX;uCf2lY;gByS`jp$PE0I z6(ynWcTtVg&G}#gV8|@5TmB|ffPLD%v^v_~e+m9dp}h!9n^5?ks<_dxzC&W|f!(G|GEBj*L>gN7U z3(}1?KZz`85Ji`|c&@XIq<;>936vAfUUxdoccW$i{7k%LR&~@3JO2q6EVwkh z(aC5@XV&btb?9cyY}6n6#uY|c@v$#bSm<3!X^U)kj<0R-k z91ieS-hH(zx0slF`D1otJ1ccI#mI(+hEKWU1WRS{}z5^m*Cs=1{ zi)Dyg$i@%ik641WPY+><@cYcuj`0SjofIoy<#9>z5e8F_vExFIN-}(bp7Yq;v3$2~ zt{Fy45jZC$C3>R!I8idcNT6#!G-i=_2`#Vy%9sjaW`fzh^0PQ~hp&YwdSvsrlRyzB zanzAhRchjtW}Pb%s~c*K--S~MX+;U-axootAK(`?wvL7Q;gH_DwS-PM!xNo^GH7~r z>ZS6vE1;gYg$awdfwD|TUQGTBXeeWhLfAjW=;M4-jEaRbY^_MC2{88RU_x>Kn)mJF zxx@#iaU*YLCmDWuz4Ihdz=kA~9!$sWzZtvt-5D{6$0USZ@0b7C@u>gJ%V_G;KI`ma z#C`V()s~e3z+MtdYH6&6{X5*1JW}$J(&!=Mm~d{3*qR~@uiql=?uFI1nU#4Ji9iKp z{o;l0_NEjoe6G%n`3v3B>seI;X&Te}>Pj+_LG~)R+o3tuZ z(dMw(m6Em6dL1+i@OrU^qNy)W0PV^7(AUMfBi2LR2}4(QC4k~!1!hB+mtG6dpF^p9 zqd4bhZ1P`&2T-)AW5(<8Ujf4KNQ_*4C3V4Xe?L4Qsf1Rp$r{>X{9J_b;M7yJYCPi` zdEWk+gAgD_OpeiHF1Dgi=lus!3!J|oRY6V6b}ak#(Te1q&y^~O*M#x`Wy$;jMI=dq z&o2}uWVgLn4>AQVTjJ^a0xdCC%NW-yOeS}|H-DtFME*kI9r9bm^Co_PbflUOOdY}R z^OFB_%{;E4FdI!>m!WiX@{0^Ymc#drIPn89U7ot&%mQbb_JjpTg{?rDq`FJIezS4e zK_g;&CTuXV?&v&Q*kKvlr{Wmr1kMP#2?k0z62ef2Jou5A11R*WF9#W2Bwd+V34P~f z_{{FLF7w#_ZUQRWYse1#O4nDkDVqmb$C=qPmg+dvmQxu9sY{o zd~=hHOaZ|rFZu~n#PcNa=OD^^pxhBCsS_uO^-Qh_>|grrQT?@c1g{1E zaf@Wld_yUobtJE-sBis*q4ocqZY}0VrcDo5RFo15XRr2jt@y4`xu(E z_fKa5F&e7T;JRD;BkL-dEENE~xMQ_>|=6I-=%vV(JAnyYWmGUwnXuqj%U4o#Sf0O-@o~D zGP9v>x47*dJL9xir`881sxrQGgA+drlIo&?m@PzwByNk6!DedDUKnugZTkMzLd}Tn z4VCNgfVKG4v(B;dp}xMSL=mcrRWp7E3G*@5LUY!y?0Yd3J&26`D^`p^I=?^0(xz_Q zNuiEo)+?E$#XYaF_JjBisv3dyrvRWuKc41>!3TVR(UHz?QK4H#)7!KIOtV>8q_mTM z`{;hXd{yeHolj7&-GHsE{Q$~OWq;8ija4}S;m^S#o4Zx0_^cQ|UXvaJ@~d02Gj*GL zRc1oRu5|J%G95oS=B7YU#HJ@5!ogB|)W+9VOwl=2XJc09HL})M>dG-OEZDQlV0rxuACiorBlr}$u;pdiG;N7}uB6)bUE~UKh}G6jBooi`dLnOqGh#(Ht5h+BPop zOaK?)-}g=UZkG*)CumLi0>#Y*%laft22`SamZyQ$GAITczT6y49^^jscu86Q8dfLa z-mfRKlvuRTTXPfFknCYpMbDghtc5V1iOCo-!DC3jx44n{l?8mZ6 zWA>7YS(uY?PAjLv$TP?yfjZYs_EeT8ucF2WuFL;To{o0CiH&geTrhVp5>UgNLv)0{ zkiuUh2VOW#zxKZ;?nI_r$asGEYJ;W`E%D43(TQMDK!4`#XL;*G`W4zBo<9g}&pEpA zbI_oOOkw;K+nC1Kv+M4Cnt941U$v4z#w%koYHuh5WFm>}+OScUP>!JiNZF)*><4|I zaUZu6jLLLMHK8Q4Z&>tWvJp%Bi&p_E#{O(&BwU}0(%0V;H>?8Nfk#Cli;&G z8%>dVfS0k@SS#jm$Uwh+KAf`>syjQN?c97##^4e%0V*XvxsOgsN!XB-=M4<64*b1f1BWFKGVee| zB*dEcFQZ>7#=D0~Wsen<4`tA68b9w$JpVO#1B?K2YfAvW=OV##?f{)dKW^fPH>ja} z)xb-dqbPXyBKoSue|a=xW=QAjG+fK%*yG!eN4mJa#^|6=5{*DLwu#R@{;#64@c^*2*EhxUU|S#De`jLe z);?PIDk;D)RXJjd5dn90@#1rXf7rWdUUV#*HPymX{e_OFSwc{NkduyP;$ridG8@)$TZr*W@b;jw;*Vk%aF8s&;9*iimh z@%p)q8VA*JkJYne71k@woBk#YE(dCtH~LmJ9zd5skz4fLp8>V>Z>!q(F-P8SBma%L zHjX>joua(lDk@v9c>Z~sX$|wOjBpSdSSX5-y71KpGD6`RNQxvJyu#_?xf+0g@~!3# zZ*Boyf@cE-y7$q1$n#Mp&8c zet1^klXB91OIbvr*X#G6oe!XUn^~@~OKs~X?89yJ8<=YdkWN$Mr_SXab#7F{&?}u( zZ)j&WMNP(Jvp5SbX zt5}-t#8;%HIg59)i;UWriMBGy*Aw6WeN=;zP0zJkNVFWfV58Hm9f#g#yX|+p})D;Z5S9|Jt;M8Y z>7q4X7$A&?9Wd;>GnZfuxc7lUv(F%$i+=$k&X2rZN1N2;Z=#YrNkvNzyKj`x|3HNP zz&g7CIO?OzMW!(miAh(LtuPyLocyWs+{mFvOWFGS;fGY}$`T&p2rmA+Vmy~p8a`MONtzXEgCz=(jH7q1NTQinBbaXcHd!}GwPNsr zDS#?V0pPQ$Q1IkOcZw2k6_X_~H7;BY<$u<(1o9>k=v@FGFuP*^AS4;liVe}Ham$-6 ze20pXF?Snv+14d`9NAyhJUL;x>~jlzLlHre|C_}~BAqnfu$=~zu##eOAnh*(Y*8fR zZhuqL)KF$zvRKQXSc_$tu-kv|EYO)cP{mm&LlwsoeQ&tPfpE9C_cKp?6#2gQ;LLlc zXfz0%1q%dxTopXIWAjP=?0(q+BF4Di*J&62fF8H94mlhdKDnMH(g$X_e}e_ka+^Qt ze3g9{8l!xXD7_#uY(<9y@`P;M)7wmm>&3UPU7pgm&%@Aa>?t8FSp;dF|4~;=eO}WM zeXcR_d&T=yOe8t9I<(Z28ehzaaS+AKh#m)^%`_Q3{WQZ2#xGY#AJYeN&9~fvv18pd zl)*mdaip5Th_EBD_qTyV9oe|nn0-TZe@}5ZN-o=cG}llQOZ2r46NkXY=(>al z4Aqj3rUmTKBn;_TIc@Sv+94f=e0^T7Nt3SXjtFOj;oWu&!*bM=0m8s!B?# zRY;b7YWdK37m6#w&OtM7>(GxuqU6BY`#-@0gmXjq%r&m1zt&=Xoff6LpjNg4@CC;Q z)Ns*E&ZD?d`&(xOTrGdxQ4lBnfdcGsN-Xixz5 zr1VOX64`)#Y9iW$2G+@-~5>~>p; zSjP&Y1e0fhi3>fIzqT8#*%kl0170re(o=xUmFIlca}6ma zp8SbBGTxKnNB4UW4J!K4jI*0@xh z$^(4|Fb(UzWRLL23h1({ziets3U6>uzd!sKM7~{ZG0jT~k|=qqOB2r7I@g>Id;}PJ zcm?ax3vtMYJ28r9^HY0Qsr|785pO>Ta*FpwDz&UnMpJw2loY!`Sd!~`1A8J48V{Bz zKB*Z&by@yB_cs3095DQE1@D3N6dRbR{op6;?IijEASJTxhG_M=k@xB~xTr5B84J9- zN<7G9xUiBml!RJNDqgCfYQOMEc>8^vF_nVx{s)T{3ZPKD4eKQKr48%MwWB(mz~;5- z%NyjCB(pa2Hd0>vifJAxi%;$vhL=aaGez;q3)leiw3fGGH_9_> z%&u1C%2&jcHY<*81MNE$Q7qw9;rKpYEne+o1(F4|loBIuE`Kl}aKQy+(RHXQWqrwL z+IxP2#rU||Sp~BfR)7|Sb1S6Sk0PjHepswlp1-x2KcOhpRc?S@Z_q^_r@&IR1#_~} zhj{ionk;?~TaSO#qKIrcQOeo@?~1hBRuI@jQDiFn{22sw9!3`zwSv{6qhM zFA4PmtE?rslz8mGpA&Tzo%|lfIL%^^X1??hk`b#A$e)(<`@aZ9#WHf$!2oSrjCP>I z;}-FVG7y3%#zr;qz|pwAuIfBdm>m-%A7JX~d6UYlt4Lmn4s7jiv>AnbS+BDffI8&p z&zH!q5~cZl?+scO`@jWCu4lp2iX8eMp?wY&ujzwz(co3t5V8n%g9!j&6zEBm=}yt{ zpm+NuuomsJ>|WPWJHdakwKxk>w~CQH!TTMsUfEXCCTraf#W2m5V~{k{qyv_0#hBq# z++%Ag?xD>K*IHH$U}PX8^m~kXQ7nRJ%ePNIo`uW|a(VNs=->G}w;Qd@)NioYs=wsw zv@3p`qLk=ae+`7=eIyqFXoi}U8Wip_Tdp)+^b0N7-2bEKEEuBNq9{B_cemt|PU#K_ z3F)C*xDvPL7>2v&g3viu3p%)_-SpQDV|Zf3Hn3T5R#GJ*ONk3-uLKr52p{ zZ%trPIr}wf?UhHI;^n^{m^Zlf#!C9&7ktAu<74?Nv8`NOL; zEW?DsE*(C9Q#{+QcI&J6)4tn+!9Uh`v(q@Axe?QIgP6^|PuuhtuI-xFk9Wtipe_Ev zJh`k-J!bv!((I{9)locFp3N(sce4j&20f{$U;Y_x5sH`N3FJnPnh`&=-EG@QTBz%P zg1axfVZAT<7B(rZaTyWSXWm10k^*(Y2a5ZP4*0P2C&d)MuYr;zLz_3K=j}(cH79}V zTdL!BxvHp$2ZeU8M^i@%t-Fnkd3l~wtkF8KtVY6=F2vb-qL0@0%1}T+cB$iw2^?Y1 zsE5oq?cO)dY(g78|y0m8&wM zCD1?!Ame|jZ-`N-MD z(79F|HL)_|$Y6DBBtYHaD&xQ_Ld5oUuFM)3*~)%YMJ$WJR-)^y*6PuqeiE+5FZ zx%V;8)7W=x(1&Q-i#5JD0sa+cpOF|z?25`1!eY$?XgI>WkLJLc{FPr||FK*@HJDr` za|V=5QZ#a&^Q|veg!ly21;`#YBfC*}?5@=8PIGzgbL*evI$(u~_JW0}xfJ7!)d^J; zE8X)Z=QzjFq|oRuMUmc;JXA_SQVxY7{M8}lNRKRa!?{)3XK;kT(XupW;BG^lWiQ;R%fbD@&;8#>9 zMXd*1AQ(cfvLjR@k>6uy=n`?1KEG3(?|;7J>xtrWm_91q&X!lvAucDahrah zM1f`9mt)QM-~8bXX|7V`2S&mJ)rO_YiehHbpYUvX%6s6jpy$!2B7^?ro6_Z4ip&l- zl1_oscl32-o#A(nAC4-!oe-;qVPxG|q>fBh-WP3754|Be+goQ5o+ls}K7zRk-p+Ar zx_-s{A>o1Jy)EAe7Pb_By!JXX*GDFU%x{g2{42K_B$vV*%DwC;A7-Xz(+Z^7u=VVI zW10XHbE$bGjr!Pij4b#!@b3u{ehuDOkjg%B(+=IK>x2@U0a222!-CV?HY{ zc-g8SM%4j#;u)eQg>1cia{V$!+b6BvfMv0^{xn?xtU(xC{R(RNtHZQnp5&JoFVG8{ z1Wi@HN%5p$lb>ginCEm@_d9AYQj-Q0CMnK(JI9}(OL96%L2KK}ZFnJ4)R1T-mPZP# zD8HbvPeCRz3p(3ky+ubGYF3RM8es!J{gePt{R4fGX0h&W@_vLyG0+({`jCVIQ?BO9 zDDls!3_L&zVGrS#%&sdkkwMaXXvD+^l#hSDH9q7$j*k4=3pEmTVNs*ko&vHWcm2mS z&Y;q*KIEKMC${h}{c+jpe0vaski#Z-7wNmXG;CkueV=)> zkR=mz+RHr2ryxRo$seTc)Dkw~K!&$5D~&>MSkI3Uw+3#G1D!H2XvyQ5S+1$9YLyf3Omo1I!FpZZv* z5FyL750B;Fp&Chn3Y4#k@q7jWJSQbCNQ@K%n|x}sY^rfwITiawNG%$KRsL6*RS}tb zY|Pt`Sg*$sOR;N;@B`0PT8tYRT?&vrM2f-^D|&G(aLtnleGoDRnrHs;>-dT!aTI#1 zS+J$o?nt!{An(1tO0Cfvt)PBcTCS zdAcl<>q2zC8? z-$)TpB}n~>Kt*wiXRD`w<*l|38VGoHq$x8J4V#KpG6l<_so_aW9Fj%Ctz&ewnDE=B#`wW~ z%ASL=Fo9L>E!bUcEpFqT8>u8F_3`hNMx2U6DqN_N;X)jP6@%z>cPdj5;A<%<)^Pi4 zx$LWy8~M%(p^*6!#X1}QWOvQCLWA`wrr?j|H=u7V_Ik64B0m3hBK&pQ5DO}!?0tIm zXAgH@mI6A4XQHlwG|rqJSG{@)xe93jCNq}1;;WDgniCoSCHR~@x-*q4>OIxl8%8Y} z0X;rBDO82>Hgi_R=JOp@@_={weszO@!Qr1U&BNc+yEcxvmAKobxwQ+{jK{>sHQ#ZZ zOm%MI75zv4xz@4R$6jrBnsq|-Ib`JU_74t*;LU~++i>tm0CaM}uJZUl#S7nb;-!Qk z2@AHrkbw)kzR3)o#i@9UXxBJ=JO8Mn>CHG3a<#t}7?9lyU&hKAiIpA}r+k<8GZX{B zdMIgu%Nq2u=6`DE^(pg^Ubw#t<>M_-d=yL1JC$~7(G#hau`V?E?46B~Mu6Kp{$&ve z@byD0V?`P7dvRyi(gYHI65Ax6}276nnbm&w5 z@B@&nP>`l#+mCbCZ}c5yI+Sl-eX~5p8FfDM(d!W4Ug+}i(dvhthrQrL^|80^^YiQ0 zUF6Vz^;KQdTDTPQVD8JJeiONUjIfg zFfx%feYrm^GO3ADRaKjs48C?x8Mfy1d0h#zuZkWC10Qz&s}?Ou6O?+{*fdghkr_5p ziHq!;soJ(M3(bE-!(-eMKcl94yVKV}c*J6y+goTsb5e9VI^G@WK3U9GESiMHezNTN z0%EzUP=#I=;iKGSjUUF3s;+xr=KRLjs-H!~MW>&eG&=KSe6bZ`OXx);BxWdL-YzeF z4~yTAxYAd*XUa49=hD$vS9-oyoGb;tbkY2#PKBR|RF~(yaKkUTOQJI;_~Wu!hXH~ zaxo{=$T_G*)3|y7=`s6KpZS`VgjAzyLCW(O82o8)W<#qdmzfS*3UGk2GJR)vxHOD}ngq1;gXW$ZP7L zMm!eLaRlD5#Zyu)GB(w|FT97x7$@00qm@62x0)x`m)7KUy{ikST`Oe{T%IOeiUimE z2vcJi=Ip#L>$Sw(pzVkt02(LtCsGTLbAZxN<>kzhQS|~twJUB?GD;Bs7)>7AcE(D6 zF_-UKvnJX!vFOoKN97MP^&y)_Xo>shZ7J04IlXlcTIlB@i;5YQNIEB&wL2~xG`?eV zVB1&gykLUq)D)z1nLy$M4joJ%%1zEO28+H8WT%$7Sl>5%Mcw>|GGw#Jw-MopOy!?+ zerZRH9QvwQ!cUYu{KjFM<#)3BnT_n^ruQ;D{X>x8!|$c9i<~z?k*pw~4St`3Mx7k@ zgwFI{KkxI^Px{sH*W!G-gk?q+O}C?J^UAWH@32JE zYo5-b>kV6B_S2VI!<(BEzJ5)(LMkiSA)d44YqUe1qfe##@lbzl?1-R(>FW1^mi&UXe^5Jj&wyv6|C~wwl zku}@4dNN;H_9bif5COFzsX`S%5#T^h$Rq z2fxh$0ieU&5rpH&;Njd;Ck&Do`J3{$eHzPTB@Z9LPq5!B;FC+!s2k9q{#G_-wHCNX z1+Gq+eoylhY-?qO9C)Mlf<(i%ys|PYPI&h&^uV{I|I^0tS3Yhk`@{9`{<=|f_EiFG z*SN-yw0J{+BjrlN^od{QhPdE3S`3(V{f!eR{fw%etI8{I9J82IV%ga7+X^Iw%zaIs z^)!|UF5T-n-OqVXZ1rg^mACo7wJ=Wy2Zttp72i!&eY#gdYeY;+@sa<5E9Nx{^rrH* zdH4HcjXicoh~ZLmW>%rBU$1)AV+@l7*Mlfm{g3(K@b)-~r)|PO+7Kho_sIV=JJhr# z2+Vevwr&M`qx7Yz+X%`IV&$`~Jm#Lx+fwx5>z9mM8@0q@uP;5yDRA$|aa}1G72drg z1lfNq;Eh?ig6E%Ee(Q-GgjZ+LjhJvJ=5)O?5N3i_2d*KpVwHwJ<6$>;Rj{$aR!<6t z$q@JSLDjU75zawCvnWxi;Xim% zuI*p@PNs^;mb0v7UzexP+T~8~TWm~wm`Z}@CX~-W4kitE=EX2G(DM8}2(}S!4yIkW zaN7q!8K&_}d&53C`Q+{HqoT3W{0;ZMQmM#Us{bkKBTPT~-<_vP7|g9bQ?qh#Le`&; zxeAoN$6eoCYt*dBZOv;Ry#0L-BeU%~KXxgKS5CL?j?rc&n&Jw6cAs->zPbSn=y+c~ zE3?Hd_po7t^}C0!e?;0u=^?^D#Aj#~Wt%qosLRpv*yE8zY$+1yAwp0P!<3{RZZwP6 zFX|3^PGZ7nqCC}e%k8aEqJ{{fMi5GYGrl}e+xY5mV;W(3xit>R3yeLybmY74E(x(& zFZK`DZ}IE~<5*J^}d%sgTc>SR3!I6Cifs(bMIQi4PDp7>;vOtXfrX0|1B+>e}0C-17gvpVF4Achd zr#UNn+8M5smd*uY;Fv}q%wB8p)k4)?aGRC*H!cV(pQrvi5cTciNUTO|1wYho`fdT$ zkD{_rmjMRmHI>$4>`z2>rTkAS!eh_1CJOolP!k;_h$%~%cx`efq3BMt)e~jLzsefb zpN%ThHioNma)GWvL64pEY1*l$A8huZ@B^nZvQhh3Uli`uMRy%kkYB2wOE%=jhi`_k z_-|+Be=7eXVQ-n%FIe_ZO>)SA?hH}IHUG011&(sdOzc~Y-1>%Ft1y}nS`cf9sZurR z)xF9jCTE59^{%Vf#3Z@K56NPbYuk^sd>d1j_A|68Iq#J#>wD={zqYy^lla}NuD>IU zF9-&5C`g1RPRH4VKxW9KD=mNxQle0Q9E42BGPg=L}D+Dp19H3Hy&`Oy5C--r4P{4?RlvZ|P;TcF zxw!xJYo}93hrfQMi##R1QVoE~h9{mo&;L_EoP_^hshU*-c9QALCXPeDDjj81=NwyP z2r$kk)H^P{=w?w9>`eF3{d1*0-F}ne$T`Lyln(T4ASC_E^$3NjLQyTWAp5BjS~=8THc2~1z+cY7H? zinDjgwdH**)!{MW>rMknILZzVl(rY=rOw1$#>=v&oi7rtZigtqYx1)VZ7lfbfegvN zIi^Bz6B5OQWzE99=xhQcCb!e~q*Vs76X`=yiQgPY6%9i2{8h*Ay?ounS?kU+Z@>`F z@()y0GzFB4&XAgbzX;_z75g@lPv|4W82gm#w<6Tom`{(SlF;fX@oLHEvxF;I=2E5f=6Bc|Qb!ndCq^~)C zb}Xkxv7ncj`)Ufx5= zbeNX!360F9{LQ(ao=u+_3>xF!0bO~iLfTPRkSoVvTgQ|b)teN=I zb?zzj@>uIgMBi^@NF{^#AgT@N2Z4|JY(aM%=w$Q#UY*p&J+&NuPE;akd6siFmeXY61FnTW&JQX~0dJUp*10)>S%1?MI=0E2!)B zKg&|dEOGA%zt&X5SWt*oB4BF8ILGMJS^i-r!hlUeKdOwcHfP=s>3mpg+Xo|#=RaQB z*amtMKivi2ud7$-$aMMsrA*-<$uKegmHKi!OgQJ*=)rXmMH2+;s&&mQ3%*Ma&P<&H zo-D1{OwN3p-GZ#ZOBNTeaB|L9sQ%)AlG)Tc7vc^N+kC4Eya#g0`F3kMc|Y|dv=Kc! zFZ0T8j>D^vme9mtv=kn#ZJ9jek24l(XZ}0d-V*`xHbYE5VT;qrOls377smfe$AfqZ zzq;mFYKfrFtTt9F>_J#%OiWDsFSlGTR=XTe%`}gorwhp!-WEjQlUarFv@Xj1PHdz; z6rc2Z{1�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 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/360x640/Landscape.png b/nokia/www/preview/images/device/360x640/Landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb081e67a4a41ea673f9f2d54ef82556d0b1b95 GIT binary patch literal 68969 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%0ARh-};iQ99 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%0D}@$s-Ys)=*15vVrf-$#?ROLH)FjdaA(@Hp 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 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/360x640/Portrait.png b/nokia/www/preview/images/device/360x640/Portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5dfb7177fb21bad9dabd0a135b2dde164d810e GIT binary patch literal 67414 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�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 F{vXIRK@R`` literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/360x640/hs-landscape.png b/nokia/www/preview/images/device/360x640/hs-landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5ae48536e97ff98009fbed93e4317fba2c78ca GIT binary patch literal 41325 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 z zLF{5p$uD(u+H))Tbjgm$Li_h%^EnZ`ffIGCT&H+f0^b(?_{LiSJXVf&Y+mo6!Gps@ z4($KFlc6Q62}j-QB?yGx_=k?`R0Pjj_lm4R+KTZn33n6(m; z%)BNfmK?qQuaI(3;)G>Ol5y37Vw{Skz2QEcfvwun`$VA%O6Y~9aLwQR)- z{+38l-vo2_GXK{PPef$9W_}6FfrF@=%)r4$P0UTS3@c?2S%-Jd!)CFY@|Kp$tA>OyhX| zj_-%If}Q(&v<*}TsDRxUjT=c86yZ1dI# zG9-q0s%gXnC>x#*sZ?aVBZzHJL^xmYmi3^dbysebhWq()(aJWCp77=$_Ur@!C!eB! zRf&(lFsq0o=@>30XGG$KR=Jsfa_zwAeDtqI2;squ92H>gwPK67?BjiqRk&(s)K)Ktsn(4!F*LfXDsfuM^6P^{5W;qbC2Lxx#t)Z@zD}65>5X8;|5kg zv>L-^XZD3qPq5DSfw0$tJ(d=9byZtjR|19j3*{ag`F8ZiJCNQw`&djQF;hdEbIdKX z7P42r*|7c5Zl#LqV$t71Z)0n21L>$)^SpE#NIl5GF)vf+GX1RI=iGa1^+@|&=V$yj7pNaYF^iJs~k{(>Tk_rCB7DgxsE0}1Ye-OK^_bzE49dc;SA z7ezv%J|V9rF_BB{GUa7^s@7BoTpvrfc&A~Tj$Hi#Gw>y{E!}b*?5Oc-J{AL`YxO1) z3JO@*!`Wt&>2*%*8}5*hklsE}#d4YH14F|A&sqm!gGq(IY~1MXQTmCa{r%3vxeBC9 zjE8U0gLgKDdApJZ`;jXe`8 z$`@JI3{qF39OzeEB}cNiq1za){d zYYw|b>DnV8FmmAQYySO?5CtdY)vUtfgU-T;3-O_l+pM=bPmV+jpBLe&aD$%jz{q3n ziPGy(us%k4#fSBL_@Gf7oDV>K#G6M_kgm|b5QQ6=4$xk%y7lDe$}q3Y;eXT9%UZLI z3#w6iV>h?WMA#PfB-*ROmqz5qyldPu1_#KOC?`sC{R{KF^bWDr8i=YnAlri${lyCr z22YNEZ5*iw=c6d|0!{5-@N{$$UNe{nn>P%7dJ~y&-Sv!RtvKcw^U>t;?eMZU_E&e* zV2vcG{_(Sx1?-xlGjGqbR39*nai6HUnG_nsbwjlt zo{*g$O&5SbR6*JvLu)J(&WYJ3;<@=JA_fKSBJ~<7CHmgkPY>e!R;o*0<@ELw!!>IK zHhEEtjfl<)ka5u5>WyKVn-8tMntMCz#H4!6V)fTQ_TyA$ z$ew_exUwym2X<6U{N)#0Xkpxsmn534GwmY4g_l_S2{C3p3JE08Vu|O#AsR_L85wC( z;G1WtdS@B| zZl&$(+`lY!e|OurLaEcZWZ0%>{BbX+sR(Lxpv=t(a_kp4cpkph1a$6q3@wt|Mj!Ts}J=^ zW0Un4g+0`2h|7a@svOrilRCUVV3HAH%74r?^RA8%6p6XJnUDa;Qg< z?4yZ&%<@N=++Vk1nyvCb^x0D6E?8417L%(lWVNtdO~Ez)Bms2udvrw+#LComL~9}6 zX~(g~{DUT`6w^|4L{D~n4`N3h6+hJKPG~eK)0~RG=kQTwL229lu`%O8&?Y8*XGxru zv?zKbAN82cQBHfqzVBW?G92u2POcR!SlIHiCH-xpqm#=~V}eb#nFI#YvSE@ik9wP1 zh5FctRqJ#{u!SEU+9>$0<<2lo*{RJURZo|t8ED@ajJfGK;8%e-W+9T9USDdu2@PP? z10|)sK+QY{Znai6^%uAFuDAOxw2WJ56OmK?z6+xpj*cA1rPvsD?m&3{yt z74$y+@NVCo48T-;=9kV$fzlQe9l_WktU8#2>Z|mN%r-)T#ZVJPO~zRcg^bi~_G6Yl zuP=ly=iM2pB`RkaTGzAa?i!&VJZ@g5 z2$S2GKNDQht~FS&=P|lGFh9}JWc6X!!ky?%S9QeIsWfC?#WJ$D?j=e=jSZCQbR|qk z79y4Y4E9RGugsix7>841Cv<+32z3@his%gnKl;Zb)x1sOGM(t2^Df&Qx()6GGb z8d50~(*XJyse_i%G?L0By?;@n{>qV!RjW16S0749MH_F;GY(0QCNW}Arz}Pmj!^U7 zZc_wLlv0bx#ncBcUZEu$ehj^+w;!5{N)bD7CK7+ew)_`dQ0Ey$>t+LyhJiFi>|8Z0 zDg>O*(x77}%||Sv09G*(%}8kEnP-Q8zn+Dlxp>o?P8Q8FDow;mitU#h>S7}OaFjj0 zLvypeVAO;pm-&<4&X6hJGlEY|&n%UoZ@FjjsK#4_$nC-w4R2UyO4qgVCEYTm)f{0c zGGABn{-!t)=Kvj@V$F<@_yC=EXYc2eXB3R?32z|@&TgY0q*P^(;K`q${qiG3bCAgp zSgicmD1J*jk85!POe#_R)cWJAw`0Yo8B+6=$`iuq=TK1!58)%Bsnw&z&9RO2=|)zz zkHMgq-J+1^Nd@VPo@PEBe@AXu^OBE3$@6HhvB*Zp8;PDebX0PYV!V}zCTN0Wp`e8P zcnFE4;UpDpmQ-=pb4SJd_YqOc#Le(f2`(+&juGpRk5cwQTW0dk4B^IhR-@LCshQH= zBt7%K#2Nzybal~uG`GYXM05PW`MDlm z=*}$RkzHxxP9ro$vPZKqKgB9RyYWXoM{@Dl`8Rg%v1&*7?tejRqKL@J#Y3oq~H+?qZeCJYj-n%YJ}h<%9IY)g4YB$Kr{;>omI zo2Dx=T~^EdvN@%9OPt@bJi-rYHpr4P=;;EtSQF;R(&x+{TiTJyCa0D4&@3-DlbSNM zB%!@j*p95ugtf4CsC^2O6Vr+Edc%(NcEpt4c2e2ZA_+CamE(P9P(~R>dzF|?1eSmr zLXkn=6LQSxVdFYinv?_O;qjqri$K(#eahb`8nk7k=d7D*q;-?ZhW13uWr)B}5TkE`u!xT$&mNfSwQ(i%|?lwQ_V@`WI zZ(vx^fjFt2+bat`(O<}R?lMSBM;GSML*5{6Ean|Q3b}8MvCbVyrEsxQzpxb;WT|X` z5lt+kfl9|sOtRMn5x?@w23>i!23q-`=RozggITe1bhP#5i#~#4_=pA{Cp( zH2w=&#x!~q1bI_s-C@bkIs@B$J(GK=9X;H7Eu_`@X|(d?s*Z+hi5w%EnXbS}TTo$|buFH}C3{%s*K1h= znGol)x0_XGd`f)S9q;oh&TZ#=N(G+Nh8*sKswxvI?m;MWFABA~EUHI%R8=}*Ra&$X zWh;LJ+rft1+9>)*8Lk&$!qh{bVzBF$Xu!SROAokX*;5KN7**)|{ zNe!4orZS?9pt)f{{b?B%%~EM~*_sX^68gE$07DO&cf5=%6~e^|loY`h6Q}WPiIRV8 z|4*ke7-l|QfCUIy`TQ?+PoZFcrSF6|zC=mS`y+aRwtw{z=h^P-Rs;lg!DB{+Lx#6T z<9(!as~Yq3i}7ZlwFb)A4bWEPzxi7mi!I}IUodk9uH%;a-8PmAL(OnrZ6(#bXik@l zRp#ni9S%cjGfL-pmyd5mcI)`g&MY(4Ugx z-Y>0%$=9N6NfFpEM+K|?D0=zxk%{_bdaX$ zNGCG*bVy1k|I(R$F%W~0U6XLclbDI}Mgwkqma8dRR!v=|f#*YMWqNcfulj1m)f(63Teu2~C5SI*>1!Q|9w zL%6DA6x*hBOOIu)SRMRy)I2bu13)8r#VEi z;t}_fU#3I9h+)z=u&9eQBL|zHiIRnwO={96fSu8ZmtMr;Q^VqtWd%i9u@C7aVpa&} zgcPJ|+^RIH!zhx-$dA$Y_!2Ap5Z0EDL0zb&DNMK#H39VGEjp5BbKMTcZ;(6;e1Gi~ zrRj?^al0&8{N(xh`*T3`cr2AigVzLxM5ZR3R-{Eth**a5_5&-#^b0LRaMzM8iWvvk zB6+x)x^UNMHtKA&mGm!r1!$!nN~ET^o!bv2LD&D430hLEms0HzZb{t+W!_q{aRMql z|JD3#u5-!99dT@?=&a$**C9;Fwqs3-*Y(vq8H{l^_3nqLLR`Xn46TG)L&?^Dl$yF; z)jxI8%Ju9P`Nm`QgeV~J?#gAVbeKPl4q>rvfomWTX;oTqKP$D}%q27|oDCJHF>C2; zBw=_G?-uzzh@0Wng#6txp8YnArvqVt)T-HT$M?MI+w+5{BrF?WS_H&x+Y zkd8!5hi(zO7P#V+4#IILo>z}o+tJxqs@`&@x`xWbE?f_Z0}J&1wxSu5m`)lO;u`nL zK1f&MFO-r))Y5dQp0OJ%k!0R@nklu+-bFI~7IRNbF4)Jw6pf-uicApmIdrZkXC+P2 zh)`ttXkI9jB}EbNKa_s?2tUpVSTnQPomjHSURzsZ=3=4(Eyd_C*_#pt#A)_m3Tv~G zuiq`?6ng08JLrtM*>^oQH>K5Vb-LN`WWDucb=MlsK(s0nO9!^IQ#19P=2t>o(*QXv zeTUZS>c7(4I)1%|6e=JaTjY(wm!R+{Fpo0(Pi}h?B&q1}j$Hy9mhLP!C09JRv;Cna zsskfrK^hJVY0pvdUZJcXkvb94_!l9h2r?4%mo-!&O*`@F?U4_%_ADm?FIS>woAVFf z+u-{dg9dYiMo*xePq38*oOLC8(LS2gLCSuFPS48B|D9Nd zhlhW7c=!OCm>TSWE}(m#TT#-Cu|`LHHpX-jPs&tqqZC)0`)cDD-NA!Jn26k?-r8no z^poYN4R2CeWk*BSHyl=uD?+;Jh`mI}rd)a@(b~c*>bj2<5w%CG$U&VVjXqDNxq)k1-?J&xx0=wKTlP8vLk9V>p;KW`j9|^SF{(gy2=aSn7FLa z1jaOnUGt<1IF(2?el?h3Ge`*O8N!98bGT=Caw94 z6HP62rP;KR6_)Pe)ER$JVK0T7PdGJLy|pEgU+_*jh(&FcLftABr+Y9)lNq8=t?7_@ zsFrqUSC$l0r_L9m5A#v1Mhh&X8W{Z=7RS50x!OmEOQ|0uDo_+MboOL*y|EjpcGU;f z9hc4QHjL-zMJF2qOtWj-PET0;-;oNL&?gyFN46vOdPQL5`MWPHzEYj`QY{=)N^L$U zyA=J5W%E@SSGAQbQnRhwc))G~LV~}lQ{fXH8wQ&E%~B=Ipt2h|(Ry-J7z9SDn4rD`)vPK z^C}W(Cl^R3=&PImqe@C>Q1@YS1EPo2{o%Z7@%X2ry`2Z@#G9$YS#$f^uPOk zGscYgR4aHdq2c5vkyC{sR`0OsQB&`?bBng7Me}7`hBxDfAvI7nUHBYYa(;6J!DB*7 zqhogiL1tDk+cde|g;iAuvmRUR8~*j?b^!)Nxr~9&gOO-6+{c;mL_M8~RK*L_#G9Gb zWQ*-5Vj=6~E7By+!m4dL9vT~d=9s10Eve5x&3Tg3B~VBU291F2d;D<3>B6maTWkth z<7c95GTNf3M`ZaziS+^+eQ`QvE0qucL%|HK%eOXt#U@$fqSuAq^9)76HdKtWhl<$- z-_S9izRq~ad3EmtjzP2G$ob{ar6LH*;}HRVl^=mTD5?y+7P_USDRgVL>fBzZ!Q75W zY-c*?D=4zpZ-(#v1!Ds4l{CTD^qjLW6v}Hqe2h7^E|AVqswFBPYYNc66>Z09_a;W; zVS_OPrQ{TA4gsX7sn~I!`Czf4Laf6VT4r-&^^?TEAC&OoMaP*cjAsaTIMU)IKprKG zQ>xIQW;M)_D(1!SIziuy8nk~xUhJ;A)1*X=tgBb+B9;{464UicYvzO%>CMN zrLNQ*XOcYYLyEIjY2kwr94I5I7)8W*fw)>n6SXY00hR5>mpaMy)SsU|vLH^r^#8() zoHZwpCA_|Li*zQg0Qo7fe>M@Q8U29{xjHB8I57}1+*~6leW~N`kDPB6laZiq5J0vk zDaFT_s0{zUkS2@J*zp>jnWWi+BZ{@1uV~P!33;867?q2zSkxlyB~9VKqC+jPG92f( z8f!*OSg#eQ=k0gBBnr8=5dlKr3evmXh<@kJe%#ZvEe9Dl(;bt&jSbj?Udt6nSa+A6 zU~N9t!Jn!h20wBZ5_UT((rx;`XYS9`wg~a zd_-3p72K4Fk?ZzzMh!i`%g#0zi>b|m6R*czE7EL7IxMsp-JiIT-l4{D+yuYwF^P*l z!9G2~ zK>=|?CXc{nkf5;nA9!BM0NhtmMMPoU-apd!qqE4(`nJ)URwVXASY$BsP>i?)=5TZ? zA*5bHq@o{c>inU*o!HcE^m2VsH=tn6+Ih|43pnG!0&hyfkNGnO9Z#^9i&_;LtPz(D zi3eW#I{EbIh*cezPZP_!+Z!7zYinCOJ1YwdE?3;gl^?5j#>_}$xb^rrSFy>3`7b4A zSnMb(m(6uUaL3@_lG5!>-1N@)oJnK~`voe?dfJUMEeM4Y%sh>b0Wh zn_g#IhzkG@#izKMS2=ab68AS%U7+bYGG=nh2;G8oK;t;7hW^nyBJg;0gt-+w3Q<5B zmH$W5RffgUbj!s(xZ8^aU7X+$Ah-s1hY;Ky0>Rzg-4}OvcLF51ySwL3zWbAh-JR(^ zXS&a+uBsvG|F#gmM_=mQa1eo{nLK7G)=^qpNf*gla!rYcO4Zdi@v)l6-ejq1?#P;i z_0hzycQ*uIx8~cKHgVoU#dPM3U|w}|HPfs@>xIn;vyKxw*LsUjHsg zdEc$8{;@aCQ7m6AVGb+_Cw3hkZ+G19dn~@e-xMbI+SqCt zDxC+=_EBM?u<>Dk|E$S61Hn!2lVKZC6^Tf-lmhTQe&RYD0jxkGq`o?{p#ReF1|)DP zQ}Q%#fA_PH$WLpy#a7 z<}?zCCj1!MO~n+g|89*MFuFQ)7;oDzNyA2~dJO<1Jpdh3>#-UWUXI`qL)$<50;xa~ zOcc;HrlY9(HMF1m9K86;J0%jU5q7lwos! zq@Acf785stPSbCFV|(Kfa4cDQmc&xO91>B*roR+JZQA3XCZ9PTf6dMQHkxre_}8#G z`jb+k8+r``zsFo*5DLD~`@jxBh1DA-^O=bMC_7fd7U%xz2FQPM&fBc+EB_e0ZsVi# zK5iP<9%2gku6O7%r%WFJ=Sj}a&cz&MUS#cd{lRxzQvZa@2h%w*$O?I}PG6=>Vm^~0 zhkVei`x|^mOz!!(B}c>Wv>ypj%5%*{A1>{~B^eqU-FB~AyVu{E0qXs%i>NGKz!`DO z(7e{6&q11bHvO(60{QJZ#LmX&@@L2pz5b6iVZ*a~qy4 zdG*2M+@m<`udX|S&^DWfTstAQ|Enc3s;-SvPD%-VS%U#?J|w>mvG#Tw)v=@2L(p*h zskH@mG+!DujdZK9o@p9Oc5cMA?no89_+Gm=ZbZ`k7%vNu<4ynxcFT{q=QI8$H&<7n zP6a4RMyn4dJw7T&ku03_GXGJkOKHhihrgCHh->Ne9Z{^pr@mPwsTtE1+qv6k^2`&{tfOiWK@aWJOIH8wY%5gfkVRsZlg$Z`wr-xAHUpO-%;%n>3bi+30J z0BO1C@-pyzN|NL9nvddMa~LN7zpGn^ za&nI1=`(*QBO~>hk*57&+?#z<=7oWseIG$+wzmM%`W-s?Zd^xbNiVyTa%!DA5@Zm( zVjMQ7jvK<1mK+%OPH)mpz{Xek*cf_XEWkq&mgT-3cJ+NXKZ2!o2i?ut#TDwACSf!z zfhOy%m4&3+J4gdu%x*DU%Uk&(?hJ=$RsM)Ky=(F3T|G2{6+L8O#8bLCpG^;Z7qGvD zx9nG}Qljv-OZ)k0`19J+P%*barldN^kE-^tTi@sIZpq-{yPZM9cT7Jkp_G7WLG*Dx zZ91$EFv9x2{dY@x4;ck1q%M8KioY8y=951E{WJaJ{pM)Cgw(z#9vbEI`^F2o`~A^@ z-@=c(3WK1t>bCu5V%si{=SV^I91ogYyI#gs0Bh`i9Aw#eS?>pQ%D26}?~GNCN4OgL zye>nLCNcW(zI{xd&t)ZUr-wlyFAejb8x4C!xpBe=3mB7GayZ;<%_UzpH!(=I+}vKP zIt$*c4Bi+zNCQXL=zKpAt?6jy=`g-jhD!Zvj{N7!f_Ej2l_kB1)Z@H2p%ncM$Fcv9 z?!H_1i{4-1Zj*LAjpXftqObP452X*CZd=)2GJaSN2KgA!<3W_G8NtpUnH(_kahPAl zttM`HtbMUW-d2@i5JxekztLhUMQJWl;ZZE7Mo83^K`Wr4J)qMV)r(PLhDpq&P3(>) zsAsiW?p=-79+=HFj6v%tH~BnQz<(Y`fBuF%2bo}rZP^o0XC??#n}e93^k}yTFwR86 zBOvSp@^QQK4tpNuDi|!swe_y9_xJbF88#J~ddUhzcfzniQeuywZDGg%vZVx`2C&`M z?@F}lzlm;izQhKg{5b{o;2&#tKW=V0rcb;7Vy!f-EH86)bzO}-bX`;~m@{iirNnx< z-3q=x?o12Z+(w`A?@#2s^kFN$Zbg5VOXobQT&O@7JO#8_O?-ya5B&NYO?(q6T;Tq90noTilk&Sxq;Y4I z%BbL#GcR?h_-K{sj8B?a?WB8+pn3yn^^o5L9;e`HDo)XqGG;C~(&`}7$yF$$B-$_| z=%&U9*Nc5kQ!LGMsLPY|C-4dwRbxT>>mZc0Me7$#4Vfj+uwrBS24<}? zF-p7*v5cgPq-qpN$}RZ}?hUt#w`x0Y($cw^nVIPIb#%b#U|8rG^ZV**ui>On)=^H0yK7B zJCoe(e^5b92Ob|B?}56(V!p&&`ACym9T(Yy=X9KDDiR zVFRiaP0T_y9TU+13%CJ*51#c-}-rd-Mt+HUQ{z+#WTFe-c0^}ePIoP~7dt7mr z92Pvil|90<(02KuU?2Fl#^*#yj_Pi83SvJ)jBB9ezcXG0I~=#3qF#h0?!sK zyt8Jq)TP0TXcwqI*^ia1Z-8`wpp0FHOEjGBzqtHJvrZ$Z`X;Of+#?)K_t`i)eDJp0 zr$&qY$YSU@Fml8JUj3SlzE?IGZIX+{3wP0tUZ+jsOImoVhcq};rz z)RaHNqHNM5bYT;&ezX7X+XtZ@)a$g7)Y$LK`uazeyPRk~(UT%*QucB(OuL+kc_H{Q z3XqUdfNDZWJnd^k>su@Fb)^nw?~J4TXELh+b=M>y1zE~@Pn_P{pUP_YygMFMDY0Gd zpeI4L`BV3#v7{eCLQ917`ODfM|GN9lq%+O@!kYY^q$o41>Nr)lS|Ir)3!`L|_0mtf zX6rTRl9Q9Ow14X1tf5-MH~G7BWO*G&mJL?Fvd)_kVK{jcX=OCD3y!wWYvPTnT=Cw56oF`k@b1D z$-Hi7TSDzR&zb^~ncqf2Vopwv35dw&h!~1P1l#|76cb<)cxB67_xrm*xXUUrj2Af8Bcrt_gFMy85ePo3M zq3kPW@GZbR>y9{mw#QUZrRyp3YLVKCwb`FVcRF%jcF21F`TqB9$c zeLwDx?$pg;0xCiP-le$N@2jpCvXN9uwa}#CeP<48ZQMY=H^5 zM@W*ih=f}DjkXX_FQ;(CC99orel9?G@x9=PkTt$2Hsg*D-qpYx_(6vg3H}N07f#YT z?==gGl!>^Y^ub&}$Honc)~rd2y{dtOS%{DEAcaj5+tVQq?mH?DRuK3y@LqGnL zAH5oL9BSEioKD>cD;flka4__;;Xl(+UxJY2sJd7@6{h4Yk4j9`cGkl7s`gv8s#6Gvx%vlw@a<+21E`U3C%dfJ@m*wxC}!g|lS zkjmuJqcA~>Djuf!bs7UlOn`RX4;dXDZG{WB-BowL<}y^h9Fci3Iol?@SNLtszOHM3sZ?PC&SdmF!C zBp=`M9$$p6qqug_@oZal?`XpDVmUFTtZ(E$q_-=eb~jnQfcZNn^%v{72HA#f*B?n# zS|TFizaCNgjXx#D5P1h;*Q&~pCa|1R=6sYD*P%b7)jJg6k)8V6dYywYEG*W|Q}{g_ z^0VC-WD+Vr*7h97f+Gwg7a52M4KW?u)R8#}Vp^!((KEC|$eM zISc~GmBf6#qcwp>@yGQjZ8l(!LlvXDm`rzBD%j%~lh1NP^apCMg%TH*zAYL%O1!PD zJtUsqus;Ln2~1)L9clViTSzi`1w;#+&BL@|KDb&XX(UUL!?0TbxI!cJ+ed#2E=_bz z>Pv>oUD*+?zp6&D`NJc4qJLqNg85E9CGdR3&ag7aNRk~$nVE8`7{>1aA`ix^^CgN~#i zGLgL{FnEA&2?$(b+yyYBB(`1y0s=@$NiRI6z4B)@&-f7x$eeE3Vg#=bH_qQ*ep#q& z_@35YZcR3?&Mh^YJl_)fMISjo`@N-*c#lxHy>CtZtCX*k#%Y}uKDcQFF`35#deN@>He-d`TNqwnD$J$PN{+xhM#Pk%P(52Fa7<1fshFK zb2IuXptA-g^Ojddg4%?hXJeQJFa0n{5o&scUQQc5@5)c?TCP|C#9$}pv(jxx8pi{O z`iIrZJv6TDC{(iV^Dh;s?>RuHwX|4$ae4}kGXU#rdshzgK_FL?4jLt9C|@->O%SI? z(gJSC9gGzQ4Usozul;^nh^=^wJm>}Zzr_PqaTOIPHH(aRF`s`7zEI{l(-40MS>flS zoMrX>zRB=yGVSe1G3&Wv<8^;O!|v&2<05R(IE2jeatla_FX)0|sTa$&HmS(}Me1_H z>ZV1;;}sou#@j+T-Hc|#1{VF9fUa{9*`&?}6T-vdYh>izz^V3*<@Gd}(w{dIm~Bf~ z2wv1745*Xt@sR?j{a1l<1-A_`{lZf;GY*Aaq!8u~aS-8I@XiSlN!YZc!9P_fa2`2hi=2k-ybkX=x2^h6PIfCPN{ z$x9)P4{q}&3XRx6r`zbhQtM`a+GO@En;6+k|7tJAz~`)S$?yd*$+&3V=qhtQZuGVJ z?NlA4cV;u%+pD4P@hN4RMYpA<#5`V5Mll5Pc~rakoXsjGo~hY(9hoVI%M3ZDiVFTG zP)xX)Q%9gcHP!4vnstY>*llDwL9b)7)h$(P^YbQU@m=hlq1Dm6sF7;xOlWSHE?zL3 z12P}juVjMPE0t>^)0#Lf$I2092`Q!)ZS=xq)B&s76fq`Ig?2RBpg=!m!vC6nYvlyKY;FDAv3gri|9Trlm?c4=_LkivpX376p zFFIs;3n4U5qXk(H2XDyEHt#b{99VpHsMSPmzTA@cwCXaOj~~#(>V!~%Kc@***o$-N-9#5U5q_t`usybGK6U2O18<5^3R$iJ z?V$NYrV?_G&N>4g%6y4Jk&u00sK`GmAi3XB24cY0K14^4o73!g*Hdq%tCTd(sx!Zo zqT+zrXF@LEKPhfZ1{gXDrSYylu9XbfG4$|wNe1V@|A;NL`!vOq!!7%{=0roG*>Vu! zGPjduZ0E$<5Vx6(Q*C79<)In6oY(udYuNfNbt+0DwY9_ILy54Gk=-j6ASV6(P~l+h zKTB#4^t(euV{&LgHuoHKcs4vWR>q4D-*oSgUX=1z& z2-)M%@)B;}>sa+@T`@t8?krMqfw9El@CMj1bQbfW#QP6yn9GEo) zi_3;Kz_F3~j`&BeIU?4i4X52IDW0E2DQRC)$@;J>-G@1Hz^&GdZ{x=5(QrgmWg#O= z34hS7;a(Th=ecX}7^OMl#nGOWQmxW{RzwxfBwTw`^o54#E-FGYZ`v=ET?hMXhB2sC=nSXR#jHirXm3jgk+Tn(=5Q_t5;j7N&ece7SoSlcPgRZ2G9i9MRnv zx2K^*)oaMSa-HIF_cQAYuGjy6!?3xvQt54JP z?C|*)Vxu)LHTAeK61vo=wo8r9Fznkf;kuN{dTH@whBQEEe2kAEKBm1T1SmJJ!zN7i zjkX{Otme2PIM9lAnNr%xNaKbXGX!JlzvSc>#stbe2F7biT*yx2ahx2tvj4B-;urBT$su))B=Fc^|5sL$(n4T{ zXrf?HZcZ#t$)XvRYjrBDWnZ14|FMw&zAy^^rbIh{!fx{}zE-^*p$Q9lAFqOB%D|UH zF2g+ z{GJnCK)X7#CF9;08`?&H)6qX37G>M zE{CN#7_CWNC*>f2i|RnfBR4GY9@cpVd_3XmO0C<=&FuHHjH4#N4DU@C+~R>;(d}{gEREs|hSB zhuFYo0%7;1sgy80!kQhq^V6yW_tt6qiwmIedhWrfO@=-us_p(+cI?2Yn4T+(40@-k zwg|ip9`p1|ZwS^zrK#(yMo;|Fg1_zJWs#;cJ{RiX7iM*CI{siP8z(EO`Uc-^NG=bm z{rE5_;DU5C+5=hM>${NyGZPxEd}>dMyz19@#wRSmj-#2e`{nH)101^#w)gBeam^_| z{e!TxZ_Kwk>y)(K-$w=sU|sGBtH?i`dF8z+cXwIiTA$Y9eC)=cc+jIVAcv8CXB@-9 z`WZ)J%`0E8Mo+z6p*IFL{wPW>+R!kYs%bX(_3hGvOKS8PS#>&Mr0z}>0zL^YAou7Z}DOF8vRRH0o zb?GX>9F-O)(o2t8n9d^5UkZ!Y)rMfyR)b-$F6?&<03dMpI<18I`Ckk~R0;(=+a4Q)NU5hUGA~N{g z@=8v2R-}9aMp@Rbv}iEbj23e}pa?{As@||NI2ONlA}}KQFLjD10={VKVXlCH+hGFr zz*5Qa4CDoaG+7rn12bMM;;#8`g-W8x4!>qNn4~}tJ z3C(h{*#nco*mdlk7A(n{UONrMgBv{dYOgmWp*urqA&E90>Sg5O*Pymq`!yZwiPstS z>(dvkA7&Wr$TLo4+)R37GH%)Cg!EI^5iSN%9mjnH(4k2K)X8Inyd-$na9YWuqU_%)Kdu{)tptw49!r3SdX@~C@~_pU!U_XuCZ(t!uQcVi3sSO&>4uQ> zVB+wtX7FvoP@5<<8ApT}>PVB6D}T`zfm{qRCz7EfK|R3XpS|H`oFw^`K;4o*oS>kf zer;*Ve@Co#Ny*$zfoOku8>grPh`?@g&plIxh766pv5TpSCfg@-pZFncYrw zPqV(@SJc7oIhR!LU~K$#|W097`v-oEkQe!Z}J>$W9Wh7Cw0uhtn!5 zV-)RAZ-85G9?19Ec$Sj3#aTeZ32yJ*cCS{R52hSS zOuCuKYvr-d(zW96k4TRn|15creQe&uSB7+FkXL`{$eS|3Ma^99>f3z%x`0B^jQi2| z?LUUSj3(TMB+7b;I9d9{az-$2vD&D}L=mo8A>d$G$wGv!G^NYzo&TK^I>g?Z{}69e z9Kps|tvFbKVBGdj&QNwAKMu1!DYsbsCi*OF#KegdfSg*%qed(iN z-{5Og1`vkJFNB5ZIUu=Jq5G@{f0Wb(ii=ub`I8log3u230mG_OUM&<-n7lKvWiG$Ip-l!Pl;{uVHV;zM6||0n+fj*AkMQ6 zt${63nvuPA-o6|(qDeBUb&>*z+PGR@ogArQazY~sM9fag%nDExLCDZmW1Q+yn9>A} zQG^v-3^ok<<1>9?5T6$!P4){7eip0GG~RjX{AEwSghy<#1__ExB~Mc8@ayVYm+p_<-)SWyOUB79)P5a?VT1Esn$qM&Pv@^T#y*@f#o7GbtMM{n&u z%xQnGD=I>Bf^8IUs1+#xI{M%HY?(%4%};m~1xA75{8#7@WgT^KwNJ>nDrPly73ki3 z=t+EXS6acERBFp2Ukz}-O_IRp=jXRTlf<@KAF)NN1~tdqHtG}=nY1t2LQ54cRtBMz zCB);v{43rLIta@a7KR9FLg#0Dewoj`gLOlVMw4`gWNq^D^QvFs8N|erkHnJ`^Qrm0a;RM zMTedDEk(e6k`NQm!R#jbVuf$|=zHoDmb^ORU?Tyo)*1hW%gc2%UV>;+DmmJ>??N&A z^V~s}iB6MC_RIR(xm=xS;&ZYD>M>LQ@K8<=Hla@({kvqznLki*tdhR z<@2A%`F@M+d2%HI4ij#UT4*<><>VUi*H9o~Nt18vF}}CPam<_4Vq(JnjsR#r$W;X|`Ny6NR}|ls-R-A%QMev1tg4LrK`I&hKOW8t+R6fA83}$jC^*csHC^%Wo;_)V1~#qU&!-9UE`zHp6r}PU_`> zxccg|o#?A5DV`vc=;d*uXih_SsN58N7@dAlg4{wnggMD8B@-&&@GDs{mo&rC42GrV zxB1w)uy3$Ygmf7o1(oJL!*mEAdncaqXFq?a?ieQG6IqcXwR9(Ek53+F3rp|&cJIy0 z=kM$1)?Bi1*_{#^%m(~-C7q=NqoSg&=>343#j*@Zox7I7^NROnaQ3pU`Z#txQY8!M z_A;-qMN4Y^`?a6VnA3kJr|Aff$kI(~UT`az2At`R^4qN-kyqGoj9Whz-L~$<%@#>0wi2R{?3X8Udt7=On%g-21lD}&2 z0eLsmpH>wWW@n|N<=?6f;vhbh$c1(;q}8&i zj%Q!#*P!ql$1CJyk8Z?Ua~c&6mRfdA7qPljexAKc_?M&sKKK`ZQ1Y2G+q{n{7Y)=2 zcbnGcHu$+h?mb6!cyJhA#_gW$#>dO6PXj_y@UboUKjy(Bfu65;xD<-MuBxKy^@FGuRuai@*k2@Op?@3(U_bWm~uWDMS+7b0uKc(^uQQOPV08 z#U7@SM9TjCZhgG@D1_H<^)kDvpBZmFN0G&pW+tSuiaOWm658Cx@2{%cG>_xUP)e9{ z+CtG%?mmEPP?Nr%Pi-4G!3s0_a%=9vzc;m4BDbU8he~b;@`vvrev$&s#Q0Iu3o)oO zxLu4U&{_rN?wp+g2T)spbb~p5ceEm8MaP7+@J=30j+u3uT1bwOvwE1MrIbA)tMzvc zXWB2@V2!qX{kot|&v{Cw4YRJZxTz}kp#>)Crfz5y&;RNSl@sdL2NgEL>ufPxxrK*SD2R6y3Ne+=%M#f1n7dRTk28QvE7e{9r+%@^d~%PN;$olT!aRoC z@z1o&`?5F00f$t`qwnez#&0TMI#Q6I@A)RD`x#&vI(*95mAhG3z_n7I@OXa8>3+H= zz9RwXo?A*2)_92(4~;QmMmpogwH7xWJFW~%{8Uw_nr%l0FLZcSRqBd;G=Qaf2VO}h z*vBH_^a4BCUp_&b*A0{9Cme6XL8^;d1J5T*f)>KcMjUiJXb!pl^gZJq17z3 zcpAQ{o2H2>r}ZVRra#u@(MM5B8?gc&Z&BPbDNpAW<}H;los}VW0%cpL3xj*ZIo@sc zoj&fDh%ui*hj^01B?(8j<`><~_02lBQ7Z(7LGwHF2?xU(DucegyhpUS&C8Qo6>u*Y zxN|2Oh4j-?)f6mLX6=|k{=`PDm}ZvqT3C&1nHHPY2~nJJvq;7&Y5+IgQ~zwoOC*HKtj*oOMyL zuNeE%w5gJjEMn2`gsi%1%5al~JvzBqxSe);W7Soj;J>O)Cih zWB8=Hsw~5B{;z{L@iFTbTFW=OMLKV1*Ydcdn8ayvR^;LZj&{|y*D*<*6`hcf>h)kY zcO>Uv1Rul)-2+1Qr8`>lR$bc~%C+Bfsy8Ay!z~hcsnm1*i9F@q6jd3c6`#Juo8G;3 zzWJCRm^IdI9!q{2ul625N+AH9uW>}($cM7nSs#s=7Y}SA!MFIib6Uo+dkPYR_sY@K zg{~IwT@CrolC&UP6Ls%Y+fqSreqJGT;an!~p6kJ@1E>+s$%PfjJn6L z7Z(?eY!&kFRh7?(WUQdo`4BH0n{(FH8bW4IDtmt;zZ;k#p5nROs17y`FeXJZ_ok!2_zpS8Az zT%R5zwe;A&fR~;-1Oh!QR=3a0%<)L>lt8Tp|cP|j&GCf1!#(#M;Ay05ENsXgYX z@o$oau-Eiag9!{lEhV{D{Jj|hN6X@cY}lwUx?&{54f=Fuof#@b#JcWI=H?+c-#ZbV zPC_|FXF&GVS({c9u+>|uRp!C+44kN}sPHQ#>9v@eKZYJqAD2L(m=?ed z`58FW6L*w_a^}yt^QE8?xM*GOKd9eKrd5XiibR8^(%W8c!Z?X73JI`620gr{;jQ%v zzdmDH?20xgY%G0P&z&SWBr#-w^B}*(VR*dj{G5-`bYEc&-J69xP!DJi{mI>T! zN@+8doeOU&ZuC<{mA>usgor7NDIhMCgHLpkH!f!_4=vwJ-v;9rdiTFcF_VEilD3_&b*iS+$G)rom_uZ-|35A^%aZ z(|n_u;FxOkV>SP($)wq7e*ZZ63Fn)OTE;IyOv9uY^(; z*Jd|7xq$+nU2AHBL#?5&7S%&-sA?r_>?hO`nZL8W&)cFj*9`gV8pnpz6;hpKf(p;x zla~;aq8szgX>0HyFn_Vu2DnH$fdwW|763R@y zp5KaRG2=J}j`Z37{z7R(EGD{6>+@;Tb?+N-`FuNfSm~}{`g>QzGt1dA{qd(}n?-!$ zXsLO-eD4;lWICBSYu7>5Nx+K97MV70nyW9R539d-NVr^Rc878YIR|VUQuX`v>N~>l zi6>XvWGsd;SDLPT3Hm*`b(CcIC8qeaqJr?W0^u=Bn++s(x%^z}SZMN4YA)tCOwu>{ z`5&}ZxNYPu1RPU+9LZE=Xj!&0%KPmD?Qc~3{DjWq^I-kMQU?Dj5-VjjUXAg+-DAtR zP}&%BmO;laFddl_T|#_(Jnnl}JHt)$h#(LtW%xGm>Z7yfY1d{~*XHIfkN4Nh%PYp} z4rotk;p!d_XIEEOXXopo1X`ywYh%Cex9gKm4WOwJNLQduWkv84GBh_g=gT4|Cym&1 z{2NC^(*5s?e^FUC*4KG?dE0peSA1`4oYUHvh3Cf^MQ#t{@*gH@h#i~5ZecqHw4kRr~so9k@{Jp2-9hRT?cdj5~->^x3m7!yn; zA?OhO8+>?Pcu6>9=WNy!o<}-)$K6_-U$2-1sDk}w`efLRC!@ACCTgJE{h8Pi~2|$A7N2QTosy0TqLfmOX<1_LaUGO%BDu#0d2T_yaA^_XzzAO)X{!vZnEKhkYb+Xn z0QprtoeFG_2tt7lY1Q-w``X}B<({f1*jquMLxQ;!S_03u#qyCpXkgwJoK%{r@J_sX z+I(uCtvt(DNpxfAr@Qm<0(Gu&*&j_c>q~n!E>>$uudk@&m zR9F!N@|04un6LT$4F8+X@aT6vW>WAnDd@HriVLC?ehUlA^>zM8+g~d}7_YUU3d7;7 z3+1OToVtj@ws#oD3(QXrjJ2vG9Y^sAq2c_Y9AYv-I)@xIjIhB(O&VM=kTjs%@t05P znry0?qnR#fHRmn)Cb|;udZLIZpl1;)s)_6ZS`f&`w8GJ+@j=H-;G{m+CM$r+#Q5Lv zri@ktX7gi%HaTb^1Q#14nOr3M@LNhjjOC5Zuk?xO&^MnS?aF-L= z9lFV^&!A?TuA~bMis@_tc{|nRSPQ$am%5`aY&c@Fe@ee;8grIV* zWD+hwm521Cf^34Ypf_SLad#3{YZ_jI{5gijXX<}>unyHkSr6yAJpmHFc-=_MYv@9- zUiQ(s(t;j^%9T{t#43_kr~dX6DmUbQ31j}##d;4+lO=!lwJL8MDyWCFt!J)gZYF^P zp8h-NkX}umx!xkHZ;`vF%{!I9?F8rhze{8;SWIZma*w>LnYv12~YU`HuwyBW);@R%w3Gm62Fpd?IQD zKmE()JyrOBA*>c+t(fw!ieb2^yq7Xe2KqYTBhDPETv}_OU7vw-wfRyu_KPc#;!oE` z(+eRx6I3ofUTQ`j#}R8o5v>9;=oTYA<69fuaxUsP1^dxs849Dgb=su zg&wTIV9-n_jP>v$yG>Q#nNe?GzH|)}_JPV~mTnNBw+i;_tB%xA6>U24zG*5HlUxFI!oSuk-%y#1EUo zlxFK^*9K^Yoc8xj0^Gk@Oo1^AGNq!Ik#y1XA0PxOv6%=q7cPQ(KDS&N(5+o2SnurX z$ImC@v7Ac@0|a(Z(J;cF;TQIE&ZCVF>2XA6qoF{a@Pjfog7WmN8^Bb4S7N6x#4QwS zg#q0fszS;pcs)FkmHt@5f&9*g#zg-Z<`o&^3KqzZ#TM2`ClAHZ+`_>7>9guQe=t|B zR~F6x0D6{Iv*8Y+ht*#JwO5+!1({}GQcl2u1TTMnqM|SSU*zH{cFSQc3NRWLyqa%h z1KFuThyAI`Ej^UEv=T$Wie4wf@mZA~UXNwKs6C5~@%_UM3TRCw{nR~O)N{K5Bup-7 zxDspMkI{ga@sZvm*%Nqx9xA!!P6-9${NX@8q->1AGWqfixsb_E`xyk%nm{J3KDR-+ z{QURi+vlFrgbvV9e6O2jo};q%M@I#{Z8k#A6_1egp@kLS405Qn;zS0Cmk>a?&A0F% z!xjO^1p?S6+iX)A28fD8^$a!$SmYX$OVHqdr|BIC1ssEBcooO4o^0R%?v!rvE{)f zru;8eHhx9UQ4;bWfH$0ia=l{7i6dgOH-QwLg64li8&siKdhjzFvHnE_EzAP0sW>6BGxG{tf`Z{EY$(-4M|fl1^=zn4egci3IW^yVCN{2C)Vz)$LduK|A!1 zS!ALF0ed^jO2t89AgKz%zp$AvE)na~SMXsi5*ixm5b_aE%{ak<_$13O$!4%|kwG&$ z<;P`|wLcL~)1t3{6mX4=Dg%-eAQEg^&>z1*$;KnKpn-fiJO0J74|P1yCKiq<;3LKk zw4YGV6obR(I~1TyvMaMhqf_H($Rn@$&wm2g7ZX;1&);U3E31|$E=)qjNL~%@4OD{J z#^C+PYSX{tNCM7h!j{yaTY~Vs@jY)hb2}TD*UR31yY4py>SFQ$TYA)TV9RP+!h0Wk zdqbGcCY8=R^7!HE`o0Y}h4wGs#KQAZ@DrBweF~i8+AwanPO90r{~zvJ#0NcZzeMlc z+}s2Nz)%nZC5s?j+;*{X>2{g%2@sk-uZzwX!1sO#^Rs|Jq`fFqu9LFU4+od0;pr~- z>)qEiH{aJ;N%CQ(+ucpSonIi~oc{>;J>OrC=Ks+NbC{AN9Qh3N^cG}wNqruGH(L32 zeL#v&|TfZ6gOxKX=Riaa3oN^JN6ylYryN zp&TyONqiNWHgupYwY|%yE0y;nMo!XsYruVNDUR_m|5WZ!n*UqTNTJ>Igg1xAk*nIX z{2_;_D>sk+L)zzvkCKN!97=w!CXbTlru8%%q(|qS+OoL~nYtgZjw(!d+XjVp@|mZ}_~&MMmYFm8+I z3stnbw(|1+(2YMRpyz@!Xz=4{VdysTUGofX`N*h zzh9WDmvL9~2I`z99LHLfi@6o)ztC?Bn3g`1F?&#AyY$^kHjjV(3m&a`} z#vQ6X{i3!*yWFJ`f^FMd}9ERQD^=82OU$3gk4;IgP zCPFy|e<`bQ6QU%krd~d21f&%h8FG>xNE9%#SZ1p%JHi0_1Cj%YL3fJ_itdGJXb^_!!( zp&!B?Y>b5XXpn1_eVs0)1+eX|^Y(huq%OLcak~W-ovQI*z`JY0NX&7yY!x%M!W5A` zQ{bWipAwwcbsgvXcFXszMMF`PU~`MNSG6canK({@0S^RvbM~j#;MaS?Sm{Ac0gQkX z!{J~Ago&+XKO9IS!U&8&nS9~(2qOI75BPBQD2W|$ z$Tx8oWMmlSefs6O1>3CFm;OIog|YY0wB!6!Lr1n6ccE~RT<5;J#XMpTeMtg;TEoC$ zmUtM3E~DnLOY$*VUW!J9WG1brQKvd3Jtb}CcSrbNS<<^jP>_7`Bbw>sekrv5Um0Dg zQ)fYc%JqXXP7*a21k=Qx1!Z_5B42aW&v!iA<1kaPuiwg#H{m^#LIodqzIvjNc)a;*R8DUEmf~^G4rg9R46C|t@EQ^$x zWDXFb)fwY%T`-hMt1++Y+akgm4o0c9uyl@@!llf0h%97$f{WBrcU;|ClQQO)KC;D^ z>O)U6pdD)*qXhn;w?&sU(D6bq-MAe(lTmj`az_7JhaA1i@Q{Y`{S#&@FS3PpQtLvL zKm}`aT&uFO0e!J8QZK|c|0{nF07@+6|KTVKYl<`6w9c+q0CVhCCUHj!m>0FOsz=T1 z(lNuPjTdVb{E+XEt8CTOU53c~MY(y%?wV1kV_z6u=sfC(EqP|J{VO~AO=x>U5FxU- zV7~}yI=&5eL`a2NtMRKX(&irV$D)Q$I`$i*?EBiJhF+1`W~)}xd~r(k(?8JOs#-11 zV5G!sLr9%E155eSpqwW4Z107xi63;Rr&k9~J%@C$i=50AyQR}d;wbQWuax@RjM&|z z0aQRBXDTK-MiO)5&)Nc^mFe_Lr)yRx6VCmIy61|#?C(G1EcHUu=}$@k><3 zN$4kRY+&u)3i{U%_I3v43KmW_wHbInsj)zg;o2r;($2xPn}(~iqpE^jZ$EBYYIet> z`;o*sy3M+o-q=@&oK{BZ2OaxG7~wM3YI+yVTzQWAr?SXdR5G&pUMg>Nu3qGNYhgpu z$V^$GxfQciHPVr|>qad2Uh2PVB-m>7p`58-rZ<1HR%Xrrk-;vY&uEoldBL1AKDw|# zi5Y@`5Joofi*Pe_c+>j-YP#-ts=xn#B`TxHCPa}PuB?nAdxdO5R@OD{wbw0?E!#CK zd&|DpCdnSxHLgweCVTzf_tW=x|9qdvd7alj=RDu<`+5=BR3lLg{o-MY_OLWeg~%P# z!@riwI%RLR+|@-xZGFIZoGdsk?b%J!l$cZu_6ru-M5qHQ=zF+T`E=`USg3ux}`U34JRNx8qFGV*TP;C;>OjihC3{UggL{RDklvu*iAAc_#~ z&u?J!0SBIZtOW7HmPfr>lqw!{TCi+7R4M`I{jZObe?m)G$y`$G4H5)Ii9z_5+xZE2 zqZ{vUsH8sk^fS2+0tp9mZw!a-CeZ26@qkD|kZy#@^~EmxZm&h-K!a@2Xf6eH+&~7h znyH*YiC7!U#wL#j4Kfx-ePmSA3rcJ?0MU{`?Mcg%6!)Gj(5mCVNRkkKWE-n42TCJ= zn}bD4-O@^65&VyAZy@l#$|^oNdJ>}JQ-h=V8KB8;i%frGtuJW#=EjR-d|Q^Da5#=4 zHFRSI&YAv7P%ME~4gbYwp2WBNGe-*`8$7e|-pCD;6?kiiHQtM{#rKIdLtk*j(vfO} zv3ZnXKD~(|5V+m6E(XFw@MLky5k;?a!%}gqxtz}|BV)SvQZ{M zi4h&KHtNlgCp8FO&!EV_$(U;-qi16d7>S>9`4_4CBn|blcPVgf=zD=JSXTsS1`kXH z3qFoLD;wR*XORSfJOm3zNb@52PbkM^{N>>hvN-a6c>Y}w>~_Tm9?4*8+_X&Op}}Cc zG1PXF4%G(&4PqV|+Liw%T8IC$`4PUbqg>bf?)9m=ZO-%{@dxs8yxTg(fBsE%BNQd4 zl(Qrbp%eI6$^(LRTj=!;aFF8$GmxZO@u6$B^8ON$;5z`LwKOBr_YLw0NCDlvPByZK zJCX(}`V_%?L4!;D;)@nKe&m1;wVOj68Ov?oTc3%HyS=amt)~2DZx3q$j3xyIP!=_^ z9;XjnU}+Gjj)Gd{JWITa1R&>}Y$Sb)M|C*SKqpW8BS4TPlJ}OQvBCdjAaYSO7utf+ z+yX~N#1ev5N!WeaRAn_;xYz&l1~Mo^#aEMFtY?3+8lbmO2T3E{)c7 z`aZDGH*jq~=!wj4Riy0qA4C93_@zdTkb(uLesSm`brIcUA6=UPXmIbLp?+o}@YwTC zvXN&r6z!vb`EFTM_B4);YJC6P6d-yJ)1R@R}l=3xC>f^JuYFJ=A2{4 zY1kTKK^Hs1+a#Ii!ix8`{biLkg~-Tz>yvU^q=BGH-IZzsulv_0s^6O zoMRGjYDho=Fo5Q`S0Ak*kZbs@6S7tgu3%RT20b2Ecu(dBL zidi=Mmy?7oU#gfYh71V-@XiBA-zjlV*=X>JNjT{a)6{=;s z&zeI3rW=)2?Pirbq)A2hKT)f`f}v`pU;yQv5{yp&6-*4qN$R{jN^iE%8=a@7eCsy} zX!>P^(6{0LG-(d5Wx45ihr|&l4Q;xCcHy0u|8z6TWgg>^iQCJXoDHm}fSu0lcW=o~ z@SmGJY!tN0_%CYt9Vp*Iv=X^wfC+=p<(eZn-7h%@&mV3X4yzZ={S16S$c!SAwEeiI5M zy7w=RMIi3!0(mzn zehYVt?+Fj3l%HfgBmw-43_JdYg_4``vTUcl~U`x6b({zo9#ttAYTWWZHNX2uoJ zAa8tP+MG(90o_FjFzqksVeey4ieK#fce)ZN)&;ZiIp3WlS7!skg0dFTU9hvtZmjVZND=t=Vf|%`^(>xuy$7?`kvNxOX6nD!wck~}=;w90o zZt<;-?DpjOy_o`-&J0D+Qmp;*;Bl2T4#GL zu*NOhgqKXoSE#l*JvFl@@V%2SFX^Jj! zMJf(WpKbdK%aoHt>I{>6HcL5ObqQ?}NMc6+6wjjJmD?mb&bpZoj~!d{bXDUericA2 z3X;vsrzN10Kia_vSCZbX5aj328Z*8Jk*5_u;WdISI{LuB8cq}YbgM*s&0SDP&Z^Yd zKU?3b%BI;^KA~b{WC|*4Yiq|2V%7$8Vs|P>4jx8bwgbInqpR7H1p27fY&d zv*m;jcJK2%%RXJ2UY_2cSn$VdE~U>^r8H{qxZH`KBnz5U_GslRAq00OSZkL%Odcgj3aI1IzbvYierZpX!}y_HK&^ zMe60NUX2DO`l;kk+6&S1QXh;E7HQWS^ObesfoO%8Bs`tn-R%}`@esc^=oC=Zss&Ji zU%^iV1LF2eb4;Z4Tb@1zgXfbp5?T*$jLJRg8x>{ZZII2q6q+;@caGrv>()gmQUSlY z=FD;|_0E%$+h^OIJ<`tdE^pjpPN-m@o3^y}ncFmt=DJ&Vi(cMC(M}G{M5s8Tk3CJH zdq48mB1f2rPi_HKoTUMIvp)X1k|%BPgxlZFJJi=}8 z(ebg>C}m*9tthwUeL|kUp#H1mo_!bA5;lzj^x>VV$5SmHaz6=~wmiiq?Y(p2H8AIZaaevBovLxurcg zvsBeV45va{5>N6rPqBK)=f1qjw+@q1^?I^9d!_N5gw{%toXTKF<8ZA zkvnB-t3Y8XlA%_CE&E$J)*6pA8LqE1D1G6t^iC_$VAR*?X%aJ;Xw#p_3ZBF0q;Ak# z6ScC^cUGDhS-S?zzL*Bem*cHn^LI1%B|_o45eB3JVI5b-19cBj5ZHPptfsbha$Ixc zrajf|faby^BO@cxxRypz;x)}RUncsYkD-nciZnO+ks+}4>BLvrfglKCqUUFFdXDiTR{cP4GOp2ubLtlCf^7ekL=2VLV-IG})aDDKfQlw?!JO zK0!O*M%Fe<*9lAvcE%rjNlc6QUew=@pPhj`e-R^uun451Fepb^(%4v?+;~Ud+%=#XG`l3c2Y);o-$|Syi^;}Gn+`C*= z^JfCx40cBMI8JSrgQqyn`gw89YZYn-VWx%g>vQO)#`Q{o)b(cNNU@dF`=HRAk80m5 z9<0q-&CC&ajUI|&{0|N$dPfS$gK|?`>$7@;k7np8l2szOOW3*e^f&H5H~ay~x>IJ{ zXckvVe&>l*Xo7}uLM718HNC+;XTq_jm3(C}!P#twWEX>3a{ci}!*R*cF)?hDh}wS4 zj?Ot4PyHKVk4;`4dP2za<`+~Z4AOp-NY9+7!nIL^KgMMDr=h++{IlrMwLjDOT344- zz=0{7zvJt}xZ3U@tsFDN#{{l}jG|2l5+PE?_mnT_-jel_y#Gt9xQJPKt66_Afnu#u zA!QTCUNqEbjxw@FKFjmL67LW1+_lZb`?3`o+zpM5Cj63qBrl8RgHiUFee956zi!W~ zjNz2;eX36ZOp?z{=uASI?t8%4adGHtBO5)FR;!1T6_xe%^ggY!56%Oaqf8|011>eL zSLtMPnw(}xZV4yoyh`3^Tq)1@usX$r{ME7{)*#{&M8Iq)mKGT3e!Ksw4h(^nfVZUo zkTY{?OEBe>b~p%AyfkwHgNxO4Lg`TzUE?WlOGz42T=L!2a|9wAFmQ(OlT+VEvld-;p5|^$w}> z)_U9Cx=U{h^73c9zZ60>sYh;?5jFZ=i0J^vz;IU3_p7=)y(CO=3^BiJ{#lsO8K5cY~vQpZ#tP}m2=(>dBQqv);1Y#qa&By4yEb%k!V^{ zmSj6mR7AnhFLW$PY$$fs**PG`+D7sInjtdMsG+*UzCCr!Yr7pZHn+aN-w{p|WTHHg zHIrG0mqjPhu?N&`%W|5~|HnuYfPK(Z0^dLt4Aaf-=Xn*(j z&!UmpHVEZPYPga0W9YRML zoWDo*8L#PHr@z1d74!9xQ_<1GB-`qRF_XMEoG{8&1J#7?omf( zowpwElJ|d^Rchs2$m#P@9Mqvh(Jqt~TeH)#YQ>;^{eS=Zjk<67GhCHWeTUulv5PGh5 zmbxD@U(fHLzbhK@rWS-Le#ZLhP_*liuf=My6>^Y|Hb>X|a%#BxmDzM6K^fohGFrIW z>y6!V=^+(EJeN*sKbLaCFmG@1xT&*}{2qrZa-qc7yxNkBblL;|0hciMu_>}GRFUJ0 zCa0oET%doGkSsZxQ>=T+wQ)s9^ny}X}pMWOzrRt`1!+AzpXtzh`-DzN#a^&Ta~^~K+{p`l85Cf+5< zuKW1X`C2(CAuvACn8)vI&-5vKYiwPjJ-4zJEm2r6!{Y<~2X;|{j*GKpVc<=> zxRzEw&t!GJAU~t|8Iy=+<952Dyr%v z>c$Ap$?98oq%VPbA=d>6eXAhhAgU%O^OBGFjn)OR=g^b&`BbMyM`_)AbW zhrfFWZ`G2;SYMJ2a6vzyoyM@=Wh!Jy+ONxW+F{j0A^Q~2Zyn0oKhEC68K{c+`1l-> z`dT)uiqK!05H)(w1!Nvi{+jqm*6Ap53$yd|ZJLS6+n@%F<1-Art3jCVGHa?lGzddC zQPxcu9U;(!x$%zH?7{i;TxwbK)%0g(Yxl1*R7EGF!3zd#%SciAGf)m{-0fA6TBxv}zk zu62FJ|7bSA)8%MEUJ`3Iaix%L04*4PhaCJ^Uv$?8F(C~8`QwZZ%dup-I;!Qz-{MGF ztSsW;?JZu-Slykm%%+y5yI->)T6*VoJIJXKJRUt9*gQ)m;4ltoyvZ?CNT#?lP!m92wOp%hV9qbghF{VfJ>@sjsdmRnXEz*x+ZupHn0JYi(qu(0Ag(Ejbj8 zk+(C)l9H01_V>Fo>~+2+vn}Kw-ezP{e{p62qn(TNP-+agS_ndkACWwzQQ=lsl2^{z zL&am~igz6(D#+LE3G>b2E}I^~*TZ&VM@2hbPfAb^*BjeK(ke_L*RAE^7CQaFlfRlsQ z`TJ(MYsm4@@pEuXD&noK?p(b-k9t&QQJki;d(o>DyWa9t_|!1?%hof1i=wYqjT#!+ z2y~{}6ZeVDpTZ_d-r!ybndUC{S)M?8LfTG$o0G+W>-kD)f8F_$WztDI2ShcOj@_e- z!^WL}oxa)`2-I5|a8LBaCN;EJUkPYXAeX(78)lmoQiZ~!L7^*)?++Nd1rc9IFASwK z%$cRTHP<$|>;MM`OIIB+(gr&hBU;db?`(xhwK-g5GUu_12 zT0@$%56zb-{tUT)Dv5;d6)!t+c5T^d7skIgh_V_IuTG_P*IR;+I2SZe`X44j{nz#5 zn-j#FhL6YX)=m-|ANdW!jdiz2$Ca|%K(#Y$)e)=*9UVcCBF-T3^yes&sM=<}A|{u< zIa|v?_7|l15f;the1TQzi|N^tvqDF9-7=%XR}MZtE7Qj_MzsQ~G?@Wc7pwU^8udJ^ zCK-j7`-xnLYt_z&U48N|?wFJuc6S%cZuW zXOm7%n!nSJ909{|0 zuT~WpXzo6c^f}6V+NAH&>C{c4jew24{#iK{e(L)T-{;guuP1aqRiuU2=;o+)i0L_} z7!oBeCdSzp^>&4^%TQGw+vLLzwKo>WyMv!5b9)acO=)6cY{{~4Sf(QP3WbqZRdJvJ z8aMs=G0WC;a&e#`eVV=M@x#|=iXlP~de)^eJYQXeilAAO=Nc` zhWwqD&(0yM`6K8dOoTTTrj^6+ti_Jjxv?!9^K#ZL*}5`|Cfq78)#!5bEw7~=tXX~( zgQZu{1is@Bn}B(Hd3m|G#DtTSNox=OqPi=eKL5OzD{CSgQ_CL8-|}?hN9F@&;5c~E zvmRJFDqfvmXT`Q)u()?}nR&fA->z5MJlTynUG-@0$r&k5k#*k?(`DPxWf*hos2t_g z;R;pc=6*y${wckk*a$4(E6cLlXBXC{6ZWVs)huPYh{ncd-F9}4L5CJz_|QF7A;6L- zyd;~I#Mzw63N9C$Pd@A`H9Lng2D3H_wp8G)yELd1K8qlW@-um?v>$MF(cK5~^5vsGP7rG^c0k zbJ=)2+dT0tn_k@a@BA(FTCv|7-|3LE>AE4(i4liJt(@IMS0p8BL-m_zksxcM7oFDn z&f7SA)F?q+Zx!Es2f0$_ZG7gt2tm+%_wVCOOFiM*6Uq ztFB-NX~P~6jZELzpBBg3$A*|0EsKGJ@Pi||p_eS^YUayRH?e3{t}otA(OBtOQ+oW~ zUXn|g`1H(-?#fFKgoNafTAc9jH_h^|P~LDVDFcqtXWEOJ*SH7`Y)9v5NMCF@sciqL zel*-+wJ3UaYI^m35W8x<_ZcYR`1d4R=xR#tRZ0n$HuX{o#89GW=2NO}YtOq}U4&YH zY||v&+`juA2B;Zt(t>qd6-M^@&!1Nz*^z-AmRSPt4_C|fvN6_u=tdp*nU!D*k)Axz z3)yL)siCg!b{5oLE?Xp(kwd81;bQpr(dnidoSx9rSyWp3I?wd7uxgvb7YQjC?(gq^ zdc9tDB#{8Q10ZjKvlr}lm@^z74R7`B+9Bdp#5N*5b*F!pljo5ve(SJN`ewFyP0SCn XiIM$EVdNbP0)9$z>aR*=%s&1f2dhrN literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/360x640/hs-portrait.png b/nokia/www/preview/images/device/360x640/hs-portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..752581516893143a59759c573fa5d2eebca3fa86 GIT binary patch literal 42065 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 Q@HL8@w6avC#7F=C1Kvi-R{#J2 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/MenuItem-keys-Bg2.png b/nokia/www/preview/images/device/MenuItem-keys-Bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..670014480b72f19841f4a18ee0bfae893c74dafe GIT binary patch literal 3024 zcmb_eX;_kJ7kHSNw2(e*eDj`u;r2bv@@?=bZaK_j!t9qa*CB z7h3}WV7F~+_;vs=r5n%QmKMf!|I)}JRIU(mqQbrCrU% zQ_}Meb`gUCz~<1l@UR_6-i}sQyu0rM(A64%%NmUUU?FdhFP}-kqf+t`_QviGLUuUOMS`i?nUB zx}=xvIUsh=LS5|VT*=X(J`z&fIfkfVO`0G-W2q#yWMV*~_&xdH_6-3yoB|p*f6G|1 zXvEnxxI@b~Xw6THpml%tcQ8@?G3ccGJRa}xEC_;wPqDMllLUH!;Mmky#(@l8AoShF zHM$lP%)(E%+b8q0Ho7pdK?!)1$W@)qy~qMQ7D-f?Jdk7i*p~Hdb|gs?A6TbZwm5`WT8TjD`#Z*5PQ|&Am_`> zvkb~@v$fbf??XkFyzgqe z_c-33f-xi3?U4Xa@8vLv=3liV9kC{%lmfA%$<2fz64DqY$}lx-1BV<`%<#yXw=x=& z$xL6op77_Bva@4tsOqWjl`%DR2Rb%g{o+yRSA@Td;VAvoQYiyF{?!#`o81kp?ekq5 z#8O`+Ck+ki-B!85R{j-x<@RyYzh{YS7#zVdn_wE75ly`wFqXABN(UPn&`XwzP;ihL(l(AZZoq{-DqdeX;8H8@WIZ z4zHuWW?(5Bw|pCON|c0sXJy#u{aA%g)o*ED6h2X@S2YBvmYgyMzVEg=$iE<(E^@~a zW=hY=HJPSvO|*SC#i+gdR7%+(IIOr9%#cfo&M|U1|VicuM@3q>U7 zjmgmyS(-p$jZW-FO@4d~R!Ts5D*HG9~5jOV)1!BV=SJL&6X-1WL0g0b2s$XSx9g1BUe%4ysd+ z6o}&HBL6jt;04FCg@vLtC6kLbDap2ng7Vlb362mF+M#NAq04PkSa3B*!4^E5wNhRO z7+soIyJd0~<7U5T#kmfmSZ_|bPEu!zn)!o?MobTL7owrNwSqX_k+pE`Ad z{cKhmPO%oYV+)%aDgM--^$uok9t+wOE9cV7gm}g3k>mVO_+xqASGF(>Y{9V|)$gWM z+2(#v_^0g&gCOFP&_=9K;}mCAOlPr=n3J4HKwfa9i{fN0mWD&=OmCQYNf-|zDun{= z+uH6kb+h%A!ps%g3#%#ji!o?_Y8^=SkgB$VNhln>z)z7U?R3;UD(ae)vSY&eiOG z!cUjF-oDap6Q%GrB1*IXuYfH#)szLsOKz(oSVpcjb}aITx<*8~oxif7Q}@!9P&@a0 z%UqA#G0mSfaa*lCBT;lkDbkcAs;uQwS&^7K)2Nwp zu%$-bZzJ3qtCgTUDY|p04E>rPhw6t|j)yVS$wDJKdth}`U{iQWJWf$-mD4ZNy^K*m znx3(w7h)|9H*f?(tn|3(2%9yYj?6{x44mE`KV(igw=ni|g*j~)Lv=49yTO}rge*pZ z+53OQ+trUMN|L5DM%auh++iw${*xim^1q?7)YeUf9KFKwr&`ef*rQUo2n?w2mbP(8 zNL%BOu!Dm7bkvDTDvl7rW|_(*i{qnr4SoDz6wL#Vn->$_(cb{ZH^AVvniSJZ{%P;J^%m! literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/device/menuKeys-bg.png b/nokia/www/preview/images/device/menuKeys-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2d74cd89ee6eeb6c20475a6063f361697215b3c0 GIT binary patch literal 3312 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 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/gradient-bg.png b/nokia/www/preview/images/gradient-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..6a49674f4acaf8a80d558ed36283991599c79133 GIT binary patch literal 1276 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 O0MgXjr16Sp^8W&IKejXg literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/infoIcon.png b/nokia/www/preview/images/infoIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..da1e5334c19375c7855e04792661bf2cc15b7e14 GIT binary patch literal 524 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 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/messaging-icon.png b/nokia/www/preview/images/messaging-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6313849bfc77c25e920b103120d70fb6474f4567 GIT binary patch literal 9593 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 OAt}qN%hkx3h5r{f1fbFY literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/normal-orientation-icon.png b/nokia/www/preview/images/normal-orientation-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8582a241fc434be32a5e2f311e9a74d7ea2d9bfa GIT binary patch literal 5879 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 N002ovPDHLkV1l#lahd=C literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/settings-icon.png b/nokia/www/preview/images/settings-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c7be390c631c932422270b20a2f74faf25c6f78d GIT binary patch literal 15805 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�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 Hu0mjf-vrTQ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/statusBar_240x320.png b/nokia/www/preview/images/statusBar_240x320.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f9c03dfbfb3d772f6213c2e4eb33678ba103bb GIT binary patch literal 2831 zcmV+q3-I)bP))va^HL2=bZDrFXwlj=Q-!O z7~F0*0sm_IXZi1T?>5&rG?2+;Br+Jtz_*4SPFl1mnhFjapcTJZnMw)@3bO_#dGXE7 zCc60LMKXt&$!L_-ZUVt;YyVBvH8mixdSeO-(+q!%sfWNnfBbREd@hrknwlsiIGAe; zTD`;Jps465dh*E>^=1_mW&r*eQ-gG&rwdunXK9~Be=Smf83l#!fXIW;`$6MpSYIp_8BHogBQt? zgbZBs2SVm6-F>WJb}oTjHi$mYa;fKnd&`9=+Fp_*mE=uHNugc4c4@9Z*JXAw{D$wkNYK9)55|+E4~*M6=_}ofbSbOZcG*n!YS@gBQM4lGMQ3;mbnW;a^DH) z1Au-!b}By;NPHBphT9#)Js#hF=+Gf+d3iZyWo23UnMsjY!5?Ef=@>XHEG*Wtvzf1q4IiSR_D30G}We zaEEOt114%#zeT*yH`jDfNFIbh9)tE#HBcD!&{ zWqUDRjGDd*{uoowF0?;e*TA{Tb3gdQ-n=dMy1F(jOvANIy)b{{`zbCd17DH=~@AT>o$92|C*Ho=`gW57KW>9m9lWP zneZRM{e@KqvEk0L1x4MOB}L5GFd*Z|iEGAuWw-F9t?0fg_VOPD3b_kQZYYi}4laF+Tt7e0f&(^JZVhw70jH_P?>8vUg;sPALXvqTlZ7>Uw8ESa@J_ zbMwNj5u%b!9YKMxC{di2ew|naXoRMf1o!iDsunfBS)&G<(w=)G@ke!Oy*{`rnVf=j)tf7c?CFvx2_vqteU7QRzU^(B95&eV6-+GDF ziZKpKx0zjLl5siLFJppgiv^c(Y1yS5e}_^Zt7)q+qcO0shEAi=c*JZrQ)^r6(_Hs^ z#JZ*cBfHeYFSNHeL@;^#I0k;x?Q&NK1_n;~;e@5UEp%v-9)xhk6X2feT=Hb$R%;ee zy2N@Cp+B$9t+irP%j4ck7kdJD|7K7`l0n?PEbuP%-fI$H2M?Kg=Y4JJcNN z<~VVEd_p{#0!@e+BiJf~ya!n3>P)``SY;G{Aa|H?geA$SpfH$%b#PVT2J0*->a6~}1i0#1Sy^N1MStUA17cf% zV_45d8R`_F6=n)Eat;i4802OvE31ZhfIkHU1pJuCvY1S!6E2r)BFpO`FbK=nF@mh| z*dYdxmBqL-&cfl@#TKrq-72@QN9y1{S9*`hCC^v9ix?H|GB(7RydQ};``~w6JVq@> z&2}(6swpV^e`8>DZeel-2aP%zax-xUu~Kju6F3^i>RP*Y?ON@;7aKrnX=&&m z=TU2LGz4HXit#0vmwaq6{R+oEfUvfeh&N@d%VbRD*!S-=va<{8j>M0)iC&CS*$?;ey-Qu;YwOuAH2l*FYW+3whQ^ zxbOvTYe(89%Z8&ZTgwc-&VVlR+*hDaZiqo=);AMY8#Mee1@D)9pmD_DHqf?h&myNHEB=uMw`Md3mM*jx2_}=gf3~cw%!-X8 z5C;<-gb`<~I2$d~3xftVEdCPD`!)YXc81bt{6NOmjEcr@ z8fnYs&9r;Z9x8mhkV;BRXz>pprPJl*p77M4q^e2Bz`D(=Q3Q6mT!b|N_x)HK8fbK~ z|3rW#{Ox!*1(}OQ@r8CS$Hr-kqzYe&6;(PJv_C3}cYB;E>(7;a4O2lX=Xu`2Xf)EM z^i3Lhhx!L7_my1DmA?4J7o+56BnA!&3K~240}SMFIs%7=hA1*JD!}D(exJ{eO(LuA zSV=))j={~m8A)ae3N>q=!OSD?HGW27;Fn+C>65@thqI@+`2BNVU%PfCD9AkZNB-~A zofWP#$a_}(P+noK!O7m~C!c;wz4z~vb9h*@$XEYSt^L?X5A{E>6clD53JMBJtG}uy z3efmSPPdB!@SkjwlIV~7_GL^d23Al|m|jFLTC^uVKAucLCUU#nR_6c! literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/statusBar_320x240.png b/nokia/www/preview/images/statusBar_320x240.png new file mode 100644 index 0000000000000000000000000000000000000000..fb07b18a2bf2c9135c5561655106959ddfe65955 GIT binary patch literal 2937 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 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/statusBar_360x640.png b/nokia/www/preview/images/statusBar_360x640.png new file mode 100644 index 0000000000000000000000000000000000000000..96945118695ded35892e2b3cded5fbe1f9345604 GIT binary patch literal 5734 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 Y0Dt;R(c$A9x&QzG07*qoM6N<$g5XR%E&u=k literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/statusBar_640x360.png b/nokia/www/preview/images/statusBar_640x360.png new file mode 100644 index 0000000000000000000000000000000000000000..4cc3d91832802224afc1421d756bf245da036d1b GIT binary patch literal 6052 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 Zo$=_NM^?;u-?ZKFo~yhBS14P2{vY`k&WHd2 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/statusBar_800x352.png b/nokia/www/preview/images/statusBar_800x352.png new file mode 100644 index 0000000000000000000000000000000000000000..be6d9caba0c71b26099c4d7d51041dd621e31d7d GIT binary patch literal 6171 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 FV1jW@u1){| literal 0 HcmV?d00001 diff --git a/nokia/www/preview/images/warningIcon.png b/nokia/www/preview/images/warningIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..de51084e8489f498b89dd9a59d82eb9564b7d050 GIT binary patch literal 516 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 D7+&cZ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/nopreview.html b/nokia/www/preview/nopreview.html new file mode 100644 index 00000000..d721fa15 --- /dev/null +++ b/nokia/www/preview/nopreview.html @@ -0,0 +1,44 @@ + + + + + + +

      + + diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/000000_40x100_textures_05_inset_soft_25.png b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/000000_40x100_textures_05_inset_soft_25.png new file mode 100644 index 0000000000000000000000000000000000000000..d97a0a69168664b5071fb20a1da7f2cd5fee6afe GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!N$PA*qrS221xOHx;TbpG`^kT$=7Tkz>>Qm zf=}oF|D2+8i&iY1*P<9AyLO>wk0kTfDMi};CFhy%OXYmF+0Xax_dly0I;Z`oWFK1v2hyKd_uX z6EAv-SK-eY7NLrl4m+=(Y|NTImHFzwx|oC?GOKp4^!iuo@j#U6<_k`h2@Xu0d;Ai9 zyuQQ96rIhI#(idg&W{g@AYmKNgdgIyCJ)19c$@S%b}77QTELCOc*z>Q_G?Caf6M>& zZngahU(Vmo5GZlHpt?Wdm)Yggo#nf~H0^xL)ntdJ^R(=wDDKCJAu2M!aANRu^>bP0 Hl+XkKgF22N literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/0078a3_40x100_textures_02_glass_40.png b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/0078a3_40x100_textures_02_glass_40.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b87eb216ac03fe7eb27fc963e2306664a4f6f8 GIT binary patch literal 3134 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 QeSYDMfsUzmHOwLWKLE4C1poj5 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_leftright.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_leftright.gif new file mode 100644 index 0000000000000000000000000000000000000000..b26780a3b519071fe2341991b85621d6f44e8df4 GIT binary patch literal 58 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDm;`(JSDt3vcVM!oUzf(Z L4L{e5FjxZsbBGUF literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_updown.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_arrows_updown.gif new file mode 100644 index 0000000000000000000000000000000000000000..69eb0770ae9de5f12144e945fd5786d47e551a16 GIT binary patch literal 56 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDnD~48S8`=Dh|gJf?!<;Q IcSISi0ZAea&;S4c literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_close.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_close.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff1ab99729c554e5aec24258e2bb8ab733750ffa GIT binary patch literal 125 zcmZ?wbhEHb3+CSa1Oq zfE9uW#h)yU3=BLBIv@_n3x$2+Z5#$DABHHq!_5e8fd7dxc|h&6E00h SKXGj1nZ^}bF;ha2!5RPqnk85O literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_doc.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_doc.gif new file mode 100644 index 0000000000000000000000000000000000000000..26db4340c1a9ba73ff8a8e024fd4bb2cf35d1733 GIT binary patch literal 64 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDn8bVf*|{&CxYcyVS6H~O Q^mBUcDfUSV%0w8f0nR=VBLDyZ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_closed.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_closed.gif new file mode 100644 index 0000000000000000000000000000000000000000..4efed68326e48add8cf75eeb42e0d3b9d9c7ee06 GIT binary patch literal 61 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDm_&N|SF-c|ikN)vq7?JC OwDa$DA4M=QSOWl@gb)z` literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_open.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_folder_open.gif new file mode 100644 index 0000000000000000000000000000000000000000..0032ff62d018f7d5442095c2701835df64363b64 GIT binary patch literal 61 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDm_&N|SF-cIdSrZQ<2I&s NA;rH^lY$r+tO1{k5Apy2 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_minus.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..6851f39811a8ae8a532c8641b76039bf74b384b1 GIT binary patch literal 56 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDnD~48SDxnOU)Wg^baT_a IWeg0~08dH{{Qv*} literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_plus.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_11x11_icon_plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..74ac5cb910d74824b3c098481a2b1f35acd52cbb GIT binary patch literal 61 zcmZ?wbhEHbJ3nK#qBZCeD5P)PDm_&N|IcIOba3*;Dp@h|E Oc+UPXO`IaaU=0AQbP*H) literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_down.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..29c6c706dd9961f80220744c417ca2dc6a6145ba GIT binary patch literal 52 zcmZ?wbhEHbWM^P!XkcJaQBq<2_gC>J3nK#qBZCeD5P)PDn7DiTIZg|_J3nK#qBZCeD5P)PDn0R`a(J3nK#qBZCeD5P)PDn0R~=Dpx#sdt;KfY$yYR FH2@=@3;_TD literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_up.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/222222_7x7_arrow_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..28169eb91959d1b21e2e1c99bd68e433f59febfc GIT binary patch literal 52 zcmZ?wbhEHbWM^P!XkcJaQBq<2_gC>J3nK#qBZCeD5P)PDn7DiT8yIVOC3{xSVq&lc E0162TQ2+n{ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/555555_40x100_textures_02_glass_20.png b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/555555_40x100_textures_02_glass_20.png new file mode 100644 index 0000000000000000000000000000000000000000..ed90c7eb7780da1966f096dde42c0d584e013630 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!N$PA*qrS221v1bx;TbpG`^j=k*`HTgvGVP z?9=3b^~>iTjjg@+^wXrf8n1jj=e=%N#CXZ({Q5li{rMJKHs;*^cGtr9vSPVE&k1#V zc9oj1q1>l;t=o7gDtk?VL|eea&b@WdHZS|2|8b>3U-B9QE75fZ>3N|N{}^t(_fcqM zvC=%fse;*C^WK3M{Ezn>*!SIT`nPy#ruhOV`sXe Jxg*M84FH^a56l1n literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_close.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_close.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c3529150d1824d0cb1fba2e35cf174a396044c4 GIT binary patch literal 125 zcmZ?wbhEHb5BUH9 literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_plus.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_11x11_icon_plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..e47eb961f415da0493d5eabf4e6eaf2588b7e37b GIT binary patch literal 61 zcmZ?wbhEHb|y+EmKLsspAEg O_QXA|ToA~>U=08YbQ2-~ literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_down.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e5b7d81a69606a6cd32119bec94ee388c44dbbc GIT binary patch literal 52 zcmZ?wbhEHbWM^P!XkcJCbM6e|zrTt2Gm F)&OSt4CVj; literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_right.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/cccccc_7x7_arrow_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c14c5ae1246c8dcce8e9dc5f53d1914f6c1f9a3 GIT binary patch literal 53 zcmZ?wbhEHbWM^P!XkcJCbM6e|zrTtD^qGMVhpebqaZU-1(Nvp<*@%kqik5`HLW YbdY`H?SP4MfzD^}boFyt=akR{0Ou)IAOHXW literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_arrows_leftright.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_arrows_leftright.gif new file mode 100644 index 0000000000000000000000000000000000000000..b23fdec379949e87e4e75005eba559161b961530 GIT binary patch literal 58 zcmZ?wbhEHbe Jxg*M84FI$n5L^HN literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_close.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_close.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cdf72f078e49c247c1b98705af2e2f28bb1584f GIT binary patch literal 287 zcmZ?wbhEHb z?}hvvA)hoHXP!$te6e7eYR}T7ojKi0IbEIDoaF@Dt%9UXCAeE_4r-|IwFxoRYY4I= KFgG|dSOWl7#X~;; literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_doc.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_11x11_icon_doc.gif new file mode 100644 index 0000000000000000000000000000000000000000..586b716bcaa6c59d18f02f12746407ad75e4cf85 GIT binary patch literal 64 zcmZ?wbhEHb2Gm F)&P9z4R!zk literal 0 HcmV?d00001 diff --git a/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_right.gif b/nokia/www/preview/script/jquery-ui/css/ui-darkness/images/ffffff_7x7_arrow_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab14178610fb9542d5e327f041353d009c9416a5 GIT binary patch literal 53 zcmZ?wbhEHbWM^P!XkcLY^Y0JizrTt^Q5eV1%$%9swRP7p zw>7(}`Ct|(g3v`G=%MHWQAC;a6um@H1VQ!CTL=->!y-X+(R%16W+h5=UE5NVkS>IF z5lzEO?rys~J3E)tcV>5W)kagIr~TmL`{tZ){&VIG-)|1HI4cW*ZAG)R?%v*d%rHzF zhjA`M#DX&{i&*NAa~v1VCpxW#Nbgy?Xwe)DVm3=kirr*3BZ23UU@{>KxS6`ef-Epj z-5hf|CkTRGi!nwQTrQDC|G<(WNs+%5(a0=s)-)|DLI^1h_X_LCg|c<@jdav(n`YNaCKi#k55q)LjiYl zv-tkQhmVkEfWM++OiIrBaYggOokh^%ZimAmWas2?@h+xV@OV64zu(^=MIvQG=H>cU z2D_e27KsU^L7U&Rr==CHEGV#Qs!CT7fvL&?A?J8vt)WQV=F4APu!3^f{1I7}i{a@5 z6KfJh4DrZoqEluqKaA!8H&IZKxX1N9gEh|BsFgX;E^C( z(GJ0$k&X4u!yMMJ#{>R&9f35$7$1vpjiHXil)oH0w(eOHk4cgLjYn;kcvPccWu+h~ zZ9FGRZ|+Jn!sD->GCH%nWeks+f}EXhxiL5#%-?X(X2p1FfrnMyl6LP?{}x-i|DECACJd9ON4Pnb$E3V$20E2&8for{qwkZ7b_BruAlnq z9qbM_h`*Gw?aE7iLvDPNCX2*`(k!X$y~V36h1-s1S^WbVx^(z+1n#QbA~ui1qoK&? zyIa?~1T$N%%48%QREy#1lkk`*Vu;6K#^y{XenUKhNIkX+xNV``oU4xj`eN*h=4?DV zVsnY}QQwzso`VS@wp}YS?aR{P$49>{Y$U=0B0Q`RPKjtVnh?P>^06AI1w0-)QJKVJ zQsh61z<*ww?eTH+^caXJr4=u_q}%WMW`@T=2%SEAc?^$=Mx4*T4L1&kIv$~m$M6`Cl#-5qZ}qABZ+-r7#8BW`-Ba<|>yD}M2v&qS*1fS{iLi6c z3NGHoA(cUuw;p@@hrA6TQ7VJFQ9S$EGXw&2C5-j`KP?E%Qq_aPrTa{gwdyKnF! z2<(ju#BEAEnt1Fo@m#s0l97-UDUO}KC*kq800RK@T!9*|y`L%o0000> Make your jQuery Components ThemeRoller-Compatible! +*/ + +/*component global class*/ +.ui-component { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Segoe UI, Arial, sans-serif; + font-size: 1.0.8em; +} +/*component content styles*/ +.ui-component-content { + border: 1px solid #666666; + background: #000000 url(images/000000_40x100_textures_05_inset_soft_25.png) 0 bottom repeat-x; + color: #ffffff; +} +.ui-component-content a { + color: #ffffff; + text-decoration: underline; +} +/*component states*/ +.ui-default-state { + border: 1px solid #666666; + background: #555555 url(images/555555_40x100_textures_02_glass_20.png) 0 50% repeat-x; + font-weight: bold; + color: #eeeeee !important; +} +.ui-default-state a { + color: #eeeeee; +} +.ui-default-state:hover, .ui-hover-state { + border: 1px solid #4bd94b; + background: #0078a3 url(images/0078a3_40x100_textures_02_glass_40.png) 0 50% repeat-x; + font-weight: bold; + color: #ffffff !important; +} +.ui-hover-state a { + color: #ffffff; +} +.ui-default-state:active, .ui-active-state { + border: 1px solid #ffaf0f; + background: #f58400 url(images/f58400_40x100_textures_05_inset_soft_30.png) 0 50% repeat-x; + font-weight: bold; + color: #ffffff !important; + outline: none; +} +.ui-active-state a { + color: #ffffff; + outline: none; +} +/*icons*/ +.ui-arrow-right-default {background: url(images/cccccc_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:hover, .ui-arrow-right-hover {background: url(images/ffffff_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:active, .ui-arrow-right-active {background: url(images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-content {background: url(images/cccccc_7x7_arrow_right.gif) no-repeat 50% 50%;} + +.ui-arrow-left-default {background: url(images/cccccc_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:hover, .ui-arrow-left-hover {background: url(images/ffffff_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:active, .ui-arrow-left-active {background: url(images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-content {background: url(images/cccccc_7x7_arrow_left.gif) no-repeat 50% 50%;} + +.ui-arrow-down-default {background: url(images/cccccc_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:hover, .ui-arrow-down-hover {background: url(images/ffffff_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:active, .ui-arrow-down-active {background: url(images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-content {background: url(images/cccccc_7x7_arrow_down.gif) no-repeat 50% 50%;} + +.ui-arrow-up-default {background: url(images/cccccc_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:hover, .ui-arrow-up-hover {background: url(images/ffffff_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:active, .ui-arrow-up-active {background: url(images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-content {background: url(images/cccccc_7x7_arrow_up.gif) no-repeat 50% 50%;} + +.ui-close-default {background: url(images/cccccc_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:hover, .ui-close-hover {background: url(images/ffffff_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:active, .ui-close-active {background: url(images/222222_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-content {background: url(images/222222_11x11_icon_close.gif) no-repeat 50% 50%;} + +.ui-folder-closed-default {background: url(images/cccccc_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:hover, .ui-folder-closed-hover {background: url(images/ffffff_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:active, .ui-folder-closed-active {background: url(images/222222_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-content {background: url(images/cccccc_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} + +.ui-folder-open-default {background: url(images/cccccc_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:hover, .ui-folder-open-hover {background: url(images/ffffff_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:active, .ui-folder-open-active {background: url(images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-content {background: url(images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;} + +.ui-doc-default {background: url(images/cccccc_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:hover, .ui-doc-hover {background: url(images/ffffff_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:active, .ui-doc-active {background: url(images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-content {background: url(images/cccccc_11x11_icon_doc.gif) no-repeat 50% 50%;} + +.ui-arrows-leftright-default {background: url(images/cccccc_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:hover, .ui-arrows-leftright-hover {background: url(images/ffffff_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:active, .ui-arrows-leftright-active {background: url(images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-content {background: url(images/cccccc_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} + +.ui-arrows-updown-default {background: url(images/cccccc_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:hover, .ui-arrows-updown-hover {background: url(images/ffffff_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:active, .ui-arrows-updown-active {background: url(images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-content {background: url(images/cccccc_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} + +.ui-minus-default {background: url(images/cccccc_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:hover, .ui-minus-hover {background: url(images/ffffff_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:active, .ui-minus-active {background: url(images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-content {background: url(images/cccccc_11x11_icon_minus.gif) no-repeat 50% 50%;} + +.ui-plus-default {background: url(images/cccccc_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:hover, .ui-plus-hover {background: url(images/ffffff_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:active, .ui-plus-active {background: url(images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-content {background: url(images/cccccc_11x11_icon_plus.gif) no-repeat 50% 50%;} + +/*hidden elements*/ +.ui-hidden { + display: none;/* for accessible hiding: position: absolute; left: -99999999px*/; +} +.ui-accessible-hidden { + position: absolute; left: -99999999px; +} +/*reset styles*/ +.ui-reset { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; +} +/*clearfix class*/ +.ui-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.ui-clearfix {display: block;} +/* Hides from IE-mac \*/ +* html .ui-clearfix {height: 1%;} +.ui-clearfix {display: block;} +/* End hide from IE-mac */ + +/* Note: for resizable styles, use the styles listed above in the dialog section */ + + diff --git a/nokia/www/preview/script/jquery-ui/js/jquery-1.2.6.min.js b/nokia/www/preview/script/jquery-ui/js/jquery-1.2.6.min.js new file mode 100644 index 00000000..82b98e1d --- /dev/null +++ b/nokia/www/preview/script/jquery-ui/js/jquery-1.2.6.min.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ + * $Rev: 5685 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
      "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
      ","
      "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
      ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/nokia/www/preview/script/jquery-ui/js/jquery-ui-1.6.custom.min.js b/nokia/www/preview/script/jquery-ui/js/jquery-ui-1.6.custom.min.js new file mode 100644 index 00000000..56de5887 --- /dev/null +++ b/nokia/www/preview/script/jquery-ui/js/jquery-ui-1.6.custom.min.js @@ -0,0 +1,78 @@ +/* + * jQuery UI 1.6 + * + * Copyright (c) 2008 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ (function(C){var I=C.fn.remove,D=C.browser.mozilla&&(parseFloat(C.browser.version)<1.9);C.ui={version:"1.6",plugin:{add:function(K,L,N){var M=C.ui[K].prototype;for(var J in N){M.plugins[J]=M.plugins[J]||[];M.plugins[J].push([L,N[J]])}},call:function(J,L,K){var N=J.plugins[L];if(!N){return }for(var M=0;M').addClass(J).css({position:"absolute",top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");C.ui.cssCache[J]=!!((!(/auto|default/).test(K.css("cursor"))||(/^[1-9]/).test(K.css("height"))||(/^[1-9]/).test(K.css("width"))||!(/none/).test(K.css("backgroundImage"))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(K.css("backgroundColor"))));try{C("body").get(0).removeChild(K.get(0))}catch(L){}return C.ui.cssCache[J]},hasScroll:function(M,K){if(C(M).css("overflow")=="hidden"){return false}var J=(K&&K=="left")?"scrollLeft":"scrollTop",L=false;if(M[J]>0){return true}M[J]=1;L=(M[J]>0);M[J]=0;return L},isOverAxis:function(K,J,L){return(K>J)&&(K<(J+L))},isOver:function(O,K,N,M,J,L){return C.ui.isOverAxis(O,N,J)&&C.ui.isOverAxis(K,M,L)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(D){var F=C.attr,E=C.fn.removeAttr,H="http://www.w3.org/2005/07/aaa",A=/^aria-/,B=/^wairole:/;C.attr=function(K,J,L){var M=L!==undefined;return(J=="role"?(M?F.call(this,K,J,"wairole:"+L):(F.apply(this,arguments)||"").replace(B,"")):(A.test(J)?(M?K.setAttributeNS(H,J.replace(A,"aaa:"),L):F.call(this,K,J.replace(A,"aaa:"))):F.apply(this,arguments)))};C.fn.removeAttr=function(J){return(A.test(J)?this.each(function(){this.removeAttributeNS(H,J.replace(A,""))}):E.call(this,J))}}C.fn.extend({remove:function(){C("*",this).add(this).each(function(){C(this).triggerHandler("remove")});return I.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var J;if((C.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){J=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(C.curCSS(this,"position",1))&&(/(auto|scroll)/).test(C.curCSS(this,"overflow",1)+C.curCSS(this,"overflow-y",1)+C.curCSS(this,"overflow-x",1))}).eq(0)}else{J=this.parents().filter(function(){return(/(auto|scroll)/).test(C.curCSS(this,"overflow",1)+C.curCSS(this,"overflow-y",1)+C.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!J.length?C(document):J}});C.extend(C.expr[":"],{data:function(K,L,J){return C.data(K,J[3])},tabbable:function(L,M,K){var N=L.nodeName.toLowerCase();function J(O){return !(C(O).is(":hidden")||C(O).parents(":hidden").length)}return(L.tabIndex>=0&&(("a"==N&&L.href)||(/input|select|textarea|button/.test(N)&&"hidden"!=L.type&&!L.disabled))&&J(L))}});function G(M,N,O,L){function K(Q){var P=C[M][N][Q]||[];return(typeof P=="string"?P.split(/,?\s+/):P)}var J=K("getter");if(L.length==1&&typeof L[0]=="string"){J=J.concat(K("getterSetter"))}return(C.inArray(O,J)!=-1)}C.widget=function(K,J){var L=K.split(".")[0];K=K.split(".")[1];C.fn[K]=function(P){var N=(typeof P=="string"),O=Array.prototype.slice.call(arguments,1);if(N&&P.substring(0,1)=="_"){return this}if(N&&G(L,K,P,O)){var M=C.data(this[0],K);return(M?M[P].apply(M,O):undefined)}return this.each(function(){var Q=C.data(this,K);(!Q&&!N&&C.data(this,K,new C[L][K](this,P)));(Q&&N&&C.isFunction(Q[P])&&Q[P].apply(Q,O))})};C[L]=C[L]||{};C[L][K]=function(O,N){var M=this;this.widgetName=K;this.widgetEventPrefix=C[L][K].eventPrefix||K;this.widgetBaseClass=L+"-"+K;this.options=C.extend({},C.widget.defaults,C[L][K].defaults,C.metadata&&C.metadata.get(O)[K],N);this.element=C(O).bind("setData."+K,function(Q,P,R){return M._setData(P,R)}).bind("getData."+K,function(Q,P){return M._getData(P)}).bind("remove",function(){return M.destroy()});this._init()};C[L][K].prototype=C.extend({},C.widget.prototype,J);C[L][K].getterSetter="option"};C.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName)},option:function(L,M){var K=L,J=this;if(typeof L=="string"){if(M===undefined){return this._getData(L)}K={};K[L]=M}C.each(K,function(N,O){J._setData(N,O)})},_getData:function(J){return this.options[J]},_setData:function(J,K){this.options[J]=K;if(J=="disabled"){this.element[K?"addClass":"removeClass"](this.widgetBaseClass+"-disabled")}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(K,L,M){var J=(K==this.widgetEventPrefix?K:this.widgetEventPrefix+K);L=L||C.event.fix({type:J,target:this.element[0]});return this.element.triggerHandler(J,[L,M],this.options[K])}};C.widget.defaults={disabled:false};C.ui.mouse={_mouseInit:function(){var J=this;this.element.bind("mousedown."+this.widgetName,function(K){return J._mouseDown(K)}).bind("click."+this.widgetName,function(K){if(J._preventClickEvent){J._preventClickEvent=false;return false}});if(C.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(C.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(L){(this._mouseStarted&&this._mouseUp(L));this._mouseDownEvent=L;var K=this,M=(L.which==1),J=(typeof this.options.cancel=="string"?C(L.target).parents().add(L.target).filter(this.options.cancel).length:false);if(!M||J||!this._mouseCapture(L)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){K.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(L)&&this._mouseDelayMet(L)){this._mouseStarted=(this._mouseStart(L)!==false);if(!this._mouseStarted){L.preventDefault();return true}}this._mouseMoveDelegate=function(N){return K._mouseMove(N)};this._mouseUpDelegate=function(N){return K._mouseUp(N)};C(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);if(!C.browser.safari){L.preventDefault()}return true},_mouseMove:function(J){if(C.browser.msie&&!J.button){return this._mouseUp(J)}if(this._mouseStarted){this._mouseDrag(J);return J.preventDefault()}if(this._mouseDistanceMet(J)&&this._mouseDelayMet(J)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,J)!==false);(this._mouseStarted?this._mouseDrag(J):this._mouseUp(J))}return !this._mouseStarted},_mouseUp:function(J){C(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=true;this._mouseStop(J)}return false},_mouseDistanceMet:function(J){return(Math.max(Math.abs(this._mouseDownEvent.pageX-J.pageX),Math.abs(this._mouseDownEvent.pageY-J.pageY))>=this.options.distance)},_mouseDelayMet:function(J){return this.mouseDelayMet},_mouseStart:function(J){},_mouseDrag:function(J){},_mouseStop:function(J){},_mouseCapture:function(J){return true}};C.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);/* + * jQuery UI Draggable 1.6 + * + * Copyright (c) 2008 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * ui.core.js + */ (function(A){A.widget("ui.draggable",A.extend({},A.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return }this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(B){var C=this.options;if(this.helper||C.disabled||A(B.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(B);if(!this.handle){return false}return true},_mouseStart:function(B){var C=this.options;this.helper=this._createHelper(B);this._cacheHelperProportions();if(A.ui.ddmanager){A.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};A.extend(this.offset,{click:{left:B.pageX-this.offset.left,top:B.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});if(C.cursorAt){this._adjustOffsetFromHelper(C.cursorAt)}this.originalPosition=this._generatePosition(B);if(C.containment){this._setContainment()}this._propagate("start",B);this._cacheHelperProportions();if(A.ui.ddmanager&&!C.dropBehaviour){A.ui.ddmanager.prepareOffsets(this,B)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(B,true);return true},_mouseDrag:function(B,C){this.position=this._generatePosition(B);this.positionAbs=this._convertPositionTo("absolute");if(!C){this.position=this._propagate("drag",B)||this.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(A.ui.ddmanager){A.ui.ddmanager.drag(this,B)}return false},_mouseStop:function(C){var D=false;if(A.ui.ddmanager&&!this.options.dropBehaviour){var D=A.ui.ddmanager.drop(this,C)}if((this.options.revert=="invalid"&&!D)||(this.options.revert=="valid"&&D)||this.options.revert===true||(A.isFunction(this.options.revert)&&this.options.revert.call(this.element,D))){var B=this;A(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){B._propagate("stop",C);B._clear()})}else{this._propagate("stop",C);this._clear()}return false},_getHandle:function(B){var C=!this.options.handle||!A(this.options.handle,this.element).length?true:false;A(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==B.target){C=true}});return C},_createHelper:function(C){var D=this.options;var B=A.isFunction(D.helper)?A(D.helper.apply(this.element[0],[C])):(D.helper=="clone"?this.element.clone():this.element);if(!B.parents("body").length){B.appendTo((D.appendTo=="parent"?this.element[0].parentNode:D.appendTo))}if(B[0]!=this.element[0]&&!(/(fixed|absolute)/).test(B.css("position"))){B.css("position","absolute")}return B},_adjustOffsetFromHelper:function(B){if(B.left!=undefined){this.offset.click.left=B.left+this.margins.left}if(B.right!=undefined){this.offset.click.left=this.helperProportions.width-B.right+this.margins.left}if(B.top!=undefined){this.offset.click.top=B.top+this.margins.top}if(B.bottom!=undefined){this.offset.click.top=this.helperProportions.height-B.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var B=this.offsetParent.offset();if((this.offsetParent[0]==document.body&&A.browser.mozilla)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&A.browser.msie)){B={top:0,left:0}}return{top:B.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:B.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var B=this.element.position();return{top:B.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:B.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var E=this.options;if(E.containment=="parent"){E.containment=this.helper[0].parentNode}if(E.containment=="document"||E.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,A(E.containment=="document"?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),(A(E.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}if(!(/^(document|window|parent)$/).test(E.containment)){var C=A(E.containment)[0];var D=A(E.containment).offset();var B=(A(C).css("overflow")!="hidden");this.containment=[D.left+(parseInt(A(C).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.margins.left,D.top+(parseInt(A(C).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.margins.top,D.left+(B?Math.max(C.scrollWidth,C.offsetWidth):C.offsetWidth)-(parseInt(A(C).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left,D.top+(B?Math.max(C.scrollHeight,C.offsetHeight):C.offsetHeight)-(parseInt(A(C).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(D,F){if(!F){F=this.position}var C=D=="absolute"?1:-1;var B=this[(this.cssPosition=="absolute"?"offset":"scroll")+"Parent"],E=(/(html|body)/i).test(B[0].tagName);return{top:(F.top+this.offset.relative.top*C+this.offset.parent.top*C+(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(E?0:B.scrollTop()))*C+this.margins.top*C),left:(F.left+this.offset.relative.left*C+this.offset.parent.left*C+(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():(E?0:B.scrollLeft()))*C+this.margins.left*C)}},_generatePosition:function(D){var G=this.options,C=this[(this.cssPosition=="absolute"?"offset":"scroll")+"Parent"],H=(/(html|body)/i).test(C[0].tagName);var B={top:(D.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(H?0:C.scrollTop()))),left:(D.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():H?0:C.scrollLeft()))};if(!this.originalPosition){return B}if(this.containment){if(B.leftthis.containment[2]){B.left=this.containment[2]}if(B.top>this.containment[3]){B.top=this.containment[3]}}if(G.grid){var F=this.originalPosition.top+Math.round((B.top-this.originalPosition.top)/G.grid[1])*G.grid[1];B.top=this.containment?(!(Fthis.containment[3])?F:(!(Fthis.containment[2])?E:(!(E
      ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(A(this).offset()).appendTo("body")})},stop:function(B,C){A("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});A.ui.plugin.add("draggable","opacity",{start:function(C,D){var B=A(D.helper);if(B.css("opacity")){D.options._opacity=B.css("opacity")}B.css("opacity",D.options.opacity)},stop:function(B,C){if(C.options._opacity){A(C.helper).css("opacity",C.options._opacity)}}});A.ui.plugin.add("draggable","scroll",{start:function(C,D){var E=D.options;var B=A(this).data("draggable");if(B.scrollParent[0]!=document&&B.scrollParent[0].tagName!="HTML"){B.overflowOffset=B.scrollParent.offset()}},drag:function(D,E){var F=E.options,B=false;var C=A(this).data("draggable");if(C.scrollParent[0]!=document&&C.scrollParent[0].tagName!="HTML"){if((C.overflowOffset.top+C.scrollParent[0].offsetHeight)-D.pageY=0;N--){var L=E.snapElements[N].left,J=L+E.snapElements[N].width,I=E.snapElements[N].top,S=I+E.snapElements[N].height;if(!((L-Q=N&&L<=J)||(K>=N&&K<=J)||(LJ))&&((D>=F&&D<=B)||(C>=F&&C<=B)||(DB));break;default:return false;break}};A.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(E,G){var B=A.ui.ddmanager.droppables[E.options.scope];var F=G?G.type:null;var H=(E.currentItem||E.element).find(":data(droppable)").andSelf();droppablesLoop:for(var D=0;D').insertBefore(H.headers);E('').appendTo(H.headers);H.headers.addClass("ui-accordion-header")}var J;if(H.fillSpace){J=this.element.parent().height();H.headers.each(function(){J-=E(this).outerHeight()});var I=0;H.headers.next().each(function(){I=Math.max(I,E(this).innerHeight()-E(this).height())}).height(J-I)}else{if(H.autoHeight){J=0;H.headers.next().each(function(){J=Math.max(J,E(this).outerHeight())}).height(J)}}this.element.attr("role","tablist");var G=this;H.headers.attr("role","tab").bind("keydown",function(L){return G._keydown(L)}).next().attr("role","tabpanel");H.headers.not(H.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!H.active.length){H.headers.eq(0).attr("tabIndex","0")}else{H.active.attr("aria-expanded","true").attr("tabIndex","0").parent().andSelf().addClass(H.selectedClass)}if(!E.browser.safari){H.headers.find("a").attr("tabIndex","-1")}if(H.event){this.element.bind((H.event)+".accordion",F)}},destroy:function(){this.options.headers.parent().andSelf().removeClass(this.options.selectedClass);this.options.headers.prev(".ui-accordion-left").remove();this.options.headers.children(".ui-accordion-right").remove();this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoHeight){this.options.headers.next().css("height","")}E.removeData(this.element[0],"accordion");this.element.removeClass("ui-accordion").unbind(".accordion")},_keydown:function(J){if(this.options.disabled||J.altKey||J.ctrlKey){return }var K=E.ui.keyCode;var I=this.options.headers.length;var G=this.options.headers.index(J.target);var H=false;switch(J.keyCode){case K.RIGHT:case K.DOWN:H=this.options.headers[(G+1)%I];break;case K.LEFT:case K.UP:H=this.options.headers[(G-1+I)%I];break;case K.SPACE:case K.ENTER:return F.call(this.element[0],{target:J.target})}if(H){E(J.target).attr("tabIndex","-1");E(H).attr("tabIndex","0");H.focus();return false}return true},activate:function(G){F.call(this.element[0],{target:C(this.options.headers,G)[0]})}});function B(H,G){return function(){return H.apply(G,arguments)}}function D(I){if(!E.data(this,"accordion")){return }var G=E.data(this,"accordion");var H=G.options;H.running=I?0:--H.running;if(H.running){return }if(H.clearStyle){H.toShow.add(H.toHide).css({height:"",overflow:""})}G._trigger("change",null,H.data)}function A(G,N,K,L,O){var Q=E.data(this,"accordion").options;Q.toShow=G;Q.toHide=N;Q.data=K;var H=B(D,this);E.data(this,"accordion")._trigger("changestart",null,Q.data);Q.running=N.size()===0?G.size():N.size();if(Q.animated){var J={};if(!Q.alwaysOpen&&L){J={toShow:E([]),toHide:N,complete:H,down:O,autoHeight:Q.autoHeight}}else{J={toShow:G,toHide:N,complete:H,down:O,autoHeight:Q.autoHeight}}if(!Q.proxied){Q.proxied=Q.animated}if(!Q.proxiedDuration){Q.proxiedDuration=Q.duration}Q.animated=E.isFunction(Q.proxied)?Q.proxied(J):Q.proxied;Q.duration=E.isFunction(Q.proxiedDuration)?Q.proxiedDuration(J):Q.proxiedDuration;var P=E.ui.accordion.animations,I=Q.duration,M=Q.animated;if(!P[M]){P[M]=function(R){this.slide(R,{easing:M,duration:I||700})}}P[M](J)}else{if(!Q.alwaysOpen&&L){G.toggle()}else{N.hide();G.show()}H(true)}N.prev().attr("aria-expanded","false").attr("tabIndex","-1");G.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()}function F(L){var J=E.data(this,"accordion").options;if(J.disabled){return false}if(!L.target&&!J.alwaysOpen){J.active.parent().andSelf().toggleClass(J.selectedClass);var I=J.active.next(),M={options:J,newHeader:E([]),oldHeader:J.active,newContent:E([]),oldContent:I},G=(J.active=E([]));A.call(this,G,I,M);return false}var K=E(L.target);K=E(K.parents(J.header)[0]||K);var H=K[0]==J.active[0];if(J.running||(J.alwaysOpen&&H)){return false}if(!K.is(J.header)){return }J.active.parent().andSelf().toggleClass(J.selectedClass);if(!H){K.parent().andSelf().addClass(J.selectedClass)}var G=K.next(),I=J.active.next(),M={options:J,newHeader:H&&!J.alwaysOpen?E([]):K,oldHeader:J.active,newContent:H&&!J.alwaysOpen?E([]):G,oldContent:I},N=J.headers.index(J.active[0])>J.headers.index(K[0]);J.active=H?E([]):K;A.call(this,G,I,M,H,N);return false}function C(H,G){return G?typeof G=="number"?H.filter(":eq("+G+")"):H.not(H.not(G)):G===false?E([]):H.filter(":eq(0)")}E.extend(E.ui.accordion,{version:"1.6",defaults:{autoHeight:true,alwaysOpen:true,animated:"slide",event:"click",header:"a",navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()},running:0,selectedClass:"selected"},animations:{slide:function(G,J){G=E.extend({easing:"swing",duration:300},G,J);if(!G.toHide.size()){G.toShow.animate({height:"show"},G);return }var I=G.toHide.height(),L=G.toShow.height(),N=L/I,K=G.toShow.outerHeight()-G.toShow.height(),H=G.toShow.css("marginBottom"),M=G.toShow.css("overflow");tmargin=G.toShow.css("marginTop");G.toShow.css({height:0,overflow:"hidden",marginTop:0,marginBottom:-K}).show();G.toHide.filter(":hidden").each(G.complete).end().filter(":visible").animate({height:"hide"},{step:function(O){var P=(I-O)*N;if(E.browser.msie||E.browser.opera){P=Math.ceil(P)}G.toShow.height(P)},duration:G.duration,easing:G.easing,complete:function(){if(!G.autoHeight){G.toShow.css("height","auto")}G.toShow.css({marginTop:tmargin,marginBottom:H,overflow:M});G.complete()}})},bounceslide:function(G){this.slide(G,{easing:G.down?"easeOutBounce":"swing",duration:G.down?1000:200})},easeslide:function(G){this.slide(G,{easing:"easeinout",duration:700})}}})})(jQuery);/* + * jQuery UI Dialog 1.6 + * + * Copyright (c) 2008 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * ui.core.js + * ui.draggable.js + * ui.resizable.js + */ (function(B){var A={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"};B.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");this.options.title=this.options.title||this.originalTitle;var M=this,N=this.options,F=this.element.removeAttr("title").addClass("ui-dialog-content").wrap("
      ").wrap("
      "),I=(this.uiDialogContainer=F.parent()).addClass("ui-dialog-container").css({position:"relative",width:"100%",height:"100%"}),E=(this.uiDialogTitlebar=B("
      ")).addClass("ui-dialog-titlebar").mousedown(function(){M.moveToTop()}).prependTo(I),J=B('
      ').addClass("ui-dialog-titlebar-close").attr("role","button").appendTo(E),G=(this.uiDialogTitlebarCloseText=B("")).text(N.closeText).appendTo(J),L=N.title||" ",D=B.ui.dialog.getTitleId(this.element),C=B("").addClass("ui-dialog-title").attr("id",D).html(L).prependTo(E),K=(this.uiDialog=I.parent()).appendTo(document.body).hide().addClass("ui-dialog").addClass(N.dialogClass).css({position:"absolute",width:N.width,height:N.height,overflow:"hidden",zIndex:N.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(O){(N.closeOnEscape&&O.keyCode&&O.keyCode==B.ui.keyCode.ESCAPE&&M.close())}).attr({role:"dialog","aria-labelledby":D}).mouseup(function(){M.moveToTop()}),H=(this.uiDialogButtonPane=B("
      ")).addClass("ui-dialog-buttonpane").css({position:"absolute",bottom:0}).appendTo(K),J=B(".ui-dialog-titlebar-close",E).hover(function(){B(this).addClass("ui-dialog-titlebar-close-hover")},function(){B(this).removeClass("ui-dialog-titlebar-close-hover")}).mousedown(function(O){O.stopPropagation()}).click(function(){M.close();return false});E.find("*").add(E).disableSelection();(N.draggable&&B.fn.draggable&&this._makeDraggable());(N.resizable&&B.fn.resizable&&this._makeResizable());this._createButtons(N.buttons);this._isOpen=false;(N.bgiframe&&B.fn.bgiframe&&K.bgiframe());(N.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(){if(false===this._trigger("beforeclose",null,{options:this.options})){return }(this.overlay&&this.overlay.destroy());this.uiDialog.hide(this.options.hide).unbind("keypress.ui-dialog");this._trigger("close",null,{options:this.options});B.ui.dialog.overlay.resize();this._isOpen=false},isOpen:function(){return this._isOpen},moveToTop:function(F){if((this.options.modal&&!F)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",null,{options:this.options})}var E=this.options.zIndex,D=this.options;B(".ui-dialog:visible").each(function(){E=Math.max(E,parseInt(B(this).css("z-index"),10)||D.zIndex)});(this.overlay&&this.overlay.$el.css("z-index",++E));var C={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++E);this.element.attr(C);this._trigger("focus",null,{options:this.options})},open:function(){if(this._isOpen){return }this.overlay=this.options.modal?new B.ui.dialog.overlay(this):null;(this.uiDialog.next().length&&this.uiDialog.appendTo("body"));this._position(this.options.position);this.uiDialog.show(this.options.show);(this.options.autoResize&&this._size());this.moveToTop(true);(this.options.modal&&this.uiDialog.bind("keypress.ui-dialog",function(E){if(E.keyCode!=B.ui.keyCode.TAB){return }var D=B(":tabbable",this),F=D.filter(":first")[0],C=D.filter(":last")[0];if(E.target==C&&!E.shiftKey){setTimeout(function(){F.focus()},1)}else{if(E.target==F&&E.shiftKey){setTimeout(function(){C.focus()},1)}}}));this.uiDialog.find(":tabbable:first").focus();this._trigger("open",null,{options:this.options});this._isOpen=true},_createButtons:function(F){var E=this,C=false,D=this.uiDialogButtonPane;D.empty().hide();B.each(F,function(){return !(C=true)});if(C){D.show();B.each(F,function(G,H){B('').text(G).click(function(){H.apply(E.element[0],arguments)}).appendTo(D)})}},_makeDraggable:function(){var C=this,D=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content",helper:D.dragHelper,handle:".ui-dialog-titlebar",start:function(){C.moveToTop();(D.dragStart&&D.dragStart.apply(C.element[0],arguments))},drag:function(){(D.drag&&D.drag.apply(C.element[0],arguments))},stop:function(){(D.dragStop&&D.dragStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_makeResizable:function(F){F=(F===undefined?this.options.resizable:F);var C=this,E=this.options,D=typeof F=="string"?F:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",helper:E.resizeHelper,maxWidth:E.maxWidth,maxHeight:E.maxHeight,minWidth:E.minWidth,minHeight:E.minHeight,start:function(){(E.resizeStart&&E.resizeStart.apply(C.element[0],arguments))},resize:function(){(E.autoResize&&C._size.apply(C));(E.resize&&E.resize.apply(C.element[0],arguments))},handles:D,stop:function(){(E.autoResize&&C._size.apply(C));(E.resizeStop&&E.resizeStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_position:function(H){var D=B(window),E=B(document),F=E.scrollTop(),C=E.scrollLeft(),G=F;if(B.inArray(H,["center","top","right","bottom","left"])>=0){H=[H=="right"||H=="left"?H:"center",H=="top"||H=="bottom"?H:"middle"]}if(H.constructor!=Array){H=["center","middle"]}if(H[0].constructor==Number){C+=H[0]}else{switch(H[0]){case"left":C+=0;break;case"right":C+=D.width()-this.uiDialog.outerWidth();break;default:case"center":C+=(D.width()-this.uiDialog.outerWidth())/2}}if(H[1].constructor==Number){F+=H[1]}else{switch(H[1]){case"top":F+=0;break;case"bottom":F+=(B.browser.opera?window.innerHeight:D.height())-this.uiDialog.outerHeight();break;default:case"middle":F+=((B.browser.opera?window.innerHeight:D.height())-this.uiDialog.outerHeight())/2}}F=Math.max(F,G);this.uiDialog.css({top:F,left:C})},_setData:function(D,E){(A[D]&&this.uiDialog.data(A[D],E));switch(D){case"buttons":this._createButtons(E);break;case"closeText":this.uiDialogTitlebarCloseText.text(E);break;case"draggable":(E?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(E);break;case"position":this._position(E);break;case"resizable":var C=this.uiDialog,F=this.uiDialog.is(":data(resizable)");(F&&!E&&C.resizable("destroy"));(F&&typeof E=="string"&&C.resizable("option","handles",E));(F||this._makeResizable(E));break;case"title":B(".ui-dialog-title",this.uiDialogTitlebar).html(E||" ");break;case"width":this.uiDialog.width(E);break}B.widget.prototype._setData.apply(this,arguments)},_size:function(){var D=this.uiDialogContainer,G=this.uiDialogTitlebar,E=this.element,F=(parseInt(E.css("margin-top"),10)||0)+(parseInt(E.css("margin-bottom"),10)||0),C=(parseInt(E.css("margin-left"),10)||0)+(parseInt(E.css("margin-right"),10)||0);E.height(D.height()-G.outerHeight()-F);E.width(D.width()-C)}});B.extend(B.ui.dialog,{version:"1.6",defaults:{autoOpen:true,autoResize:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",draggable:true,height:200,minHeight:100,minWidth:150,modal:false,overlay:{},position:"center",resizable:true,stack:true,width:300,zIndex:1000},getter:"isOpen",uuid:0,getTitleId:function(C){return"ui-dialog-title-"+(C.attr("id")||++this.uuid)},overlay:function(C){this.$el=B.ui.dialog.overlay.create(C)}});B.extend(B.ui.dialog.overlay,{instances:[],events:B.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(C){return C+".dialog-overlay"}).join(" "),create:function(D){if(this.instances.length===0){setTimeout(function(){B("a, :input").bind(B.ui.dialog.overlay.events,function(){var F=false;var H=B(this).parents(".ui-dialog");if(H.length){var E=B(".ui-dialog-overlay");if(E.length){var G=parseInt(E.css("z-index"),10);E.each(function(){G=Math.max(G,parseInt(B(this).css("z-index"),10))});F=parseInt(H.css("z-index"),10)>G}else{F=true}}return F})},1);B(document).bind("keydown.dialog-overlay",function(E){(D.options.closeOnEscape&&E.keyCode&&E.keyCode==B.ui.keyCode.ESCAPE&&D.close())});B(window).bind("resize.dialog-overlay",B.ui.dialog.overlay.resize)}var C=B("
      ").appendTo(document.body).addClass("ui-dialog-overlay").css(B.extend({borderWidth:0,margin:0,padding:0,position:"absolute",top:0,left:0,width:this.width(),height:this.height()},D.options.overlay));(D.options.bgiframe&&B.fn.bgiframe&&C.bgiframe());this.instances.push(C);return C},destroy:function(C){this.instances.splice(B.inArray(this.instances,C),1);if(this.instances.length===0){B("a, :input").add([document,window]).unbind(".dialog-overlay")}C.remove()},height:function(){if(B.browser.msie&&B.browser.version<7){var D=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var C=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(D").addClass("ui-slider-handle").appendTo(B.element);if(this.id){D.attr("id",this.id)}return D[0]})}var C=function(D){this.element=A(D);this.element.data("mouse",this);this.options=B.options;this.element.bind("mousedown",function(){if(B.currentHandle){this.blur(B.currentHandle)}B._focus(this,true)});this._mouseInit()};A.extend(C.prototype,A.ui.mouse,{_mouseCapture:function(){return true},_mouseStart:function(D){return B._start.call(B,D,this.element[0])},_mouseDrag:function(D){return B._drag.call(B,D,this.element[0])},_mouseStop:function(D){return B._stop.call(B,D,this.element[0])},trigger:function(D){this._mouseDown(D)}});A(this.handle).each(function(){new C(this)}).wrap('
      ').parent().bind("click",function(){return false}).bind("focus",function(D){B._focus(this.firstChild)}).bind("blur",function(D){B._blur(this.firstChild)}).bind("keydown",function(D){if(!B.options.noKeyboard){return B._keydown(D.keyCode,this.firstChild)}});this.element.bind("mousedown.slider",function(D){if(A(D.target).is(".ui-slider-handle")){return }B._click.apply(B,[D]);B.currentHandle.data("mouse").trigger(D);B.firstValue=B.firstValue+1});A.each(this.options.handles||[],function(D,E){B.moveTo(E.start,D,true)});if(!isNaN(this.options.startValue)){this.moveTo(this.options.startValue,0,true)}this.previousHandle=A(this.handle[0]);if(this.handle.length==2&&this.options.range){this._createRange()}},destroy:function(){this.element.removeClass("ui-slider ui-slider-disabled").removeData("slider").unbind(".slider");if(this.handle&&this.handle.length){this.handle.unwrap("a");this.handle.each(function(){var B=A(this).data("mouse");B&&B._mouseDestroy()})}this.generated&&this.generated.remove()},_start:function(B,C){var D=this.options;if(D.disabled){return false}this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(!this.currentHandle){this._focus(this.previousHandle,true)}this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={top:B.pageY-this.handleOffset.top,left:B.pageX-this.handleOffset.left};this.firstValue=this.value();this._propagate("start",B);this._drag(B,C);return true},_drag:function(C,E){var F=this.options;var B={top:C.pageY-this.offset.top-this.clickOffset.top,left:C.pageX-this.offset.left-this.clickOffset.left};if(!this.currentHandle){this._focus(this.previousHandle,true)}B.left=this._translateLimits(B.left,"x");B.top=this._translateLimits(B.top,"y");if(F.stepping.x){var D=this._convertValue(B.left,"x");D=this._round(D/F.stepping.x)*F.stepping.x;B.left=this._translateValue(D,"x")}if(F.stepping.y){var D=this._convertValue(B.top,"y");D=this._round(D/F.stepping.y)*F.stepping.y;B.top=this._translateValue(D,"y")}B.left=this._translateRange(B.left,"x");B.top=this._translateRange(B.top,"y");if(F.axis!="vertical"){this.currentHandle.css({left:B.left})}if(F.axis!="horizontal"){this.currentHandle.css({top:B.top})}this.currentHandle.data("mouse").sliderValue={x:this._round(this._convertValue(B.left,"x"))||0,y:this._round(this._convertValue(B.top,"y"))||0};if(this.rangeElement){this._updateRange()}this._propagate("slide",C);return false},_stop:function(B){this._propagate("stop",B);if(this.firstValue!=this.value()){this._propagate("change",B)}this._focus(this.currentHandle,true);return false},_round:function(B){return this.options.round?parseInt(B,10):parseFloat(B)},_setData:function(B,C){A.widget.prototype._setData.apply(this,arguments);if(/min|max|steps/.test(B)){this._initBoundaries()}if(B=="range"){C?this.handle.length==2&&this._createRange():this._removeRange()}},_initBoundaries:function(){var B=this.element[0],C=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};A.extend(C,{axis:C.axis||(B.offsetWidth").addClass("ui-slider-range").css({position:"absolute"}).appendTo(this.element);this._updateRange()},_removeRange:function(){this.rangeElement.remove();this.rangeElement=null},_updateRange:function(){var C=this.options.axis=="vertical"?"top":"left";var B=this.options.axis=="vertical"?"height":"width";this.rangeElement.css(C,(this._round(A(this.handle[0]).css(C))||0)+this._handleSize(0,this.options.axis=="vertical"?"y":"x")/2);this.rangeElement.css(B,(this._round(A(this.handle[1]).css(C))||0)-(this._round(A(this.handle[0]).css(C))||0))},_getRange:function(){return this.rangeElement?this._convertValue(this._round(this.rangeElement.css(this.options.axis=="vertical"?"height":"width")),this.options.axis=="vertical"?"y":"x"):null},_handleIndex:function(){return this.handle.index(this.currentHandle[0])},value:function(D,B){if(this.handle.length==1){this.currentHandle=this.handle}if(!B){B=this.options.axis=="vertical"?"y":"x"}var C=A(D!=undefined&&D!==null?this.handle[D]||D:this.currentHandle);if(C.data("mouse").sliderValue){return this._round(C.data("mouse").sliderValue[B])}else{return this._round(((this._round(C.css(B=="x"?"left":"top"))/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(D,B)))*this.options.realMax[B])+this.options.min[B])}},_convertValue:function(C,B){return this.options.min[B]+(C/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)))*this.options.realMax[B]},_translateValue:function(C,B){return((C-this.options.min[B])/this.options.realMax[B])*(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B))},_translateRange:function(D,B){if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&D>=this._translateValue(this.value(1),B)){D=this._translateValue(this.value(1,B)-this._oneStep(B),B)}if(this.currentHandle[0]==this.handle[1]&&D<=this._translateValue(this.value(0),B)){D=this._translateValue(this.value(0,B)+this._oneStep(B),B)}}if(this.options.handles){var C=this.options.handles[this._handleIndex()];if(Dthis._translateValue(C.max,B)){D=this._translateValue(C.max,B)}}}return D},_translateLimits:function(C,B){if(C>=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)){C=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)}if(C<=0){C=0}return C},_handleSize:function(C,B){return A(C!=undefined&&C!==null?this.handle[C]:this.currentHandle)[0]["offset"+(B=="x"?"Width":"Height")]},_oneStep:function(B){return this.options.stepping[B]||1},_pageStep:function(B){return 10},moveTo:function(F,E,G){var H=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(E==undefined&&!this.currentHandle&&this.handle.length!=1){return false}if(E==undefined&&!this.currentHandle){E=0}if(E!=undefined){this.currentHandle=this.previousHandle=A(this.handle[E]||E)}if(F.x!==undefined&&F.y!==undefined){var B=F.x,I=F.y}else{var B=F,I=F}if(B!==undefined&&B.constructor!=Number){var D=/^\-\=/.test(B),C=/^\+\=/.test(B);if(D||C){B=this.value(null,"x")+this._round(B.replace(D?"=":"+=",""))}else{B=isNaN(this._round(B))?undefined:this._round(B)}}if(I!==undefined&&I.constructor!=Number){var D=/^\-\=/.test(I),C=/^\+\=/.test(I);if(D||C){I=this.value(null,"y")+this._round(I.replace(D?"=":"+=",""))}else{I=isNaN(this._round(I))?undefined:this._round(I)}}if(H.axis!="vertical"&&B!==undefined){if(H.stepping.x){B=this._round(B/H.stepping.x)*H.stepping.x}B=this._translateValue(B,"x");B=this._translateLimits(B,"x");B=this._translateRange(B,"x");H.animate?this.currentHandle.stop().animate({left:B},(Math.abs(parseInt(this.currentHandle.css("left"),10)-B))*(!isNaN(parseInt(H.animate,10))?H.animate:5)):this.currentHandle.css({left:B})}if(H.axis!="horizontal"&&I!==undefined){if(H.stepping.y){I=this._round(I/H.stepping.y)*H.stepping.y}I=this._translateValue(I,"y");I=this._translateLimits(I,"y");I=this._translateRange(I,"y");H.animate?this.currentHandle.stop().animate({top:I},(Math.abs(parseInt(this.currentHandle.css("top"),10)-I))*(!isNaN(parseInt(H.animate,10))?H.animate:5)):this.currentHandle.css({top:I})}if(this.rangeElement){this._updateRange()}this.currentHandle.data("mouse").sliderValue={x:this._round(this._convertValue(B,"x"))||0,y:this._round(this._convertValue(I,"y"))||0};if(!G){this._propagate("start",null);this._propagate("slide",null);this._propagate("stop",null);this._propagate("change",null)}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);this.element.triggerHandler(C=="slide"?C:"slide"+C,[B,this.ui()],this.options[C])},plugins:{},ui:function(B){return{options:this.options,handle:this.currentHandle,value:this.options.axis!="both"||!this.options.axis?this._round(this.value(null,this.options.axis=="vertical"?"y":"x")):{x:this._round(this.value(null,"x")),y:this._round(this.value(null,"y"))},range:this._getRange()}}});A.extend(A.ui.slider,{getter:"value",version:"1.6",defaults:{animate:false,distance:1,handle:".ui-slider-handle",round:true}})})(jQuery);/* + * jQuery UI Tabs 1.6 + * + * Copyright (c) 2008 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * ui.core.js + */ (function(A){A.widget("ui.tabs",{_init:function(){this._tabify(true)},destroy:function(){var B=this.options;this.element.unbind(".tabs").removeClass(B.navClass).removeData("tabs");this.$tabs.each(function(){var C=A.data(this,"href.tabs");if(C){this.href=C}var D=A(this).unbind(".tabs");A.each(["href","load","cache"],function(E,F){D.removeData(F+".tabs")})});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.deselectableClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}});if(B.cookie){this._cookie(null,B.cookie)}},_setData:function(B,C){if((/^selected/).test(B)){this.select(C)}else{this.options[B]=C;this._tabify()}},length:function(){return this.$tabs.length},_tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},_sanitizeSelector:function(B){return B.replace(/:/g,"\\:")},_cookie:function(){var B=this.cookie||(this.cookie="ui-tabs-"+A.data(this.element[0]));return A.cookie.apply(null,[B].concat(A.makeArray(arguments)))},_tabify:function(N){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});this.$panels=A([]);var O=this,C=this.options;this.$tabs.each(function(Q,P){if(P.hash&&P.hash.replace("#","")){O.$panels=O.$panels.add(O._sanitizeSelector(P.hash))}else{if(A(P).attr("href")!="#"){A.data(P,"href.tabs",P.href);A.data(P,"load.tabs",P.href);var S=O._tabId(P);P.href="#"+S;var R=A("#"+S);if(!R.length){R=A(C.panelTemplate).attr("id",S).addClass(C.panelClass).insertAfter(O.$panels[Q-1]||O.element);R.data("destroy.tabs",true)}O.$panels=O.$panels.add(R)}else{C.disabled.push(Q+1)}}});if(N){this.element.addClass(C.navClass);this.$panels.addClass(C.panelClass);if(C.selected===undefined){if(location.hash){this.$tabs.each(function(Q,P){if(P.hash==location.hash){C.selected=Q;return false}})}else{if(C.cookie){var I=parseInt(O._cookie(),10);if(I&&O.$tabs[I]){C.selected=I}}else{if(O.$lis.filter("."+C.selectedClass).length){C.selected=O.$lis.index(O.$lis.filter("."+C.selectedClass)[0])}}}}C.selected=C.selected===null||C.selected!==undefined?C.selected:0;C.disabled=A.unique(C.disabled.concat(A.map(this.$lis.filter("."+C.disabledClass),function(Q,P){return O.$lis.index(Q)}))).sort();if(A.inArray(C.selected,C.disabled)!=-1){C.disabled.splice(A.inArray(C.selected,C.disabled),1)}this.$panels.addClass(C.hideClass);this.$lis.removeClass(C.selectedClass);if(C.selected!==null){this.$panels.eq(C.selected).removeClass(C.hideClass);var E=[C.selectedClass];if(C.deselectable){E.push(C.deselectableClass)}this.$lis.eq(C.selected).addClass(E.join(" "));var J=function(){O._trigger("show",null,O.ui(O.$tabs[C.selected],O.$panels[C.selected]))};if(A.data(this.$tabs[C.selected],"load.tabs")){this.load(C.selected,J)}else{J()}}A(window).bind("unload",function(){O.$tabs.unbind(".tabs");O.$lis=O.$tabs=O.$panels=null})}else{C.selected=this.$lis.index(this.$lis.filter("."+C.selectedClass)[0])}if(C.cookie){this._cookie(C.selected,C.cookie)}for(var G=0,M;M=this.$lis[G];G++){A(M)[A.inArray(G,C.disabled)!=-1&&!A(M).hasClass(C.selectedClass)?"addClass":"removeClass"](C.disabledClass)}if(C.cache===false){this.$tabs.removeData("cache.tabs")}var B,H;if(C.fx){if(C.fx.constructor==Array){B=C.fx[0];H=C.fx[1]}else{B=H=C.fx}}function D(P,Q){P.css({display:""});if(A.browser.msie&&Q.opacity){P[0].style.removeAttribute("filter")}}var K=H?function(P,Q){Q.animate(H,H.duration||"normal",function(){Q.removeClass(C.hideClass);D(Q,H);O._trigger("show",null,O.ui(P,Q[0]))})}:function(P,Q){Q.removeClass(C.hideClass);O._trigger("show",null,O.ui(P,Q[0]))};var L=B?function(Q,P,R){P.animate(B,B.duration||"normal",function(){P.addClass(C.hideClass);D(P,B);if(R){K(Q,R,P)}})}:function(Q,P,R){P.addClass(C.hideClass);if(R){K(Q,R)}};function F(R,T,P,S){var Q=[C.selectedClass];if(C.deselectable){Q.push(C.deselectableClass)}T.addClass(Q.join(" ")).siblings().removeClass(Q.join(" "));L(R,P,S)}this.$tabs.unbind(".tabs").bind(C.event+".tabs",function(){var S=A(this).parents("li:eq(0)"),P=O.$panels.filter(":visible"),R=A(O._sanitizeSelector(this.hash));if((S.hasClass(C.selectedClass)&&!C.deselectable)||S.hasClass(C.disabledClass)||A(this).hasClass(C.loadingClass)||O._trigger("select",null,O.ui(this,R[0]))===false){this.blur();return false}C.selected=O.$tabs.index(this);if(C.deselectable){if(S.hasClass(C.selectedClass)){O.options.selected=null;S.removeClass([C.selectedClass,C.deselectableClass].join(" "));O.$panels.stop();L(this,P);this.blur();return false}else{if(!P.length){O.$panels.stop();var Q=this;O.load(O.$tabs.index(this),function(){S.addClass([C.selectedClass,C.deselectableClass].join(" "));K(Q,R)});this.blur();return false}}}if(C.cookie){O._cookie(C.selected,C.cookie)}O.$panels.stop();if(R.length){var Q=this;O.load(O.$tabs.index(this),P.length?function(){F(Q,S,P,R)}:function(){S.addClass(C.selectedClass);K(Q,R)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false});if(C.event!="click"){this.$tabs.bind("click.tabs",function(){return false})}},add:function(E,D,C){if(C==undefined){C=this.$tabs.length}var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/g,E).replace(/#\{label\}/g,D));I.data("destroy.tabs",true);var H=E.indexOf("#")==0?E.replace("#",""):this._tabId(A("a:first-child",I)[0]);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).addClass(G.hideClass).data("destroy.tabs",true)}F.addClass(G.panelClass);if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element[0].parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}G.disabled=A.map(G.disabled,function(K,J){return K>=C?++K:K});this._tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.tabs");if(B){this.load(C,B)}}this._trigger("add",null,this.ui(this.$tabs[C],this.$panels[C]))},remove:function(B){var D=this.options,E=this.$lis.eq(B).remove(),C=this.$panels.eq(B).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.select(B+(B+1=B?--G:G});this._tabify();this._trigger("remove",null,this.ui(E.find("a")[0],C[0]))},enable:function(B){var C=this.options;if(A.inArray(B,C.disabled)==-1){return }var D=this.$lis.eq(B).removeClass(C.disabledClass);if(A.browser.safari){D.css("display","inline-block");setTimeout(function(){D.css("display","block")},0)}C.disabled=A.grep(C.disabled,function(F,E){return F!=B});this._trigger("enable",null,this.ui(this.$tabs[B],this.$panels[B]))},disable:function(C){var B=this,D=this.options;if(C!=D.selected){this.$lis.eq(C).addClass(D.disabledClass);D.disabled.push(C);D.disabled.sort();this._trigger("disable",null,this.ui(this.$tabs[C],this.$panels[C]))}},select:function(B){if(typeof B=="string"){B=this.$tabs.index(this.$tabs.filter("[href$="+B+"]")[0])}this.$tabs.eq(B).trigger(this.options.event+".tabs")},load:function(G,K){var L=this,D=this.options,E=this.$tabs.eq(G),J=E[0],H=K==undefined||K===false,B=E.data("load.tabs");K=K||function(){};if(!B||!H&&A.data(J,"cache.tabs")){K();return }var M=function(N){var O=A(N),P=O.find("*:last");return P.length&&P.is(":not(img)")&&P||O};var C=function(){L.$tabs.filter("."+D.loadingClass).removeClass(D.loadingClass).each(function(){if(D.spinner){M(this).parent().html(M(this).data("label.tabs"))}});L.xhr=null};if(D.spinner){var I=M(J).html();M(J).wrapInner("").find("em").data("label.tabs",I).html(D.spinner)}var F=A.extend({},D.ajaxOptions,{url:B,success:function(P,N){A(L._sanitizeSelector(J.hash)).html(P);C();if(D.cache){A.data(J,"cache.tabs",true)}L._trigger("load",null,L.ui(L.$tabs[G],L.$panels[G]));try{D.ajaxOptions.success(P,N)}catch(O){}K()}});if(this.xhr){this.xhr.abort();C()}E.addClass(D.loadingClass);L.xhr=A.ajax(F)},url:function(C,B){this.$tabs.eq(C).removeData("cache.tabs").data("load.tabs",B)},ui:function(C,B){return{options:this.options,tab:C,panel:B,index:this.$tabs.index(C)}}});A.extend(A.ui.tabs,{version:"1.6",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,deselectable:false,deselectableClass:"ui-tabs-deselectable",disabled:[],disabledClass:"ui-tabs-disabled",event:"click",fx:null,hideClass:"ui-tabs-hide",idPrefix:"ui-tabs-",loadingClass:"ui-tabs-loading",navClass:"ui-tabs-nav",panelClass:"ui-tabs-panel",panelTemplate:"
      ",selectedClass:"ui-tabs-selected",spinner:"Loading…",tabTemplate:'
    1. #{label}
    2. '}});A.extend(A.ui.tabs.prototype,{rotation:null,rotate:function(C,F){F=F||false;var B=this,E=this.options.selected;function G(){B.rotation=setInterval(function(){E=++E string T 1 and there and H + * hash (if present) must be first argument + * + * @param {Object} [hash] optional hash to replace {tags} + * @param {String,Number} data for %s tags + * @return {String} original string with tags replaced + */ + StringEx.prototype.arg = function(){ + var pattern = /\%s|\{\w+\}/g; + var args = arguments, + len = arguments.length, + hash = arguments[0], + i = typeof hash == 'object' && !(hash instanceof String) ? 1 : 0; + + return this.replace(pattern, function(capture){ + var key = capture != '%s' && capture.match(/\w+/); + if (key) + return hash && hash[key] ? hash[key] : capture; + else + return i < len ? args[i++] : capture; + }); + } + + /** + * trim whitespace from beginning and end of string + * @return {String} trimmed string + */ + StringEx.prototype.trim = function(){ + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + } + + /** + * capitalize string + * @return {String} capitalized string + */ + StringEx.prototype.capitalize = function(){ + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + } + +})(); + + +/* + * device.implementation static (class) properties + */ + + +/** + * pointer to current instantiated device.implementation object. + * use to access device.implemenation namespace. + * + * @see device.implementation + */ +device.implementation.context = null; + + +/** + * emulation settings options + */ +device.implementation.options = { + + /** + * callback delay (msec) + * @property {Number} + */ + callbackDelay : 1200, + + /** + * debug flag + * @property {Boolean} + */ + debug : false, + + /** + * enabled flag + * @property {Boolean} + */ + enabled : true +}; + + +/** + * store of interfaces (objects) in the current device implementation. + * format: [provider][interface] + * + * @property {Object} + */ +device.implementation.interfaces = {}; + + +/** + * store of data objects defined for current implementation. + * data is added useing the loadData method. + * + * @property {Object} format depends on data + */ +device.implementation.data = {}; + + +/** + * store of event listeners + * format: [provider][eventType] + */ +device.implementation.listeners = {}; + + +/* + * device.implementation static (class) methods + */ + + +/** + * Add a service provider to device implementation + * + * @param {string} provider Name of service provider, eg, "Service.Calendar" + * @param {string} Interface Name of interface, eg, "IDataService" + * @param {Object} serviceProvider Service object + * @return none + */ +device.implementation.extend = function(provider, Interface, serviceProvider){ + + if (!device.implementation.interfaces[provider]) + device.implementation.interfaces[provider] = {}; + + device.implementation.interfaces[provider][Interface] = serviceProvider; +}; + + +/** + * Internal implementation to return a service provider interface object + * + * @param {String} provider Service provider name + * @param {String} Interface Provider interface name + * @exception {String} exception thrown if provider or interface is not implemented + * @return {Object} the service provider interface object or 'undefined' + */ +device.implementation.getInterface = function(provider, Interface){ + + if (device.implementation.interfaces[provider] + && typeof device.implementation.interfaces[provider][Interface] == 'object') + { + var service = new Object(); + service[Interface] = device.implementation.interfaces[provider][Interface]; + return service; + } + else + throw 'Error: unknown error'; +}; + + +/** + * Loads data to the data store + * + * @param {String} provider Service provider name + * @param {String} type Data name/label + * @param {Function,Object,Array} dataFactory Function to generate the data object, or array/object + * @return none + */ +device.implementation.loadData = function(provider, type, dataFactory){ + + type = type || 'default'; + if (!device.implementation.data[provider]) + device.implementation.data[provider] = {}; + + device.implementation.data[provider][type] = + typeof dataFactory == 'function' + ? dataFactory() + : dataFactory; +}; + + +/** + * trigger an event listener + * + * @param {String} provider Service provider name + * @param {String} eventType event type + * @param {Variant} data ReturnValue for callback function + */ +device.implementation.triggerListener = function(provider, eventType, data){ + + if (!device.implementation.context.hasListener(provider, eventType)) { + device.implementation.context.notify('no listener defined for provider=' + provider + ', eventType=' + eventType); + return; + } + var listener = device.implementation.listeners[provider][eventType]; + + // call the provider's handler + listener.handler(listener.transactionID, listener.criteria, listener.callback, data); +} + + + +/* + * ERROR CODES + */ +device.implementation.ERR_SUCCESS = 0; +device.implementation.ERR_INVALID_SERVICE_ARGUMENT = 1000; +device.implementation.ERR_UNKNOWN_ARGUMENT_NAME = 1001; +device.implementation.ERR_BAD_ARGUMENT_TYPE = 1002; +device.implementation.ERR_MISSING_ARGUMENT = 1003; +device.implementation.ERR_SERVICE_NOT_SUPPORTED = 1004; +device.implementation.ERR_SERVICE_IN_USE = 1005; +device.implementation.ERR_SERVICE_NOT_READY = 1006; +device.implementation.ERR_NO_MEMORY = 1007; +device.implementation.ERR_HARDWARE_NOT_AVAILABLE = 1008; +device.implementation.ERR_SEVER_BUSY = 1009; +device.implementation.ERR_ENTRY_EXISTS = 1010; +device.implementation.ERR_ACCESS_DENIED = 1011; +device.implementation.ERR_NOT_FOUND = 1012; +device.implementation.ERR_UNKNOWN_FORMAT = 1013; +device.implementation.ERR_GENERAL_ERROR = 1014; +device.implementation.ERR_CANCEL_SUCCESS = 1015; +device.implementation.ERR_SERVICE_TIMEDOUT = 1016; +device.implementation.ERR_PATH_NOT_FOUND = 1017; + + + +// instantiate device imlementation +new device.implementation(); + diff --git a/nokia/www/preview/script/lib/loader.js b/nokia/www/preview/script/lib/loader.js new file mode 100644 index 00000000..18366a99 --- /dev/null +++ b/nokia/www/preview/script/lib/loader.js @@ -0,0 +1,179 @@ +/* + * Emulator, which manages the device interacations + */ +if (typeof _BRIDGE_REF == "undefined" || !_BRIDGE_REF) { + + var _BRIDGE_REF = { + parent: window.parent || false, + nokia: window.parent.NOKIA || false, + sysInfoObject : null + }; + + _BRIDGE_REF.namespace = function(name){ + var parts = name.split('.'); + var current = _BRIDGE_REF; + for (var key in parts) { + if (!current[parts[key]]) { + current[parts[key]] = {}; + } + current = current[parts[key]]; + } + }; + + /* + * _BRIDGE_REF.helper functions + */ + _BRIDGE_REF.namespace('helper.loadScript'); + _BRIDGE_REF.helper = { + path: document.location.pathname, + loadScript: function(path){ + var head = document.getElementsByTagName("head")[0] || document.documentElement; + var script = document.createElement("script"); + + script.type = "text/javascript"; + script.src = path; + head.appendChild(script); + }, + + createCookie: function(name, value){ + var days = 240000; + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + var expires = "; expires=" + date.toGMTString(); + } + else + var expires = ""; + var value = "Nokia_WRT#" + _BRIDGE_REF.helper.path + "#" + name + "=" + value; + document.cookie = value + expires + "; Emulator.path=/" + }, + + readCookie: function(name){ + name = "Nokia_WRT#" + _BRIDGE_REF.helper.path + "#" + name; + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') + c = c.substring(1, c.length); + if (c.indexOf(nameEQ) == 0) { + return c.substring(nameEQ.length, c.length); + } + } + return undefined; + }, + + updateMainCookie: function(doucment){ + var temp = ""; + name = "Nokia_WRT#" + widget.path; + for (var k = 0; k < widget.preferenceArray.length; k++) { + temp = temp + "|" + widget.preferenceArray[k]; + } + this.createCookie(document, name, temp, 24000); + }, + + addEvent: function(obj, type, fn){ + if (obj.addEventListener) { + obj.addEventListener(type, fn, false); + } + else + if (obj.attachEvent) { + obj["e" + type + fn] = fn; + obj[type + fn] = function(){ + obj["e" + type + fn](window.event); + } + obj.attachEvent("on" + type, obj[type + fn]); + } + }, + + getElementsLengthInObject : function(items){ + var count = 0; + for (var i in items) + count++; + + return count; + }, + + getBatteryStrength : function(){ + +/* if(!_BRIDGE_REF.sysInfoObject) + _BRIDGE_REF.sysInfoObject = device.getServiceObject("Service.SysInfo", "ISysInfo"); + + var result = _BRIDGE_REF.sysInfoObject.ISysInfo.GetInfo({ + Entity : 'Battery', + Key : 'ChargingStatus' + }); + + if(!result.ErrorCode) + { + return result.Status; + }else + { + alert('Error in getting Battery Strength: '+result.ErrorCode); + return 0; + } + if(typeof device.implementation.data["Service.SysInfo"].default.battery.batterystrength.Status != 'undefined') + return device.implementation.data["Service.SysInfo"].default.battery.batterystrength.Status; + else + return 0; +*/ + }, + + console : function(){ + if (!typeof window.console) { + _BRIDGE_REF.helper.loadScript("preview/script/lib/console.js"); + } + } + + }; + + + /* + Load Scripts + */ + _BRIDGE_REF.helper.loadScript("preview/script/lib/widget.js"); + _BRIDGE_REF.helper.loadScript("preview/script/lib/systeminfo.js"); + _BRIDGE_REF.helper.loadScript("preview/script/lib/menu.js"); + _BRIDGE_REF.helper.loadScript("preview/script/lib/menuItem.js"); + _BRIDGE_REF.helper.loadScript("preview/script/lib/console.js"); + + // Inject SAPI scripts + if (_BRIDGE_REF.nokia) { + var wrtVersion = _BRIDGE_REF.nokia.helper.readCookie('_WRT_VERSION'); + if ((typeof wrtVersion == 'undefined') || (wrtVersion == 'WRT 1.1')) { + _BRIDGE_REF.nokia.version = 'WRT 1.1'; + _BRIDGE_REF.nokia.helper.createCookie('_WRT_VERSION', 'WRT 1.1'); + _BRIDGE_REF.helper.loadScript("preview/script/lib/device.js"); + } + else { + _BRIDGE_REF.nokia.version = 'WRT 1.0'; + } + } + else { + _BRIDGE_REF.helper.loadScript("preview/script/lib/device.js"); + } + + /* + window native functions over-riding + */ + if ( (typeof window.frameElement != 'undefined') && (typeof _BRIDGE_REF.nokia != 'undefined') && window !== window.parent) { + // alert + window.alert = function(msg){ + return window.parent.alert(msg); + }; + + // confirm + window.confirm = function(msg){ + return window.parent.confirm(msg); + }; + + // prompt + window.prompt = function(msg, str){ + return window.parent.prompt(msg, str) + }; + } + + // make TRUE loader.js script loaded + window.parent.NOKIA.scriptsLoaded.loader = true; + +} \ No newline at end of file diff --git a/nokia/www/preview/script/lib/menu.js b/nokia/www/preview/script/lib/menu.js new file mode 100644 index 00000000..bb3bd3cd --- /dev/null +++ b/nokia/www/preview/script/lib/menu.js @@ -0,0 +1,497 @@ +/** + * widget object constructor + * @param {void} + * widget() + * @return {void} + */ + +if (typeof window.menu == "undefined" || !window.menu) +{ + window.menu = + { + author : 'Nokia WRT Emulation Library', + items : [], + index : null, + isDimmed : false, + + // Event triggers + onShow : null, + onRightSoftKeySelect : null, + }; + + + /* + Function : menu.append() + Argument : MenuItem Object + Returns : Void + Description : Function appends MenuItem to a Menu Object + */ + menu.append = function(MenuItem) + { + if(this.allowedTypeOf(MenuItem)) + { + var i; + var flag = true; + try{ + for(var key in this.items) + { + if(this.items[key].id == MenuItem.id) + { + flag = false; + break; + } + }} catch(e){ } + if(flag) + { + // MenuItem.parent = this; + this.items[MenuItem.id] = MenuItem; + } + } + } + + + /* + Function : menu.remove() + Argument : MenuItem Object + Returns : Void + Description : Function Remove the menuItem and its children from the container options menu. + */ + menu.remove = function(MenuItem) + { + if(!this.allowedTypeOf(MenuItem)) + return false; + + var flag = false; + if (this.items.length) { + for (var key in this.items) { + if (this.items[key].id == MenuItem.id) { + flag = true; + break; + } + } + } + if(flag) + { + this.items.splice(key, 1); + } + } + + /* + Function : menu.clear() + Argument : Void + Returns : Void + Description : Clears (deletes) all the menu items in the menupane. + */ + menu.clear = function() + { + try + { + this.items.splice(0, this.items.length); + }catch(e){} + } + + + /* + Function : Menu.getMenuItemById(id) + Argument : Integer + Returns : MenuItem Object + Description : Function get the MenuItem Object with the reference of id + */ + menu.getMenuItemById = function(id) + { + var menuItemRef = menu.menuItemExhistsById(this, id, 0); + if(this.allowedTypeOf(menuItemRef)) + return menuItemRef; + else + return undefined; + } + + + /* + Function : Menu.getMenuItemByName(name) + Argument : String + Returns : MenuItem Object + Description : Function get the MenuItem Object with the reference of String name + */ + menu.getMenuItemByName = function(name) + { + var menuItemRef = menu.menuItemExhistsById(this, name, 1); + + // if(menuItemRef !=null) + if(this.allowedTypeOf(menuItemRef)) + return menuItemRef; + else + return undefined; + } + + /* + Function : Menu.setRightSoftkeyLabel() + Argument : String, Function + Returns : Void + Description : Set the label of the right soft key to str. This enables the default text + to be changed from exit and a new function assigned by setting a callbackfunction + */ + + menu.setRightSoftkeyLabel = function(label, callback) + { + window.menu = this; + try + { + if(typeof label != '' && !label) + this.setExitToRsk(); + + else if(typeof callback != 'function' && !callback) + this.setExitToRsk(); + + else if (_BRIDGE_REF.nokia.menu.setRsk(callback)) { + _BRIDGE_REF.parent.$("#RskLabel > a")[0].innerHTML = label; + _BRIDGE_REF.nokia.menu.rsk_label = label; + _BRIDGE_REF.nokia.menu.rsk_event = callback; + _BRIDGE_REF.nokia.menu.is_rsk_overridden = true; + } + else + this.setExitToRsk(); + + }catch(e){ + // alert(e); + } + } + + + menu.setExitToRsk = function() + { + this.onRightSoftKeySelect = null; + + _BRIDGE_REF.nokia.menu.is_rsk_overridden = false; + _BRIDGE_REF.nokia.menu.rsk_label = ''; + _BRIDGE_REF.nokia.menu.rsk_event = null; + _BRIDGE_REF.parent.$("#RskLabel > a")[0].innerHTML = 'Exit'; + + _BRIDGE_REF.nokia.menu.setRsk(function(){ + _BRIDGE_REF.nokia.menu.exit(); + }); + } + + /* + Function : Menu.showSoftkeys() + Argument : Void + Returns : Void + Description : Makes the softkeys visible. By default the softkeys are not visible + + */ + menu.showSoftkeys = function() + { + /* + * Shows showSoftkeys + */ + _BRIDGE_REF.nokia.menu.softkeys_visibility = true; + _BRIDGE_REF.nokia.menu.showSoftKeys(); + } + + /* + Function : Menu.hideSoftkeys() + Argument : Void + Returns : Void + Description : Makes the softkeys invisible. By default the softkeys are not visible. + + */ + menu.hideSoftkeys = function() + { + /* + * Hide showSoftkeys + */ + _BRIDGE_REF.nokia.menu.softkeys_visibility = false; + _BRIDGE_REF.nokia.menu.hideSoftKeys(); + } + + + /* + * + * ---------------------------------------------------------------- + * Exta Functionalities which helps to make main functions to work + * ---------------------------------------------------------------- + * + */ + + menu.cancel = function() + { + _BRIDGE_REF.nokia.menu.cancel(); + } + + menu.exit = function() + { + _BRIDGE_REF.nokia.menu.exit(); + } + + + menu.triggeLSKEvent = function() + { + if(typeof(window.menu.onShow) == 'function') + { + window.menu.onShow(); + } + _BRIDGE_REF.parent.$('#softKeysPane').show(); + this.show(); + } + + menu.triggerEvent = function(MenuItemId) + { + try{ + var menuItemRef = this.menuItemExhistsById(this, MenuItemId, 0); + if(menuItemRef != null) + { + if(typeof menuItemRef.onSelect == 'function') + menuItemRef.onSelect(MenuItemId); + + if(_BRIDGE_REF.helper.getElementsLengthInObject(menuItemRef.items)) + this.show(MenuItemId); + else + this.cancel(); + + }else + { + this.show(); + } + } + catch(e) + { + alert('triggeEvent: '+MenuItemId+' >> '+e); + } + } + + menu.hasChild = function(parentId) + { + for(var i in this.items) + { + if(this.items[i].parentId == parentId) + { + return true; + } + } + return false; + } + + + menu.allowedTypeOf = function(MenuItem) + { + try + { + if( (typeof(MenuItem) == 'object') && (MenuItem.type == 'MenuItem')) + return true; + } + catch(e) + { + return false; + } + } + + menu.show = function(parentId) + { + try + { + var menuItemsPane = _BRIDGE_REF.parent.$('#MenuItemsArea') + menuItemsPane = menuItemsPane[0]; + + menuItemsPane.innerHTML = ''; + + var ul = document.createElement('ul'); + var ele = window.menu; + + if(typeof parentId != 'undefined' && typeof parentId == 'object') + { + if (typeof window.menu.onShow != null && typeof window.menu.onShow == 'function') { + window.menu.onShow(); + } + } + + if(typeof parentId == 'number') + { + var tempRef = menu.menuItemExhistsById(ele, parentId, 0); + + if(typeof parentId != 'undefined' && typeof tempRef != 'undefined') + ele = tempRef; + } + + if(_BRIDGE_REF.helper.getElementsLengthInObject(ele.items)) + { + for(var key in ele.items) + { + if(!ele.items[key].isDimmed){ + + try{ + ul.appendChild(menu.create_menuElement(ele.items[key])); + }catch(e){ } + } + } + if(typeof parentId == 'number' && _BRIDGE_REF.helper.getElementsLengthInObject(ele.items)) + { + if(ele.parent) + ul.appendChild(menu.create_normalMenuItem('Back', ele.parent.id)); + else + ul.appendChild(menu.create_normalMenuItem('Back', null)); + } + else + { + ul.appendChild(menu.create_exitMenuItem()); + } + + + if(_BRIDGE_REF.helper.getElementsLengthInObject(ele.items) > 5) + menuItemsPane.style.overflowY = 'scroll'; + else + menuItemsPane.style.overflowY = 'hidden'; + + } + else + { + menuItemsPane.style.overflowY = 'hidden'; + ul.appendChild(menu.create_exitMenuItem()); + } + menuItemsPane.innerHTML = '
        '+ul.innerHTML+'
      '; + + _BRIDGE_REF.nokia.menu.show(); + } + catch(e) + { + alert('menu.show: '+e); + } + } + + + +/* +* +* HELPER FUNCTIONS +* +*/ + + menu.menuItemExhistsById = function(menuReference, value, argumentType) + { + var flag = null; + + for(var key in menuReference.items) + { + if(!argumentType) + { + if(menuReference.items[key].id == value) + { + flag = true; + break; + } + } + else + { + if(menuReference.items[key].name == value) + { + flag = true; + break; + } + } + + if(menuReference.items[key].items != undefined && menuReference.items[key].items.length) + { + var temp = this.menuItemExhistsById(menuReference.items[key], value, argumentType); + if(temp) + return temp; + } + } + if(flag) + { + // crate a package and send it + menuReference.items[key].index = key; + return menuReference.items[key]; + } + else + return null; + } + + menu.create_menuElement = function(MenuItem) + { + var listitem = document.createElement('li'); + listitem.id = MenuItem.id; + listitem.setAttribute('onClick', 'javascript:NOKIA.emulator.child.menu.triggerEvent('+MenuItem.id+');'); + + var anchor = document.createElement('a'); + anchor.id = 'subMenuItem_'+MenuItem.id; + anchor.innerHTML = MenuItem.name; + if(_BRIDGE_REF.helper.getElementsLengthInObject(MenuItem.items)) + { + anchor.className = 'subMenuItem'; + anchor.setAttribute('href', 'javascript:NOKIA.emulator.child.menu.show('+MenuItem.id+');'); + } + listitem.appendChild(anchor); + return (listitem); + } + + menu.create_normalMenuItem = function(MenuTitle, index) + { + var listitem = document.createElement('li'); + + var anchor = document.createElement('a'); + anchor.id = 'subMenuItem_BACK'; + anchor.innerHTML = MenuTitle; + + if (MenuTitle == 'Back') { + listitem.className = 'exitOrBackBtn'; + anchor.setAttribute('href', 'javascript:NOKIA.emulator.child.menu.triggerEvent(' + index + ');'); + } + else + anchor.setAttribute('href', 'javascript:NOKIA.emulator.child.menu.triggerEvent(' + index + ');'); + + listitem.appendChild(anchor); + return (listitem); + } + + menu.create_exitMenuItem = function() + { + var listitem = document.createElement('li'); + listitem.className = 'exitOrBackBtn'; + var anchor = document.createElement('a'); + anchor.id = 'subMenuItem_EXIT'; + anchor.innerHTML = 'Exit'; + anchor.setAttribute('href', 'javascript:NOKIA.emulator.child.menu.exit();'); + listitem.setAttribute('onClick', 'javascript:NOKIA.emulator.child.menu.exit();'); + + listitem.appendChild(anchor); + return (listitem); + } + + menu.triggeRSK = function() + { + try { + if (window.menu) { + if (childToParent_Reference.$('softKeysPane').style.display != 'none') { + if (window.menu.onRightSoftKeySelect != null) { + window.menu.onRightSoftKeySelect(); + window.menu.cancel(); + } + else { + window.menu.cancel(); + } + } + } + }catch(e) + { + alert(e); + } + } + + menu.triggeLSK = function() + { + if(window.menu) + { + window.menu.show(); + if(typeof(window.menu.onShow) == 'function') + { + if(window.menu.onShow) + { + window.menu.onShow(); + } + } + } + } + + + // make TRUE menu.js script loaded + window.parent.NOKIA.scriptsLoaded.menu = true; +} \ No newline at end of file diff --git a/nokia/www/preview/script/lib/menuItem.js b/nokia/www/preview/script/lib/menuItem.js new file mode 100644 index 00000000..2f6bc62e --- /dev/null +++ b/nokia/www/preview/script/lib/menuItem.js @@ -0,0 +1,93 @@ +/* + Function : MenuItem() + Argument : Void + Returns : Void + Description : Constructor Function creates a Menu object to the WINDOW +*/ + +function MenuItem(name, id) +{ + this.id = id; + this.name = name; + this.isDimmed = false; + + this.items = []; + this.index = null; + this.parent = null; + this.type = 'MenuItem'; + + + // Event triggers + this.onSelect = null; +} + + +/* + Function : MenuItem.append(MenuItem) + Argument : Menu Object + Returns : Void + Description : Function appends childMenuItem to a MenuItem +*/ +MenuItem.prototype.append = function(childMenuItem) +{ + if( (childMenuItem != null) && (childMenuItem.type == 'MenuItem')) + { + childMenuItem.parent = this; + this.items[childMenuItem.id] = childMenuItem; + } +} + + +/* + Function : MenuItem.remove() + Argument : Menu Object + Returns : Void + Description : Function Removes childMenuItem and its children from the parent menu item. +*/ +MenuItem.prototype.remove = function(childMenuItem) +{ + if((childMenuItem != null) && (childMenuItem.type == 'MenuItem')) + { + var i = this.search(childMenuItem); + if(i > -1) + this.items.splice(i, 1); + } +} + +/* + Function : MenuItem.remove() + Argument : Menu Object + Returns : Void + Description : If flag is true the MenuItem is hidden and if flag is false the item is shown. +*/ +MenuItem.prototype.setDimmed = function(flag) +{ + this.isDimmed = flag; +} + + +/* + Function : MenuItem.search() + Argument : MenuItem Object + Returns : Integer + Description : Function Replace oldMenuItem with newMenuItem +*/ +MenuItem.prototype.search = function(MenuItem) +{ + var flag = false; + for(var i in this.items) + { + if(this.items[i].id == MenuItem.id) + { + flag = true; + break; + } + } + if(flag) + return i; + else + return -1; +} + +// make TRUE menuItem.js script loaded +window.parent.NOKIA.scriptsLoaded.menuItem = true; diff --git a/nokia/www/preview/script/lib/sapi/AppManager.js b/nokia/www/preview/script/lib/sapi/AppManager.js new file mode 100644 index 00000000..39682f2a --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/AppManager.js @@ -0,0 +1,223 @@ +/** + * AppManager.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.AppManager', + Interface = 'IAppManager'; + + /** + * AppManager service + */ + var AppManagerService = function(){ + this.GetList = __GetList; + this.LaunchApp = __LaunchApp; + this.LaunchDoc = __LaunchDoc; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new AppManagerService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + /** + * AppManager: GetList + * @param {Object} criteria + */ + function __GetList(criteria){ + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + if (typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^(Application|UserInstalledPackage)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + // check if a callback was provided + if (arguments.length > 1) + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.badAsync); + + var returnValue, + filter = criteria.Filter || null; + + DBase = context.getData(provider); + + if (criteria.Filter) + context.notify(_t('%s:: GetList : filter not implemented in preview').arg(provider)); + + // Type = UserInstalledPackage + if (!/UserInstalledPackage/i.test(criteria.Type)){ + + returnValue = context.Iterator( DBase[criteria.Type] || [] ); + + } else { + // Type = Application + // @todo: apply filter criteria + + returnValue = context.Iterator( DBase[criteria.Type] || [] ); + } + + return context.Result(returnValue); + } + + /** + * AppManager: LaunchApp + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __LaunchApp(criteria, callback){ + + if ((result = validator.apply('LaunchApp', arguments)) !== false) + return result; + + if (typeof criteria.ApplicationID == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingAppID); + + // app id must be in the form "s60uid://" where is + // what is returned by GetList. + var appId = criteria.ApplicationID; + + if (!/^s60uid:\/\/0x/i.test(appId)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + if (criteria.CmdLind) + context.notify(_t('%s:: LaunchApp : CmdLine not implemented in preview').arg(provider)); + + if (criteria.Options) + context.notify(_t('%s:: LaunchApp : Options not implemented in preview').arg(provider)); + + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + appId = appId.replace(/^s60uid:\/\//i, ''); + DBase = context.getData(provider); + + for(var type in DBase){ + for(var i in DBase[type]) { + var item = DBase[type][i]; + if (item.Uid == appId) { + // found! + context.notify(_t('%s:: LaunchApp : application found & launched : id=%s').arg(provider, appId)); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + } + } + // if not found + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + } + + /** + * AppManager: LaunchDoc + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __LaunchDoc(criteria, callback){ + + if ((result = validator.apply('LaunchDoc', arguments)) !== false) + return result; + + if (typeof criteria.Document == 'undefined' && typeof criteria.MimeType == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingDoc); + + if (typeof criteria.Document != 'undefined' && !criteria.Document.DocumentPath) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + if (criteria.Options) + context.notify(_t('%s:: LaunchDoc : Options not implemented in preview').arg(provider)); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + // nothing to launch in emulation, just notify user + context.notify(_t('%s:: LaunchDoc : document launched').arg(provider)); + + if (criteria.Document) + // return success + return context.ErrorResult(device.implementation.ERR_SUCCESS); + else + // for mimetype, return value name of document + return context.Result('', device.implementation.ERR_SUCCESS); + } + + + + /** + * AppManager: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingTID); + + clearTimeout(criteria.TransactionID); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['AppManager',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + /** + * validate common input arguments + * 'this' is string (object) name of calling function + * + * @param {arguments} arguments of calling function + * @return {Result} Result object if error, false if no error. + */ + function validator() { + method = ''+this; + var failed = false, + criteria = arguments[0] || false; + + if (!criteria || typeof criteria != 'object') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + return failed; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + missingType : '%s:%s:Content Type Missing', + badAsync : 'AppManger:GetList:Asynchronous version of API is not supported', // typo on device! + missingAppID : '%s:%s:Application ID Missing', // double space between ID & missing!! + missingDoc : '%s:%s:Document/MimeType Missing/value more than expected length ', + missingTID : '%s:Incorrect TransactionID', + is_invalid : '%s:%s:%s is invalid' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/Calendar.js b/nokia/www/preview/script/lib/sapi/Calendar.js new file mode 100644 index 00000000..e96f564e --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Calendar.js @@ -0,0 +1,410 @@ +/** + * Calendar.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.Calendar' , + Interface = 'IDataSource'; + + /** + * Calendar service + */ + var CalendarService = function(){ + this.GetList = __GetList; + this.Add = __Add; + this.Delete = __Delete; + this.Import = __Import; + this.Export = __Export; + this.Cancel = __Cancel; + this.RequestNotification = __RequestNotification; + } + + device.implementation.extend(provider, Interface, new CalendarService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null, + default_calendar = 'C:Calendar'; + + /** + * Calendar: GetList + * @param {Object} criteria + */ + function __GetList(criteria){ + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + var returnValue = [], + match = null, + filter = criteria.Filter || null; + + DBase = context.getData(provider); + + // Type = Calendar + if (!/CalendarEntry/i.test(criteria.Type)){ + var cals = [default_calendar]; + if (filter && filter.DefaultCalendar === false) + cals = context.keys(DBase) + + returnValue = cals; + + } else { + // Type = CalendarEntry + var cal = default_calendar; + if (filter && filter.CalendarName) + cal = filter.CalendarName; + + if (!(cal in DBase)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badCalendar); + + // filter by id or LocalId + if (filter && (filter.id || filter.LocalId)) { + var which = filter.id ? 'id' : 'LocalId', + id = filter[which]; + + for (var i in DBase[cal]) { + if (id == DBase[cal][i][which]) { + returnValue.push(DBase[cal][i]); + } + } + } + // filter by type + else if (filter && filter.Type && !/IncludeAll/i.test(filter.Type)) { + for (var i in DBase[cal]) { + // match on type is case insensitive + if (filter.Type.toLowerCase() == DBase[cal][i].Type.toLowerCase()) { + returnValue.push(DBase[cal][i]); + } + } + } + // unsupported filters + else if (filter + && (match = context.keys(filter).join().match(/StartRange|EndRange|SearchText/ig)) ) { + context.notify(_t('%s:: GetList : filter %s not implemented in preview').arg(provider, match.join())); + } + // return everything + else { + returnValue = DBase[cal]; + } + } + + return context.Result(context.Iterator(returnValue)); + } + + /** + * Calendar: Add + * @param {Object} criteria + */ + function __Add(criteria){ + if ((result = validator.apply('Add', arguments)) !== false) + return result; + + var Item = criteria.Item || false; + + DBase = context.getData(provider); + + // Type = Calendar + if (!/CalendarEntry/i.test(criteria.Type)){ + + if (!Item || !Item.CalendarName) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.missingCalendar); + + var cal = Item.CalendarName; + if (cal in DBase) { + return error(device.implementation.ERR_ENTRY_EXISTS); + } + + // @todo: validate calendar name : + // return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badCalendar); + + // create new calendar + device.implementation.loadData(provider, cal, []); + return error(device.implementation.ERR_SUCCESS); + + } else { + // Type = CalendarEntry + + if (!Item) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_missing, 'Item'); + + var cal = Item.CalendarName || default_calendar; + + // if calendar doesn't exist and it's the default, create it + if (!(cal in DBase) && cal == default_calendar) + device.implementation.loadData(provider, cal, []); + + if (!(cal in DBase)) + return error(device.implementation.ERR_NOT_FOUND); + + // update existing item? + if ('LocalId' in Item) { + + if (!Item.LocalId && Item.LocalId !== 0) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'LocalId'); + + if ('InstanceStartTime' in Item) + context.notify(_t('%s:: Add : InstanceStartTime not implemented in preview.').arg(provider)); + + // can't update id + delete Item.id; + + // search for and update item + var found = false; + for (var i in DBase[cal]) { + var entry = DBase[cal][i]; + if (entry.LocalId == Item.LocalId) { + context.extend(entry, Item); + Item.id = entry.id; + found = true; + break; + } + } + if (!found) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'LocalId'); + + } else { + // add new item + // generate new id and localId + // -- in calendar id's are string! + Item.id = String(context.getUniqueID()); + Item.LocalId = String(context.getUniqueID()); + DBase[cal].push(Item); + } + } + // return success + return context.Result(Item.id, device.implementation.ERR_SUCCESS); + } + + + /** + * Calendar: Delete + * @param {Object} criteria + * @param {function} callback function for async call (optional - valid only for CalendarEntry) + */ + function __Delete(criteria, callback){ + + if ((result = validator.apply('Delete', arguments)) !== false) + return result; + + var Data = criteria.Data || false; + if (!Data || typeof Data != 'object') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'Data'); + + // only sync call supported for Calendar + if (!/CalendarEntry/i.test(criteria.Type) && typeof callback == 'function') + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.noAsync); + + DBase = context.getData(provider); + var cal = Data.CalendarName || default_calendar; + if (!(cal in DBase)) + return error(device.implementation.ERR_NOT_FOUND); + + // Type = Calendar + if (!/CalendarEntry/i.test(criteria.Type)) { + // CalendarName is mandatory + if (!Data.CalendarName) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_missing, 'CalendarName'); + + DBase[cal] = null; + delete DBase[cal]; + } + else { + // Type = CalendarEntry + + if (!context.keys(Data).join().match(/IdList|LocalIdList|DeleteAll|StartRange|EndRange/ig)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_missing, 'Data'); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + var which = Data.IdList ? 'IdList' : 'LocalIdList', + idList = Data[which] || false; + + if (idList) { + // search for and delete items + for (var id in idList) { + id = idList[id]; + for (var i in DBase[cal]) { + if (id == DBase[cal][i][which]) { + DBase[cal].splice(i, 1); + } + } + } + } + else if (Data.DeleteAll && Data.DeleteAll === true){ + delete DBase[cal]; + DBase[cal] = []; + } + + if (Data.StartRange || Data.EndRange) { + context.notify(_t('%s:: Delete : StartRange / EndRange not implemented in preview.').arg(provider)); + } + } + // return success + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + /** + * Calendar: Import + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __Import(criteria, callback){ + + if ((result = validator.apply('Import', arguments)) !== false) + return result; + + var Data = criteria.Data || false; + if (!Data) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'Data'); + + if (!Data.FileName) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'FileName'); + + if (!Data.Format) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'Format'); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + context.notify(_t('%s:: Import : not implemented in preview.').arg(provider)); + var returnValue = context.Iterator([]); + return context.Result(returnValue, device.implementation.ERR_SUCCESS); + } + + + /** + * Calendar: Export + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __Export(criteria, callback){ + + if ((result = validator.apply('Export', arguments)) !== false) + return result; + + var Data = criteria.Data || false; + if (!Data) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'Data'); + + if (!Data.Format) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.is_invalid, 'Format'); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + context.notify(_t('%s:: Export : not implemented in preview.').arg(provider)); + var returnValue = ''; + return context.Result(returnValue, device.implementation.ERR_SUCCESS); + } + + + /** + * Calendar: RequestNotification + * @param {Object} criteria + * @param {function} callback function for async call + */ + function __RequestNotification(criteria, callback){ + + if ((result = validator.apply('RequestNotification', arguments)) !== false) + return result; + + if (typeof callback != 'function') + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.badAsync); + + context.notify(_t('%s:: RequestNotification : not implemented in preview.').arg(provider)); + var result = context.ErrorResult(device.implementation.ERR_SUCCESS); + result.TransactionID = 0; + return result; + } + + + /** + * Calendar: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.missingTID); + + clearTimeout(criteria.TransactionID); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['Calendar',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + /** + * validate common input arguments + * 'this' is string (object) name of calling function + * + * @param {arguments} arguments of calling function + * @return {Result} Result object if error, false if no error. + */ + function validator() { + method = ''+this; + var failed = false, + criteria = arguments[0] || false; + + if (!criteria) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + if (typeof criteria != 'object' || typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var TypeRE = /Import|Export|RequestNotification/i.test(method) + ? /^CalendarEntry$/i + : /^(Calendar|CalendarEntry)$/i; + + if (!TypeRE.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + return failed; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + badType : '%s : %s : Type is invalid', + badCalendar : '%s : %s : CalendarName is invalid', + missingCalendar : '%s : %s : CalendarName is missing', + missingTID : '%s : %s : TransactionID is missing', + badAsync : '%s : %s : Invalid async parameters', + noAsync : '%s : %s : Async not supported', + is_missing : '%s : %s : %s is missing', + is_invalid : '%s : %s : %s is invalid' + }; + + +}) (); + diff --git a/nokia/www/preview/script/lib/sapi/Contact.js b/nokia/www/preview/script/lib/sapi/Contact.js new file mode 100644 index 00000000..32cf5ed9 --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Contact.js @@ -0,0 +1,407 @@ +/** + * Contact.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.Contact' , + Interface = 'IDataSource'; + + /** + * Contact service + */ + var ContactService = function(){ + this.GetList = __GetList; + this.Add = __Add; + this.Delete = __Delete; + this.Import = __Import; + this.Export = __Export; + this.Organise = __Organise; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new ContactService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + /** + * Contact: GetList + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __GetList(criteria, callback){ + + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + if (!/^(Contact|Group|Database)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + var returnValue = [], + match = null, + filter = criteria.Filter || null; + + DBase = context.getData(provider); + + // Type = Database + if (/Database/i.test(criteria.Type)){ + returnValue = DBase.Database; + } + // Type = Group + else if (/Group/i.test(criteria.Type)){ + // filter by id + if (filter && filter.id) { + returnValue = findById(DBase.Group, filter.id); + if (returnValue.length == 0) + return error(device.implementation.ERR_NOT_FOUND); + } + // return all groups + else { + returnValue = DBase.Group; + } + } + // Type = Contact + else if (/Contact/i.test(criteria.Type)){ + + // filter by id + if (filter && filter.id) { + returnValue = findById(DBase.Contact, filter.id); + if (returnValue.length == 0) + return error(device.implementation.ERR_NOT_FOUND); + } + // return all contacts + else { + returnValue = DBase.Contact; + } + + // unsupported filters + if (filter + && (match = context.keys(filter).join().match(/SearchVal|DBUri/ig)) ) { + context.notify(_t('%s:: GetList : filter %s not implemented in preview').arg(provider, match.join())); + } + // unsupported sort + if (criteria.Sort) { + context.notify(_t('%s:: GetList : sort not implemented in preview').arg(provider)); + } + } + return context.Result(context.Iterator(returnValue)); + } + + /** + * Contact: Add + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Add(criteria, callback){ + + if ((result = validator.apply('Add', arguments)) !== false) + return result; + + if (!/^(Contact|Group)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType2); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + DBase = context.getData(provider); + var Data = criteria.Data, + item; + + // unsupported! + if (Data.DBUri) { + context.notify(_t('%s:: Add : Data.DBUri not implemented in preview').arg(provider)); + } + + // Type = Group + if (/Group/i.test(criteria.Type)){ + + if (!Data.GroupLabel) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.missingGroupLabel); + + // update + if (Data.id) { + returnValue = findById(DBase.Group, Data.id); + if (returnValue.length == 0) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + returnValue[0].GroupLabel = Data.GroupLabel; + //@todo: group contents!? + } + // new + else { + item = context.extend({}, Data); + item.id = String(context.getUniqueID()); + DBase.Group.push(item); + } + } + // Type = Contact + else { + // update + if (Data.id) { + returnValue = findById(DBase.Contact, Data.id); + if (returnValue.length == 0) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + context.extend(returnValue[0], Data); + } + // new + else { + item = context.extend({}, Data); + item.id = String(context.getUniqueID()); + DBase.Contact.push(item); + } + } + // return success + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Contact: Delete + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Delete(criteria, callback){ + + if ((result = validator.apply('Delete', arguments)) !== false) + return result; + + if (!/^(Contact|Group)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType2); + + var Data = criteria.Data; + if (!Data.IdList) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingIdList); + if (typeof Data.IdList != 'object') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badIdList); + + DBase = context.getData(provider); + var type = criteria.Type; + + // unsupported! + if (Data.DBUri) { + context.notify(_t('%s:: Delete : Data.DBUri not implemented in preview').arg(provider)); + } + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + // for both Group & Contact: + var i,j,id,item; + for (j in Data.IdList) { + id = Data.IdList[j]; + for (i in DBase[type]) { + item = DBase[type][i]; + if (id == item.id) { + DBase[type].splice(i, 1); + } + } + } + // return success + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Contact: Import + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Import(criteria, callback){ + + if ((result = validator.apply('Import', arguments)) !== false) + return result; + + if (!/^(Contact)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType3); + + var Data = criteria.Data; + if (!Data.SourceFile) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingSourceFile); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + context.notify(_t('%s:: Import : not implemented in preview.').arg(provider)); + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Contact: Export + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Export(criteria, callback){ + + if ((result = validator.apply('Export', arguments)) !== false) + return result; + + if (!/^(Contact)$/i.test(criteria.Type)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType4); + + var Data = criteria.Data; + if (!Data.DestinationFile) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingDestinationFile); + + if (!Data.id) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingId); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + context.notify(_t('%s:: Export : not implemented in preview.').arg(provider)); + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Contact: Organise + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Organise(criteria, callback){ + + if ((result = validator.apply('Organise', arguments)) !== false) + return result; + + if (!/^(Group)$/i.test(criteria.Type)) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.badType5); + + var Data = criteria.Data; + if (!Data.id) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingId2); + + if (!Data.IdList) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingIdList); + + if (typeof Data.IdList != 'object') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badIdList); + + if (!/^(Associate|Disassociate)$/i.test(criteria.OperationType)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badOperationType); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + context.notify(_t('%s:: Organise : not implemented in preview.').arg(provider)); + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Contact: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.missingTID); + + clearTimeout(criteria.TransactionID); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['Contacts',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + /** + * validate common input arguments + * 'this' is string (object) name of calling function + * + * @param {arguments} arguments of calling function + * @return {Result} Result object if error, false if no error. + */ + function validator() { + method = ''+this; + var failed = false, + criteria = arguments[0] || false; + + if (!criteria || typeof criteria != 'object' || typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType, method); + + if (method == 'GetList') return failed; + + var Data = criteria.Data || false; + if (!Data) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingData, method); + if (typeof Data != 'object') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.badData); + + return failed; + } + + + function findById(dbase, id){ + var result = []; + for (var i in dbase) { + if (id == dbase[i]['id']) { + result.push(dbase[i]); + } + } + return result; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + missingType : '%s : %s : Type is Missing', + badType : '%s: %s : Invalid value for Type, Must be Contact/Group/Database', + badType2 : '%s : %s : Invalid Type, must be Contact/Group', + badType3 : '%s : %s : Invalid Type,it must be Contact', + badType4 : '%s : %s : Invalid Type, it must be Contact', + badType5 : '%s : %s : Invalid Content Type, It must be Group', + badOperationType: '%s : %s : Invalid Operation Type', + missingGroupLabel: '%s : %s : Group Label is Missing', + missingTID : 'Contact : Cancel : TransactionID is missing', // not 'Contacts'!! + badAsync : '%s : %s : Invalid async parameters', + missingData : '%s : %s : %s data Missing', + badData : '%s : %s : Invalid Type of Data , Map is required', + missingIdList : '%s : %s : List of Ids is missing', + badIdList : '%s : %s : Type of IdList is wrong, List is required', + missingSourceFile: '%s : %s : Import Source Filename is Missing', + missingDestinationFile: '%s : %s : Export Destination Filename is Missing', + missingId : '%s : %s : Contact Id to be exported is missing', + missingId2 : '%s : %s : GroupId is missing', + is_missing : '%s : %s : %s is missing', + is_invalid : '%s : %s : %s is invalid' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/Landmarks.js b/nokia/www/preview/script/lib/sapi/Landmarks.js new file mode 100644 index 00000000..991dea3e --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Landmarks.js @@ -0,0 +1,556 @@ +/** + * Landmarks.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.Landmarks', + Interface = 'IDataSource'; + + /** + * Landmark service + */ + var LandmarkService = function(){ + this.New = __New; + this.GetList = __GetList; + this.Add = __Add; + this.Delete = __Delete; + this.Import = __Import; + this.Export = __Export; + this.Organise = __Organise; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new LandmarkService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + /** + * Landmarks: New + * @param {Object} criteria + */ + function __New(criteria){ + if ((result = validator.apply('New', arguments)) !== false) + return result; + + if (typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^(Landmark|Category)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var returnValue; + + if(criteria.Type == 'Landmark') + { + returnValue = { + 'LandmarkName' : '', + 'id' : '', + 'CategoryInfo' : '', + 'LandmarkDesc' : '', + 'LandmarkPosition' : { + 'Latitude' : '', + 'Longitude' : '', + 'Altitude' : '', + 'HAccuracy' : '', + 'VAccuracy' : '', + 'VAccuracy' : '' + }, + 'CoverageRadius' : '', + 'IconFile' : '', + 'IconIndex' : '', + 'IconMaskIndex' : '', + 'LandmarkFields' : { + 'Street' : '', + 'BuildingName' : '', + 'District' : '', + 'City' : '', + 'AreaCode' : '', + 'Telephone' : '', + 'Country' : '' + } + }; + } + else //Category + { + returnValue = { + 'CategoryName' : '', + 'id' : '', + 'GlobalId' : '', + 'IconFile' : '', + 'IconIndex' : '', + 'IconMaskIndex' : '' + }; + } + + return context.Result(returnValue); + } + + /** + * Landmarks: GetList + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __GetList(criteria, callback){ + + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + if (typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^(Landmark|Category|Database)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + if (criteria.Filter) + context.notify(_t('%s:: GetList : filter not implemented in preview').arg(provider)); + + if(criteria.Sort) + context.notify(_t('%s:: GetList : Sort is not implemented in preview').arg(provider)); + + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + var returnValue = [], + match = null, + filter = criteria.Filter || null; + + DBase = context.getData(provider); + + + if (/Database/i.test(criteria.Type)) { // Type = Database + + returnValue = context.Iterator( DBase.Database || [] ); + + } else if (/Landmark/i.test(criteria.Type)){ // Type = Landmark + + returnValue = context.Iterator( DBase[criteria.Type] || [] ); + + } else { // Type = Category + + // @todo: apply filter criteria + returnValue = context.Iterator( DBase[criteria.Type] || [] ); + } + return context.Result(returnValue); + } + + /** + * Landmarks: Add + * @param {Object} criteria + */ + function __Add(criteria){ + + if ((result = validator.apply('Add', arguments)) !== false) + return result; + + if (!/^(Landmark|Category)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + + var Data = criteria.Data || false; + if(!Data){ + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingData); + } + + DBase = context.getData(provider); + + // unsupported! + if (Data.DatabaseURI) { + context.notify(_t('%s:: Add : Data.DatabaseURI not implemented in preview').arg(provider)); + } + + var item; + + // Type = Landmark + if (/Landmark/i.test(criteria.Type)){ + + if (!Data.LandmarkName) + Data.LandmarkName=""; + + var landmarkPos = Data.LandmarkPosition; + if (typeof landmarkPos != 'undefined') { + if ((typeof landmarkPos.Latitude == 'undefined' || typeof landmarkPos.Latitude != 'number') && + (typeof landmarkPos.Longitude == 'undefined' || typeof landmarkPos.Longitude != 'number') && + (typeof landmarkPos.Altitude == 'undefined' || typeof landmarkPos.Altitude != 'number') && + (typeof landmarkPos.HAccuracy == 'undefined' || typeof landmarkPos.HAccuracy != 'number') && + (typeof landmarkPos.VAccuracy == 'undefined' || typeof landmarkPos.VAccuracy != 'number')) { + + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType); + } + } + // update + if (typeof Data.id != 'undefined') { + if(typeof Data.id != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.invalidId); + + var retIndex = findById(DBase.Landmark, Data.id); + if (retIndex == -1) + return error(device.implementation.ERR_NOT_FOUND); + DBase.Landmark[retIndex] = Data; + item = Data; + } + // new + else { + item = context.extend({}, Data); + item.id = String(context.getUniqueID()); + DBase.Landmark.push(item); + } + } else { // Type = Category +// alert(typeof Data.CategoryName); + + //alert("Data.id : "+Data.id); + // update + if (typeof Data.id != 'undefined') { + if(typeof Data.id != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.invalidId); + + var retIndex = findById(DBase.Category, Data.id); + if (retIndex == -1) + return error(device.implementation.ERR_NOT_FOUND); + + DBase.Category[retIndex] = Data; + item = Data; + } + // new + else { + if (typeof Data.CategoryName == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingCategoryName); + + if(typeof Data.CategoryName != 'string' || Data.CategoryName.length <= 0) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType); + + var retIndex = findByName(DBase.Category, Data.CategoryName); + if (retIndex != -1) + return error(device.implementation.ERR_ENTRY_EXISTS); + + item = context.extend({}, Data); + item.id = String(context.getUniqueID()); + DBase.Category.push(item); + } + } + // return success + return context.Result(item.id, device.implementation.ERR_SUCCESS); + } + + /** + * Landmarks: Delete + * @param {Object} criteria + */ + function __Delete(criteria){ + + if ((result = validator.apply('Delete', arguments)) !== false) + return result; + + if (!/^(Landmark|Category)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var Data = criteria.Data || false; + if(!Data){ + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.missingData); + } + + if (typeof Data.id == 'undefined') { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingId); + } + + if (typeof Data.id != 'undefined' && typeof Data.id != 'string') { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.invalidId); + } + if(Data.id.length <= 0 ) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.invalidId); + + DBase = context.getData(provider); + + var type = criteria.Type; + + // unsupported! + if (Data.DBUri) { + context.notify(_t('%s:: Delete : Data.DBUri not implemented in preview').arg(provider)); + } + + // for both Landmark & Category: + var i,item; + + for (i in DBase[type]) { + item = DBase[type][i]; + if (Data.id == item.id) { + DBase[type].splice(i, 1); + } + } + + // return success + return error(device.implementation.ERR_SUCCESS); + } + + /** + * Landmarks: Import + * @param {Object} criteria + */ + function __Import(criteria){ + + if ((result = validator.apply('Import', arguments)) !== false) + return result; + + if (!/^(Landmark)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + context.notify(_t('%s:: Import : not implemented in preview.').arg(provider)); + + var Data = criteria.Data || false; + if(!Data) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.missingData); + + if (!Data.SourceFile) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingSourceFile); + + if (!Data.MimeType) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingMimeType); + + if (!/^(application\/vnd.nokia.landmarkcollection\+xml|application\/vnd.nokia.landmark\+wbxml)$/i.test(Data.MimeType)) + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.invalidMime); + + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Landmarks: Export + * @param {Object} criteria + */ + function __Export(criteria){ + + if ((result = validator.apply('Export', arguments)) !== false) + return result; + + context.notify(_t('%s:: Export : not implemented in preview.').arg(provider)); + if (!/^(Landmark)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var Data = criteria.Data || false; + if(!Data){ + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.missingData); + } + + if (!Data.DestinationFile) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingDestFile); + + if (!Data.MimeType) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingMimeType); + + if (!Data.IdList) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingIdList); + + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Landmarks: Organise + * @param {Object} criteria + */ + function __Organise(criteria){ + + if ((result = validator.apply('Organise', arguments)) !== false) + return result; + + if (!/^(Landmark)$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var Data = criteria.Data || false; + if(!Data){ + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.missingData); + } + + if (!Data.id || Data.id == "") + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.invalidId); + + DBase = context.getData(provider); + var categories = DBase['Category']; + var landmarks = DBase['Landmark']; + var found = false; + + + for(var i=0;i criteria.Updateoptions.UpdateTimeOut) + { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgNone); + } + + /*if((typeof criteria.Updateoptions.UpdateTimeOut != "undefined" && criteria.Updateoptions.UpdateTimeOut <= 1000000))// || (typeof criteria.Updateoptions.UpdateInterval != "undefined" && criteria.Updateoptions.UpdateInterval <= 1000000)) + { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgNone); + }*/ + } + + if(typeof criteria.LocationInformationClass != "undefined" && criteria.LocationInformationClass != "BasicLocationInformation" && criteria.LocationInformationClass != "GenericLocationInfo") // checking for errors in LocationInformationClass criteria + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgGetLocationWrongCat); + + if (/^Trace$/i.test(fun)&&(!criteria.Updateoptions || typeof criteria.Updateoptions.UpdateInterval == "undefined")) { + if(!criteria.Updateoptions) + { + criteria.Updateoptions = new Object(); + } + criteria.Updateoptions.UpdateInterval = 1000000; // Emulation only!! for convenience UpdateInterval is set to 1 second is not specified or if it less than 1 second + context.notify("Using default UpdateInterval(1000000 micro seconds)"); + } + + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); + + } + + /** + * Location: error + * @param {number,string} ErrorCode and ErrorString + * Replaces Error String with method name + */ + function error(code, msg /*, args...*/){ + + var args = ['location',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + function locationNotify(updateoptions) { + if(!updateoptions) + return; + if(typeof updateoptions.UpdateTimeOut != "undefined") + context.notify(_t("%s:: %s : Updateoptions.UpdateTimeOut not implemented in preview").arg(provider, method)); + + if(typeof updateoptions.UpdateMaxAge != "undefined") + context.notify(_t("%s:: %s : Updateoptions.UpdateMaxAge not implemented in preview").arg(provider, method)); + + if(typeof updateoptions.PartialUpdates != "undefined") + context.notify(_t("%s:: %s : Updateoptions.PartialUpdates not implemented in preview").arg(provider, method)); + } + + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + /* Latitude/longitude spherical geodesy formulae & scripts (c) Chris Veness 2002-2009 */ + /* http://www.movable-type.co.uk/scripts/latlong.html */ + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + /* + * Use Haversine formula to Calculate distance (in km) between two points specified by + * latitude/longitude (in numeric degrees) + * + * example usage from form: + * result.value = LatLon.distHaversine(lat1.value.parseDeg(), long1.value.parseDeg(), + * lat2.value.parseDeg(), long2.value.parseDeg()); + * where lat1, long1, lat2, long2, and result are form fields + */ + + + LatLon.distHaversine = function(lat1, lon1, lat2, lon2) { + var R = 6371; // earth's mean radius in km + var dLat = toRad(lat2-lat1); + var dLon = toRad(lon2-lon1); + lat1 = toRad(lat1), lat2 = toRad(lat2); + + var a = Math.sin(dLat/2) * Math.sin(dLat/2) + + Math.cos(lat1) * Math.cos(lat2) * + Math.sin(dLon/2) * Math.sin(dLon/2); + var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); + var d = R * c; + return d; + } + + + /* + * ditto using Law of Cosines + */ + LatLon.distCosineLaw = function(lat1, lon1, lat2, lon2) { + var R = 6371; // earth's mean radius in km + var d = Math.acos(Math.sin(toRad(lat1))*Math.sin(toRad(lat2)) + + Math.cos(toRad(lat1))*Math.cos(toRad(lat2))*Math.cos(toRad(lon2-lon1))) * R; + return d; + } + + + /* + * calculate (initial) bearing between two points + * see http://williams.best.vwh.net/avform.htm#Crs + */ + LatLon.bearing = function(lat1, lon1, lat2, lon2) { + lat1 = toRad(lat1); lat2 = toRad(lat2); + var dLon = toRad(lon2-lon1); + + var y = Math.sin(dLon) * Math.cos(lat2); + var x = Math.cos(lat1)*Math.sin(lat2) - + Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon); + return toBrng(Math.atan2(y, x)); + } + + + /* + * calculate destination point given start point, initial bearing (deg) and distance (km) + * see http://williams.best.vwh.net/avform.htm#LL + */ + LatLon.prototype.destPoint = function(brng, d) { + var R = 6371; // earth's mean radius in km + var lat1 = toRad(this.lat), lon1 = toRad(this.lon); + brng = toRad(brng); + + var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) + + Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) ); + var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1), + Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2)); + lon2 = (lon2+Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180...+180 + + if (isNaN(lat2) || isNaN(lon2)) return null; + return new LatLon(toDeg(lat2), toDeg(lon2)); + } + + + /* + * construct a LatLon object: arguments in numeric degrees + * + * note all LatLong methods expect & return numeric degrees (for lat/long & for bearings) + */ + function LatLon(lat, lon) { + this.lat = lat; + this.lon = lon; + } + + + /* + * represent point {lat, lon} in standard representation + */ + LatLon.prototype.toString = function() { + return this.lat.toLat() + ', ' + this.lon.toLon(); + } + + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + // extend String object with method for parsing degrees or lat/long values to numeric degrees + // + // this is very flexible on formats, allowing signed decimal degrees, or deg-min-sec suffixed by + // compass direction (NSEW). A variety of separators are accepted (eg 3º 37' 09"W) or fixed-width + // format without separators (eg 0033709W). Seconds and minutes may be omitted. (Minimal validation + // is done). + + function parseDeg (str) { + if (!isNaN(str)) return Number(str); // signed decimal degrees without NSEW + + var degLL = str.replace(/^-/,'').replace(/[NSEW]/i,''); // strip off any sign or compass dir'n + var dms = degLL.split(/[^0-9.]+/); // split out separate d/m/s + for (var i in dms) if (dms[i]=='') dms.splice(i,1); // remove empty elements (see note below) + switch (dms.length) { // convert to decimal degrees... + case 3: // interpret 3-part result as d/m/s + var deg = dms[0]/1 + dms[1]/60 + dms[2]/3600; break; + case 2: // interpret 2-part result as d/m + var deg = dms[0]/1 + dms[1]/60; break; + case 1: // decimal or non-separated dddmmss + if (/[NS]/i.test(str)) degLL = '0' + degLL; // - normalise N/S to 3-digit degrees + var deg = dms[0].slice(0,3)/1 + dms[0].slice(3,5)/60 + dms[0].slice(5)/3600; break; + default: return NaN; + } + if (/^-/.test(str) || /[WS]/i.test(str)) deg = -deg; // take '-', west and south as -ve + return deg; + } + // note: whitespace at start/end will split() into empty elements (except in IE) + + + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + // extend Number object with methods for converting degrees/radians + + function toRad (deg) { // convert degrees to radians + return deg * Math.PI / 180; + } + + function toDeg (rad) { // convert radians to degrees (signed) + return rad * 180 / Math.PI; + } + + function toBrng (rad) { // convert radians to degrees (as bearing: 0...360) + return (toDeg(rad)+360) % 360; + } + + + /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + // extend Number object with methods for presenting bearings & lat/longs + + function toDMS (num) { // convert numeric degrees to deg/min/sec + var d = Math.abs(num); // (unsigned result ready for appending compass dir'n) + d += 1/7200; // add ½ second for rounding + var deg = Math.floor(d); + var min = Math.floor((d-deg)*60); + var sec = Math.floor((d-deg-min/60)*3600); + // add leading zeros if required + if (deg<100) deg = '0' + deg; if (deg<10) deg = '0' + deg; + if (min<10) min = '0' + min; + if (sec<10) sec = '0' + sec; + return deg + '\u00B0' + min + '\u2032' + sec + '\u2033'; + } + + function toLat (deg) { // convert numeric degrees to deg/min/sec latitude + return toDMS(deg).slice(1) + (deg<0 ? 'S' : 'N'); // knock off initial '0' for lat! + } + + function toLon (deg) { // convert numeric degrees to deg/min/sec longitude + return toDMS(deg) + (deg>0 ? 'E' : 'W'); + } + + function toPrecision (num,fig) { // override toPrecision method with one which displays + if (num == 0) return 0; // trailing zeros in place of exponential notation + var scale = Math.ceil(Math.log(num)*Math.LOG10E); + var mult = Math.pow(10, fig-scale); + return Math.round(num*mult)/mult; + } + + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + msgCommandNotFound : '%s : Command Not found', + msgGetLocationWrongCat : '%s : %s : wrong category info should be BasicLocationInformation/GenericLocationInfo ', + msgGetLocationBadArg : '%s : %s : BadArgument - Updateoptions', + msgGetLocationNegInt : '%s : %s : Negative Time Interval', + msgGetLocationWrongType : '%s : %s : UpdateOptions Type mismatch', + msgTraceWrongCat : '%s : %s : Invalid LocationInformationClass', + msgCalcMissingMathReq : '%s : %s : Missing argument - MathRequest', + msgCalcWrongTypeMathReq : '%s : %s : Wrong argument - MathRequest', + msgCalcMissingArgLocCord : '%s : %s : Missing argument - locationcoordinate', + msgCalcMissingArgMoveDist : '%s : %s : Missing argument - MoveByThisDistance', + msgCalcMissingArgMoveBear : '%s : %s : Missing argument - MoveByThisBearing', + msgCalcWrongTypeMoveDist : '%s : %s : TypeMismatch - MoveByThisDistance', + msgCalcWrongTypeMoveBear : '%s : %s : TypeMismatch - MoveByThisBearing', + msgCancelBadArg : '%s : %s : BadArgument – cancel type', + msgCancelMissingType : '%s : %s : Missing cancel type', + msgCancelWrongType : '%s : %s : Wrong cancel type' , + msgNone : '' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/Logging.js b/nokia/www/preview/script/lib/sapi/Logging.js new file mode 100644 index 00000000..d3589e84 --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Logging.js @@ -0,0 +1,535 @@ +/** + * Logging.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.Logging', + Interface = 'IDataSource'; + + /** + * Landmark service + */ + var LoggingService = function(){ + this.Add = __Add; + this.GetList = __GetList; + this.Delete = __Delete; + this.RequestNotification = __RequestNotification; + this.Cancel = __Cancel; + + } + + device.implementation.extend(provider, Interface, new LoggingService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + var transactionIds = new Array(); + var tTransactionId = -1; + var isTraceInProgress = false; + var criteriaReq; + var callbackReq; + + /** + * Logging: Add + * @param {Object} criteria + * @param (function) callback + */ + function __Add(criteria, callback, flag){ + method = "Add"; + // Async call + flag = flag || false; + + if (!flag) { + var result = ValidateAdd(criteria, callback); + if (result.ErrorCode != 0) + return result; + } + + + if(typeof callback == 'function') + { + return context.callAsync(this, arguments.callee, criteria, callback); + } + DBase = context.getData(provider); + var returnValue = DBase[criteria.Type]; + criteria.Item.id = GenerateRandomNumber()+''; + criteria.Item["EventTime"] = GetCurrDate(); + returnValue.push(criteria.Item); + return context.Result(criteria.Item.id,0); + } + + /** + * Logging: GetList + * @param {Object} criteria + * @param (function) callback + */ + function __GetList(criteria, callback, flag){ + method = "GetList"; + // Async call + flag = flag || false; + + if (!flag) { + var result = ValidateGetList(criteria, callback); + if (result.ErrorCode != 0) + return result; + } + + + if(typeof callback == 'function') + { + return context.callAsync(this, arguments.callee, criteria, callback); + } + if(criteria.Filter){ + context.notify(_t('%s:: GetList : filter not implemented in preview').arg(provider)); + } + + DBase = context.getData(provider); + var returnValue; + // @todo: apply filter criteria + returnValue = context.Iterator( DBase[criteria.Type] || [] ); + + return context.Result(returnValue,0); + } + + /** + * Logging: Delete + * @param {Object} criteria + * @param (function) callback + */ + function __Delete(criteria, callback, flag){ + method = "Delete"; + // Async call + flag = flag || false; + if (!flag) { + if (!criteria || !criteria.Type) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgTypeMissing); + + if (typeof criteria.Type != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgTypeInvalid); + + if (criteria.Type != 'Log') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgTypeInvalid); + + if (!criteria.Data) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgDataMissing); + + if(typeof criteria.Data != 'object') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgDataInvalid); + + if(typeof criteria.Data.id == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgid); + + if (typeof criteria.Data.id != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgidInvalid); + + if(criteria.Data.id == '') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgidInvalid); + } + DBase = context.getData(provider); + var returnValue,found = false; + returnValue = DBase[criteria.Type]; + for(var i=0; i 11) + { + ampm = "pm"; + } + else if(curr_hour <10) + { + curr_hour = "0"+curr_hour; + } + var curr_min = d.getMinutes(); + if(curr_min <10) + curr_min = "0"+curr_min; + + var curr_sec = d.getSeconds(); + if(curr_sec <10) + curr_sec = "0"+curr_sec; + + var strDate = d_names[curr_day]+', '+curr_date+' '+m_names[curr_month]+', '+curr_year+' '+curr_hour+':'+curr_min+':'+curr_sec+' '+ampm; + return strDate; + } + + /** + * ValidateAdd + * @param {object,function} + * Validates ADD arguments + */ + function ValidateAdd(criteria,callback) + { + var type; + if(!criteria || !criteria.Type) + return error(device.implementation.ERR_MISSING_ARGUMENT,msg.msgTypeMissing); + + if (typeof criteria.Type != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgTypeInvalid); + + if(criteria.Type != 'Log') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT,msg.msgTypeInvalid); + + if (!criteria.Item) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgItemMissing); + + if(typeof criteria.Item != 'object') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgItemInvalid); + + + if(typeof criteria.Item.EventType == "undefined") + return error(device.implementation.ERR_MISSING_ARGUMENT,msg.msgEventTypeMissing); + + if(typeof criteria.Item.EventType != "number" ) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgEventTypeInvalid); + + if(typeof criteria.Item.EventType == "number" && !(criteria.Item.EventType >=0 && criteria.Item.EventType <=4)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT,msg.msgEventTypeInvalid); + + type = typeof criteria.Item.RemoteParty; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgRemotePartyInvalid); + + type = typeof criteria.Item.Direction; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgDirectionInvalid); + + if (type == "number" && (criteria.Item.Direction < 0 || criteria.Item.Direction > 6)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgDirectionInvalid); + } + + type = typeof criteria.Item.EventDuration; + if(type != 'undefined' && type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgEventDurationInvalid); + + type = typeof criteria.Item.DeliveryStatus; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgDeliveryStatusInvalid); + + if (type == "number" && (criteria.Item.DeliveryStatus < 0 || criteria.Item.DeliveryStatus > 6)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgDeliveryStatusInvalid); + } + + type = typeof criteria.Item.Subject; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgSubjectInvalid); + + type = typeof criteria.Item.PhoneNumber; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgPhoneNumberInvalid); + + type = typeof criteria.Item.Link; + if(type != 'undefined' && type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgLinkInvalid); + + type = typeof criteria.Item.LogFlags; + if(type != 'undefined' && (type != "number" || (criteria.Item.LogFlags != 1 && criteria.Item.LogFlags != 0))) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgLogFlagsInvalid); + + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); + } + + /** + * ValidateGetList + * @param {object,function} + * Validates GetList function + */ + function ValidateGetList(criteria,callback) + { + var type; + if(!criteria || !criteria.Type) + return error(device.implementation.ERR_MISSING_ARGUMENT,msg.msgTypeMissing); + + if (typeof criteria.Type != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgTypeInvalid); + + if(criteria.Type != 'Log') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT,msg.msgTypeInvalid); + + type = typeof criteria.Filter; + if(type != 'undefined' && type != "object") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgFilterInvalid); + + if(type == 'undefined') + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); + + type = typeof criteria.Filter.id; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgid); + + if(type != 'undefined') + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); // if id is given all other filters will be ignored + + type = typeof criteria.Filter.EventType; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgEventTypeInvalid); + + if (type != "number" || !(criteria.Filter.EventType >= 0 && criteria.Filter.EventType <= 4)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgEventTypeInvalid); + } + type = typeof criteria.Filter.RecentList; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgRecentListInvalid); + if (type == "number" && (criteria.Filter.RecentList < -1 || criteria.Filter.RecentList > 3)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgRecentListInvalid); + } + + type = typeof criteria.Filter.RemoteParty; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgRemotePartyInvalid); + + type = typeof criteria.Filter.Direction; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgDirectionInvalid); + if (type == "number" && (criteria.Filter.Direction < 0 || criteria.Filter.Direction > 6)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgDirectionInvalid); + } + + type = typeof criteria.Filter.DeliveryStatus; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgDeliveryStatusInvalid); + if (type == "number" && (criteria.Filter.DeliveryStatus < 0 || criteria.Filter.DeliveryStatus > 6)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgDeliveryStatusInvalid); + } + + type = typeof criteria.Filter.EndTime; + if(type != 'undefined' && (type != "object" || typeof criteria.Filter.EndTime.getTime != "function")) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgEndTimeInvalid); + + type = typeof criteria.Filter.PhoneNumber; + if(type != 'undefined' && type != "string") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE,msg.msgPhoneNumberInvalid); + + + type = typeof criteria.Filter.LogFlags; + if (type != 'undefined') { + if (type != "number") + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgLogFlagsInvalid); + if (type == "number" && (criteria.Filter.LogFlags != 1 && criteria.Filter.LogFlags != 0)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgLogFlagsInvalid); + } + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); + } + + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + msgTypeInvalid : '%s:%s:TypeInvalid', + msgTypeMissing : '%s:%s:Type Missing', + msgFilterInvalid : '%s:%s:FilterInvalid', + msgidInvalid : '%s:%s:idInvalid', + msgRecentListInvalid : '%s:%s:RecentListInvalid', + msgPhoneNumberInvalid : '%s:%s:PhoneNumberInvalid', + msgDirectionInvalid : '%s:%s:DirectionInvalid', + msgDeliveryStatusInvalid : '%s:%s:DeliveryStatusInvalid', + msgLogFlagsInvalid : '%s:%s:LogFlagsInvalid', + msgEndTimeInvalid : '%s:%s:EndTimeInvalid', + msgRemotePartyInvalid : '%s:%s:RemotePartyInvalid', + msgEventTypeInvalid : '%s:%s:EventTypeInvalid', + msgItemInvalid : '%s:%s:ItemInvalid', + msgItemMissing : '%s:%s:ItemMissing', + msgEventTypeInvalid : '%s:%s:EventTypeInvalid', + msgEventTypeMissing : '%s:%s:EventType Missing', + msgEventDurationInvalid : '%s:%s:EventDurationInvalid', + msgSubjectInvalid : '%s:%s:SubjectInvalid', + msgEventDataInvalid : '%s:%s:EventDataInvalid', + msgLinkInvalid : '%s:%s:LinkInvalid', + msgDataInvalid : '%s:%s:DataInvalid', + msgDataMissing : '%s:%s:Data Missing', + msgid : '%s:%s:id', + msgFilterInvalid : '%s:%s:FilterInvalid', + msgFilterMissing : '%s:%s:Filter Missing', + msgDelayTimeInvalid : '%s:%s:DelayTimeInvalid', + msgDelayTimerMissing : '%s:%s:DelayTimerMissing', + msgTransactionIdInvalid : '%s:%s:TransactionIdInvalid', + msgTransactionIdMissing : '%s:%s:TransactionID Missing', + msgMissingCallback : '%s:%s:Missing Callback', + msgNoMsg : '%s:%s:' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/MediaManagement.js b/nokia/www/preview/script/lib/sapi/MediaManagement.js new file mode 100644 index 00000000..fe1639b6 --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/MediaManagement.js @@ -0,0 +1,157 @@ +/** + * MediaManagement.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.MediaManagement' , + Interface = 'IDataSource'; + + /** + * MediaManagement service + */ + var MediaManagementService = function(){ + this.GetList = __GetList; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new MediaManagementService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + /** + * MediaManagement: GetList + * @param {Object} criteria + * @param {Function} callback function for async call (mandatory) + */ + function __GetList(criteria, callback, _flag){ + + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + // _flag=true indicates re-called state + _flag = _flag || false; + if (!_flag) { + + // callback is mandatory + if (typeof callback != 'function') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.badAsync); + + // continue validation after callback check + if (!criteria.Filter) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing, 'Filter'); + + if (!criteria.Filter.FileType) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing, 'FileType'); + + if (!/^(Music|Sound|Image|Video|StreamingURL)$/i.test(criteria.Filter.FileType)) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE); + + // process callback + _flag = true; + return context.callAsync(this, arguments.callee, criteria, callback, _flag); + } + + var returnValue = [], + match = null, + fileType = criteria.Filter.FileType, + filter = criteria.Filter; + + // normalize filetype + fileType = fileType[0].toUpperCase() + fileType.substr(1).toLowerCase(); + fileType = fileType.replace(/url/i, 'URL'); + + DBase = context.getData(provider); + + // unsupported filters + if (filter + && (match = context.keys(filter).join().match(/Key|StartRange|EndRange/ig)) ) { + context.notify(_t('%s:: GetList : filter %s not implemented in preview').arg(provider, match.join())); + } + // unsupported sort + if (criteria.Sort) { + context.notify(_t('%s:: GetList : sort not implemented in preview').arg(provider)); + } + + returnValue = DBase[fileType]; + return context.Result(context.Iterator(returnValue)); + } + + + /** + * MediaManagement: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingTID); + + clearTimeout(criteria.TransactionID); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['MediaMgmt',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + /** + * validate common input arguments + * 'this' is string (object) name of calling function + * + * @param {arguments} arguments of calling function + * @return {Result} Result object if error, false if no error. + */ + function validator() { + method = ''+this; + var failed = false, + criteria = arguments[0] || false; + + if (!criteria || typeof criteria != 'object' || typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing, 'Type'); + + if (!/^FileInfo$/i.test(criteria.Type)) + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.badType); + + return failed; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + badType : '%s : %s : Type not supported', + missingTID : '%s : %s : TransactionID is missing', + badAsync : '%s : %s : Insufficient arguments for async request', + is_missing : '%s : %s : %s is missing', + is_invalid : '%s : %s : %s is invalid' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/Messaging.js b/nokia/www/preview/script/lib/sapi/Messaging.js new file mode 100644 index 00000000..1b49ef04 --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Messaging.js @@ -0,0 +1,366 @@ +/** + * Messaging.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + +(function(){ + + var provider = 'Service.Messaging' , + Interface = 'IMessaging'; + + /** + * Messaging service + */ + var MessagingService = function(){ + this.GetList = __GetList; + this.Send = __Send; + this.RegisterNotification = __RegisterNotification; + this.CancelNotification = __CancelNotification; + this.ChangeStatus = __ChangeStatus; + this.Delete = __Delete; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new MessagingService() ); + + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + /** + * Messaging: GetList + * @param {Object} criteria + */ + function __GetList(criteria){ + + if ((result = validator.apply('GetList', arguments)) !== false) + return result; + + if (!criteria.Type) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^Inbox$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var returnValue = [], + match = null, + filter = criteria.Filter || null; + + DBase = context.getData(provider); + + // filter by MessageId + if (filter && filter.MessageId) { + returnValue = findByKey(DBase.Inbox, filter.MessageId, 'MessageId'); + if (returnValue.length == 0) + return error(device.implementation.ERR_NOT_FOUND); + } + // return all messages + else { + returnValue = DBase.Inbox; + } + + // unsupported filters + if (filter + && (match = context.keys(filter).join().match(/MessageTypeList|SenderList|Subject|StartDate|EndDate/ig)) ) { + context.notify(_t('%s:: GetList : filter %s not implemented in preview').arg(provider, match.join())); + } + // unsupported sort + if (criteria.Sort) { + context.notify(_t('%s:: GetList : sort not implemented in preview').arg(provider)); + } + return context.Result(context.Iterator(returnValue)); + } + + /** + * Messaging: Send + * @param {Object} criteria + * @param {Function} [callback] function for async call (optional) + */ + function __Send(criteria, callback){ + + if ((result = validator.apply('Send', arguments)) !== false) + return result; + + if (!criteria.MessageType) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.missingMessageType); + + if (!/^(SMS|MMS)$/i.test(criteria.MessageType)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badMessageType); + + if (!criteria.To) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingTo); + + // async call? + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + context.notify(_t('%s:: Send : message sent!').arg(provider)); + + // return success + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Messaging: RegisterNotification + * @param {Object} criteria + * @param {function} callback function for async call (mandatory) + */ + function __RegisterNotification(criteria, callback){ + + if ((result = validator.apply('RegisterNotification', arguments)) !== false) + return result; + + // callback is mandatory + if (typeof callback != 'function') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badAsync); + + // continue validation after callback check + if (typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^NewMessage$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var eventType = 'NewMessage'; + + // check for multiple registration + if (context.hasListener(provider, eventType)) + return error(device.implementation.ERR_ENTRY_EXISTS); + + // process notify + return context.addListener(provider, eventType, criteria, callback, notifyHandler); + } + + function notifyHandler(transactionID, criteria, callback, data){ + + var result, + eventCode = {completed:2, error:4, progress:9}, + code = eventCode.progress; + try{ + DBase = context.getData(provider); + + // make new message + var now = new Date(); + var message = { + "MessageType": "SMS", + "Sender": "0435445454", + "Subject": "new message", + "Time": _t("%s, %s").arg(now.toString().substr(0,3), now.toLocaleString()), + "Priority": "Medium", + "Attachment": false, + "Unread": true, + "MessageId": context.getUniqueID(), + "BodyText": "My hovercraft is full of eels!" + }; + + // extend with optional data + data = typeof data=='object' && !(data instanceof Array) ? data : {}; + var returnValue = context.extend(message, data); + + result = context.Result(returnValue); + + /// add to top of inbox + DBase.Inbox.unshift(message); + } + catch(e){ + code = eventCode.error; + } + callback(transactionID, code, result); + } + + /** + * Messaging: CancelNotification + * @param {Object} criteria + */ + function __CancelNotification(criteria){ + + if ((result = validator.apply('CancelNotification', arguments)) !== false) + return result; + + if (typeof criteria.Type == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingType); + + if (!/^NewMessage$/i.test(criteria.Type)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badType); + + var eventType = 'NewMessage'; + context.removeListener(provider, eventType); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + /** + * Messaging: ChangeStatus + * @param {Object} criteria + */ + function __ChangeStatus(criteria){ + + if ((result = validator.apply('ChangeStatus', arguments)) !== false) + return result; + + if (!criteria.MessageId) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing ,'MessageId'); + + if (typeof criteria.MessageId != 'number') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badMessageIdType); + + if (!criteria.Status) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing ,'Status'); + + if (!/^(Read|Unread|Replied|Forwarded)$/i.test(criteria.Status)) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badStatus); + + // check if a callback was provided + if (arguments.length > 1) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badAsync2); + + DBase = context.getData(provider); + + var i,item, found = false; + for (i in DBase.Inbox) { + item = DBase.Inbox[i]; + if (criteria.MessageId == item.MessageId) { + item.Unread = /Unread/i.test(criteria.Status); + found = true; + } + } + if (!found) + return error(device.implementation.ERR_NOT_FOUND); + + // return success + return error(device.implementation.ERR_SUCCESS); + } + + /** + * Messaging: Delete + * @param {Object} criteria + */ + function __Delete(criteria){ + + if ((result = validator.apply('Delete', arguments)) !== false) + return result; + + if (typeof criteria.MessageId == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingMessageId); + + if (typeof criteria.MessageId != 'number') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badMessageIdType); + + if (criteria.MessageId < 0) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.badMessageId); + + DBase = context.getData(provider); + + var i,item, found = false; + for (i in DBase.Inbox) { + item = DBase.Inbox[i]; + if (criteria.MessageId == item.MessageId) { + DBase.Inbox.splice(i, 1); + found = true; + } + } + if (!found) + return error(device.implementation.ERR_NOT_FOUND); + + // return success + return error(device.implementation.ERR_SUCCESS); + } + + + /** + * Messaging: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.is_missing, 'TransactionID'); + + clearTimeout(criteria.TransactionID); + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['Messaging',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + /** + * validate common input arguments + * 'this' is string (object) name of calling function + * + * @param {arguments} arguments of calling function + * @return {Result} Result object if error, false if no error. + */ + function validator() { + method = ''+this; + var failed = false, + criteria = arguments[0] || false; + + if (!criteria || typeof criteria != 'object') + return error(device.implementation.ERR_MISSING_ARGUMENT, + method == 'Send' + ? msg.missingMessageType + : (/ChangeStatus|Delete/.test(method) + ? msg.missingMessageId + : msg.missingType) ); + + return failed; + } + + + function findByKey(dbase, value, key){ + var result = []; + for (var i in dbase) { + if (value == dbase[i][key]) { + result.push(dbase[i]); + } + } + return result; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + missingType : '%s:%s:Type Missing', + badType : '%s:%s:Type Value Incorrect', + missingTo : '%s:%s:To Missing', + badTo : '%s:%s:To Value Incorrect', + missingMessageType : '%s:%s:MessageType Missing', + badMessageType : '%s:%s:MessageType Value Incorrect', + badAsync : '%s:%s:Synchronous Operation not supported', + badAsync2 : '%s:%s:Asynchronous Operation not supported', + missingMessageId : '%s:%s:MessageId Missing', + badMessageIdType: '%s:%s:MessageId Type Invalid', + badMessageId : '%s:%s:MessageId Value Incorrect', + badStatus : '%s:%s:Status Value Incorrect', + + is_missing : '%s:%s:%s Missing', + is_invalid : '%s:%s:%s Value Incorrect' + }; + + +}) () + diff --git a/nokia/www/preview/script/lib/sapi/Sensor.js b/nokia/www/preview/script/lib/sapi/Sensor.js new file mode 100644 index 00000000..b1bb4e48 --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/Sensor.js @@ -0,0 +1,250 @@ +/** + * Sensor.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + +(function(){ + + var provider = 'Service.Sensor', + Interface = 'ISensor'; + var transID = new Array(); + /** + * Sensor service + */ + var SensorService = function(){ + this.FindSensorChannel = __FindSensorChannel; + this.RegisterForNotification = __RegisterForNotification; + this.Cancel = __Cancel; + this.GetChannelProperty = __GetChannelProperty; + } + + device.implementation.extend(provider, Interface, new SensorService() ); + + /******************************************************/ + /******************************************************/ + /******************************************************/ + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null; + + + /** + * Sensor: FindSensorChannel + * @param {Object} criteria + */ + function __FindSensorChannel(criteria){ + method = 'FindSensorChannel'; + if(!criteria) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgCriteriaMissing); + + if(typeof criteria != 'object') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgCriteriaMissing); + + if(typeof criteria.SearchCriterion == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgDataMissing); + + if(typeof criteria.SearchCriterion != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgidInvalid); + + if(!(criteria.SearchCriterion== "All" || criteria.SearchCriterion== "AccelerometerAxis" || criteria.SearchCriterion=="AccelerometerDoubleTapping" || criteria.SearchCriterion=="Orientation" || criteria.SearchCriterion=="Rotation")) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgSearchParamInvalid); + + if(arguments.length > 1) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgCriteriaMissing); + + DBase = context.getData(provider); + var returnValue; + returnValue = DBase[criteria.SearchCriterion] || [] ; + + return context.Result(returnValue,0); + } + + + + /** + * Sensor: RegisterForNotification + * @param {Object} criteria, callback + */ + function __RegisterForNotification(criteria, callback, flag){ + flag = flag || false; + method = 'RegisterForNotification'; + context.notify(_t('%s:: RegisterForNotification not implemented in preview').arg(provider)); + + if(arguments.length >2 && (typeof flag != "undefined" && typeof flag != "boolean")) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgCriteriaMissing); + + if(typeof callback != 'function') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgInsufficentArgument); + + + if(!criteria) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgIncompleteInput); + + if(typeof criteria != 'object') + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgIncompleteInput); + + if(typeof criteria.ListeningType == 'undefined' || typeof criteria.ChannelInfoMap == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgIncompleteInput); + + if(typeof criteria.ListeningType != 'string') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgListenTypeInvalid); + + if(typeof criteria.ChannelInfoMap != 'object') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgChannelInfoMapInvalid); + + if(!(criteria.ListeningType== "ChannelData" )) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgOutofRange); + + if(typeof callback == 'function') + { + var result = context.callAsync(this, arguments.callee, criteria, callback); + transID.push(result.TransactionID); + return result; + } + if(flag) + transID.shift(); + + return context.ErrorResult(); + } + + + /** + * Sensor: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + + if(arguments.length > 1 && typeof criteria != "object" && typeof criteria.TransactionID != "number" && arguments[1]) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgCriteriaMissing); + + if (!criteria || typeof criteria.TransactionID == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.msgTransIDMissing); + + if (criteria.TransactionID == Infinity || criteria.TransactionID == -Infinity) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgTransIDMissing); + + if (typeof criteria.TransactionID != 'number') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgIncorrectTransID); + + for (var i=0; i 1) + return error(device.implementation.ERR_INVALID_SERVICE_ARGUMENT, msg.msgCriteriaMissing); + + DBase = context.getData(provider); + var property = DBase['SensorProperty']; + if(typeof criteria.ChannelInfoMap['ChannelId'] == 'undefined' || typeof criteria.ChannelInfoMap['ChannelId'] != 'number') + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgChannelInfoMapInvalid); + + var channel = null; + if(criteria.ChannelInfoMap['ChannelId'] == 7) + { + channel = 'AccelerometerAxis'; + } + else if(criteria.ChannelInfoMap['ChannelId'] == 8) + { + channel = 'AccelerometerDoubleTapping'; + } + else if(criteria.ChannelInfoMap['ChannelId'] == 10) + { + channel = 'Orientation'; + } + else if(criteria.ChannelInfoMap['ChannelId'] == 11) + { + channel = 'Rotation'; + } + + if(channel == null) + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.msgChannelInfoMapInvalid); + + var returnValue = property[channel][criteria.PropertyId]; + if(typeof returnValue == 'undefined') + return context.ErrorResult(device.implementation.ERR_NOT_FOUND); + return context.Result(returnValue,0) + } + + /** + * Sensor: error + * @param {number,string} ErrorCode and ErrorString + * Replaces Error String with method name + */ + function error(code, msg /*, args...*/){ + + var args = ['Sensors',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + msgInterfaceNotSupported : '%s:Requested interface not supported by the provider', + msgInterfaceMissing : '%s:Interface name missing', + msgInsufficentArgument : '%s:%s:Insufficent argument for asynchronous request', + msgListenTypeMissing : '%s:%s:Listening type missing', + msgListenTypeInvalid : '%s:%s:Listening type is invalid', + msgChannelInfoMissing : '%s:%s:ChannelInfoMap missing', + msgIncompleteInput : '%s:%s:Incomplete input param list', + msgOutofRange : '%s:%s:Listening type is out of allowed range', + msgCallbackMissing : '%s:%s:Callback missing', + msgAlreadyRegistered : '%s:%s:Notification is already registered on this channel', + msgCriteriaMissing : '%s:%s:Search criterion is missing', + msgInvalidSearchCriteria : '%s:%s:Invalid Search Criterion', + msgChannelSearchInvalid : '%s:%s:Channel search param type invalid', + msgSearchParamInvalid : '%s:%s:Invalid channel search param', + msgTransIDMissing : '%s:%s:Transaction id is missing', + msgIncorrectTransID : '%s:%s:Incorrect TransactionID', + msgInvalidTransID : '%s:%s:Invalid TransactionID', + msgPropertyIDMissing : '%s:%s:Property id missing', + msgInvalidPropertyID : '%s:%s:Property id is invalid', + msgChannelNotSupported : '%s:%s:Channel property not supported', + msgChannelInfoMapInvalid : '%s:%s:ChannelInfoMap Type Invalid' + }; + +}) () \ No newline at end of file diff --git a/nokia/www/preview/script/lib/sapi/SysInfo.js b/nokia/www/preview/script/lib/sapi/SysInfo.js new file mode 100644 index 00000000..bc04a87a --- /dev/null +++ b/nokia/www/preview/script/lib/sapi/SysInfo.js @@ -0,0 +1,398 @@ +/** + * SysInfo.js + * + * Nokia Web Runtime Service API emulation + * WRT v1.1 + * + * Copyright 2009 Nokia Corporation. All rights reserved. +*/ + + +(function(){ + + var provider = 'Service.SysInfo' , + Interface = 'ISysInfo'; + + var supportedEntitiesAndKeys = { + "battery":{ + "batterystrength":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "chargingstatus":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true} + }, + "connectivity":{ + "bluetooth":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "infrared":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "activeconnections":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":false}, + "connectionstatus":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "wlanmacaddress":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true} + }, + "device":{ + "firmwareversion":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "platformversion":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "producttype":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "manufacturer":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "machineid":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "phonemodel":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "imei":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true} + }, + "display":{ + "brightness":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "screensavertimeout":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "userinactivity":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "keyguardtime":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "autolocktime":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "autolockstatus":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "wallpaper":{"GetInfo":false,"SetInfo":true,"GetNotification":false,"GetInfoModeSync":false,"InputDataType":"string"}, + "lighttimeout":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "displayresolution":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "displayorientation":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true} + }, + "features":{ + "bluetooth":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "infrared":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "camera":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "memorycard":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "fmradio":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "qwerty":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "wlan":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "usb":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "pen":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "led":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "coverui":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "sidevolumekeys":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "vibra":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true} + }, + "general":{ + "accessorystatus":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "connectedaccessories":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "inputlanguage":{"GetInfo":true,"SetInfo":true,"GetNotification":true,"GetInfoModeSync":true}, + "supportedlanguages":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "predictivetext":{"GetInfo":true,"SetInfo":true,"GetNotification":true,"GetInfoModeSync":true}, + "vibraactive":{"GetInfo":true,"SetInfo":true,"GetNotification":true,"GetInfoModeSync":true}, + "availableusbmodes":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "activeusbmode":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "flipstatus":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "gripstatus":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + + }, + "memory":{ + "driveinfo":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "listdrives":{"GetInfo":true,"SetInfo":false,"GetNotification":false,"GetInfoModeSync":true}, + "criticalmemory":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "memorycard":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true} + }, + "network":{ + "signalstrength":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "registrationstatus":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "networkmode":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":true}, + "currentnetwork":{"GetInfo":true,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "locationarea":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false}, + "cellid":{"GetInfo":false,"SetInfo":false,"GetNotification":true,"GetInfoModeSync":false} + } + }; + + /** + * SysInfo service + */ + var SysInfoService = function(){ + this.GetInfo = __GetInfo; + this.SetInfo = __SetInfo; + this.GetNotification = __GetNotification; + this.Cancel = __Cancel; + } + + device.implementation.extend(provider, Interface, new SysInfoService() ); + + var context = device.implementation.context, + _t = context._t, + method = '', + result = false, + DBase = null, + default_device = 'default'; + + /** + * SysInfo: GetInfo + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __GetInfo(criteria, callback){ + var retVal = ValidateArguments("GetInfo",criteria,callback); + if(retVal.ErrorCode != 0) + { + return retVal; + } + // Async call + if (typeof callback == 'function') { + return context.callAsync(this, arguments.callee, criteria, callback); + } + + DBase = context.getData(provider); + var returnValue = DBase; + returnValue = returnValue[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]; + returnValue.Key = criteria.Key; + returnValue.Entity = criteria.Entity; + + if(/^Connectivity$/i.test(criteria.Entity)&& /^ActiveConnections$/i.test(criteria.Key)) + { + var temp = returnValue.ConnectionList; + returnValue.ConnectionList = context.Iterator(temp); + } + else if(/^General$/i.test(criteria.Entity)&& /^ConnectedAccessories$/i.test(criteria.Key)) + { + var temp = returnValue.AccessoryList; + returnValue.AccessoryList = context.Iterator(temp); + } + else if(/^Memory$/i.test(criteria.Entity)&& /^DriveInfo$/i.test(criteria.Key)) + { + try { + var temp = criteria.SystemData.Drive; + if(temp.length > 3) + { + temp = temp.substring(0,3); + } + temp= returnValue.Drive[temp.toUpperCase()]; + if (!temp) { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.no_msg); + } + var driveInfo = new Object(); + driveInfo.Key = returnValue.Key; + driveInfo.Entity = returnValue.Entity; + driveInfo.DriveInfo = temp; + return context.Result(driveInfo); + } + catch(err) + { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.no_msg); + } + + } + return context.Result(returnValue); + } + + + /** + * SysInfo: SetInfo + * @param {Object} criteria + * @param {function} callback function for async call (optional) + */ + function __SetInfo(criteria, callback){ + var retVal = ValidateArguments("SetInfo",criteria,callback); + if(retVal.ErrorCode != 0) + { + return retVal; + } + + // Current implementation support only for 'General' -> 'InputLanguage' || 'PredictiveText' + if (/^General$/i.test(criteria.Entity) && ( /^InputLanguage$/i.test(criteria.Key) || /^PredictiveText/i.test(criteria.Key) || /^VibraActive/i.test(criteria.Key))) { + // get the DBase data + DBase = context.getData(provider); + var returnValue = DBase; + + // Check the 'SupportedLanguages' entries for Setting the new Status + if (/^InputLanguage$/i.test(criteria.Key)) { + var found = false; + var languageList = returnValue['general']['supportedlanguages']['LanguageList']; + for (var key in languageList) { + if (languageList[key] == criteria.SystemData.Status) { + found = true; + } + } + // Update the 'InputLanguage' if the value value found in the ['SupportedLanguages'] + if (found) + returnValue[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]['Status'] = criteria.SystemData.Status; + else + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.not_supported); + } + else if (/^PredictiveText$/i.test(criteria.Key)) { + if (criteria.SystemData.Status == 0 || criteria.SystemData.Status == 1) + returnValue[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]['Status'] = criteria.SystemData.Status; + else + return error(device.implementation.ERR_NOT_FOUND, msg.badType); + } + else if (/^VibraActive$/i.test(criteria.Key)) { + if (criteria.SystemData.Status == 0 || criteria.SystemData.Status == 1) + returnValue[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]['Status'] = criteria.SystemData.Status; + } + else { + return error(device.implementation.ERR_SERVICE_NOT_SUPPORTED, msg.not_supported); + } + } + else if(/^Display/i.test(criteria.Entity) && /^Wallpaper/i.test(criteria.Key)) { + if(typeof criteria.SystemData.StringData == 'undefined') + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingArgs); + returnValue[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]['StringData'] = criteria.SystemData.StringData; + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + return context.Result(result); + } + + + /** + * SysInfo: GetNotification + * @param {Object} criteria + * @param {function} callback function for async call + */ + function __GetNotification(criteria, callback){ + var retVal = ValidateArguments("GetNotification",criteria,callback); + if(retVal.ErrorCode != 0) + { + return retVal; + } + + // unsupported + if (!/^(Battery|Memory)$/i.test(criteria.Entity) || + !/^(BatteryStrength|ChargingStatus|MemoryCard)$/i.test(criteria.Key)) { + context.notify(_t('%s:: GetNotification : entity %s, key %s not implemented in preview.').arg(provider, criteria.Entity, criteria.Key)); + // register callback anyway so Cancel works. + } + + // evenType = 'entity.key' + var eventType = criteria.Entity+'.'+criteria.Key; + + // process notify + return context.addListener(provider, eventType, criteria, callback, notifyHandler); + } + + function notifyHandler(transactionID, criteria, callback, data){ + + var result, + eventCode = {completed:2, error:4, progress:9}, + code = eventCode.progress; + try{ + DBase = context.getData(provider); + var entity = criteria.Entity.toLowerCase(), + key = criteria.Key.toLowerCase(); + + // make a copy of return value + var returnValue = context.extend({},DBase[entity][key]); + + // augment with data + context.extend(returnValue, data); + + result = context.Result(returnValue); + } + catch(e){ + code = eventCode.error; + } + callback(transactionID, code, result); + } + + + + /** + * SysInfo: Cancel + * @param {Object} criteria + */ + function __Cancel(criteria){ + method = 'Cancel'; + + if (!criteria || !criteria.TransactionID) + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingTID); + + var found = context.removeListener(provider, null, criteria.TransactionID); + if (!found) + return error(device.implementation.ERR_NOT_FOUND); + else + return context.ErrorResult(device.implementation.ERR_SUCCESS); + } + + + + /******************************* + * helper functions + *******************************/ + + function error(code, msg /*, args...*/){ + + var args = ['SysInfo',method].concat([].slice.call(arguments,2)); + msg = msg ? _t().arg.apply(msg,args) : undefined; + return context.ErrorResult(code, msg); + } + + function cancelRegisteredNotify(result) + { + __Cancel({'TransactionID':result.TransactionID}); + method = 'GetNotification'; + } + + /** + * error messages + * order of %s args: Service name, method name, parameter name + */ + var msg = { + badType : '%s: %s: Type is invalid', + badSysInfo : '%s: %s: SysInfoName is invalid', + missingSysInfo : '%s: %s: SysInfoName is missing', + missingTID : '%s: %s: Transaction ID missing', + not_supported : '%s: %s: Not Supported', + is_invalid : '%s: %s: Is invalid', + missingArgs : '%s: %s: SystemData Argument Missing', + inSufficientArgs : '%s: %s: Insufficient Arguments to process', + missingInputParam : '%s: %s: Input Parameter Missing', + not_supportedSyncVer: '%s: %s: Sync Version Not Supported', + noEntity : '%s: %s: Entity: Input Parameter Missing', + noKey : '%s: %s: Key: Input Parameter Missing', + IncorrectSytemData : '%s: %s: Incorrect SystemData Type, SystemData Must be a Map', + callbackNotFound : '%s: %s: Callback object not found', + commandNotFound : '%s: %s: Command Not Supported', + unsupInterface : 'SysInfo:Requested interface not supported by the provider', + no_msg : '%s: %s: ' + }; + + /** + * Common validator for all functions + * + * + * @param {arguments} function name and arguments of calling function + * @return {Result} Error object + */ + function ValidateArguments(funName,criteria,callback) + { + method = funName; + + try { + if (/^GetNotification$/i.test(funName) && typeof callback != "function") { + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.not_supportedSyncVer); + } + + if (typeof criteria == "undefined" || typeof criteria.Entity == "undefined" || typeof criteria.Key == "undefined") { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.inSufficientArgs); + } + + if (criteria.Entity == "") { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.noEntity); + } + + if (criteria.Key == "") { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.noKey); + } + + if (/^SetInfo$/i.test(funName)) { + if (typeof criteria.SystemData == "undefined" || criteria.SystemData == '') { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingArgs); + } + if (typeof criteria.SystemData.StringData == "undefined" && typeof criteria.SystemData.Status == "undefined") { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.missingArgs); + } + } + + if (typeof supportedEntitiesAndKeys[criteria.Entity.toLowerCase()] == 'undefined' || typeof supportedEntitiesAndKeys[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()] == 'undefined') { + return error(device.implementation.ERR_NOT_FOUND, msg.no_msg); + } + + if (!supportedEntitiesAndKeys[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()][funName]) { + return error(device.implementation.ERR_NOT_FOUND, msg.no_msg); + } + + if (funName == "GetInfo" && !supportedEntitiesAndKeys[criteria.Entity.toLowerCase()][criteria.Key.toLowerCase()]["GetInfoModeSync"] && typeof callback != "function") { + return error(device.implementation.ERR_MISSING_ARGUMENT, msg.not_supportedSyncVer); + } + + return context.ErrorResult(device.implementation.ERR_SUCCESS, ""); + } + catch(err){ + return error(device.implementation.ERR_BAD_ARGUMENT_TYPE, msg.badType); + } + + } + +}) () \ No newline at end of file diff --git a/nokia/www/preview/script/lib/systeminfo.js b/nokia/www/preview/script/lib/systeminfo.js new file mode 100644 index 00000000..1e5a61a3 --- /dev/null +++ b/nokia/www/preview/script/lib/systeminfo.js @@ -0,0 +1,107 @@ +/** + This API is used to provide system related data. + It takes the sysObject as an argument that is the embeded API in the main HTML file. + While using this API outside mobile environment, User or developer need not to take any extara action in oprder to support SYSAPI. +*/ + +function systemAPI(sysObject) +{ + /* + * System Language information services + */ + sysObject.language = 'EN'; + + + + + /* + * Power information services + */ + + // Properties + sysObject.chargelevel = 5; + sysObject.chargerconnected = 0; + + // Event triggers + sysObject.onchargelevel = null; + sysObject.onchargerconnected = null; + + + + /* + * Beep tone control services + */ + sysObject.beep = function(frequency, duration){ } + + + + /* + * Network Information services + */ + + // value range between: {0-7} + sysObject.signalbars = 7; + + sysObject.networkname = 'No network'; + + // value range between: {0-7} + sysObject.networkregistrationstatus = 0; + + + + /* + * Display and keypad illumination information and control services + */ + + // Properties + sysObject.lightminintensity = 1; + sysObject.lightmaxintensity = 100; + sysObject.lightdefaultintensity = 0; + + sysObject.lightinfiniteduration = 0; + sysObject.lightmaxduration = 1; + sysObject.lightdefaultcycletime = 0; + + sysObject.lighttargetprimarydisplayandkeyboard = 0x3; + sysObject.lighttargetsystem = 1; + + // functions + sysObject.lighton = function(lighttarget, duration, intensity, fadein){ } + sysObject.lightblink = function(lighttarget, duration, onduration, offduration, intensity){ } + sysObject.lightoff = function(lighttarget, duration, fadeout){ } + + + + /* + * Vibration information and control services + */ + sysObject.vibraminintensity = 1; + sysObject.vibramaxintensity = 10; + sysObject.vibramaxduration = 100; + + // Vibration setting in the user profile is off. + sysObject.vibrasettings = 2; + + sysObject.startvibra = function(duration, intensity){ } + + sysObject.stopvibra = function(){ } + + + + + /* + * Memory and file system information services + */ + sysObject.totalram = 32; + sysObject.freeram = 10; + sysObject.drivelist = 'C'; + + sysObject.drivesize = function(drive){ return 64; } + + sysObject.drivefree = function(drive){ return 32; } + +} + + +// make TRUE systeminfo.js script loaded +window.parent.NOKIA.scriptsLoaded.systeminfo = true; \ No newline at end of file diff --git a/nokia/www/preview/script/lib/widget.js b/nokia/www/preview/script/lib/widget.js new file mode 100644 index 00000000..995b1474 --- /dev/null +++ b/nokia/www/preview/script/lib/widget.js @@ -0,0 +1,301 @@ +/** + * widget object constructor + * @param {void} + * widget() + * @return {void} + */ + +if (typeof window.widget == "undefined" || !window.widget) { + window.widget = { + author : 'Nokia WRT Emulation Library', + // widget identifier, dummy value + identifier: 14021981, + isrotationsupported: true, + + // widget event triggers + onshow: null, + onhide: null, + + sysInfo: [], + onload: null, + opacity: 50, + interval: 20, + isFront: false, + preferenceArray: [], + preferenceKey: 0 + }; + + + /** + * Launches the browser with the specified url + * @param {String} url + * openURL() + * @return {Void} + */ + widget.openURL = function(url){ + if (url) { + window.open(url, "New Widget Window", 'height=200 width=250'); + } + } + + + /** + * Returns previously stored preference associated with the specified key + * @param {String} Key preference value to be fetch + * preferenceForKey() + * @return {String} Value + */ + widget.preferenceForKey = function(key){ + + var name = key; //"Nokia_WRT#" + this.path + "#" + key; + + var result = _BRIDGE_REF.helper.readCookie(name); + return result; + } + + + /** + * Stores the key associated with the specified preference + * @param {String} Preference value to be stored + * @param {String} Key Preference value associated to + * setPreferenceForKey() + * @return {Void} + */ + widget.setPreferenceForKey = function(preference, key){ + var value; + //Specifying null for the preference parameter removes the specified key from the preferences + if (key == null) { + if (this.preferenceKey > 0) { + this.preferenceKey--; + } + //delete from cookies + } + value = key;//"Nokia_WRT#" + this.path + "#" + key; + this.preferenceArray[this.preferenceKey] = value; + + _BRIDGE_REF.helper.createCookie(value, preference, 240000); + this.preferenceKey++; + + //save cookie for cookies + _BRIDGE_REF.helper.updateMainCookie(document); + } + + + + /** + * Toggle between Tabbed navigation mode or Cursor mode + * @param {Boolean} Value + * setNavigationEnabled() + * @return {Void} + */ + widget.setNavigationEnabled = function(bool){ + //This function can not be used on preview browser + } + + + + /** + * Open S0-Application identified by UID along with the specified params + * @param {Integer} Uid hexadecimal value to a specified application + * @param {String} Value + * openApplication() + * @return {Void} + */ + widget.openApplication = function(Uid, param){ + alert("openApplication function won't be simulated in this application"); + } + + + + /** + * Prepares the Widget.to do transition to specified transitionState + * @param {String} Value Transition state + * prepareForTransition() + * @return {Void} + */ + widget.prepareForTransition = function(transitionState){ + this.isFront = ("" + transitionState).toLowerCase() != "toback"; + window.document.getElementsByTagName("body")[0].style.opacity = "0.3"; + } + + + + + /** + * Does the animation to make the transition between the specified transitionState + * @param {Void} + * performTransition() + * @return {Void} + */ + widget.performTransition = function(){ + var _self = this; + this.opacity = 0; + this.interval = window.setInterval(function(){ + _self.opacity += 0.2; + if (_self.opacity > 1) { + _self.opacity = 1; + } + window.document.getElementsByTagName("body")[0].style.opacity = _self.opacity + ""; + if (_self.opacity >= 1) { + window.clearInterval(_self.interval); + window.document.getElementsByTagName("body")[0].style.opacity = "1"; + } + //do nothing + }, 50); + //do nothing + } + + + + + + /** + * Set the preferred screen orientation to landscape. + * The display will flip if the phone display orientation + * is portrait and the phone supports landscape mode. + * @param {Void} + * setDisplayLandscape() + * @return {Void} + */ + widget.setDisplayLandscape = function(){ + try { + if (this.isrotationsupported && _BRIDGE_REF.nokia.emulator.orientationSupports()) { + _BRIDGE_REF.nokia.emulator.setMode('landscape'); + } + } + catch (e) { + } + } + + + + + /** + * Set the preferred screen orientation to portrait. + * The display will flip if the phone display orientation + * is landscape and the phone supports portrait mode. + * @param {Void} + * setDisplayPortrait() + * @return {Void} + */ + widget.setDisplayPortrait = function(){ + try { + if (this.isrotationsupported && _BRIDGE_REF.nokia.emulator.orientationSupports()) { + _BRIDGE_REF.nokia.emulator.setMode('portrait'); + } + } + catch (e) { + } + } + + /** + * Allows the definition of a function to be called + * when a Widget.is displayed + * @param {Void} + * onshow() + * @return {Void} + */ + widget.onshow = function(){ + // to be implemented + } + + + + + /** + * Allows the definition of a function to be called + * when a Widget.sent into the background (hidden) + * @param {Void} + * onhide() + * @return {Void} + */ + widget.onhide = function(){ + // to be implemented + } + + + + /** + * This function returns the System API if sysinfo is included in document embed + */ + widget.enableSystemApi = function(){ + + // Identify, and Attach System-Info-Object properties + try { + var parentIframeRef = window.parent.frames[0]; + if (typeof parentIframeRef == 'object') { + if (parentIframeRef.document.embeds.length > 0) { + for (var i = 0; i < parentIframeRef.document.embeds.length; i++) { + //match the system Info API embed tag + if (parentIframeRef.document.embeds[i].type == 'application/x-systeminfo-widget') { + new systemAPI(parentIframeRef.document.embeds[i]); +// widget.sysInfo = parentIframeRef.document.embeds[i]; + + // hide the object + parentIframeRef.document.embeds[i].style.display='none'; + + // push the reference object into widget + widget.sysInfo.push(parentIframeRef.document.embeds[i]); + } + } + } + } + } + catch (e) { + alert('Error in attachSysInfo: ' + e); + } + } + + /** + * + */ + + widget.triggerListener = function(provider, eventType, data){ + if(widget.sysInfo.length){ + for(var i=0; i p > a").click(function(){ $("#BrowserNotificationBar").hide(); }); + } + } + + $('iframe')[0].src = "wrt_preview_main.html"; + + NOKIA.data.load(deviceResolutionList); + + var url = window.location.toString(); + url = url.split('/'); + + var pointer = 3; + if(url[0] == 'http:') + pointer = 2; + + var t = ''; + for(var i=pointer; i

    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�Py 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 Test Device API
    Test Notification API
    + Test Media API
    Test Telephony API
    Test GeoLocation API
    Test Camera API
    diff --git a/blackberry/src/www/test/location.html b/blackberry/src/www/test/location.html index 2125e680..a43d5519 100644 --- a/blackberry/src/www/test/location.html +++ b/blackberry/src/www/test/location.html @@ -4,27 +4,19 @@ -