Merge "Fix logging spam in DashboardFragment."

This commit is contained in:
TreeHugger Robot
2016-10-26 01:46:26 +00:00
committed by Android (Google) Code Review
32 changed files with 58 additions and 40 deletions

View File

@@ -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 * Handles preference tree click
* *
@@ -87,9 +92,4 @@ public abstract class PreferenceController {
screen.removePreference(pref); screen.removePreference(pref);
} }
} }
/**
* Returns true if preference is available (should be displayed)
*/
protected abstract boolean isAvailable();
} }

View File

@@ -251,11 +251,15 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
Collection<PreferenceController> controllers = mPreferenceControllers.values(); Collection<PreferenceController> controllers = mPreferenceControllers.values();
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
for (PreferenceController controller : controllers) { for (PreferenceController controller : controllers) {
if (!controller.isAvailable()) {
continue;
}
final String key = controller.getPreferenceKey(); final String key = controller.getPreferenceKey();
final Preference preference = mProgressiveDisclosureMixin.findPreference(screen, key); final Preference preference = mProgressiveDisclosureMixin.findPreference(screen, key);
if (preference == null) { 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; continue;
} }
controller.updateState(preference); controller.updateState(preference);

View File

@@ -34,7 +34,7 @@ public class AdditionalSystemUpdatePreferenceController extends PreferenceContro
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean( return mContext.getResources().getBoolean(
com.android.settings.R.bool.config_additional_system_update_setting_enable); com.android.settings.R.bool.config_additional_system_update_setting_enable);
} }

View File

@@ -17,13 +17,10 @@ package com.android.settings.deviceinfo;
import android.content.Context; import android.content.Context;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.PreferenceController; import com.android.settings.core.PreferenceController;
import java.util.List;
public class ManageStoragePreferenceController extends PreferenceController { public class ManageStoragePreferenceController extends PreferenceController {
public static final String KEY_MANAGE_STORAGE = "pref_manage_storage"; public static final String KEY_MANAGE_STORAGE = "pref_manage_storage";
@@ -43,7 +40,7 @@ public class ManageStoragePreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean(R.bool.config_storage_manager_settings_enabled); return mContext.getResources().getBoolean(R.bool.config_storage_manager_settings_enabled);
} }
} }

View File

@@ -46,7 +46,7 @@ public class SystemUpdatePreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mUm.isAdminUser(); return mUm.isAdminUser();
} }

View File

@@ -35,7 +35,7 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean( return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available); com.android.internal.R.bool.config_automatic_brightness_available);
} }

View File

@@ -73,7 +73,7 @@ public class AutoRotatePreferenceController extends PreferenceController impleme
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return RotationPolicy.isRotationLockToggleVisible(mContext); return RotationPolicy.isRotationLockToggleVisible(mContext);
} }

View File

@@ -50,7 +50,7 @@ public class CameraGesturePreferenceController extends PreferenceController impl
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
boolean configSet = mContext.getResources().getInteger( boolean configSet = mContext.getResources().getInteger(
com.android.internal.R.integer.config_cameraLaunchGestureSensorType) != -1; com.android.internal.R.integer.config_cameraLaunchGestureSensorType) != -1;
return configSet return configSet

View File

@@ -67,7 +67,7 @@ public class DozePreferenceController extends PreferenceController implements
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
String name = Build.IS_DEBUGGABLE ? SystemProperties.get("debug.doze.component") : null; String name = Build.IS_DEBUGGABLE ? SystemProperties.get("debug.doze.component") : null;
if (TextUtils.isEmpty(name)) { if (TextUtils.isEmpty(name)) {
name = mContext.getResources().getString( name = mContext.getResources().getString(

View File

@@ -31,7 +31,7 @@ public class FontSizePreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return true; return true;
} }

View File

@@ -34,7 +34,7 @@ public class LiftToWakePreferenceController extends PreferenceController impleme
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
SensorManager sensors = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE); SensorManager sensors = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
return sensors != null && sensors.getDefaultSensor(Sensor.TYPE_WAKE_GESTURE) != null; return sensors != null && sensors.getDefaultSensor(Sensor.TYPE_WAKE_GESTURE) != null;
} }

View File

@@ -33,7 +33,7 @@ public class NightDisplayPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return NightDisplayController.isAvailable(mContext); return NightDisplayController.isAvailable(mContext);
} }

View File

@@ -35,7 +35,7 @@ public class NightModePreferenceController extends PreferenceController
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return false; return false;
} }

View File

@@ -28,7 +28,7 @@ public class ScreenSaverPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean( return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsSupported); com.android.internal.R.bool.config_dreamsSupported);
} }

View File

@@ -35,7 +35,7 @@ public class TapToWakePreferenceController extends PreferenceController implemen
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean( return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_supportDoubleTapWake); com.android.internal.R.bool.config_supportDoubleTapWake);
} }

View File

@@ -42,7 +42,7 @@ public class TimeoutPreferenceController extends PreferenceController implements
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return true; return true;
} }

View File

@@ -35,7 +35,7 @@ public class VrDisplayPreferenceController extends PreferenceController implemen
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
final PackageManager pm = mContext.getPackageManager(); final PackageManager pm = mContext.getPackageManager();
return pm.hasSystemFeature(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE); return pm.hasSystemFeature(PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE);
} }

View File

