Use setVisible instead of removePreference everywhere.

Change-Id: I2e8084b23d3cb2c0a31a38c01716fc76236734ea
Fixes: 68956750
Test: robotests
This commit is contained in:
Fan Zhang
2017-11-07 15:00:53 -08:00
parent b5f5ffbece
commit a72620b67b
20 changed files with 239 additions and 271 deletions

View File

@@ -15,6 +15,8 @@
*/
package com.android.settings.deviceinfo;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
@@ -31,8 +33,6 @@ import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
public class SystemUpdatePreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin {
@@ -59,12 +59,11 @@ public class SystemUpdatePreferenceController extends AbstractPreferenceControll
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (isAvailable()) {
Utils.updatePreferenceToSpecificActivityOrRemove(mContext, screen,
KEY_SYSTEM_UPDATE_SETTINGS,
Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
} else {
removePreference(screen, KEY_SYSTEM_UPDATE_SETTINGS);
}
}

View File

@@ -13,6 +13,8 @@
*/
package com.android.settings.display;
import static android.content.Context.UI_MODE_SERVICE;
import android.app.UiModeManager;
import android.content.Context;
import android.support.v7.preference.ListPreference;
@@ -23,8 +25,6 @@ import android.util.Log;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.UI_MODE_SERVICE;
public class NightModePreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
@@ -48,7 +48,7 @@ public class NightModePreferenceController extends AbstractPreferenceController
@Override
public void displayPreference(PreferenceScreen screen) {
if (!isAvailable()) {
removePreference(screen, KEY_NIGHT_MODE);
setVisible(screen, KEY_NIGHT_MODE, false /* visible */);
return;
}
ListPreference mNightModePreference = (ListPreference) screen.findPreference(

View File

@@ -81,7 +81,7 @@ public class AirplaneModePreferenceController extends AbstractPreferenceControll
mMetricsFeatureProvider);
}
} else {
removePreference(screen, getPreferenceKey());
setVisible(screen, getPreferenceKey(), false /* visible */);
}
}
@@ -91,7 +91,7 @@ public class AirplaneModePreferenceController extends AbstractPreferenceControll
}
public static boolean isAvailable(Context context) {
return !context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION);
return !context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK);
}
@Override

View File

@@ -26,9 +26,9 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -55,8 +55,8 @@ public class NfcPreferenceController extends AbstractPreferenceController
@Override
public void displayPreference(PreferenceScreen screen) {
if (!isAvailable()) {
removePreference(screen, KEY_TOGGLE_NFC);
removePreference(screen, KEY_ANDROID_BEAM_SETTINGS);
setVisible(screen, KEY_TOGGLE_NFC, false /* visible */);
setVisible(screen, KEY_ANDROID_BEAM_SETTINGS, false /* visible */);
mNfcEnabler = null;
return;
}

View File

@@ -98,8 +98,8 @@ public class LockScreenNotificationPreferenceController extends AbstractPreferen
mLockscreenProfile = (RestrictedDropDownPreference) screen.findPreference(
mWorkSettingKey);
} else {
removePreference(screen, mWorkSettingKey);
removePreference(screen, mWorkSettingCategoryKey);
setVisible(screen, mWorkSettingKey, false /* visible */);
setVisible(screen, mWorkSettingCategoryKey, false /* visible */);
}
mSettingObserver = new SettingObserver();
initLockScreenNotificationPrefDisplay();