summaryrefslogtreecommitdiff
path: root/java/com/android/voicemail
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-06-19 12:40:59 -0700
committerEric Erfanian <erfanian@google.com>2017-06-19 20:00:08 +0000
commitea7890cd5e829ed3f0b5f726561c569690af2030 (patch)
tree235ab5ab9f9215782c29ef350d275fe12e7b2f74 /java/com/android/voicemail
parent91ce7d2a476bd04fe525049a37a2f8b2824e9724 (diff)
Update AOSP Dialer source from internal google3 repository at
cl/159428781. Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/158012278 (6/05/2017) to cl/159428781 (6/19/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Merged-In: Ie60a84b3936efd0ea3d95d7c86bf96d2b1663030 Change-Id: If1fa394df2609f0d38b4f794c83f4db3f1006484
Diffstat (limited to 'java/com/android/voicemail')
-rw-r--r--java/com/android/voicemail/impl/TelephonyVvmConfigManager.java2
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientImpl.java2
-rw-r--r--java/com/android/voicemail/impl/VoicemailModule.java3
-rw-r--r--java/com/android/voicemail/impl/imap/ImapHelper.java19
-rw-r--r--java/com/android/voicemail/impl/mail/Message.java4
-rw-r--r--java/com/android/voicemail/impl/mail/internet/MimeHeader.java1
-rw-r--r--java/com/android/voicemail/impl/mail/internet/MimeMessage.java24
-rw-r--r--java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java2
-rw-r--r--java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java2
-rw-r--r--java/com/android/voicemail/impl/res/xml/vvm_config.xml69
-rw-r--r--java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java18
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java2
12 files changed, 60 insertions, 88 deletions
diff --git a/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java b/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
index b4def2fc3..046113c26 100644
--- a/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
+++ b/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
@@ -21,7 +21,7 @@ import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.impl.utils.XmlUtils;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index 83c0523bf..83ce6c588 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -24,8 +24,8 @@ import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.VisualVoicemailTypeExtensions;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
diff --git a/java/com/android/voicemail/impl/VoicemailModule.java b/java/com/android/voicemail/impl/VoicemailModule.java
index 5a4e739f5..e689e47d2 100644
--- a/java/com/android/voicemail/impl/VoicemailModule.java
+++ b/java/com/android/voicemail/impl/VoicemailModule.java
@@ -18,6 +18,7 @@ package com.android.voicemail.impl;
import android.content.Context;
import android.support.v4.os.BuildCompat;
+import com.android.dialer.inject.ApplicationContext;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailPermissionHelper;
import com.android.voicemail.stub.StubVoicemailClient;
@@ -31,7 +32,7 @@ public final class VoicemailModule {
@Provides
@Singleton
- static VoicemailClient provideVoicemailClient(Context context) {
+ static VoicemailClient provideVoicemailClient(@ApplicationContext Context context) {
if (!BuildCompat.isAtLeastO()) {
VvmLog.i("VoicemailModule.provideVoicemailClient", "SDK below O");
return new StubVoicemailClient();
diff --git a/java/com/android/voicemail/impl/imap/ImapHelper.java b/java/com/android/voicemail/impl/imap/ImapHelper.java
index f1bc8b221..94abe9bad 100644
--- a/java/com/android/voicemail/impl/imap/ImapHelper.java
+++ b/java/com/android/voicemail/impl/imap/ImapHelper.java
@@ -251,13 +251,18 @@ public class ImapHelper implements Closeable {
long time = messageDetails.getSentDate().getTime();
String number = getNumber(messageDetails.getFrom());
boolean isRead = Arrays.asList(messageDetails.getFlags()).contains(Flag.SEEN);
- return Voicemail.createForInsertion(time, number)
- .setPhoneAccount(mPhoneAccount)
- .setSourcePackage(mContext.getPackageName())
- .setSourceData(messageDetails.getUid())
- .setIsRead(isRead)
- .setTranscription(listener.getVoicemailTranscription())
- .build();
+ Long duration = messageDetails.getDuration();
+ Voicemail.Builder builder =
+ Voicemail.createForInsertion(time, number)
+ .setPhoneAccount(mPhoneAccount)
+ .setSourcePackage(mContext.getPackageName())
+ .setSourceData(messageDetails.getUid())
+ .setIsRead(isRead)
+ .setTranscription(listener.getVoicemailTranscription());
+ if (duration != null) {
+ builder.setDuration(duration);
+ }
+ return builder.build();
}
/**
diff --git a/java/com/android/voicemail/impl/mail/Message.java b/java/com/android/voicemail/impl/mail/Message.java
index aea5d3ead..ca65d3d73 100644
--- a/java/com/android/voicemail/impl/mail/Message.java
+++ b/java/com/android/voicemail/impl/mail/Message.java
@@ -15,6 +15,7 @@
*/
package com.android.voicemail.impl.mail;
+import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import java.util.Date;
import java.util.HashSet;
@@ -64,6 +65,9 @@ public abstract class Message implements Part, Body {
public abstract void setSentDate(Date sentDate) throws MessagingException;
+ @Nullable
+ public abstract Long getDuration() throws MessagingException;
+
public abstract Address[] getRecipients(String type) throws MessagingException;
public abstract void setRecipients(String type, Address[] addresses) throws MessagingException;
diff --git a/java/com/android/voicemail/impl/mail/internet/MimeHeader.java b/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
index d41cdb3e4..8f0817650 100644
--- a/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
+++ b/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
@@ -36,6 +36,7 @@ public class MimeHeader {
public static final String HEADER_CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition";
public static final String HEADER_CONTENT_ID = "Content-ID";
+ public static final String HEADER_CONTENT_DURATION = "Content-Duration";
/** Fields that should be omitted when writing the header using writeTo() */
private static final String[] WRITE_OMIT_FIELDS = {
diff --git a/java/com/android/voicemail/impl/mail/internet/MimeMessage.java b/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
index 589720660..39378a092 100644
--- a/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
+++ b/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
@@ -15,7 +15,9 @@
*/
package com.android.voicemail.impl.mail.internet;
+import android.support.annotation.Nullable;
import android.text.TextUtils;
+import com.android.voicemail.impl.VvmLog;
import com.android.voicemail.impl.mail.Address;
import com.android.voicemail.impl.mail.Body;
import com.android.voicemail.impl.mail.BodyPart;
@@ -197,6 +199,28 @@ public class MimeMessage extends Message {
}
@Override
+ @Nullable
+ public Long getDuration() {
+ String durationHeader = null;
+ try {
+ durationHeader = getFirstHeader(MimeHeader.HEADER_CONTENT_DURATION);
+ } catch (MessagingException e) {
+ VvmLog.e("MimeMessage.getDuration", "cannot retrieve header: ", e);
+ return null;
+ }
+ if (durationHeader == null) {
+ VvmLog.w("MimeMessage.getDuration", "message missing Content-Duration header");
+ return null;
+ }
+ try {
+ return Long.valueOf(durationHeader);
+ } catch (NumberFormatException e) {
+ VvmLog.w("MimeMessage.getDuration", "cannot parse duration " + durationHeader);
+ return null;
+ }
+ }
+
+ @Override
public String getContentType() throws MessagingException {
final String contentType = getFirstHeader(MimeHeader.HEADER_CONTENT_TYPE);
if (contentType == null) {
diff --git a/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java b/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
index 88ec0ed90..fd56952d7 100644
--- a/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
+++ b/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
@@ -27,7 +27,7 @@ public final class ImapConstants {
public static final String FETCH_FIELD_BODY_PEEK_SANE =
String.format(Locale.US, "BODY.PEEK[]<0.%d>", ImapStore.FETCH_BODY_SANE_SUGGESTED_SIZE);
public static final String FETCH_FIELD_HEADERS =
- "BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc message-id)]";
+ "BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc message-id content-duration)]";
public static final String ALERT = "ALERT";
public static final String APPEND = "APPEND";
diff --git a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
index 1cdbbfbca..d9a06494e 100644
--- a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
+++ b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
@@ -31,7 +31,7 @@ import android.text.Html;
import android.text.Spanned;
import android.text.style.URLSpan;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.impl.ActivationTask;
import com.android.voicemail.impl.Assert;
import com.android.voicemail.impl.OmtpEvents;
diff --git a/java/com/android/voicemail/impl/res/xml/vvm_config.xml b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
index b03115abb..2bac66be5 100644
--- a/java/com/android/voicemail/impl/res/xml/vvm_config.xml
+++ b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
@@ -21,75 +21,6 @@
<item value="TEST"/>
</string-array>
</pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange Belgium -->
- <string name="feature_flag_name">vvm_carrier_flag_20610</string>
- <string-array name="mccmnc">
- <item value="20610"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">8082</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <!-- Carrier VVM app com.orange.vvm only supports Orange FR-->
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange France -->
- <string-array name="mccmnc">
- <item value="20801"/>
- <item value="20802"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="20481"/>
- <string name="vvm_destination_number_string">21101</string>
- <string-array name="carrier_vvm_package_name_string_array">
- <item value="com.orange.vvm"/>
- </string-array>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange Luxembourg -->
- <string name="feature_flag_name">vvm_carrier_flag_27099</string>
- <string-array name="mccmnc">
- <item value="27099"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">64085</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <!-- Carrier VVM app com.orange.vvm only supports Orange FR-->
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
<pbundle_as_map>
<!-- T-Mobile USA-->
<string-array name="mccmnc">
diff --git a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
index ac5f3cac9..4860649b3 100644
--- a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
+++ b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
@@ -22,6 +22,7 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
+import android.provider.Settings;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
@@ -29,7 +30,6 @@ import com.android.dialer.common.Assert;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
@@ -43,8 +43,7 @@ import com.android.voicemail.impl.sync.VvmAccountManager;
*/
@TargetApi(VERSION_CODES.O)
public class VoicemailSettingsFragment extends PreferenceFragment
- implements Preference.OnPreferenceChangeListener,
- VvmAccountManager.Listener {
+ implements Preference.OnPreferenceChangeListener, VvmAccountManager.Listener {
private static final String TAG = "VmSettingsActivity";
@@ -83,9 +82,8 @@ public class VoicemailSettingsFragment extends PreferenceFragment
voicemailNotificationPreference =
findPreference(getString(R.string.voicemail_notifications_key));
- voicemailNotificationPreference.setIntent(
- NotificationChannelManager.getInstance()
- .getSettingsIntentForChannel(getContext(), Channel.VOICEMAIL, phoneAccountHandle));
+ voicemailNotificationPreference.setIntent(getNotificationSettingsIntent());
+
voicemailNotificationPreference.setOnPreferenceClickListener(
new OnPreferenceClickListener() {
@Override
@@ -233,4 +231,12 @@ public class VoicemailSettingsFragment extends PreferenceFragment
updateChangePin();
}
}
+
+ private Intent getNotificationSettingsIntent() {
+ String channelId =
+ NotificationChannelManager.getVoicemailChannelId(getContext(), phoneAccountHandle);
+ return new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+ .putExtra(Settings.EXTRA_CHANNEL_ID, channelId)
+ .putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName());
+ }
}
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
index 17c9be73b..0c83615b4 100644
--- a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
@@ -16,7 +16,7 @@
package com.android.voicemail.impl.transcribe;
import android.content.Context;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
/** Provides configuration values needed to connect to the transcription server. */
public class TranscriptionConfigProvider {