/** * Updates message from the current {@link #mNotification notificiation}. * * @see #setMessages(CharSequence[]) * @see #isMessageSecret() */ private void updateMessage() { if (isPendingUpdate(PENDING_UPDATE_MESSAGE)) return; if (mNotification == null) { setMessages(null); return; } final boolean secret = isMessageSecret(); // Get message text if (secret) { CharSequence[] messages; if (sSecureContentLabelRef == null || (messages = sSecureContentLabelRef.get()) == null) { final CharSequence cs = mContext.getString(R.string.privacy_mode_hidden_content); final SpannableString ss = new SpannableString(cs); Check.getInstance().isTrue(ss.length()); ss.setSpan( new StyleSpan(Typeface.ITALIC), 0 /* start */, ss.length() /* end */, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); messages = new CharSequence[] {ss}; sSecureContentLabelRef = new SoftReference<>(messages); } setMessages(messages); } else { CharSequence message; if (mBig) { if (mNotification.messageTextLines != null) { setMessages(mNotification.messageTextLines); return; } message = NullUtils.whileNotNull(mNotification.messageBigText, mNotification.messageText); } else { message = mNotification.messageText; } setMessages(TextUtils.isEmpty(message) ? null : new CharSequence[] {message}); } }
private void updateTitle() { if (isPendingUpdate(PENDING_UPDATE_TITLE)) return; if (mNotification == null) { setTitle(null); return; } final boolean secret = isTitleSecret(); CharSequence title; if (secret) { CharSequence appLabel = getAppLabel(mNotification.getPackageName()); title = appLabel != null ? appLabel : "Hidden app"; } else if (mBig) { title = NullUtils.whileNotNull(mNotification.titleBigText, mNotification.titleText); } else { title = mNotification.titleText; } setTitle(title); }