Loading src/com/android/settings/SettingsActivity.java +5 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.settings.dashboard.SearchResultsSummary; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.DynamicIndexableContentMonitor; import com.android.settings.search2.SearchFeatureProvider; import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.widget.SwitchBar; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.SettingsDrawerActivity; Loading Loading @@ -947,6 +948,10 @@ public class SettingsActivity extends SettingsDrawerActivity FeatureFactory.getFactory(this).getEnterprisePrivacyFeatureProvider(this) .hasDeviceOwner(), isAdmin); setTileEnabled(new ComponentName(packageName, Settings.WifiDisplaySettingsActivity.class.getName()), WifiDisplaySettings.isAvailable(this), isAdmin); if (UserHandle.MU_ENABLED && !isAdmin) { // When on restricted users, disable all extra categories (but only the settings ones). Loading src/com/android/settings/wfd/WifiDisplaySettings.java +33 −28 Original line number Diff line number Diff line Loading @@ -211,6 +211,11 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { return super.onOptionsItemSelected(item); } public static boolean isAvailable(Context context) { return context.getSystemService(Context.DISPLAY_SERVICE) != null && context.getSystemService(Context.WIFI_P2P_SERVICE) != null; } private void scheduleUpdate(int changes) { if (mStarted) { if (mPendingChanges == 0) { Loading tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -18,7 +18,9 @@ package com.android.settings.wfd; import android.app.Activity; import android.content.Context; import android.hardware.display.DisplayManager; import android.media.MediaRouter; import android.net.wifi.p2p.WifiP2pManager; import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; Loading @@ -32,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; Loading Loading @@ -82,4 +85,22 @@ public class WifiDisplaySettingsTest { verify(mActivity).getString(R.string.wifi_display_status_connected); } @Test public void isAvailable_noService_shouldReturnFalse() { assertThat(WifiDisplaySettings.isAvailable(mActivity)) .isFalse(); } @Test public void isAvailable_hasService_shouldReturnTrue() { when(mActivity.getSystemService(Context.DISPLAY_SERVICE)) .thenReturn(mock(DisplayManager.class)); when(mActivity.getSystemService(Context.WIFI_P2P_SERVICE)) .thenReturn(mock(WifiP2pManager.class)); assertThat(WifiDisplaySettings.isAvailable(mActivity)) .isTrue(); } } Loading
src/com/android/settings/SettingsActivity.java +5 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ import com.android.settings.dashboard.SearchResultsSummary; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.DynamicIndexableContentMonitor; import com.android.settings.search2.SearchFeatureProvider; import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.widget.SwitchBar; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.SettingsDrawerActivity; Loading Loading @@ -947,6 +948,10 @@ public class SettingsActivity extends SettingsDrawerActivity FeatureFactory.getFactory(this).getEnterprisePrivacyFeatureProvider(this) .hasDeviceOwner(), isAdmin); setTileEnabled(new ComponentName(packageName, Settings.WifiDisplaySettingsActivity.class.getName()), WifiDisplaySettings.isAvailable(this), isAdmin); if (UserHandle.MU_ENABLED && !isAdmin) { // When on restricted users, disable all extra categories (but only the settings ones). Loading
src/com/android/settings/wfd/WifiDisplaySettings.java +33 −28 Original line number Diff line number Diff line Loading @@ -211,6 +211,11 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { return super.onOptionsItemSelected(item); } public static boolean isAvailable(Context context) { return context.getSystemService(Context.DISPLAY_SERVICE) != null && context.getSystemService(Context.WIFI_P2P_SERVICE) != null; } private void scheduleUpdate(int changes) { if (mStarted) { if (mPendingChanges == 0) { Loading
tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -18,7 +18,9 @@ package com.android.settings.wfd; import android.app.Activity; import android.content.Context; import android.hardware.display.DisplayManager; import android.media.MediaRouter; import android.net.wifi.p2p.WifiP2pManager; import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; Loading @@ -32,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; Loading Loading @@ -82,4 +85,22 @@ public class WifiDisplaySettingsTest { verify(mActivity).getString(R.string.wifi_display_status_connected); } @Test public void isAvailable_noService_shouldReturnFalse() { assertThat(WifiDisplaySettings.isAvailable(mActivity)) .isFalse(); } @Test public void isAvailable_hasService_shouldReturnTrue() { when(mActivity.getSystemService(Context.DISPLAY_SERVICE)) .thenReturn(mock(DisplayManager.class)); when(mActivity.getSystemService(Context.WIFI_P2P_SERVICE)) .thenReturn(mock(WifiP2pManager.class)); assertThat(WifiDisplaySettings.isAvailable(mActivity)) .isTrue(); } }