Search in sources :

Example 16 with BluetoothAdapter

use of android.bluetooth.BluetoothAdapter in project android_frameworks_base by AOSPA.

the class ExternalSharedPermsDiffKeyTest method testRunBluetoothAndFineLocation.

/** The use of location manager and bluetooth below are simply to simulate an app that
     *  tries to use them, so we can verify whether permissions are granted and accessible.
     * */
public void testRunBluetoothAndFineLocation() {
    LocationManager locationManager = (LocationManager) getInstrumentation().getContext().getSystemService(Context.LOCATION_SERVICE);
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {

        public void onLocationChanged(Location location) {
        }

        public void onProviderDisabled(String provider) {
        }

        public void onProviderEnabled(String provider) {
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
        }
    });
    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if ((mBluetoothAdapter != null) && (!mBluetoothAdapter.isEnabled())) {
        mBluetoothAdapter.getName();
    }
    fail("this app was signed by a different cert and should crash/fail to run by now");
}
Also used : LocationManager(android.location.LocationManager) Bundle(android.os.Bundle) LocationListener(android.location.LocationListener) BluetoothAdapter(android.bluetooth.BluetoothAdapter) Location(android.location.Location)

Example 17 with BluetoothAdapter

use of android.bluetooth.BluetoothAdapter in project android_frameworks_base by AOSPA.

the class BatteryStatsService method updateExternalStatsSync.

/**
     * Fetches data from external sources (WiFi controller, bluetooth chipset) and updates
     * batterystats with that information.
     *
     * We first grab a lock specific to this method, then once all the data has been collected,
     * we grab the mStats lock and update the data.
     *
     * @param reason The reason why this collection was requested. Useful for debugging.
     * @param updateFlags Which external stats to update. Can be a combination of
     *                    {@link BatteryStatsImpl.ExternalStatsSync#UPDATE_CPU},
     *                    {@link BatteryStatsImpl.ExternalStatsSync#UPDATE_RADIO},
     *                    {@link BatteryStatsImpl.ExternalStatsSync#UPDATE_WIFI},
     *                    and {@link BatteryStatsImpl.ExternalStatsSync#UPDATE_BT}.
     */
void updateExternalStatsSync(final String reason, int updateFlags) {
    SynchronousResultReceiver wifiReceiver = null;
    SynchronousResultReceiver bluetoothReceiver = null;
    SynchronousResultReceiver modemReceiver = null;
    synchronized (mExternalStatsLock) {
        if (mContext == null) {
            // Don't do any work yet.
            return;
        }
        if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_WIFI) != 0) {
            if (mWifiManager == null) {
                mWifiManager = IWifiManager.Stub.asInterface(ServiceManager.getService(Context.WIFI_SERVICE));
            }
            if (mWifiManager != null) {
                try {
                    wifiReceiver = new SynchronousResultReceiver();
                    mWifiManager.requestActivityInfo(wifiReceiver);
                } catch (RemoteException e) {
                // Oh well.
                }
            }
        }
        if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_BT) != 0) {
            final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
            if (adapter != null) {
                bluetoothReceiver = new SynchronousResultReceiver();
                adapter.requestControllerActivityEnergyInfo(bluetoothReceiver);
            }
        }
        if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_RADIO) != 0) {
            if (mTelephony == null) {
                mTelephony = TelephonyManager.from(mContext);
            }
            if (mTelephony != null) {
                modemReceiver = new SynchronousResultReceiver();
                mTelephony.requestModemActivityInfo(modemReceiver);
            }
        }
        WifiActivityEnergyInfo wifiInfo = null;
        BluetoothActivityEnergyInfo bluetoothInfo = null;
        ModemActivityInfo modemInfo = null;
        try {
            wifiInfo = awaitControllerInfo(wifiReceiver);
        } catch (TimeoutException e) {
            Slog.w(TAG, "Timeout reading wifi stats");
        }
        try {
            bluetoothInfo = awaitControllerInfo(bluetoothReceiver);
        } catch (TimeoutException e) {
            Slog.w(TAG, "Timeout reading bt stats");
        }
        try {
            modemInfo = awaitControllerInfo(modemReceiver);
        } catch (TimeoutException e) {
            Slog.w(TAG, "Timeout reading modem stats");
        }
        synchronized (mStats) {
            mStats.addHistoryEventLocked(SystemClock.elapsedRealtime(), SystemClock.uptimeMillis(), BatteryStats.HistoryItem.EVENT_COLLECT_EXTERNAL_STATS, reason, 0);
            mStats.updateCpuTimeLocked();
            mStats.updateKernelWakelocksLocked();
            if (wifiInfo != null) {
                if (wifiInfo.isValid()) {
                    mStats.updateWifiStateLocked(extractDelta(wifiInfo));
                } else {
                    Slog.e(TAG, "wifi info is invalid: " + wifiInfo);
                }
            }
            if (bluetoothInfo != null) {
                if (bluetoothInfo.isValid()) {
                    mStats.updateBluetoothStateLocked(bluetoothInfo);
                } else {
                    Slog.e(TAG, "bluetooth info is invalid: " + bluetoothInfo);
                }
            }
            if (modemInfo != null) {
                if (modemInfo.isValid()) {
                    mStats.updateMobileRadioStateLocked(SystemClock.elapsedRealtime(), modemInfo);
                } else {
                    Slog.e(TAG, "modem info is invalid: " + modemInfo);
                }
            }
        }
    }
}
Also used : SynchronousResultReceiver(android.os.SynchronousResultReceiver) WifiActivityEnergyInfo(android.net.wifi.WifiActivityEnergyInfo) ModemActivityInfo(android.telephony.ModemActivityInfo) RemoteException(android.os.RemoteException) BluetoothAdapter(android.bluetooth.BluetoothAdapter) BluetoothActivityEnergyInfo(android.bluetooth.BluetoothActivityEnergyInfo) TimeoutException(java.util.concurrent.TimeoutException)

Example 18 with BluetoothAdapter

use of android.bluetooth.BluetoothAdapter in project android_frameworks_base by AOSPA.

the class AudioService method onSystemReady.

public void onSystemReady() {
    mSystemReady = true;
    sendMsg(mAudioHandler, MSG_LOAD_SOUND_EFFECTS, SENDMSG_QUEUE, 0, 0, null, 0);
    mScoConnectionState = AudioManager.SCO_AUDIO_STATE_ERROR;
    resetBluetoothSco();
    getBluetoothHeadset();
    //FIXME: this is to maintain compatibility with deprecated intent
    // AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED. Remove when appropriate.
    Intent newIntent = new Intent(AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED);
    newIntent.putExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, AudioManager.SCO_AUDIO_STATE_DISCONNECTED);
    sendStickyBroadcastToAll(newIntent);
    BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
    if (adapter != null) {
        adapter.getProfileProxy(mContext, mBluetoothProfileServiceListener, BluetoothProfile.A2DP);
    }
    mHdmiManager = (HdmiControlManager) mContext.getSystemService(Context.HDMI_CONTROL_SERVICE);
    if (mHdmiManager != null) {
        synchronized (mHdmiManager) {
            mHdmiTvClient = mHdmiManager.getTvClient();
            if (mHdmiTvClient != null) {
                mFixedVolumeDevices &= ~AudioSystem.DEVICE_ALL_HDMI_SYSTEM_AUDIO_AND_SPEAKER;
            }
            mHdmiPlaybackClient = mHdmiManager.getPlaybackClient();
            mHdmiCecSink = false;
        }
    }
    mNm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
    sendMsg(mAudioHandler, MSG_CONFIGURE_SAFE_MEDIA_VOLUME_FORCED, SENDMSG_REPLACE, 0, 0, TAG, SAFE_VOLUME_CONFIGURE_TIMEOUT_MS);
    StreamOverride.init(mContext);
    mControllerService.init();
    onIndicateSystemReady();
}
Also used : Intent(android.content.Intent) BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Example 19 with BluetoothAdapter

use of android.bluetooth.BluetoothAdapter in project android by JetBrains.

the class LibUnitTest method mockFinalClass.

@Test
public void mockFinalClass() {
    BluetoothAdapter adapter = mock(BluetoothAdapter.class);
    when(adapter.isEnabled()).thenReturn(true);
    assertTrue(adapter.isEnabled());
    verify(adapter).isEnabled();
    verifyNoMoreInteractions(adapter);
}
Also used : BluetoothAdapter(android.bluetooth.BluetoothAdapter) Test(org.junit.Test)

Example 20 with BluetoothAdapter

use of android.bluetooth.BluetoothAdapter in project platform_frameworks_base by android.

the class ScoAudioTest method onDestroy.

@Override
public void onDestroy() {
    super.onDestroy();
    mTts.shutdown();
    unregisterReceiver(mReceiver);
    if (mBluetoothHeadset != null) {
        BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
        if (btAdapter != null) {
            btAdapter.closeProfileProxy(BluetoothProfile.HEADSET, mBluetoothHeadset);
        }
    }
}
Also used : BluetoothAdapter(android.bluetooth.BluetoothAdapter)

Aggregations

BluetoothAdapter (android.bluetooth.BluetoothAdapter)184 Intent (android.content.Intent)27 BluetoothDevice (android.bluetooth.BluetoothDevice)22 BluetoothManager (android.bluetooth.BluetoothManager)16 BluetoothPan (android.bluetooth.BluetoothPan)15 IntentFilter (android.content.IntentFilter)15 LocationManager (android.location.LocationManager)15 BluetoothProfile (android.bluetooth.BluetoothProfile)13 Location (android.location.Location)12 LocationListener (android.location.LocationListener)12 Bundle (android.os.Bundle)12 TextView (android.widget.TextView)10 BluetoothLeScanner (android.bluetooth.le.BluetoothLeScanner)9 ScanSettings (android.bluetooth.le.ScanSettings)9 ScanCallback (android.bluetooth.le.ScanCallback)8 ScanResult (android.bluetooth.le.ScanResult)8 Method (java.lang.reflect.Method)8 List (java.util.List)8 Activity (android.app.Activity)7 ScanFilter (android.bluetooth.le.ScanFilter)7