Check for DeviceAdminInfo type before casting
Race conditions seem to cause disabled list adapter items to trigger an onListItemClick event. Type of item object needs to be checked therefore. Bug:17187120 Change-Id: I469004081c89c9ba24dfa95872b54648a26213f9
This commit is contained in:
@@ -127,7 +127,12 @@ public class DeviceAdminSettings extends ListFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onListItemClick(ListView l, View v, int position, long id) {
|
public void onListItemClick(ListView l, View v, int position, long id) {
|
||||||
DeviceAdminInfo dpi = (DeviceAdminInfo) l.getAdapter().getItem(position);
|
Object o = l.getAdapter().getItem(position);
|
||||||
|
if (!(o instanceof DeviceAdminInfo)) {
|
||||||
|
// race conditions may cause this
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DeviceAdminInfo dpi = (DeviceAdminInfo) o;
|
||||||
final Activity activity = getActivity();
|
final Activity activity = getActivity();
|
||||||
final int userId = getUserId(dpi);
|
final int userId = getUserId(dpi);
|
||||||
if (userId == UserHandle.myUserId() || !isProfileOwner(dpi)) {
|
if (userId == UserHandle.myUserId() || !isProfileOwner(dpi)) {
|
||||||
|
Reference in New Issue
Block a user