Home default setting should not shown in managed profile settings

Each default preference needs to have its corresponding
PreferenceAvailabilityProvider to provide us the availability of it.
If no corresponding provider is found, it is considered to be not
available. So it encourages other developers who will add new default app
preference later to consider the availability of it.

Bug:27143673
Change-Id: I073b7122dddc579504f397c5de2bdd4df3826269
This commit is contained in:
Tony Mak
2016-02-17 17:08:02 +00:00
parent 6b00d3fe40
commit 0e19d2420b
9 changed files with 171 additions and 68 deletions

View File

@@ -28,6 +28,7 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.PreferenceAvailabilityProvider;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
@@ -179,7 +180,10 @@ public class ManageAssist extends SettingsPreferenceFragment
updateUi();
}
public static boolean isAvailable(Context context) {
return !Utils.isManagedProfile(UserManager.get(context));
public static class AvailabilityProvider implements PreferenceAvailabilityProvider {
@Override
public boolean isAvailable(Context context) {
return !Utils.isManagedProfile(UserManager.get(context));
}
}
}