Improve BT slice card loading performance
The bottleneck is getting LocalBluetoothManager the first time. 1. Initialize LocalBluetoothManager earlier and asynchronously. 2. Don't block in slice's constructor and getSlice(). - Initialize the bt updaters until the manager is ready. - Just show a header if the manager is not ready yet. Fixes: 157702021 Test: robotest Change-Id: I427df55f259b45ba4c37557b22e09dcc24079e93
This commit is contained in:
@@ -37,6 +37,7 @@ import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.homepage.contextualcards.slices.BluetoothUpdateWorker;
|
||||
import com.android.settings.homepage.contextualcards.slices.SwipeDismissalDelegate;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.slice.ContextualWifiScanWorker;
|
||||
@@ -67,6 +68,7 @@ public class ContextualCardsFragment extends InstrumentedFragment implements
|
||||
final Context context = getContext();
|
||||
if (savedInstanceState == null) {
|
||||
FeatureFactory.getFactory(context).getSlicesFeatureProvider().newUiSession();
|
||||
BluetoothUpdateWorker.initLocalBtManager(getContext());
|
||||
}
|
||||
mContextualCardManager = new ContextualCardManager(context, getSettingsLifecycle(),
|
||||
savedInstanceState);
|
||||
|
||||
Reference in New Issue
Block a user