Merge "Fix logging spam in DashboardFragment."
This commit is contained in:
committed by
Android (Google) Code Review
commit
d847d424b4
@@ -65,6 +65,11 @@ public abstract class PreferenceController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if preference is available (should be displayed)
|
||||
*/
|
||||
public abstract boolean isAvailable();
|
||||
|
||||
/**
|
||||
* Handles preference tree click
|
||||
*
|
||||
@@ -87,9 +92,4 @@ public abstract class PreferenceController {
|
||||
screen.removePreference(pref);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if preference is available (should be displayed)
|
||||
*/
|
||||
protected abstract boolean isAvailable();
|
||||
}
|
||||
|
@@ -251,11 +251,15 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
Collection<PreferenceController> controllers = mPreferenceControllers.values();
|
||||
final PreferenceScreen screen = getPreferenceScreen();
|
||||
for (PreferenceController controller : controllers) {
|
||||
if (!controller.isAvailable()) {
|
||||
continue;
|
||||
}
|
||||
final String key = controller.getPreferenceKey();
|
||||
|
||||
final Preference preference = mProgressiveDisclosureMixin.findPreference(screen, key);
|
||||
if (preference == null) {
|
||||
Log.d(TAG, "Cannot find preference with key " + key);
|
||||
Log.d(TAG, String.format("Cannot find preference with key %s in Controller %s",
|
||||
key, controller.getClass().getSimpleName()));
|
||||
continue;
|
||||
}
|
||||
controller.updateState(preference);
|
||||
|
@@ -34,7 +34,7 @@ public class AdditionalSystemUpdatePreferenceController extends PreferenceContro
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.settings.R.bool.config_additional_system_update_setting_enable);
|
||||
}
|
||||
|
@@ -17,13 +17,10 @@ package com.android.settings.deviceinfo;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ManageStoragePreferenceController extends PreferenceController {
|
||||
|
||||
public static final String KEY_MANAGE_STORAGE = "pref_manage_storage";
|
||||
@@ -43,7 +40,7 @@ public class ManageStoragePreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(R.bool.config_storage_manager_settings_enabled);
|
||||
}
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@ public class SystemUpdatePreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mUm.isAdminUser();
|
||||
}
|
||||
|
||||
|
@@ -35,7 +35,7 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_automatic_brightness_available);
|
||||
}
|
||||
|
@@ -73,7 +73,7 @@ public class AutoRotatePreferenceController extends PreferenceController impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return RotationPolicy.isRotationLockToggleVisible(mContext);
|
||||
}
|
||||
|
||||
|
@@ -50,7 +50,7 @@ public class CameraGesturePreferenceController extends PreferenceController impl
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
boolean configSet = mContext.getResources().getInteger(
|
||||
com.android.internal.R.integer.config_cameraLaunchGestureSensorType) != -1;
|
||||
return configSet
|
||||
|
@@ -67,7 +67,7 @@ public class DozePreferenceController extends PreferenceController implements
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
String name = Build.IS_DEBUGGABLE ? SystemProperties.get("debug.doze.component") : null;
|
||||
if (TextUtils.isEmpty(name)) {
|
||||
name = mContext.getResources().getString(
|
||||
|
@@ -31,7 +31,7 @@ public class FontSizePreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -34,7 +34,7 @@ public class LiftToWakePreferenceController extends PreferenceController impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
SensorManager sensors = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
|
||||
return sensors != null && sensors.getDefaultSensor(Sensor.TYPE_WAKE_GESTURE) != null;
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@ public class NightDisplayPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return NightDisplayController.isAvailable(mContext);
|
||||
}
|
||||
|
||||
|
@@ -35,7 +35,7 @@ public class NightModePreferenceController extends PreferenceController
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -28,7 +28,7 @@ public class ScreenSaverPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_dreamsSupported);
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ public class TapToWakePreferenceController extends PreferenceController implemen
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_supportDoubleTapWake);
|
||||
}
|
||||
|
@@ -42,7 +42,7 @@ public class TimeoutPreferenceController extends PreferenceController implements
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -35,7 +35,7 @@ public class VrDisplayPreferenceController extends PreferenceController implemen
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
final PackageManager pm = mContext.getPackageManager();
|
||||
return pm.hasSystemFeature(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE);
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ public class WallpaperPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -51,7 +51,7 @@ public class SwipeToNotificationPreferenceController extends PreferenceControlle
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_supportSystemNavigationKeys);
|
||||
}
|
||||
|
@@ -87,7 +87,7 @@ public class AirplaneModePreferenceController extends PreferenceController
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return !mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEVISION);
|
||||
}
|
||||
|
||||
|
@@ -45,7 +45,7 @@ public class MobileNetworkPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return !mIsSecondaryUser
|
||||
&& !Utils.isWifiOnly(mContext)
|
||||
&& !hasBaseUserRestriction(mContext, DISALLOW_CONFIG_MOBILE_NETWORKS, myUserId());
|
||||
|
@@ -111,7 +111,7 @@ public class MobilePlanPreferenceController extends PreferenceController impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
final boolean isPrefAllowedOnDevice = mContext.getResources().getBoolean(
|
||||
com.android.settings.R.bool.config_show_mobile_plan);
|
||||
final boolean isPrefAllowedForUser = !mIsSecondaryUser
|
||||
|
@@ -37,7 +37,7 @@ public class NetworkResetPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return !RestrictedLockUtils.hasBaseUserRestriction(mContext,
|
||||
UserManager.DISALLOW_NETWORK_RESET, UserHandle.myUserId());
|
||||
}
|
||||
|
@@ -36,7 +36,7 @@ public class ProxyPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
// proxy UI disabled until we have better app support
|
||||
return false;
|
||||
}
|
||||
|
@@ -67,7 +67,7 @@ public class TetherPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
final boolean isBlocked =
|
||||
(!mConnectivityManager.isTetheringSupported() && !mAdminDisallowedTetherConfig)
|
||||
|| hasBaseUserRestriction(mContext, DISALLOW_CONFIG_TETHERING,
|
||||
|
@@ -58,7 +58,7 @@ public class VpnPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
// TODO: http://b/23693383
|
||||
return mIsSecondaryUser || RestrictedLockUtils.hasBaseUserRestriction(mContext,
|
||||
UserManager.DISALLOW_CONFIG_VPN, UserHandle.myUserId());
|
||||
|
@@ -50,7 +50,7 @@ public class WifiCallingPreferenceController extends PreferenceController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return ImsManager.isWfcEnabledByPlatform(mContext)
|
||||
&& ImsManager.isWfcProvisionedOnDevice(mContext);
|
||||
}
|
||||
|
@@ -101,7 +101,7 @@ public class NfcPreferenceController extends PreferenceController
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mNfcAdapter != null;
|
||||
}
|
||||
|
||||
|
@@ -190,7 +190,7 @@ public class LockScreenNotificationPreferenceController extends PreferenceContro
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -79,7 +79,7 @@ public class PulseNotificationPreferenceController extends PreferenceController
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return mContext.getResources()
|
||||
.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
|
||||
}
|
||||
|
@@ -102,7 +102,7 @@ public class PreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return isAvailable;
|
||||
}
|
||||
|
||||
|
@@ -158,6 +158,21 @@ public class DashboardFragmentTest {
|
||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_skipUnavailablePrefs() {
|
||||
List<PreferenceController> preferenceControllers = mTestFragment.mControllers;
|
||||
preferenceControllers.add(mock(PreferenceController.class));
|
||||
preferenceControllers.add(mock(PreferenceController.class));
|
||||
when(preferenceControllers.get(0).isAvailable()).thenReturn(false);
|
||||
when(preferenceControllers.get(1).isAvailable()).thenReturn(true);
|
||||
|
||||
mTestFragment.onAttach(ShadowApplication.getInstance().getApplicationContext());
|
||||
mTestFragment.onResume();
|
||||
|
||||
verify(mTestFragment.mControllers.get(0), never()).getPreferenceKey();
|
||||
verify(mTestFragment.mControllers.get(1)).getPreferenceKey();
|
||||
}
|
||||
|
||||
public static class TestPreferenceController extends PreferenceController {
|
||||
|
||||
public TestPreferenceController(Context context) {
|
||||
@@ -170,7 +185,7 @@ public class DashboardFragmentTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isAvailable() {
|
||||
public boolean isAvailable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -189,10 +204,12 @@ public class DashboardFragmentTest {
|
||||
|
||||
private final Context mContext;
|
||||
public PreferenceScreen mScreen;
|
||||
private List<PreferenceController> mControllers;
|
||||
|
||||
public TestFragment(Context context) {
|
||||
mContext = context;
|
||||
mScreen = mock(PreferenceScreen.class);
|
||||
mControllers = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -227,7 +244,7 @@ public class DashboardFragmentTest {
|
||||
|
||||
@Override
|
||||
protected List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
return null;
|
||||
return mControllers;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user