diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java index dd160061939..94033165c1d 100644 --- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java @@ -92,6 +92,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle private PreferenceGroup mPreferenceGroup; private FooterPreference mFooterPreference; + private boolean mFirstLaunch = true; static { FILTER.addAction(ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED); @@ -120,6 +121,17 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle updateList(); } + @Override + public void updateState(Preference preference) { + super.updateState(preference); + if (mFirstLaunch) { + mFirstLaunch = false; + // When first launch, updateList() is already be called in displayPreference(). + } else { + updateList(); + } + } + @Override public void onStart() { mContext.registerReceiverAsUser(