Loading res/layout/wifi_network_config.xml +22 −0 Original line number Diff line number Diff line Loading @@ -412,6 +412,28 @@ android:orientation="vertical" android:visibility="gone"> <LinearLayout android:id="@+id/shared_network_login_screen_warning" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:visibility="gone" style="@style/wifi_item"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_info_outline_24dp" android:tint="?android:attr/textColorTertiary" android:contentDescription="@string/wifi_shared_network_login_screen_warning"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="8dp" android:text="@string/wifi_shared_network_login_screen_warning" style="@style/wifi_item_label"/> </LinearLayout> <LinearLayout android:id="@+id/sharing_toggle_fields" android:layout_width="match_parent" Loading res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2605,6 +2605,8 @@ <string name="wifi_scan_always_confirm_deny">Deny</string> <!-- Error message displayed below the Wi-Fi EditText when the filed is required. [CHAR LIMIT=NONE] --> <string name="wifi_field_required">*required</string> <!-- Message to inform user, the network can only be configured at a shared network. [CHAR LIMIT=250] --> <string name="wifi_shared_network_login_screen_warning">This is a shared network. You can change this setting once logged in.</string> <!-- Label for the share wifi network toggle. [CHAR LIMIT=250] --> <string name="share_wifi_network">Share this network with other device users</string> <!-- Label for the share wifi network summary. [CHAR LIMIT=NONE] --> src/com/android/settings/wifi/WifiConfigController2.java +14 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ public class WifiConfigController2 implements TextWatcher, private TextView mDns1View; private TextView mDns2View; private LinearLayout mSharedNetworkLoginScreenWarning; private Switch mSharedSwitch; private Switch mEditConfigurationSwitch; private Spinner mProxySettingsSpinner; Loading Loading @@ -349,6 +350,8 @@ public class WifiConfigController2 implements TextWatcher, mSharedSwitch = (Switch) mView.findViewById(R.id.share_wifi_network); mEditConfigurationSwitch = (Switch) mView.findViewById(R.id.edit_wifi_network_configuration); mSharedNetworkLoginScreenWarning = (LinearLayout) mView.findViewById(R.id.shared_network_login_screen_warning); if (com.android.settings.connectivity.Flags.wifiMultiuser()) { int userCount = mUserManager.getUserCount(); Loading Loading @@ -441,6 +444,12 @@ public class WifiConfigController2 implements TextWatcher, mConfigUi.setSubmitButton(res.getString(R.string.wifi_save)); } else if (mMode == WifiConfigUiBase2.MODE_CONNECT) { mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect)); } else if (mMode == WifiConfigUiBase2.MODE_LOGIN_SCREEN) { mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect)); mSharedNetworkLoginScreenWarning.setVisibility(View.VISIBLE); mView.findViewById(R.id.sharing_toggle_fields).setVisibility(View.GONE); mView.findViewById(R.id.edit_wifi_network_configuration_fields) .setVisibility(View.GONE); } else { final String signalLevel = getSignalString(); Loading Loading @@ -627,6 +636,11 @@ public class WifiConfigController2 implements TextWatcher, config.SSID = "\"" + mWifiEntry.getTitle() + "\""; } if (mMode == WifiConfigUiBase2.MODE_LOGIN_SCREEN) { config.shared = true; // TODO: set allowEditConfig once the API is ready. } if (!com.android.settings.connectivity.Flags.wifiMultiuser()) { config.shared = mSharedCheckBox.isChecked(); } Loading src/com/android/settings/wifi/WifiConfigUiBase2.java +6 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,12 @@ public interface WifiConfigUiBase2 { */ int MODE_MODIFY = 2; /** * Connect mode specifically for the login screen. Data is displayed in editable mode partially, * for example: the shared toggle will be hidden at the login screen. */ int MODE_LOGIN_SCREEN = 3; /** * UI like {@link WifiDialog} overrides to provide {@link Context} to controller. */ Loading src/com/android/settings/wifi/WifiDialogActivity.java +13 −1 Original line number Diff line number Diff line Loading @@ -183,10 +183,12 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog createDialogWithSuwTheme(); } else { if (mIsWifiTrackerLib || mUseWifiDialog2ForAddNetwork) { final int mode = isAtLoginScreen() ? WifiConfigUiBase2.MODE_LOGIN_SCREEN : WifiConfigUiBase2.MODE_CONNECT; mDialog2 = new WifiDialog2(this, this, mNetworkDetailsTracker == null ? null : mNetworkDetailsTracker.getWifiEntry(), WifiConfigUiBase2.MODE_CONNECT, 0 /* style */, mode, 0 /* style */, false /* hideSubmitButton */, false /* hideMeteredAndPrivacy */, Utils.SYSTEMUI_PACKAGE_NAME.equals(getLaunchedFromPackage())); } else { Loading Loading @@ -406,6 +408,16 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog } } @VisibleForTesting boolean isAtLoginScreen() { if (!Flags.wifiMultiuser()) { return false; } UserManager userManager = getSystemService(UserManager.class); return userManager != null && userManager.isHeadlessSystemUserMode() && userManager.isSystemUser(); } @VisibleForTesting boolean isConfigWifiAllowed() { UserManager userManager = getSystemService(UserManager.class); Loading Loading
res/layout/wifi_network_config.xml +22 −0 Original line number Diff line number Diff line Loading @@ -412,6 +412,28 @@ android:orientation="vertical" android:visibility="gone"> <LinearLayout android:id="@+id/shared_network_login_screen_warning" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:visibility="gone" style="@style/wifi_item"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_info_outline_24dp" android:tint="?android:attr/textColorTertiary" android:contentDescription="@string/wifi_shared_network_login_screen_warning"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="8dp" android:text="@string/wifi_shared_network_login_screen_warning" style="@style/wifi_item_label"/> </LinearLayout> <LinearLayout android:id="@+id/sharing_toggle_fields" android:layout_width="match_parent" Loading
res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2605,6 +2605,8 @@ <string name="wifi_scan_always_confirm_deny">Deny</string> <!-- Error message displayed below the Wi-Fi EditText when the filed is required. [CHAR LIMIT=NONE] --> <string name="wifi_field_required">*required</string> <!-- Message to inform user, the network can only be configured at a shared network. [CHAR LIMIT=250] --> <string name="wifi_shared_network_login_screen_warning">This is a shared network. You can change this setting once logged in.</string> <!-- Label for the share wifi network toggle. [CHAR LIMIT=250] --> <string name="share_wifi_network">Share this network with other device users</string> <!-- Label for the share wifi network summary. [CHAR LIMIT=NONE] -->
src/com/android/settings/wifi/WifiConfigController2.java +14 −0 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ public class WifiConfigController2 implements TextWatcher, private TextView mDns1View; private TextView mDns2View; private LinearLayout mSharedNetworkLoginScreenWarning; private Switch mSharedSwitch; private Switch mEditConfigurationSwitch; private Spinner mProxySettingsSpinner; Loading Loading @@ -349,6 +350,8 @@ public class WifiConfigController2 implements TextWatcher, mSharedSwitch = (Switch) mView.findViewById(R.id.share_wifi_network); mEditConfigurationSwitch = (Switch) mView.findViewById(R.id.edit_wifi_network_configuration); mSharedNetworkLoginScreenWarning = (LinearLayout) mView.findViewById(R.id.shared_network_login_screen_warning); if (com.android.settings.connectivity.Flags.wifiMultiuser()) { int userCount = mUserManager.getUserCount(); Loading Loading @@ -441,6 +444,12 @@ public class WifiConfigController2 implements TextWatcher, mConfigUi.setSubmitButton(res.getString(R.string.wifi_save)); } else if (mMode == WifiConfigUiBase2.MODE_CONNECT) { mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect)); } else if (mMode == WifiConfigUiBase2.MODE_LOGIN_SCREEN) { mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect)); mSharedNetworkLoginScreenWarning.setVisibility(View.VISIBLE); mView.findViewById(R.id.sharing_toggle_fields).setVisibility(View.GONE); mView.findViewById(R.id.edit_wifi_network_configuration_fields) .setVisibility(View.GONE); } else { final String signalLevel = getSignalString(); Loading Loading @@ -627,6 +636,11 @@ public class WifiConfigController2 implements TextWatcher, config.SSID = "\"" + mWifiEntry.getTitle() + "\""; } if (mMode == WifiConfigUiBase2.MODE_LOGIN_SCREEN) { config.shared = true; // TODO: set allowEditConfig once the API is ready. } if (!com.android.settings.connectivity.Flags.wifiMultiuser()) { config.shared = mSharedCheckBox.isChecked(); } Loading
src/com/android/settings/wifi/WifiConfigUiBase2.java +6 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,12 @@ public interface WifiConfigUiBase2 { */ int MODE_MODIFY = 2; /** * Connect mode specifically for the login screen. Data is displayed in editable mode partially, * for example: the shared toggle will be hidden at the login screen. */ int MODE_LOGIN_SCREEN = 3; /** * UI like {@link WifiDialog} overrides to provide {@link Context} to controller. */ Loading
src/com/android/settings/wifi/WifiDialogActivity.java +13 −1 Original line number Diff line number Diff line Loading @@ -183,10 +183,12 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog createDialogWithSuwTheme(); } else { if (mIsWifiTrackerLib || mUseWifiDialog2ForAddNetwork) { final int mode = isAtLoginScreen() ? WifiConfigUiBase2.MODE_LOGIN_SCREEN : WifiConfigUiBase2.MODE_CONNECT; mDialog2 = new WifiDialog2(this, this, mNetworkDetailsTracker == null ? null : mNetworkDetailsTracker.getWifiEntry(), WifiConfigUiBase2.MODE_CONNECT, 0 /* style */, mode, 0 /* style */, false /* hideSubmitButton */, false /* hideMeteredAndPrivacy */, Utils.SYSTEMUI_PACKAGE_NAME.equals(getLaunchedFromPackage())); } else { Loading Loading @@ -406,6 +408,16 @@ public class WifiDialogActivity extends ObservableActivity implements WifiDialog } } @VisibleForTesting boolean isAtLoginScreen() { if (!Flags.wifiMultiuser()) { return false; } UserManager userManager = getSystemService(UserManager.class); return userManager != null && userManager.isHeadlessSystemUserMode() && userManager.isSystemUser(); } @VisibleForTesting boolean isConfigWifiAllowed() { UserManager userManager = getSystemService(UserManager.class); Loading