diff --git a/src/channel/metadata/Metadata.java b/src/channel/metadata/Metadata.java index 915f3288..bd00e5ad 100644 --- a/src/channel/metadata/Metadata.java +++ b/src/channel/metadata/Metadata.java @@ -55,7 +55,8 @@ public class Metadata //Lazily constructed member variables. private Integer mAudioPriority; - protected Boolean mRecordable; + protected Boolean mRecordable = false; + protected Boolean mDoNotRecord; private List mBroadcastChannels; @@ -141,12 +142,12 @@ public class Metadata */ public boolean isRecordable() { - if(mRecordable == null) + if(mDoNotRecord == null) { determineRecordable(); } - return mRecordable; + return mRecordable & !mDoNotRecord; } /** @@ -545,29 +546,29 @@ public class Metadata */ private void determineRecordable() { - mRecordable = true; + mDoNotRecord = false; if(mPrimaryAddressTo.hasAlias() && !mPrimaryAddressTo.getAlias().isRecordable()) { - mRecordable = false; + mDoNotRecord = true; return; } if(mPrimaryAddressFrom.hasAlias() && !mPrimaryAddressFrom.getAlias().isRecordable()) { - mRecordable = false; + mDoNotRecord = true; return; } if(mSecondaryAddressTo.hasAlias() && !mSecondaryAddressTo.getAlias().isRecordable()) { - mRecordable = false; + mDoNotRecord = true; return; } if(mSecondaryAddressFrom.hasAlias() && !mSecondaryAddressFrom.getAlias().isRecordable()) { - mRecordable = false; + mDoNotRecord = true; return; } } diff --git a/src/channel/metadata/MutableMetadata.java b/src/channel/metadata/MutableMetadata.java index c0279a0d..10ee7b96 100644 --- a/src/channel/metadata/MutableMetadata.java +++ b/src/channel/metadata/MutableMetadata.java @@ -163,6 +163,8 @@ public class MutableMetadata extends Metadata implements Listener