@@ -32,7 +32,7 @@ public class WallpaperPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return true; return true;
} }

View File

@@ -51,7 +51,7 @@ public class SwipeToNotificationPreferenceController extends PreferenceControlle
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources().getBoolean( return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_supportSystemNavigationKeys); com.android.internal.R.bool.config_supportSystemNavigationKeys);
} }

View File

@@ -87,7 +87,7 @@ public class AirplaneModePreferenceController extends PreferenceController
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return !mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEVISION); return !mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEVISION);
} }

View File

@@ -45,7 +45,7 @@ public class MobileNetworkPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return !mIsSecondaryUser return !mIsSecondaryUser
&& !Utils.isWifiOnly(mContext) && !Utils.isWifiOnly(mContext)
&& !hasBaseUserRestriction(mContext, DISALLOW_CONFIG_MOBILE_NETWORKS, myUserId()); && !hasBaseUserRestriction(mContext, DISALLOW_CONFIG_MOBILE_NETWORKS, myUserId());

View File

@@ -111,7 +111,7 @@ public class MobilePlanPreferenceController extends PreferenceController impleme
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
final boolean isPrefAllowedOnDevice = mContext.getResources().getBoolean( final boolean isPrefAllowedOnDevice = mContext.getResources().getBoolean(
com.android.settings.R.bool.config_show_mobile_plan); com.android.settings.R.bool.config_show_mobile_plan);
final boolean isPrefAllowedForUser = !mIsSecondaryUser final boolean isPrefAllowedForUser = !mIsSecondaryUser

View File

@@ -37,7 +37,7 @@ public class NetworkResetPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return !RestrictedLockUtils.hasBaseUserRestriction(mContext, return !RestrictedLockUtils.hasBaseUserRestriction(mContext,
UserManager.DISALLOW_NETWORK_RESET, UserHandle.myUserId()); UserManager.DISALLOW_NETWORK_RESET, UserHandle.myUserId());
} }

View File

@@ -36,7 +36,7 @@ public class ProxyPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
// proxy UI disabled until we have better app support // proxy UI disabled until we have better app support
return false; return false;
} }

View File

@@ -67,7 +67,7 @@ public class TetherPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
final boolean isBlocked = final boolean isBlocked =
(!mConnectivityManager.isTetheringSupported() && !mAdminDisallowedTetherConfig) (!mConnectivityManager.isTetheringSupported() && !mAdminDisallowedTetherConfig)
|| hasBaseUserRestriction(mContext, DISALLOW_CONFIG_TETHERING, || hasBaseUserRestriction(mContext, DISALLOW_CONFIG_TETHERING,

View File

@@ -58,7 +58,7 @@ public class VpnPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
// TODO: http://b/23693383 // TODO: http://b/23693383
return mIsSecondaryUser || RestrictedLockUtils.hasBaseUserRestriction(mContext, return mIsSecondaryUser || RestrictedLockUtils.hasBaseUserRestriction(mContext,
UserManager.DISALLOW_CONFIG_VPN, UserHandle.myUserId()); UserManager.DISALLOW_CONFIG_VPN, UserHandle.myUserId());

View File

@@ -50,7 +50,7 @@ public class WifiCallingPreferenceController extends PreferenceController {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return ImsManager.isWfcEnabledByPlatform(mContext) return ImsManager.isWfcEnabledByPlatform(mContext)
&& ImsManager.isWfcProvisionedOnDevice(mContext); && ImsManager.isWfcProvisionedOnDevice(mContext);
} }

View File

@@ -101,7 +101,7 @@ public class NfcPreferenceController extends PreferenceController
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mNfcAdapter != null; return mNfcAdapter != null;
} }

View File

@@ -190,7 +190,7 @@ public class LockScreenNotificationPreferenceController extends PreferenceContro
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return false; return false;
} }

View File

@@ -79,7 +79,7 @@ public class PulseNotificationPreferenceController extends PreferenceController
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return mContext.getResources() return mContext.getResources()
.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed); .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
} }

View File

@@ -102,7 +102,7 @@ public class PreferenceControllerTest {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return isAvailable; return isAvailable;
} }

View File

@@ -158,6 +158,21 @@ public class DashboardFragmentTest {
assertThat(preference.getOrder()).isEqualTo(-tile.priority); 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 static class TestPreferenceController extends PreferenceController {
public TestPreferenceController(Context context) { public TestPreferenceController(Context context) {
@@ -170,7 +185,7 @@ public class DashboardFragmentTest {
} }
@Override @Override
protected boolean isAvailable() { public boolean isAvailable() {
return false; return false;
} }
@@ -189,10 +204,12 @@ public class DashboardFragmentTest {
private final Context mContext; private final Context mContext;
public PreferenceScreen mScreen; public PreferenceScreen mScreen;
private List<PreferenceController> mControllers;
public TestFragment(Context context) { public TestFragment(Context context) {
mContext = context; mContext = context;
mScreen = mock(PreferenceScreen.class); mScreen = mock(PreferenceScreen.class);
mControllers = new ArrayList<>();
} }
@Override @Override
@@ -227,7 +244,7 @@ public class DashboardFragmentTest {
@Override @Override
protected List<PreferenceController> getPreferenceControllers(Context context) { protected List<PreferenceController> getPreferenceControllers(Context context) {
return null; return mControllers;
} }
} }