// Copyright 2001-2005, Danger, Inc.  All Rights Reserved.
// This file is subject to the Danger, Inc. Sample Code License,
// which is provided in the file SAMPLE_CODE_LICENSE.
// Copies are also available from http://developer.danger.com/

/*
 * The Sidekick II has some buttons not present in the Sidekick I.
 * These include:
 *
 *      A left shoulder button
 *      A right shoulder button
 * 		A Cancel button
 *
 * Also, the Sidekick II OS automatically generates diagonal events
 * for the D-Pad.
 *
 * It is possible to handle these events in applications so that
 * the same jar file will work on both the Sidekick I and II.
 *
 * The important thing to remember is that these new events will NOT
 * be generated by the Sidekick I OS.
 *
 * For example, the following code (from a game) deals with these
 * new events:

 public boolean eventWidgetDown(int widget, Event event) {
 switch (widget) {
 // The next 4 events will occur on both the Sidekick I and II.
 case Event.DEVICE_ARROW_LEFT:
 // Mark left arrow down
 return true;

 case Event.DEVICE_ARROW_RIGHT:
 // Mark right arrow down
 return true;

 case Event.DEVICE_ARROW_UP:
 // Mark up arrow down
 return true;

 case Event.DEVICE_ARROW_DOWN:
 // Mark down arrow down
 return true;

 // The next events will only occur on the Sidekick II
 case Hiptop2Events.DEVICE_ARROW_UP_LEFT:
 // Mark up arrow down
 // Mark left arrow down
 return true;

 case Hiptop2Events.DEVICE_ARROW_DOWN_LEFT:
 // Mark down arrow down
 // Mark left arrow down
 return true;

 case Hiptop2Events.DEVICE_ARROW_UP_RIGHT:
 // Mark up arrow down
 // Mark right arrow down
 return true;

 case Hiptop2Events.DEVICE_ARROW_DOWN_RIGHT:
 // Mark down arrow down
 // Mark right arrow down
 return true;

 case Hiptop2Events.DEVICE_BUTTON_LEFT_SHOULDER:
 // Left shoulder button is down
 return true;

 case Hiptop2Events.DEVICE_BUTTON_RIGHT_SHOULDER:
 // Right shoulder button is down
 return true;
 }
 return super.eventWidgetDown(widget, event);
 }

 * In the future, when you are using an updated Sidekick II specific
 * SDK, you can simply replace:
 *
 *   case Hiptop2Events.DEVICE_ARROW_DOWN_RIGHT:
 *
 * with:
 *
 *   case Event.DEVICE_ARROW_DOWN_RIGHT:
 *
 * and your code will work as expected.
 */

package com.example.AudioDemo;

/**
 * Hiptop2Events, to allow for code that compile against the 1.1 libraries
 * but can support 2.0 devices if it is running there. 
 */
public interface Hiptop2Events {
    /**
     * Send key has been pressed.
     */
    int DEVICE_BUTTON_SEND = -13;

    /**
     * End key has been pressed.
     */
    int DEVICE_BUTTON_END = -14;

    /**
     * Activity on volume buttons.
     */
    int DEVICE_BUTTON_VOLUME_UP = -15;

    int DEVICE_BUTTON_VOLUME_DOWN = -16;

    /**
     * Activity on shoulder buttons.
     */
    int DEVICE_BUTTON_LEFT_SHOULDER = -17;

    int DEVICE_BUTTON_RIGHT_SHOULDER = -18;

    /**
     * Activity on CANCEL button.
     */
    int DEVICE_BUTTON_CANCEL = -20;

    /**
     * Device joypad has been rocked diagonally up and left.
     */
    int DEVICE_ARROW_UP_LEFT = -24;

    /**
     * Device joypad has been rocked diagonally down and left.
     */
    int DEVICE_ARROW_DOWN_LEFT = -25;

    /**
     * Device joypad has been rocked diagonally up and right.
     */
    int DEVICE_ARROW_UP_RIGHT = -26;

    /**
     * Device joypad has been rocked diagonally down and right.
     */
    int DEVICE_ARROW_DOWN_RIGHT = -27;
}
