Merge "Fix flicker for Device admin apps." into tm-dev

This commit is contained in:
Chaohui Wang
2022-03-21 12:49:45 +00:00
committed by Android (Google) Code Review

View File

@@ -37,7 +37,6 @@ import android.os.UserManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.util.Log; import android.util.Log;
import android.util.SparseArray;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -79,7 +78,6 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
* user. * user.
*/ */
private final ArrayList<DeviceAdminListItem> mAdmins = new ArrayList<>(); private final ArrayList<DeviceAdminListItem> mAdmins = new ArrayList<>();
private final SparseArray<ComponentName> mProfileOwnerComponents = new SparseArray<>();
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override @Override
@@ -118,6 +116,8 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
super.displayPreference(screen); super.displayPreference(screen);
mPreferenceGroup = screen.findPreference(getPreferenceKey()); mPreferenceGroup = screen.findPreference(getPreferenceKey());
mFooterPreference = mPreferenceGroup.findPreference(KEY_DEVICE_ADMIN_FOOTER); mFooterPreference = mPreferenceGroup.findPreference(KEY_DEVICE_ADMIN_FOOTER);
updateList();
} }
@Override @Override
@@ -127,19 +127,6 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
null /* broadcastPermission */, null /* scheduler */); null /* broadcastPermission */, null /* scheduler */);
} }
@Override
public void updateState(Preference preference) {
super.updateState(preference);
mProfileOwnerComponents.clear();
final List<UserHandle> profiles = mUm.getUserProfiles();
final int profilesSize = profiles.size();
for (int i = 0; i < profilesSize; ++i) {
final int profileId = profiles.get(i).getIdentifier();
mProfileOwnerComponents.put(profileId, mDPM.getProfileOwnerAsUser(profileId));
}
updateList();
}
@Override @Override
public void onStop() { public void onStop() {
mContext.unregisterReceiver(mBroadcastReceiver); mContext.unregisterReceiver(mBroadcastReceiver);