/* * Copyright (c) 2010 Zhihua (Dennis) Jiang * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.gwtmobile.phonegap.client; public class Events { public native static void onDeviceReady(Callback callback) /*-{ //Have to manually fire the event for iOS if device is already initialized. if ($wnd.navigator.userAgent.indexOf("Android") == -1 && $wnd.device != null && $wnd.device.uuid != null) { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); } else { $doc.addEventListener("deviceready", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); } }-*/; public native static void onPause(Callback callback) /*-{ $doc.addEventListener("pause", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onResume(Callback callback) /*-{ $doc.addEventListener("resume", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onOnline(Callback callback) /*-{ $doc.addEventListener("online", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onOffline(Callback callback) /*-{ $doc.addEventListener("offline", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onBatteryCritical(Callback callback) /*-{ $doc.addEventListener("batterycritical", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onBatteryLow(Callback callback) /*-{ $doc.addEventListener("batterylow", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onBatteryStatus(Callback callback) /*-{ $doc.addEventListener("batterystatus", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; // below are Android specific events. public native static void onBackButton(Callback callback) /*-{ $doc.addEventListener("backbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onMenuButton(Callback callback) /*-{ $doc.addEventListener("menubutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onSearchButton(Callback callback) /*-{ $doc.addEventListener("searchbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; // below are BlackBerry WebWorks (OS 5.0 and higher) specific events. public native static void onStartCallButton(Callback callback) /*-{ $doc.addEventListener("startcallbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onEndCallButton(Callback callback) /*-{ $doc.addEventListener("endcallbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onVolumeDownButton(Callback callback) /*-{ $doc.addEventListener("volumedownbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public native static void onVolumeUpButton(Callback callback) /*-{ $doc.addEventListener("volumeupbutton", function() { callback.@com.gwtmobile.phonegap.client.Events.Callback::onEventFired()(); }, false); }-*/; public interface Callback { public void onEventFired(); } }