fix NPE in switchMap LiveData instances
This commit is contained in:
@@ -137,7 +137,7 @@ public class ViewKeyAdvActivity extends BaseActivity implements OnPageChangeList
|
|||||||
if (subKeyLiveData == null) {
|
if (subKeyLiveData == null) {
|
||||||
KeyRepository keyRepository = KeyRepository.create(context);
|
KeyRepository keyRepository = KeyRepository.create(context);
|
||||||
subKeyLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
|
subKeyLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> keyRepository.getSubKeysByMasterKeyId(unifiedKeyInfo.master_key_id())));
|
() -> keyRepository.getSubKeysByMasterKeyId(unifiedKeyInfo.master_key_id())));
|
||||||
}
|
}
|
||||||
return subKeyLiveData;
|
return subKeyLiveData;
|
||||||
@@ -147,7 +147,7 @@ public class ViewKeyAdvActivity extends BaseActivity implements OnPageChangeList
|
|||||||
if (userIdsLiveData == null) {
|
if (userIdsLiveData == null) {
|
||||||
KeyRepository keyRepository = KeyRepository.create(context);
|
KeyRepository keyRepository = KeyRepository.create(context);
|
||||||
userIdsLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
|
userIdsLiveData = Transformations.switchMap(getUnifiedKeyInfoLiveData(context),
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> keyRepository.getUserIds(unifiedKeyInfo.master_key_id())));
|
() -> keyRepository.getUserIds(unifiedKeyInfo.master_key_id())));
|
||||||
}
|
}
|
||||||
return userIdsLiveData;
|
return userIdsLiveData;
|
||||||
|
|||||||
@@ -292,7 +292,7 @@ public class ViewKeyAdvShareFragment extends Fragment {
|
|||||||
unifiedKeyInfoLiveData.observe(this, this::onLoadUnifiedKeyInfo);
|
unifiedKeyInfoLiveData.observe(this, this::onLoadUnifiedKeyInfo);
|
||||||
|
|
||||||
LiveData<Bitmap> qrCodeLiveData = Transformations.switchMap(unifiedKeyInfoLiveData,
|
LiveData<Bitmap> qrCodeLiveData = Transformations.switchMap(unifiedKeyInfoLiveData,
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(getContext(),
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(getContext(),
|
||||||
() -> {
|
() -> {
|
||||||
String fingerprintHex = KeyFormattingUtils.convertFingerprintToHex(unifiedKeyInfo.fingerprint());
|
String fingerprintHex = KeyFormattingUtils.convertFingerprintToHex(unifiedKeyInfo.fingerprint());
|
||||||
Uri uri = new Uri.Builder().scheme(Constants.FINGERPRINT_SCHEME).opaquePart(fingerprintHex).build();
|
Uri uri = new Uri.Builder().scheme(Constants.FINGERPRINT_SCHEME).opaquePart(fingerprintHex).build();
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class KeyFragmentViewModel extends ViewModel {
|
|||||||
if (identityInfo == null) {
|
if (identityInfo == null) {
|
||||||
IdentityDao identityDao = IdentityDao.getInstance(context);
|
IdentityDao identityDao = IdentityDao.getInstance(context);
|
||||||
identityInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
|
identityInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> identityDao.getIdentityInfos(unifiedKeyInfo.master_key_id(), showLinkedIds)));
|
() -> identityDao.getIdentityInfos(unifiedKeyInfo.master_key_id(), showLinkedIds)));
|
||||||
}
|
}
|
||||||
return identityInfo;
|
return identityInfo;
|
||||||
@@ -41,7 +41,7 @@ public class KeyFragmentViewModel extends ViewModel {
|
|||||||
if (subkeyStatus == null) {
|
if (subkeyStatus == null) {
|
||||||
SubkeyStatusDao subkeyStatusDao = SubkeyStatusDao.getInstance(context);
|
SubkeyStatusDao subkeyStatusDao = SubkeyStatusDao.getInstance(context);
|
||||||
subkeyStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
|
subkeyStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> subkeyStatusDao.getSubkeyStatus(unifiedKeyInfo.master_key_id())));
|
() -> subkeyStatusDao.getSubkeyStatus(unifiedKeyInfo.master_key_id())));
|
||||||
}
|
}
|
||||||
return subkeyStatus;
|
return subkeyStatus;
|
||||||
@@ -51,7 +51,7 @@ public class KeyFragmentViewModel extends ViewModel {
|
|||||||
if (systemContactInfo == null) {
|
if (systemContactInfo == null) {
|
||||||
SystemContactDao systemContactDao = SystemContactDao.getInstance(context);
|
SystemContactDao systemContactDao = SystemContactDao.getInstance(context);
|
||||||
systemContactInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
|
systemContactInfo = Transformations.switchMap(unifiedKeyInfoLiveData,
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> systemContactDao.getSystemContactInfo(unifiedKeyInfo.master_key_id(),
|
() -> systemContactDao.getSystemContactInfo(unifiedKeyInfo.master_key_id(),
|
||||||
unifiedKeyInfo.has_any_secret())));
|
unifiedKeyInfo.has_any_secret())));
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ public class KeyFragmentViewModel extends ViewModel {
|
|||||||
if (keyserverStatus == null) {
|
if (keyserverStatus == null) {
|
||||||
KeyMetadataDao keyMetadataDao = KeyMetadataDao.create(context);
|
KeyMetadataDao keyMetadataDao = KeyMetadataDao.create(context);
|
||||||
keyserverStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
|
keyserverStatus = Transformations.switchMap(unifiedKeyInfoLiveData,
|
||||||
(unifiedKeyInfo) -> new GenericLiveData<>(context,
|
(unifiedKeyInfo) -> unifiedKeyInfo == null ? null : new GenericLiveData<>(context,
|
||||||
() -> keyMetadataDao.getKeyMetadata(unifiedKeyInfo.master_key_id())));
|
() -> keyMetadataDao.getKeyMetadata(unifiedKeyInfo.master_key_id())));
|
||||||
}
|
}
|
||||||
return keyserverStatus;
|
return keyserverStatus;
|
||||||
|
|||||||
Reference in New Issue
Block a user