Add Slices for Enhanced 4G LTE
Add Slices for Enhanced 4G LTE Enhanced 4G LTE Slice Provider: Create slice to display appropriate message with further instructions Enhanced 4G LTE Slice Broadcast Reciver: 1. Change the setting via ImsManager 2. Ask to requery the slice in one second to display updated settings if 1 is valid or display appropriate message Bug: 79270171 Test: Robotests Test: Use support-slices-demos-debug.apk to test on device Change-Id: I48d412de94d5d9f1ad42a299691ec5cf8001c6a1
This commit is contained in:
@@ -36,6 +36,7 @@ import com.android.settings.bluetooth.BluetoothSliceBuilder;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.location.LocationSliceBuilder;
|
||||
import com.android.settings.notification.ZenModeSliceBuilder;
|
||||
import com.android.settings.mobilenetwork.Enhanced4gLteSliceHelper;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.WifiSliceBuilder;
|
||||
import com.android.settings.wifi.calling.WifiCallingSliceHelper;
|
||||
@@ -190,23 +191,27 @@ public class SettingsSliceProvider extends SliceProvider {
|
||||
Log.e(TAG, "Requested blocked slice with Uri: " + sliceUri);
|
||||
return null;
|
||||
}
|
||||
|
||||
// If adding a new Slice, do not directly match Slice URIs.
|
||||
// Use {@link SlicesDatabaseAccessor}.
|
||||
if (WifiCallingSliceHelper.WIFI_CALLING_URI.equals(sliceUri)) {
|
||||
return FeatureFactory.getFactory(getContext())
|
||||
.getSlicesFeatureProvider()
|
||||
.getNewWifiCallingSliceHelper(getContext())
|
||||
.createWifiCallingSlice(sliceUri);
|
||||
} else if (WifiSliceBuilder.WIFI_URI.equals(sliceUri)) {
|
||||
return WifiSliceBuilder.getSlice(getContext());
|
||||
} else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(sliceUri)) {
|
||||
return ZenModeSliceBuilder.getSlice(getContext());
|
||||
} else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(sliceUri)) {
|
||||
return BluetoothSliceBuilder.getSlice(getContext());
|
||||
} else if (LocationSliceBuilder.LOCATION_URI.equals(sliceUri)) {
|
||||
return LocationSliceBuilder.getSlice(getContext());
|
||||
}
|
||||
// If adding a new Slice, do not directly match Slice URIs.
|
||||
// Use {@link SlicesDatabaseAccessor}.
|
||||
if (WifiCallingSliceHelper.WIFI_CALLING_URI.equals(sliceUri)) {
|
||||
return FeatureFactory.getFactory(getContext())
|
||||
.getSlicesFeatureProvider()
|
||||
.getNewWifiCallingSliceHelper(getContext())
|
||||
.createWifiCallingSlice(sliceUri);
|
||||
} else if (WifiSliceBuilder.WIFI_URI.equals(sliceUri)) {
|
||||
return WifiSliceBuilder.getSlice(getContext());
|
||||
} else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(sliceUri)) {
|
||||
return ZenModeSliceBuilder.getSlice(getContext());
|
||||
} else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(sliceUri)) {
|
||||
return BluetoothSliceBuilder.getSlice(getContext());
|
||||
} else if (LocationSliceBuilder.LOCATION_URI.equals(sliceUri)) {
|
||||
return LocationSliceBuilder.getSlice(getContext());
|
||||
} else if (Enhanced4gLteSliceHelper.SLICE_URI.equals(sliceUri)) {
|
||||
return FeatureFactory.getFactory(getContext())
|
||||
.getSlicesFeatureProvider()
|
||||
.getNewEnhanced4gLteSliceHelper(getContext())
|
||||
.createEnhanced4gLteSlice(sliceUri);
|
||||
}
|
||||
|
||||
SliceData cachedSliceData = mSliceWeakDataCache.get(sliceUri);
|
||||
if (cachedSliceData == null) {
|
||||
|
@@ -24,6 +24,7 @@ import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY;
|
||||
import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_PLATFORM_DEFINED;
|
||||
import static com.android.settings.wifi.calling.WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED;
|
||||
import static com.android.settings.wifi.WifiSliceBuilder.ACTION_WIFI_SLICE_CHANGED;
|
||||
import static com.android.settings.mobilenetwork.Enhanced4gLteSliceHelper.ACTION_ENHANCED_4G_LTE_CHANGED;
|
||||
|
||||
import android.app.slice.Slice;
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -84,6 +85,12 @@ public class SliceBroadcastReceiver extends BroadcastReceiver {
|
||||
case ACTION_ZEN_MODE_SLICE_CHANGED:
|
||||
ZenModeSliceBuilder.handleUriChange(context, intent);
|
||||
break;
|
||||
case ACTION_ENHANCED_4G_LTE_CHANGED:
|
||||
FeatureFactory.getFactory(context)
|
||||
.getSlicesFeatureProvider()
|
||||
.getNewEnhanced4gLteSliceHelper(context)
|
||||
.handleEnhanced4gLteChanged(intent);
|
||||
break;
|
||||
default:
|
||||
final String uriString = intent.getStringExtra(SliceBroadcastRelay.EXTRA_URI);
|
||||
if (!TextUtils.isEmpty(uriString)) {
|
||||
|
@@ -2,6 +2,7 @@ package com.android.settings.slices;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.mobilenetwork.Enhanced4gLteSliceHelper;
|
||||
import com.android.settings.wifi.calling.WifiCallingSliceHelper;
|
||||
|
||||
/**
|
||||
@@ -31,4 +32,10 @@ public interface SlicesFeatureProvider {
|
||||
* Gets new WifiCallingSliceHelper object
|
||||
*/
|
||||
WifiCallingSliceHelper getNewWifiCallingSliceHelper(Context context);
|
||||
|
||||
/**
|
||||
* Gets new Enhanced4gLteSliceHelper object
|
||||
*/
|
||||
Enhanced4gLteSliceHelper getNewEnhanced4gLteSliceHelper(Context context);
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package com.android.settings.slices;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.mobilenetwork.Enhanced4gLteSliceHelper;
|
||||
import com.android.settings.wifi.calling.WifiCallingSliceHelper;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
@@ -45,4 +46,9 @@ public class SlicesFeatureProviderImpl implements SlicesFeatureProvider {
|
||||
public WifiCallingSliceHelper getNewWifiCallingSliceHelper(Context context) {
|
||||
return new WifiCallingSliceHelper(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Enhanced4gLteSliceHelper getNewEnhanced4gLteSliceHelper(Context context) {
|
||||
return new Enhanced4gLteSliceHelper(context);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user