Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b13c9bc5 authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru
Browse files

manual merge

Change-Id: Ib92a75958b857277e17f4bd0bee75744c653c942
parents 5a14271a 32f510e5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ public abstract class AtCommandHandler {
     *             least one element in this array.
     * @return     The result of this command.
     */
    // Typically used to set this paramter
    // Typically used to set this parameter
    public AtCommandResult handleSetCommand(Object[] args) {
        return new AtCommandResult(AtCommandResult.ERROR);
    }
@@ -83,11 +83,12 @@ public abstract class AtCommandHandler {
     * Test commands are part of the Extended command syntax, and are typically
     * used to request an indication of the range of legal values that "FOO"
     * can take.<p>
     * By defualt we return an OK result, to indicate that this command is at
     * By default we return an OK result, to indicate that this command is at
     * least recognized.<p>
     * @return The result of this command.
     */
    public AtCommandResult handleTestCommand() {
        return new AtCommandResult(AtCommandResult.OK);
    }

}
+523 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 The Android Open Source Project
 *
 * 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 android.bluetooth;

/**
 * Bluetooth Assigned Numbers.
 * <p>
 * For now we only include Company ID values.
 * @see <a href="https://www.bluetooth.org/technical/assignednumbers/identifiers.htm">
 * The Official Bluetooth SIG Member Website | Company Identifiers</a>
 *
 * @hide
 */
public class BluetoothAssignedNumbers {

    //// Bluetooth SIG Company ID values

    /*
     * Ericsson Technology Licensing.
     */
    public static final int ERICSSON_TECHNOLOGY = 0x0000;

    /*
     * Nokia Mobile Phones.
     */
    public static final int NOKIA_MOBILE_PHONES = 0x0001;

    /*
     * Intel Corp.
     */
    public static final int INTEL = 0x0002;

    /*
     * IBM Corp.
     */
    public static final int IBM = 0x0003;

    /*
     * Toshiba Corp.
     */
    public static final int TOSHIBA = 0x0004;

    /*
     * 3Com.
     */
    public static final int THREECOM = 0x0005;

    /*
     * Microsoft.
     */
    public static final int MICROSOFT = 0x0006;

    /*
     * Lucent.
     */
    public static final int LUCENT = 0x0007;

    /*
     * Motorola.
     */
    public static final int MOTOROLA = 0x0008;

    /*
     * Infineon Technologies AG.
     */
    public static final int INFINEON_TECHNOLOGIES = 0x0009;

    /*
     * Cambridge Silicon Radio.
     */
    public static final int CAMBRIDGE_SILICON_RADIO = 0x000A;

    /*
     * Silicon Wave.
     */
    public static final int SILICON_WAVE = 0x000B;

    /*
     * Digianswer A/S.
     */
    public static final int DIGIANSWER = 0x000C;

    /*
     * Texas Instruments Inc.
     */
    public static final int TEXAS_INSTRUMENTS = 0x000D;

    /*
     * Parthus Technologies Inc.
     */
    public static final int PARTHUS_TECHNOLOGIES = 0x000E;

    /*
     * Broadcom Corporation.
     */
    public static final int BROADCOM = 0x000F;

    /*
     * Mitel Semiconductor.
     */
    public static final int MITEL_SEMICONDUCTOR = 0x0010;

    /*
     * Widcomm, Inc.
     */
    public static final int WIDCOMM = 0x0011;

    /*
     * Zeevo, Inc.
     */
    public static final int ZEEVO = 0x0012;

    /*
     * Atmel Corporation.
     */
    public static final int ATMEL = 0x0013;

    /*
     * Mitsubishi Electric Corporation.
     */
    public static final int MITSUBISHI_ELECTRIC = 0x0014;

    /*
     * RTX Telecom A/S.
     */
    public static final int RTX_TELECOM = 0x0015;

    /*
     * KC Technology Inc.
     */
    public static final int KC_TECHNOLOGY = 0x0016;

    /*
     * Newlogic.
     */
    public static final int NEWLOGIC = 0x0017;

    /*
     * Transilica, Inc.
     */
    public static final int TRANSILICA = 0x0018;

    /*
     * Rohde & Schwarz GmbH & Co. KG.
     */
    public static final int ROHDE_AND_SCHWARZ = 0x0019;

    /*
     * TTPCom Limited.
     */
    public static final int TTPCOM = 0x001A;

    /*
     * Signia Technologies, Inc.
     */
    public static final int SIGNIA_TECHNOLOGIES = 0x001B;

    /*
     * Conexant Systems Inc.
     */
    public static final int CONEXANT_SYSTEMS = 0x001C;

    /*
     * Qualcomm.
     */
    public static final int QUALCOMM = 0x001D;

    /*
     * Inventel.
     */
    public static final int INVENTEL = 0x001E;

    /*
     * AVM Berlin.
     */
    public static final int AVM_BERLIN = 0x001F;

    /*
     * BandSpeed, Inc.
     */
    public static final int BANDSPEED = 0x0020;

    /*
     * Mansella Ltd.
     */
    public static final int MANSELLA = 0x0021;

    /*
     * NEC Corporation.
     */
    public static final int NEC = 0x0022;

    /*
     * WavePlus Technology Co., Ltd.
     */
    public static final int WAVEPLUS_TECHNOLOGY = 0x0023;

    /*
     * Alcatel.
     */
    public static final int ALCATEL = 0x0024;

    /*
     * Philips Semiconductors.
     */
    public static final int PHILIPS_SEMICONDUCTORS = 0x0025;

    /*
     * C Technologies.
     */
    public static final int C_TECHNOLOGIES = 0x0026;

    /*
     * Open Interface.
     */
    public static final int OPEN_INTERFACE = 0x0027;

    /*
     * R F Micro Devices.
     */
    public static final int RF_MICRO_DEVICES = 0x0028;

    /*
     * Hitachi Ltd.
     */
    public static final int HITACHI = 0x0029;

    /*
     * Symbol Technologies, Inc.
     */
    public static final int SYMBOL_TECHNOLOGIES = 0x002A;

    /*
     * Tenovis.
     */
    public static final int TENOVIS = 0x002B;

    /*
     * Macronix International Co. Ltd.
     */
    public static final int MACRONIX = 0x002C;

    /*
     * GCT Semiconductor.
     */
    public static final int GCT_SEMICONDUCTOR = 0x002D;

    /*
     * Norwood Systems.
     */
    public static final int NORWOOD_SYSTEMS = 0x002E;

    /*
     * MewTel Technology Inc.
     */
    public static final int MEWTEL_TECHNOLOGY = 0x002F;

    /*
     * ST Microelectronics.
     */
    public static final int ST_MICROELECTRONICS = 0x0030;

    /*
     * Synopsys.
     */
    public static final int SYNOPSYS = 0x0031;

    /*
     * Red-M (Communications) Ltd.
     */
    public static final int RED_M = 0x0032;

    /*
     * Commil Ltd.
     */
    public static final int COMMIL = 0x0033;

    /*
     * Computer Access Technology Corporation (CATC).
     */
    public static final int CATC = 0x0034;

    /*
     * Eclipse (HQ Espana) S.L.
     */
    public static final int ECLIPSE = 0x0035;

    /*
     * Renesas Technology Corp.
     */
    public static final int RENESAS_TECHNOLOGY = 0x0036;

    /*
     * Mobilian Corporation.
     */
    public static final int MOBILIAN_CORPORATION = 0x0037;

    /*
     * Terax.
     */
    public static final int TERAX = 0x0038;

    /*
     * Integrated System Solution Corp.
     */
    public static final int INTEGRATED_SYSTEM_SOLUTION = 0x0039;

    /*
     * Matsushita Electric Industrial Co., Ltd.
     */
    public static final int MATSUSHITA_ELECTRIC = 0x003A;

    /*
     * Gennum Corporation.
     */
    public static final int GENNUM = 0x003B;

    /*
     * Research In Motion.
     */
    public static final int RESEARCH_IN_MOTION = 0x003C;

    /*
     * IPextreme, Inc.
     */
    public static final int IPEXTREME = 0x003D;

    /*
     * Systems and Chips, Inc.
     */
    public static final int SYSTEMS_AND_CHIPS = 0x003E;

    /*
     * Bluetooth SIG, Inc.
     */
    public static final int BLUETOOTH_SIG = 0x003F;

    /*
     * Seiko Epson Corporation.
     */
    public static final int SEIKO_EPSON = 0x0040;

    /*
     * Integrated Silicon Solution Taiwan, Inc.
     */
    public static final int INTEGRATED_SILICON_SOLUTION = 0x0041;

    /*
     * CONWISE Technology Corporation Ltd.
     */
    public static final int CONWISE_TECHNOLOGY = 0x0042;

    /*
     * PARROT SA.
     */
    public static final int PARROT = 0x0043;

    /*
     * Socket Mobile.
     */
    public static final int SOCKET_MOBILE = 0x0044;

    /*
     * Atheros Communications, Inc.
     */
    public static final int ATHEROS_COMMUNICATIONS = 0x0045;

    /*
     * MediaTek, Inc.
     */
    public static final int MEDIATEK = 0x0046;

    /*
     * Bluegiga.
     */
    public static final int BLUEGIGA = 0x0047;

    /*
     * Marvell Technology Group Ltd.
     */
    public static final int MARVELL = 0x0048;

    /*
     * 3DSP Corporation.
     */
    public static final int THREE_DSP = 0x0049;

    /*
     * Accel Semiconductor Ltd.
     */
    public static final int ACCEL_SEMICONDUCTOR = 0x004A;

    /*
     * Continental Automotive Systems.
     */
    public static final int CONTINENTAL_AUTOMOTIVE = 0x004B;

    /*
     * Apple, Inc.
     */
    public static final int APPLE = 0x004C;

    /*
     * Staccato Communications, Inc.
     */
    public static final int STACCATO_COMMUNICATIONS = 0x004D;

    /*
     * Avago Technologies.
     */
    public static final int AVAGO = 0x004E;

    /*
     * APT Licensing Ltd.
     */
    public static final int APT_LICENSING = 0x004F;

    /*
     * SiRF Technology, Inc.
     */
    public static final int SIRF_TECHNOLOGY = 0x0050;

    /*
     * Tzero Technologies, Inc.
     */
    public static final int TZERO_TECHNOLOGIES = 0x0051;

    /*
     * J&M Corporation.
     */
    public static final int J_AND_M = 0x0052;

    /*
     * Free2move AB.
     */
    public static final int FREE2MOVE = 0x0053;

    /*
     * 3DiJoy Corporation.
     */
    public static final int THREE_DIJOY = 0x0054;

    /*
     * Plantronics, Inc.
     */
    public static final int PLANTRONICS = 0x0055;

    /*
     * Sony Ericsson Mobile Communications.
     */
    public static final int SONY_ERICSSON = 0x0056;

    /*
     * Harman International Industries, Inc.
     */
    public static final int HARMAN_INTERNATIONAL = 0x0057;

    /*
     * Vizio, Inc.
     */
    public static final int VIZIO = 0x0058;

    /*
     * Nordic Semiconductor ASA.
     */
    public static final int NORDIC_SEMICONDUCTOR = 0x0059;

    /*
     * EM Microelectronic-Marin SA.
     */
    public static final int EM_MICROELECTRONIC_MARIN = 0x005A;

    /*
     * Ralink Technology Corporation.
     */
    public static final int RALINK_TECHNOLOGY = 0x005B;

    /*
     * Belkin International, Inc.
     */
    public static final int BELKIN_INTERNATIONAL = 0x005C;

    /*
     * Realtek Semiconductor Corporation.
     */
    public static final int REALTEK_SEMICONDUCTOR = 0x005D;

    /*
     * Stonestreet One, LLC.
     */
    public static final int STONESTREET_ONE = 0x005E;

    /*
     * Wicentric, Inc.
     */
    public static final int WICENTRIC = 0x005F;

    /*
     * RivieraWaves S.A.S.
     */
    public static final int RIVIERAWAVES = 0x0060;

    /*
     * You can't instantiate one of these.
     */
    private BluetoothAssignedNumbers() {
    }

}
+39 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ import android.util.Log;
 * This BluetoothHeadset object is not immediately bound to the
 * BluetoothHeadset service. Use the ServiceListener interface to obtain a
 * notification when it is bound, this is especially important if you wish to
 * immediately call methods on BluetootHeadset after construction.
 * immediately call methods on BluetoothHeadset after construction.
 *
 * Android only supports one connected Bluetooth Headset at a time.
 *
@@ -84,6 +84,43 @@ public final class BluetoothHeadset {
    public static final String EXTRA_DISCONNECT_INITIATOR =
            "android.bluetooth.headset.extra.DISCONNECT_INITIATOR";

    /**
     * Broadcast Action: Indicates a headset has posted a vendor-specific event.
     * <p>Always contains the extra fields {@link #EXTRA_DEVICE},
     * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD}, and
     * {@link #EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS}.
     * <p>Requires {@link android.Manifest.permission#BLUETOOTH} to receive.
     */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT =
            "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";

    /**
     * A String extra field in {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT}
     * intents that contains the name of the vendor-specific command.
     */
    public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD =
            "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";

    /**
     * An int extra field in {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT}
     * intents that contains the Company ID of the vendor defining the vendor-specific
     * command.
     * @see <a href="https://www.bluetooth.org/Technical/AssignedNumbers/identifiers.htm">
     * Bluetooth SIG Assigned Numbers - Company Identifiers</a>
     */
    public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID =
            "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID";

    /**
     * A Parcelable String array extra field in
     * {@link #ACTION_VENDOR_SPECIFIC_HEADSET_EVENT} intents that contains
     * the arguments to the vendor-specific command.
     */
    public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS =
            "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";


    /**
     * TODO(API release): Consider incorporating as new state in
     * HEADSET_STATE_CHANGED
@@ -108,7 +145,7 @@ public final class BluetoothHeadset {

    public static final int RESULT_FAILURE = 0;
    public static final int RESULT_SUCCESS = 1;
    /** Connection canceled before completetion. */
    /** Connection canceled before completion. */
    public static final int RESULT_CANCELED = 2;

    /** Values for {@link #EXTRA_DISCONNECT_INITIATOR} */
+11 −12
Original line number Diff line number Diff line
@@ -74,8 +74,8 @@ public final class HeadsetBase {

    private native void cleanupNativeDataNative();

    public HeadsetBase(PowerManager pm, BluetoothAdapter adapter, BluetoothDevice device,
            int rfcommChannel) {
    public HeadsetBase(PowerManager pm, BluetoothAdapter adapter,
                       BluetoothDevice device, int rfcommChannel) {
        mDirection = DIRECTION_OUTGOING;
        mConnectTimestamp = System.currentTimeMillis();
        mAdapter = adapter;
@@ -89,8 +89,9 @@ public final class HeadsetBase {
        initializeNativeDataNative(-1);
    }

    /* Create from an already exisiting rfcomm connection */
    public HeadsetBase(PowerManager pm, BluetoothAdapter adapter, BluetoothDevice device,
    /* Create from an existing rfcomm connection */
    public HeadsetBase(PowerManager pm, BluetoothAdapter adapter,
                       BluetoothDevice device,
                       int socketFd, int rfcommChannel, Handler handler) {
        mDirection = DIRECTION_INCOMING;
        mConnectTimestamp = System.currentTimeMillis();
@@ -128,7 +129,7 @@ public final class HeadsetBase {
                       (System.currentTimeMillis() - timestamp) + " ms");

        if (result.getResultCode() == AtCommandResult.ERROR) {
            Log.i(TAG, "Error pocessing <" + input + ">");
            Log.i(TAG, "Error processing <" + input + ">");
        }

        sendURC(result.toString());
@@ -142,7 +143,8 @@ public final class HeadsetBase {
     */
    protected void initializeAtParser() {
        mAtParser = new AtParser();
        //TODO(): Get rid of this as there are no parsers registered. But because of dependencies,

        //TODO(): Get rid of this as there are no parsers registered. But because of dependencies
        // it needs to be done as part of refactoring HeadsetBase and BluetoothHandsfree
    }

@@ -159,8 +161,7 @@ public final class HeadsetBase {
                        String input = readNative(500);
                        if (input != null) {
                            handleInput(input);
                        }
                        else {
                        } else {
                            last_read_error = getLastReadStatusNative();
                            if (last_read_error != 0) {
                                Log.i(TAG, "headset read error " + last_read_error);
@@ -179,8 +180,6 @@ public final class HeadsetBase {
        mEventThread.start();
    }



    private native String readNative(int timeout_ms);
    private native int getLastReadStatusNative();