Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java +4 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class DeviceChooserActivity extends Activity { private static final boolean DEBUG = false; private static final String LOG_TAG = "DeviceChooserActivity"; private ListView mDeviceListView; View mLoadingIndicator = null; ListView mDeviceListView; private View mPairButton; private View mCancelButton; Loading Loading @@ -80,8 +81,9 @@ public class DeviceChooserActivity extends Activity { onSelectionUpdate(); } }); mDeviceListView.addFooterView(getProgressBar(), null, false); mDeviceListView.addFooterView(mLoadingIndicator = getProgressBar(), null, false); } getService().mActivity = this; mCancelButton = findViewById(R.id.button_cancel); mCancelButton.setOnClickListener(v -> cancel()); Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java +21 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress; import static com.android.internal.util.ArrayUtils.isEmpty; import static com.android.internal.util.CollectionUtils.emptyIfNull; import static com.android.internal.util.CollectionUtils.size; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -50,6 +51,7 @@ import android.content.IntentFilter; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.net.wifi.WifiManager; import android.os.Handler; import android.os.IBinder; import android.os.Parcelable; import android.os.RemoteException; Loading @@ -63,7 +65,9 @@ import android.widget.TextView; import com.android.internal.util.ArrayUtils; import com.android.internal.util.CollectionUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.function.pooled.PooledLambda; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; import java.util.Objects; Loading @@ -73,6 +77,8 @@ public class DeviceDiscoveryService extends Service { private static final boolean DEBUG = false; private static final String LOG_TAG = "DeviceDiscoveryService"; private static final long SCAN_TIMEOUT = 20000; static DeviceDiscoveryService sInstance; private BluetoothAdapter mBluetoothAdapter; Loading @@ -93,6 +99,8 @@ public class DeviceDiscoveryService extends Service { IFindDeviceCallback mFindCallback; ICompanionDeviceDiscoveryServiceCallback mServiceCallback; boolean mIsScanning = false; @Nullable DeviceChooserActivity mActivity = null; private final ICompanionDeviceDiscoveryService mBinder = new ICompanionDeviceDiscoveryService.Stub() { Loading Loading @@ -196,6 +204,10 @@ public class DeviceDiscoveryService extends Service { new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); mWifiManager.startScan(); } mIsScanning = true; Handler.getMain().sendMessageDelayed( obtainMessage(DeviceDiscoveryService::stopScan, this), SCAN_TIMEOUT); } private boolean shouldScan(List<? extends DeviceFilter> mediumSpecificFilters) { Loading @@ -219,6 +231,15 @@ public class DeviceDiscoveryService extends Service { private void stopScan() { if (DEBUG) Log.i(LOG_TAG, "stopScan()"); if (!mIsScanning) return; mIsScanning = false; DeviceChooserActivity activity = mActivity; if (activity != null) { activity.mDeviceListView.removeFooterView(activity.mLoadingIndicator); mActivity = null; } mBluetoothAdapter.cancelDiscovery(); if (mBluetoothBroadcastReceiver != null) { unregisterReceiver(mBluetoothBroadcastReceiver); Loading Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java +4 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class DeviceChooserActivity extends Activity { private static final boolean DEBUG = false; private static final String LOG_TAG = "DeviceChooserActivity"; private ListView mDeviceListView; View mLoadingIndicator = null; ListView mDeviceListView; private View mPairButton; private View mCancelButton; Loading Loading @@ -80,8 +81,9 @@ public class DeviceChooserActivity extends Activity { onSelectionUpdate(); } }); mDeviceListView.addFooterView(getProgressBar(), null, false); mDeviceListView.addFooterView(mLoadingIndicator = getProgressBar(), null, false); } getService().mActivity = this; mCancelButton = findViewById(R.id.button_cancel); mCancelButton.setOnClickListener(v -> cancel()); Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java +21 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress; import static com.android.internal.util.ArrayUtils.isEmpty; import static com.android.internal.util.CollectionUtils.emptyIfNull; import static com.android.internal.util.CollectionUtils.size; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -50,6 +51,7 @@ import android.content.IntentFilter; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.net.wifi.WifiManager; import android.os.Handler; import android.os.IBinder; import android.os.Parcelable; import android.os.RemoteException; Loading @@ -63,7 +65,9 @@ import android.widget.TextView; import com.android.internal.util.ArrayUtils; import com.android.internal.util.CollectionUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.function.pooled.PooledLambda; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; import java.util.Objects; Loading @@ -73,6 +77,8 @@ public class DeviceDiscoveryService extends Service { private static final boolean DEBUG = false; private static final String LOG_TAG = "DeviceDiscoveryService"; private static final long SCAN_TIMEOUT = 20000; static DeviceDiscoveryService sInstance; private BluetoothAdapter mBluetoothAdapter; Loading @@ -93,6 +99,8 @@ public class DeviceDiscoveryService extends Service { IFindDeviceCallback mFindCallback; ICompanionDeviceDiscoveryServiceCallback mServiceCallback; boolean mIsScanning = false; @Nullable DeviceChooserActivity mActivity = null; private final ICompanionDeviceDiscoveryService mBinder = new ICompanionDeviceDiscoveryService.Stub() { Loading Loading @@ -196,6 +204,10 @@ public class DeviceDiscoveryService extends Service { new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); mWifiManager.startScan(); } mIsScanning = true; Handler.getMain().sendMessageDelayed( obtainMessage(DeviceDiscoveryService::stopScan, this), SCAN_TIMEOUT); } private boolean shouldScan(List<? extends DeviceFilter> mediumSpecificFilters) { Loading @@ -219,6 +231,15 @@ public class DeviceDiscoveryService extends Service { private void stopScan() { if (DEBUG) Log.i(LOG_TAG, "stopScan()"); if (!mIsScanning) return; mIsScanning = false; DeviceChooserActivity activity = mActivity; if (activity != null) { activity.mDeviceListView.removeFooterView(activity.mLoadingIndicator); mActivity = null; } mBluetoothAdapter.cancelDiscovery(); if (mBluetoothBroadcastReceiver != null) { unregisterReceiver(mBluetoothBroadcastReceiver); Loading