Fix device administrator "add" logic

Due to a missing "else" the logic to activate a device administrator
was immediately falling through into the logic to remove it.  As a result,
the add was immediately countermanded by a remove.
This commit is contained in:
Andrew Stadler
2010-02-05 01:00:13 -08:00
parent c4e8d7e21a
commit 4df6edb1ac

View File

@@ -140,24 +140,25 @@ public class DeviceAdminAdd extends Activity {
mDPM.setActiveAdmin(mDeviceAdmin.getComponent());
setResult(Activity.RESULT_OK);
finish();
}
mDPM.getRemoveWarning(mDeviceAdmin.getComponent(),
new RemoteCallback(mHandler) {
@Override
protected void onResult(Bundle bundle) {
CharSequence msg = bundle != null
? bundle.getCharSequence(DeviceAdmin.EXTRA_DISABLE_WARNING)
: null;
if (msg == null) {
mDPM.removeActiveAdmin(mDeviceAdmin.getComponent());
finish();
} else {
Bundle args = new Bundle();
args.putCharSequence(DeviceAdmin.EXTRA_DISABLE_WARNING, msg);
showDialog(DIALOG_WARNING, args);
} else {
mDPM.getRemoveWarning(mDeviceAdmin.getComponent(),
new RemoteCallback(mHandler) {
@Override
protected void onResult(Bundle bundle) {
CharSequence msg = bundle != null
? bundle.getCharSequence(DeviceAdmin.EXTRA_DISABLE_WARNING)
: null;
if (msg == null) {
mDPM.removeActiveAdmin(mDeviceAdmin.getComponent());
finish();
} else {
Bundle args = new Bundle();
args.putCharSequence(DeviceAdmin.EXTRA_DISABLE_WARNING, msg);
showDialog(DIALOG_WARNING, args);
}
}
}
});
});
}
}
});
}