[Provider Model] Add Airplane-safe networks slice

- Hide slice when Airplane Mode is off

- Show slice when Airplane Mode is on
  - Show "View airplane-safe networks" when Wi-Fi is disabled
  - Show "Turn off Airplane Mode" when Wi-Fi is enabled

- Tap "View airplane-safe networks" will set Wi-Fi enabled

- Tap "Turn off Airplane Mode" will set airplane Mode off

- Plan to update the slice to Button style in next cl

- Screenshot
  https://screenshot.googleplex.com/7wHoqvTjaScHXVm

Bug: 173413889
Test:
- atest -c AirplaneSafeNetworksSliceTest
- adb shell am start -a
android.settings.panel.action.INTERNET_CONNECTIVITY

Change-Id: Idcd70348728db2da91582697aaeb4bbf4da117c6
This commit is contained in:
Weng Su
2020-12-01 23:37:50 +00:00
parent c48eacaa82
commit 96af1674f8
5 changed files with 355 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ import android.net.Uri;
import android.provider.Settings;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.network.AirplaneModePreferenceController;
import com.android.settings.slices.CustomSliceRegistry;
@@ -58,7 +59,11 @@ public class InternetConnectivityPanel implements PanelContent {
final List<Uri> uris = new ArrayList<>();
uris.add(CustomSliceRegistry.WIFI_SLICE_URI);
uris.add(CustomSliceRegistry.MOBILE_DATA_SLICE_URI);
uris.add(AirplaneModePreferenceController.SLICE_URI);
if (Utils.isProviderModelEnabled(mContext)) {
uris.add(CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
} else {
uris.add(AirplaneModePreferenceController.SLICE_URI);
}
return uris;
}