Work around SmsMessage.calculateLength NPE on broken ROMs
//FREEBIE
This commit is contained in:
parent
37a5622525
commit
66062f200a
1 changed files with 18 additions and 4 deletions
|
@ -17,16 +17,30 @@
|
||||||
package org.thoughtcrime.securesms.util;
|
package org.thoughtcrime.securesms.util;
|
||||||
|
|
||||||
import android.telephony.SmsMessage;
|
import android.telephony.SmsMessage;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
public class SmsCharacterCalculator extends CharacterCalculator {
|
public class SmsCharacterCalculator extends CharacterCalculator {
|
||||||
|
|
||||||
|
private static final String TAG = SmsCharacterCalculator.class.getSimpleName();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharacterState calculateCharacters(String messageBody) {
|
public CharacterState calculateCharacters(String messageBody) {
|
||||||
|
int[] length;
|
||||||
|
int messagesSpent;
|
||||||
|
int charactersSpent;
|
||||||
|
int charactersRemaining;
|
||||||
|
|
||||||
int[] length = SmsMessage.calculateLength(messageBody, false);
|
try {
|
||||||
int messagesSpent = length[0];
|
length = SmsMessage.calculateLength(messageBody, false);
|
||||||
int charactersSpent = length[1];
|
messagesSpent = length[0];
|
||||||
int charactersRemaining = length[2];
|
charactersSpent = length[1];
|
||||||
|
charactersRemaining = length[2];
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
Log.w(TAG, e);
|
||||||
|
messagesSpent = 1;
|
||||||
|
charactersSpent = messageBody.length();
|
||||||
|
charactersRemaining = 1000;
|
||||||
|
}
|
||||||
|
|
||||||
int maxMessageSize;
|
int maxMessageSize;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue