안 드 로 이 드 문자 가 컬러 메시지 로 변 환 된 메시지 수(인 스 턴 스 코드)
다섯 개 로 바꾸다
경로 vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/mmsConfig.java
private static int sSmsToMmsTextThreshold = 6; // 4
변 수 는 글자 의 뜻 을 정의 하면 다음 과 같은 코드 분석 을 이해 할 수 있다.
vendor/mediatek/proprietary/packages/apps/Mms/res/layout/compose_message_activity.xml
레이아웃 파일
vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java
private EnhanceEditText mTextEditor; // Text editor to type your message into //
private TextView mTextCounter; // Shows the number of characters used in text editor //
private TextView mSendButtonMms; // Press to send mms // ,TextView
private ImageButton mSendButtonSms; // Press to send sms //
private void updateCounter(CharSequence text, int start, int before, int count) {
...
int[] params = null;
int encodingType = SmsMessage.ENCODING_UNKNOWN;
encodingType = mOpComposeExt.getSmsEncodingType(encodingType, ComposeMessageActivity.this);
params = SmsMessage.calculateLength(text, false, encodingType);
/* SmsMessage.calculateLength returns an int[4] with:
* int[0] being the number of SMS's required,
* int[1] the number of code units used,
* int[2] is the number of code units remaining until the next message.
* int[3] is the encoding type that should be used for the message.
*/
final int msgCount = params[0]; //
final int remainingInCurrentMessage = params[2]; //
mWorkingMessage.setLengthRequiresMms(
msgCount >= MmsConfig.getSmsToMmsTextThreshold(), true); //
MmsLog.d(TAG, "updateCounter(): message msgCount = " + msgCount
+ " TextThreshold() = " + MmsConfig.getSmsToMmsTextThreshold()
+ " remainingInCurrentMessage = " + remainingInCurrentMessage);
/// M: Show the counter
/// M: Update the remaining characters and number of messages required.
if (msgCount >= MmsConfig.getSmsToMmsTextThreshold()) {
mTextCounter.setVisibility(View.GONE);
return;
}
mUiHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (mOpComposeExt.updateCounterUiRun(mTextEditor, remainingInCurrentMessage,
msgCount, mWorkingMessage)) {
return;
}
MmsLog.d(TAG, "updateCounter requiresMms = " + mWorkingMessage.requiresMms()
+ " line count = " + mTextEditor.getLineCount());
if (mWorkingMessage.requiresMms() || mTextEditor.getLineCount() <= 1) {
mTextCounter.setVisibility(View.GONE);
return;
}
mTextCounter.setVisibility(View.VISIBLE);
String counterText = remainingInCurrentMessage + "/" + msgCount;
mTextCounter.setText(counterText);
}
}, 100);
//
private View showSmsOrMmsSendButton(boolean isMms) {
View showButton = null;
View hideButton = null;
// add for ipmessage
if (isMms) {
if (mSubCount == 0 || (isRecipientsEditorVisible()
&& TextUtils.isEmpty(mRecipientsEditor.getText()))
/// M: fix bug ALPS00563318, show gray mms_send_button
/// when haven't subject, text and attachment
|| ((mSubjectTextEditor == null || (mSubjectTextEditor != null
&& TextUtils.isEmpty(mSubjectTextEditor.getText().toString().trim())))
&& mTextEditor != null
&& TextUtils.isEmpty(mTextEditor.getText().toString().trim())
&& !mWorkingMessage.hasAttachment())
|| !mIsSmsEnabled) {
mSendButtonMms.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
getResources().getDrawable(R.drawable.ic_send_sms_unsend));
} else {
mSendButtonMms.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
getResources().getDrawable(R.drawable.ic_send_ipmsg));
}
showButton = mSendButtonMms;
hideButton = mSendButtonSms;
} else {
if (!mIpCompose.onIpShowSmsOrMmsSendButton(isMms)) {
if ((mTextEditor.getText().toString().isEmpty())
|| mSubCount == 0
|| (isRecipientsEditorVisible()
&& TextUtils.isEmpty(mRecipientsEditor.getText()))
|| recipientCount() > MmsConfig.getSmsRecipientLimit()
|| !mIsSmsEnabled) {
///@}
mSendButtonSms.setImageResource(R.drawable.ic_send_sms_unsend);
} else {
mSendButtonSms.setImageResource(R.drawable.ic_send_ipmsg);
}
}
showButton = mSendButtonSms;
hideButton = mSendButtonMms;
}
if (showButton != null) {
showButton.setVisibility(View.VISIBLE);
}
if (hideButton != null) {
hideButton.setVisibility(View.GONE);
}
updateTextEditorHint();
return showButton;
}
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 안 드 로 이 드 문자 가 컬러 편지 로 바 뀌 었 다 는 소식 의 수량 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.