Layout changes in v2 Network & internet page

This adds the skeleton of a header section which will only appear when
the device has two or more active mobile subscriptions. Subsequent CL's
will add the actual logic implementing it.

Also this moves up the airplane mode toggle higher up on the page, and
removes the proxy selector entry (which has been unconditionally
disabled by the ProxyPreferenceController for a while).

Bug: 116349402
Test: manual (this is mostly a layout change - subsequent changes will
have actual logic to test for the subscriptions header)

Change-Id: Iaee338d5c13e05d3c2d9d04872a94cf90e5da588
This commit is contained in:
Antony Sargent
2018-12-05 09:30:30 -08:00
parent bccad4abd8
commit 11b7c7f254
2 changed files with 61 additions and 23 deletions

View File

@@ -21,13 +21,20 @@
android:title="@string/network_dashboard_title" android:title="@string/network_dashboard_title"
settings:initialExpandedChildrenCount="5"> settings:initialExpandedChildrenCount="5">
<PreferenceCategory
android:key="multi_network_header"
settings:allowDividerBelow="true"
android:order="-40"
settings:controller="com.android.settings.network.MultiNetworkHeaderController"/>
<com.android.settings.widget.MasterSwitchPreference <com.android.settings.widget.MasterSwitchPreference
android:fragment="com.android.settings.wifi.WifiSettings" android:fragment="com.android.settings.wifi.WifiSettings"
android:key="toggle_wifi" android:key="toggle_wifi"
android:title="@string/wifi_settings" android:title="@string/wifi_settings"
android:summary="@string/summary_placeholder" android:summary="@string/summary_placeholder"
android:icon="@drawable/ic_settings_wireless" android:icon="@drawable/ic_settings_wireless"
android:order="-30"> android:order="-30"
settings:allowDividerAbove="true">
<intent <intent
android:action="android.settings.WIFI_SETTINGS" android:action="android.settings.WIFI_SETTINGS"
android:targetClass="Settings$WifiSettingsActivity" /> android:targetClass="Settings$WifiSettingsActivity" />
@@ -44,16 +51,15 @@
settings:useAdminDisabledSummary="true"> settings:useAdminDisabledSummary="true">
</com.android.settingslib.RestrictedPreference> </com.android.settingslib.RestrictedPreference>
<com.android.settingslib.RestrictedPreference <com.android.settingslib.RestrictedSwitchPreference
android:fragment="com.android.settings.TetherSettings" android:key="toggle_airplane"
android:key="tether_settings" android:title="@string/airplane_mode"
android:title="@string/tether_settings_title_all" android:icon="@drawable/ic_airplanemode_active"
android:icon="@drawable/ic_wifi_tethering" android:disableDependentsState="true"
android:order="-5" android:order="-5"
android:summary="@string/summary_placeholder" settings:controller="com.android.settings.network.AirplaneModePreferenceController"
settings:keywords="@string/keywords_hotspot_tethering" settings:platform_slice="true"
settings:userRestriction="no_config_tethering" settings:userRestriction="no_airplane_mode"/>
settings:useAdminDisabledSummary="true" />
<com.android.settingslib.RestrictedPreference <com.android.settingslib.RestrictedPreference
android:key="manage_mobile_plan" android:key="manage_mobile_plan"
@@ -63,20 +69,16 @@
settings:userRestriction="no_config_mobile_networks" settings:userRestriction="no_config_mobile_networks"
settings:useAdminDisabledSummary="true" /> settings:useAdminDisabledSummary="true" />
<com.android.settingslib.RestrictedSwitchPreference <com.android.settingslib.RestrictedPreference
android:key="toggle_airplane" android:fragment="com.android.settings.TetherSettings"
android:title="@string/airplane_mode" android:key="tether_settings"
android:icon="@drawable/ic_airplanemode_active" android:title="@string/tether_settings_title_all"
android:disableDependentsState="true" android:icon="@drawable/ic_wifi_tethering"
android:order="5" android:order="5"
settings:controller="com.android.settings.network.AirplaneModePreferenceController" android:summary="@string/summary_placeholder"
settings:platform_slice="true" settings:keywords="@string/keywords_hotspot_tethering"
settings:userRestriction="no_airplane_mode"/> settings:userRestriction="no_config_tethering"
settings:useAdminDisabledSummary="true" />
<Preference
android:fragment="com.android.settings.ProxySelector"
android:key="proxy_settings"
android:title="@string/proxy_settings_title" />
<com.android.settingslib.RestrictedPreference <com.android.settingslib.RestrictedPreference
android:fragment="com.android.settings.vpn2.VpnSettings" android:fragment="com.android.settings.vpn2.VpnSettings"

View File

@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.network;
import android.content.Context;
import com.android.settings.core.BasePreferenceController;
// This controls a header at the top of the Network & internet page that only appears when there
// are two or more active mobile subscriptions. It shows an overview of available network
// connections with an entry for wifi (if connected) and an entry for each subscription.
public class MultiNetworkHeaderController extends BasePreferenceController {
public MultiNetworkHeaderController(Context context, String key) {
super(context, key);
}
@Override
public int getAvailabilityStatus() {
return UNSUPPORTED_ON_DEVICE;
}
}