1 package com.android.settings.slices; 2 3 import android.content.Context; 4 5 import com.android.settings.wifi.calling.WifiCallingSliceHelper; 6 import com.android.settingslib.utils.ThreadUtils; 7 8 /** 9 * Manages Slices in Settings. 10 */ 11 public class SlicesFeatureProviderImpl implements SlicesFeatureProvider { 12 13 private SlicesIndexer mSlicesIndexer; 14 private SliceDataConverter mSliceDataConverter; 15 16 @Override 17 public SlicesIndexer getSliceIndexer(Context context) { 18 if (mSlicesIndexer == null) { 19 mSlicesIndexer = new SlicesIndexer(context); 20 } 21 return mSlicesIndexer; 22 } 23 24 @Override 25 public SliceDataConverter getSliceDataConverter(Context context) { 26 if(mSliceDataConverter == null) { 27 mSliceDataConverter = new SliceDataConverter(context.getApplicationContext()); 28 } 29 return mSliceDataConverter; 30 } 31 32 @Override 33 public void indexSliceDataAsync(Context context) { 34 SlicesIndexer indexer = getSliceIndexer(context); 35 ThreadUtils.postOnBackgroundThread(indexer); 36 } 37 38 @Override 39 public void indexSliceData(Context context) { 40 SlicesIndexer indexer = getSliceIndexer(context); 41 indexer.indexSliceData(); 42 } 43 44 @Override 45 public WifiCallingSliceHelper getNewWifiCallingSliceHelper(Context context) { 46 return new WifiCallingSliceHelper(context); 47 } 48 } 49