diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvActivity.java index cfd455a4e..71eb650c7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvActivity.java @@ -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; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java index 5150f0dc6..9c80c17d6 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java @@ -292,7 +292,7 @@ public class ViewKeyAdvShareFragment extends Fragment { unifiedKeyInfoLiveData.observe(this, this::onLoadUnifiedKeyInfo); LiveData 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(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/KeyFragmentViewModel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/KeyFragmentViewModel.java index 447d5ff5e..3e3c58466 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/KeyFragmentViewModel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/keyview/KeyFragmentViewModel.java @@ -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;