diff options
Diffstat (limited to 'src/com/android/messaging/ui/conversation/ConversationFragment.java')
-rw-r--r-- | src/com/android/messaging/ui/conversation/ConversationFragment.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/messaging/ui/conversation/ConversationFragment.java b/src/com/android/messaging/ui/conversation/ConversationFragment.java index a6a191a..49fe6b4 100644 --- a/src/com/android/messaging/ui/conversation/ConversationFragment.java +++ b/src/com/android/messaging/ui/conversation/ConversationFragment.java @@ -101,6 +101,7 @@ import com.android.messaging.util.LogUtil; import com.android.messaging.util.OsUtil; import com.android.messaging.util.PhoneUtils; import com.android.messaging.util.SafeAsyncTask; +import com.android.messaging.util.SecureMessagingHelper; import com.android.messaging.util.TextUtil; import com.android.messaging.util.UiUtils; import com.android.messaging.util.UriUtil; @@ -163,6 +164,7 @@ public class ConversationFragment extends Fragment implements ConversationDataLi private Parcelable mListState; private ConversationFragmentHost mHost; + private SecureMessagingHelper mSecureMessagingHelper; protected List<Integer> mFilterResults; @@ -430,6 +432,28 @@ public class ConversationFragment extends Fragment implements ConversationDataLi } } ); + mSecureMessagingHelper = new SecureMessagingHelper(getActivity(), + new SecureMessagingHelper.SecurityMessagingCallback() { + @Override + public void onParticipantsSecurityUpdated() { + if (isResumed()) { + setMessageSecurity(mSecureMessagingHelper.isAllParticipantsSecured()); + } + } + + @Override + public ConversationParticipantsData getParticipantsData() { + if (mBinding.isBound()) { + return mBinding.getData().getParticipants(); + } else { + return null; + } + } + }); + } + + private void setMessageSecurity(boolean isAllParticipantsSecured) { + mComposeMessageView.setMessageSecurity(isAllParticipantsSecured); } /** @@ -1190,6 +1214,8 @@ public class ConversationFragment extends Fragment implements ConversationDataLi public void onConversationParticipantDataLoaded(final ConversationData data) { mBinding.ensureBound(data); if (mBinding.getData().getParticipantsLoaded()) { + mSecureMessagingHelper.checkIfAllParticipantsSecuredAsync(); + final boolean oneOnOne = mBinding.getData().getOtherParticipant() != null; mAdapter.setOneOnOne(oneOnOne, true /* invalidate */); @@ -1439,6 +1465,10 @@ public class ConversationFragment extends Fragment implements ConversationDataLi return self == null ? ParticipantData.DEFAULT_SELF_SUB_ID : self.getSubId(); } + public SecureMessagingHelper getSecureMessagingHelper() { + return mSecureMessagingHelper; + } + @Override public void invalidateActionBar() { mHost.invalidateActionBar(); |