From 8bcbd17f62d253490e479c342e51ff604480dbe3 Mon Sep 17 00:00:00 2001 From: uabdullah Date: Thu, 22 Jun 2017 18:54:58 -0700 Subject: OMTP client type null improvement - cp aosp/319963 into Dialer Replace the null "client type" value by a more detailed value in the MO SMS. Create a client type value based on : - Manufacturer name - Model name - Android os version Test: OmtpConstantsTest.java Original author: http://aosp/319963 - Alexis MARCOU PiperOrigin-RevId: 159906976 Change-Id: If759f7c96c9fb9a3895f8d944c842c350b8d2472 --- java/com/android/voicemail/impl/OmtpConstants.java | 37 ++++++++++++++++++++-- .../voicemail/impl/protocol/OmtpProtocol.java | 2 +- 2 files changed, 36 insertions(+), 3 deletions(-) (limited to 'java') diff --git a/java/com/android/voicemail/impl/OmtpConstants.java b/java/com/android/voicemail/impl/OmtpConstants.java index 599d0d5f0..97da2a8e3 100644 --- a/java/com/android/voicemail/impl/OmtpConstants.java +++ b/java/com/android/voicemail/impl/OmtpConstants.java @@ -234,6 +234,39 @@ public class OmtpConstants { public static final int CHANGE_PIN_INVALID_CHARACTER = 5; public static final int CHANGE_PIN_SYSTEM_ERROR = 6; - /** Indicates the client is Google visual voicemail version 1.0. */ - public static final String CLIENT_TYPE_GOOGLE_10 = "google.vvm.10"; + public static String getClientType() { + String manufacturer = + truncate( + android.os.Build.MANUFACTURER + .replace('=', '_') + .replace(';', '_') + .replace('.', '_') + .replace(' ', '_'), + 12); + + String version = + truncate( + android.os.Build.VERSION + .RELEASE + .replace('=', '_') + .replace(';', '_') + .replace('.', '_') + .replace(' ', '_'), + 8); + + String model = + truncate( + android.os.Build.MODEL + .replace('=', '_') + .replace(';', '_') + .replace('.', '_') + .replace(' ', '_'), + 28 - manufacturer.length() - version.length()); + + return String.format("%s.%s.%s", manufacturer, model, version); + } + + private static final String truncate(String string, int length) { + return string.substring(0, Math.min(length, string.length())); + } } diff --git a/java/com/android/voicemail/impl/protocol/OmtpProtocol.java b/java/com/android/voicemail/impl/protocol/OmtpProtocol.java index 27aab8a7c..971edcf4f 100644 --- a/java/com/android/voicemail/impl/protocol/OmtpProtocol.java +++ b/java/com/android/voicemail/impl/protocol/OmtpProtocol.java @@ -35,7 +35,7 @@ public class OmtpProtocol extends VisualVoicemailProtocol { phoneAccountHandle, applicationPort, destinationNumber, - OmtpConstants.CLIENT_TYPE_GOOGLE_10, + OmtpConstants.getClientType(), OmtpConstants.PROTOCOL_VERSION1_1, null /*clientPrefix*/); } -- cgit v1.2.3