// Updates the nearby button's text to be the number of devices found. If no devices have been // found, the text is set to "Nearby". private void updateNearbyButton() { int count = mDeviceManager.getAdapter().getCount(); final String text = (count == 0 ? "" : (String.valueOf(count) + " ")) + getResources().getString(R.string.map_nearby_button); if (mNearbyButton != null) { mNearbyButton.setText(text); mNearbyButton.setSelected(count > 0); } }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) private boolean initNearby() { PackageManager pm = getPackageManager(); if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE); BluetoothAdapter adapter = manager.getAdapter(); if (adapter != null) { MetadataResolver.initialize(this); mDeviceManager = new NearbyDeviceManager(this, adapter); mDeviceManager .getAdapter() .registerDataSetObserver( new DataSetObserver() { @Override public void onChanged() { updateNearbyButton(); } }); return true; } } return false; }