Snap for 9238644 from b0f38d29d2 to tm-qpr2-release

Change-Id: Idf21da3c876559cf82997e9d4427a2154167951b
This commit is contained in:
Android Build Coastguard Worker
2022-10-31 23:29:49 +00:00
7 changed files with 64 additions and 5 deletions

View File

@@ -1744,6 +1744,8 @@
</intent-filter> </intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS" <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.security.SecurityAdvancedSettings" /> android:value="com.android.settings.security.SecurityAdvancedSettings" />
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
android:value="@string/menu_key_security"/>
</activity> </activity>
<activity android:name="MonitoringCertInfoActivity" <activity android:name="MonitoringCertInfoActivity"

View File

@@ -20,6 +20,7 @@ import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
import static android.net.ConnectivityManager.TETHERING_USB; import static android.net.ConnectivityManager.TETHERING_USB;
import static android.net.TetheringManager.TETHERING_ETHERNET; import static android.net.TetheringManager.TETHERING_ETHERNET;
import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled; import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled;
import android.app.Activity; import android.app.Activity;
@@ -589,6 +590,9 @@ public class TetherSettings extends RestrictedSettingsFragment
if (!TetherUtil.isTetherAvailable(context)) { if (!TetherUtil.isTetherAvailable(context)) {
keys.add(KEY_TETHER_PREFS_SCREEN); keys.add(KEY_TETHER_PREFS_SCREEN);
}
if (!canShowWifiHotspot(context) || !TetherUtil.isTetherAvailable(context)) {
keys.add(KEY_WIFI_TETHER); keys.add(KEY_WIFI_TETHER);
} }

View File

@@ -153,8 +153,11 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment
controlUri = null; controlUri = null;
} }
} }
use(SlicePreferenceController.class).setSliceUri(sliceEnabled ? controlUri : null); final SlicePreferenceController slicePreferenceController = use(
use(SlicePreferenceController.class).onStart(); SlicePreferenceController.class);
slicePreferenceController.setSliceUri(sliceEnabled ? controlUri : null);
slicePreferenceController.onStart();
slicePreferenceController.displayPreference(getPreferenceScreen());
} }
private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener = private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =

View File

@@ -65,6 +65,7 @@ import com.android.settings.core.CategoryMixin;
import com.android.settings.core.FeatureFlags; import com.android.settings.core.FeatureFlags;
import com.android.settings.homepage.contextualcards.ContextualCardsFragment; import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin; import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
@@ -479,12 +480,28 @@ public class SettingsHomepageActivity extends FragmentActivity implements
final String menuKey = intent.getStringExtra( final String menuKey = intent.getStringExtra(
EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY); EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
if (!TextUtils.isEmpty(menuKey)) { if (!TextUtils.isEmpty(menuKey)) {
return menuKey; return maybeRemapMenuKey(menuKey);
} }
} }
return getString(DEFAULT_HIGHLIGHT_MENU_KEY); return getString(DEFAULT_HIGHLIGHT_MENU_KEY);
} }
private String maybeRemapMenuKey(String menuKey) {
boolean isPrivacyOrSecurityMenuKey =
getString(R.string.menu_key_privacy).equals(menuKey)
|| getString(R.string.menu_key_security).equals(menuKey);
boolean isSafetyCenterMenuKey = getString(R.string.menu_key_safety_center).equals(menuKey);
if (isPrivacyOrSecurityMenuKey && SafetyCenterManagerWrapper.get().isEnabled(this)) {
return getString(R.string.menu_key_safety_center);
}
if (isSafetyCenterMenuKey && !SafetyCenterManagerWrapper.get().isEnabled(this)) {
// We don't know if security or privacy, default to security as it is above.
return getString(R.string.menu_key_security);
}
return menuKey;
}
private void reloadHighlightMenuKey() { private void reloadHighlightMenuKey() {
mMainFragment.getArguments().putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, mMainFragment.getArguments().putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY,
getHighlightMenuKey()); getHighlightMenuKey());

View File

@@ -41,6 +41,7 @@ import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment; import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SettingsMainSwitchBar; import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settings.wifi.WifiUtils;
import com.android.settingslib.TetherUtil; import com.android.settingslib.TetherUtil;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
@@ -292,12 +293,12 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
@Override @Override
protected boolean isPageSearchEnabled(Context context) { protected boolean isPageSearchEnabled(Context context) {
if (context == null || !WifiUtils.canShowWifiHotspot(context)) return false;
return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE); return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
} }
@Override @Override
public List<AbstractPreferenceController> createPreferenceControllers( public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
Context context) {
return buildPreferenceControllers(context, null /* listener */); return buildPreferenceControllers(context, null /* listener */);
} }
} }

View File

@@ -20,6 +20,8 @@ import static android.content.Intent.ACTION_MEDIA_SHARED;
import static android.content.Intent.ACTION_MEDIA_UNSHARED; import static android.content.Intent.ACTION_MEDIA_UNSHARED;
import static android.hardware.usb.UsbManager.ACTION_USB_STATE; import static android.hardware.usb.UsbManager.ACTION_USB_STATE;
import static com.android.settings.wifi.WifiUtils.setCanShowWifiHotspotCached;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
@@ -93,6 +95,7 @@ public class TetherSettingsTest {
any(String.class), anyInt(), any(UserHandle.class)); any(String.class), anyInt(), any(UserHandle.class));
setupIsTetherAvailable(true); setupIsTetherAvailable(true);
setCanShowWifiHotspotCached(true);
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]); when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]); when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
@@ -123,6 +126,16 @@ public class TetherSettingsTest {
assertThat(niks).contains(TetherSettings.KEY_WIFI_TETHER); assertThat(niks).contains(TetherSettings.KEY_WIFI_TETHER);
} }
@Test
public void getNonIndexableKeys_canNotShowWifiHotspot_containsWifiTether() {
setCanShowWifiHotspotCached(false);
setupIsTetherAvailable(true);
List<String> keys = TetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
assertThat(keys).contains(TetherSettings.KEY_WIFI_TETHER);
}
@Test @Test
public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() { public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() {
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]); when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);

View File

@@ -37,6 +37,7 @@ import android.net.TetheringManager;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserManager; import android.os.UserManager;
import android.util.FeatureFlagUtils;
import android.widget.TextView; import android.widget.TextView;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@@ -44,6 +45,7 @@ import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment; import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowFragment;
@@ -93,6 +95,7 @@ public class WifiTetherSettingsTest {
@Before @Before
public void setUp() { public void setUp() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
setCanShowWifiHotspotCached(true); setCanShowWifiHotspotCached(true);
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class); doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
doReturn(mConnectivityManager) doReturn(mConnectivityManager)
@@ -218,6 +221,22 @@ public class WifiTetherSettingsTest {
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY); assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
} }
@Test
public void isPageSearchEnabled_canShowWifiHotspot_returnTrue() {
setCanShowWifiHotspotCached(true);
assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
.isTrue();
}
@Test
public void isPageSearchEnabled_canNotShowWifiHotspot_returnFalse() {
setCanShowWifiHotspotCached(false);
assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
.isFalse();
}
private void spyWifiTetherSettings() { private void spyWifiTetherSettings() {
mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction)); mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
final FragmentActivity activity = mock(FragmentActivity.class); final FragmentActivity activity = mock(FragmentActivity.class);