Connect the SliceIndexing data to the SliceProvider, such that a query to SliceProvider can build a Slice via the indexed data from SlicesIndexingManager. We take the key from the Uri supplied to the SettingSliceProvider and find a potential matching row in the indexed data. The matched data is then used to Build a slice for the caller. Bug: 67996923 Test: robotests Change-Id: If51bfd1a05c3f3817ae720554f95a98fc7b002e1
42 lines
1.1 KiB
Java
42 lines
1.1 KiB
Java
package com.android.settings.slices;
|
|
|
|
import android.content.Context;
|
|
|
|
import com.android.settingslib.utils.ThreadUtils;
|
|
|
|
/**
|
|
* Manages Slices in Settings.
|
|
*/
|
|
public class SlicesFeatureProviderImpl implements SlicesFeatureProvider {
|
|
|
|
private SlicesIndexer mSlicesIndexer;
|
|
private SliceDataConverter mSliceDataConverter;
|
|
|
|
@Override
|
|
public SlicesIndexer getSliceIndexer(Context context) {
|
|
if (mSlicesIndexer == null) {
|
|
mSlicesIndexer = new SlicesIndexer(context);
|
|
}
|
|
return mSlicesIndexer;
|
|
}
|
|
|
|
@Override
|
|
public SliceDataConverter getSliceDataConverter(Context context) {
|
|
if(mSliceDataConverter == null) {
|
|
mSliceDataConverter = new SliceDataConverter(context.getApplicationContext());
|
|
}
|
|
return mSliceDataConverter;
|
|
}
|
|
|
|
@Override
|
|
public void indexSliceDataAsync(Context context) {
|
|
SlicesIndexer indexer = getSliceIndexer(context);
|
|
ThreadUtils.postOnBackgroundThread(indexer);
|
|
}
|
|
|
|
@Override
|
|
public void indexSliceData(Context context) {
|
|
SlicesIndexer indexer = getSliceIndexer(context);
|
|
indexer.indexSliceData();
|
|
}
|
|
} |