fix NPE in switchMap LiveData instances

This commit is contained in:
Vincent Breitmoser 2018-07-02 15:39:05 +02:00
parent 70be2c8ba1
commit 5e3e38a3cc
3 changed files with 7 additions and 7 deletions

View file

@ -137,7 +137,7 @@ public class ViewKeyAdvActivity extends BaseActivity implements OnPageChangeList
if (subKeyLiveData == null) {
KeyRepository keyRepository = KeyRepository.create(context);
subKeyLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> keyRepository.getSubKeysByMasterKeyId(unifiedKeyInfo.master_key_id())));
}
return subKeyLiveData;
@ -147,7 +147,7 @@ public class ViewKeyAdvActivity extends BaseActivity implements OnPageChangeList
if (userIdsLiveData == null) {
KeyRepository keyRepository = KeyRepository.create(context);
userIdsLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> keyRepository.getUserIds(unifiedKeyInfo.master_key_id())));
}
return userIdsLiveData;

View file

@ -292,7 +292,7 @@ public class ViewKeyAdvShareFragment extends Fragment {
unifiedKeyInfoLiveData.observe(this, this::onLoadUnifiedKeyInfo);
LiveData<Bitmap> qrCodeLiveData = Transformations.switchMap(unifiedKeyInfoLiveData,
(unifiedKeyInfo) -> new GenericLiveData<>(getContext(),
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(getContext(),
() -> {
String fingerprintHex = KeyFormattingUtils.convertFingerprintToHex(unifiedKeyInfo.fingerprint());
Uri uri = new Uri.Builder().scheme(Constants.FINGERPRINT_SCHEME).opaquePart(fingerprintHex).build();

View file

@ -31,7 +31,7 @@ public class KeyFragmentViewModel extends ViewModel {
if (identityInfo == null) {
IdentityDao identityDao = IdentityDao.getInstance(context);
identityInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> identityDao.getIdentityInfos(unifiedKeyInfo.master_key_id(), showLinkedIds)));
}
return identityInfo;
@ -41,7 +41,7 @@ public class KeyFragmentViewModel extends ViewModel {
if (subkeyStatus == null) {
SubkeyStatusDao subkeyStatusDao = SubkeyStatusDao.getInstance(context);
subkeyStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> subkeyStatusDao.getSubkeyStatus(unifiedKeyInfo.master_key_id())));
}
return subkeyStatus;
@ -51,7 +51,7 @@ public class KeyFragmentViewModel extends ViewModel {
if (systemContactInfo == null) {
SystemContactDao systemContactDao = SystemContactDao.getInstance(context);
systemContactInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> systemContactDao.getSystemContactInfo(unifiedKeyInfo.master_key_id(),
unifiedKeyInfo.has_any_secret())));
}
@ -62,7 +62,7 @@ public class KeyFragmentViewModel extends ViewModel {
if (keyserverStatus == null) {
KeyMetadataDao keyMetadataDao = KeyMetadataDao.create(context);
keyserverStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
(unifiedKeyInfo) -> new GenericLiveData<>(context,
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
() -> keyMetadataDao.getKeyMetadata(unifiedKeyInfo.master_key_id())));
}
return keyserverStatus;