summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/app
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-07-27 10:45:54 -0700
committerEric Erfanian <erfanian@google.com>2017-07-27 11:16:14 -0700
commitff2ad7ffdba7c74077eae3016b32174f0f2dad30 (patch)
tree978e817617700854b5e2ed6f166f883c3bf6ffe9 /java/com/android/dialer/app
parent0602dd0831eb782890f74861b20075c76f503571 (diff)
downloadandroid_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.tar.gz
android_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.tar.bz2
android_packages_apps_Dialer-ff2ad7ffdba7c74077eae3016b32174f0f2dad30.zip
Update oc-dr1-dev to v11 RC17
This change updates the oc-dr1-dev branch to v11 RC17, from the previous state synced @160679286. This contains: - A ROLLUP from 161342943 - Fixes for the following bugs: Bug: 33490149 36608790 37846172 62294499 62338925 63013427 63089358 63104326 63112642 63143138 63161630 63405063 63415147 63450835 63494010 63522618 63523694 63523776 63524435 63575857 63594129 63634700 63642638 63643370 63709810 63710739 63716219 63757003 64009408 64025042 64060628 64073371 Test: make Merged-In: I69ba6cbadbd1a02f05405ca0f5273b0a5ea0e5e9 Change-Id: Iaad73fa51796f62f4947571ddb744bbdadcca64e
Diffstat (limited to 'java/com/android/dialer/app')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java28
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java29
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java2
-rw-r--r--java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java10
-rw-r--r--java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java62
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoriteTileView.java8
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java1
-rw-r--r--java/com/android/dialer/app/res/values-bs/strings.xml6
-rw-r--r--java/com/android/dialer/app/res/values-da/strings.xml2
-rw-r--r--java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java13
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java33
11 files changed, 131 insertions, 63 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index f4c8c90f8..e0cd1706d 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -368,18 +368,30 @@ public class CallLogAdapter extends GroupingListAdapter
}
expandViewHolderActions(viewHolder);
- if (viewHolder.videoCallButtonView.getVisibility() == View.VISIBLE
- && LightbringerComponent.get(mActivity)
- .getLightbringer()
- .getPackageName()
- .equals(
- ((IntentProvider) viewHolder.videoCallButtonView.getTag())
- .getIntent(mActivity)
- .getPackage())) {
+ if (isLightbringerCallButtonVisible(viewHolder.videoCallButtonView)) {
CallIntentBuilder.increaseLightbringerCallButtonAppearInExpandedCallLogItemCount();
}
}
}
+
+ private boolean isLightbringerCallButtonVisible(View videoCallButtonView) {
+ if (videoCallButtonView == null) {
+ return false;
+ }
+ if (videoCallButtonView.getVisibility() != View.VISIBLE) {
+ return false;
+ }
+ IntentProvider intentProvider = (IntentProvider) videoCallButtonView.getTag();
+ if (intentProvider == null) {
+ return false;
+ }
+ String packageName =
+ LightbringerComponent.get(mActivity).getLightbringer().getPackageName();
+ if (packageName == null) {
+ return false;
+ }
+ return packageName.equals(intentProvider.getIntent(mActivity).getPackage());
+ }
};
private void checkMarkCallLogEntry(CallLogListItemViewHolder viewHolder) {
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index aa765d90e..6d4aea91f 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -20,7 +20,6 @@ import static android.Manifest.permission.READ_CALL_LOG;
import android.app.Activity;
import android.app.Fragment;
-import android.app.KeyguardManager;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -114,7 +113,6 @@ public class CallLogFragment extends Fragment
private CallLogQueryHandler mCallLogQueryHandler;
private boolean mScrollToTop;
private EmptyContentView mEmptyListView;
- private KeyguardManager mKeyguardManager;
private ContactInfoCache mContactInfoCache;
private final OnContactInfoChangedListener mOnContactInfoChangedListener =
new OnContactInfoChangedListener() {
@@ -219,7 +217,6 @@ public class CallLogFragment extends Fragment
final Activity activity = getActivity();
final ContentResolver resolver = activity.getContentResolver();
mCallLogQueryHandler = new CallLogQueryHandler(activity, resolver, this, mLogLimit);
- mKeyguardManager = (KeyguardManager) activity.getSystemService(Context.KEYGUARD_SERVICE);
if (PermissionsUtil.hasCallLogReadPermissions(getContext())) {
resolver.registerContentObserver(CallLog.CONTENT_URI, true, mCallLogObserver);
@@ -349,7 +346,7 @@ public class CallLogFragment extends Fragment
activityType == CallLogAdapter.ACTIVITY_TYPE_DIALTACTS
? (CallLogAdapter.OnActionModeStateChangedListener) getActivity()
: null,
- CallLogCache.getCallLogCache(getActivity()),
+ new CallLogCache(getActivity()),
mContactInfoCache,
getVoicemailPlaybackPresenter(),
new FilteredNumberAsyncQueryHandler(getActivity()),
@@ -432,8 +429,6 @@ public class CallLogFragment extends Fragment
@Override
public void onStop() {
- updateOnTransition();
-
super.onStop();
mAdapter.onStop();
mContactInfoCache.stop();
@@ -516,9 +511,7 @@ public class CallLogFragment extends Fragment
super.setMenuVisibility(menuVisible);
if (mMenuVisible != menuVisible) {
mMenuVisible = menuVisible;
- if (!menuVisible) {
- updateOnTransition();
- } else if (isResumed()) {
+ if (menuVisible && isResumed()) {
refreshData();
}
}
@@ -536,7 +529,6 @@ public class CallLogFragment extends Fragment
fetchCalls();
mCallLogQueryHandler.fetchVoicemailStatus();
mCallLogQueryHandler.fetchMissedCallsUnreadCount();
- updateOnTransition();
mRefreshDataRequired = false;
} else {
// Refresh the display of the existing data to update the timestamp text descriptions.
@@ -544,23 +536,6 @@ public class CallLogFragment extends Fragment
}
}
- /**
- * Updates the voicemail notification state.
- *
- * <p>TODO: Move to CallLogActivity
- */
- private void updateOnTransition() {
- // We don't want to update any call data when keyguard is on because the user has likely not
- // seen the new calls yet.
- // This might be called before onCreate() and thus we need to check null explicitly.
- if (mKeyguardManager != null
- && !mKeyguardManager.inKeyguardRestrictedInputMode()
- && mCallTypeFilter == Calls.VOICEMAIL_TYPE) {
- LogUtil.i("CallLogFragment.updateOnTransition", "clearing all new voicemails");
- CallLogNotificationsService.markAllNewVoicemailsAsOld(getActivity());
- }
- }
-
@Override
public void onEmptyViewActionButtonClicked() {
final Activity activity = getActivity();
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 27aa82577..884d07d50 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -353,7 +353,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
View.OnClickListener expandCollapseListener,
VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
Resources resources = context.getResources();
- CallLogCache callLogCache = CallLogCache.getCallLogCache(context);
+ CallLogCache callLogCache = new CallLogCache(context);
PhoneCallDetailsHelper phoneCallDetailsHelper =
new PhoneCallDetailsHelper(context, resources, callLogCache);
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index 893d6bed9..17018b38d 100644
--- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
@@ -16,6 +16,7 @@
package com.android.dialer.app.calllog;
+import android.app.KeyguardManager;
import android.content.Intent;
import android.database.ContentObserver;
import android.media.AudioManager;
@@ -132,7 +133,7 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
@Override
public void onVisible() {
- LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageSelected");
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onVisible");
super.onVisible();
if (getActivity() != null) {
Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
@@ -145,10 +146,15 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment {
@Override
public void onNotVisible() {
- LogUtil.enterBlock("VisualVoicemailCallLogFragment.onPageUnselected");
+ LogUtil.enterBlock("VisualVoicemailCallLogFragment.onNotVisible");
super.onNotVisible();
if (getActivity() != null) {
getActivity().setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
+ // onNotVisible will be called in the lock screen when the call ends
+ if (!getActivity().getSystemService(KeyguardManager.class).inKeyguardRestrictedInputMode()) {
+ LogUtil.i("VisualVoicemailCallLogFragment.onNotVisible", "clearing all new voicemails");
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(getActivity());
+ }
}
}
}
diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
index 2e7c9339a..15de14318 100644
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
+++ b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
@@ -19,8 +19,14 @@ package com.android.dialer.app.calllog.calllogcache;
import android.content.Context;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
+import android.text.TextUtils;
+import android.util.ArrayMap;
import com.android.dialer.app.calllog.CallLogAdapter;
+import com.android.dialer.calllogutils.PhoneAccountUtils;
+import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.CallUtil;
+import java.util.Map;
+import javax.annotation.concurrent.ThreadSafe;
/**
* This is the base class for the CallLogCaches.
@@ -31,7 +37,8 @@ import com.android.dialer.util.CallUtil;
*
* <p>This is designed with the specific use case of the {@link CallLogAdapter} in mind.
*/
-public abstract class CallLogCache {
+@ThreadSafe
+public class CallLogCache {
// TODO: Dialer should be fixed so as not to check isVoicemail() so often but at the time of
// this writing, that was a much larger undertaking than creating this cache.
@@ -39,17 +46,18 @@ public abstract class CallLogCache {
private boolean mHasCheckedForVideoAvailability;
private int mVideoAvailability;
+ private final Map<PhoneAccountHandle, String> mPhoneAccountLabelCache = new ArrayMap<>();
+ private final Map<PhoneAccountHandle, Integer> mPhoneAccountColorCache = new ArrayMap<>();
+ private final Map<PhoneAccountHandle, Boolean> mPhoneAccountCallWithNoteCache = new ArrayMap<>();
public CallLogCache(Context context) {
mContext = context;
}
- /** Return the most compatible version of the TelecomCallLogCache. */
- public static CallLogCache getCallLogCache(Context context) {
- return new CallLogCacheLollipopMr1(context);
- }
-
- public void reset() {
+ public synchronized void reset() {
+ mPhoneAccountLabelCache.clear();
+ mPhoneAccountColorCache.clear();
+ mPhoneAccountCallWithNoteCache.clear();
mHasCheckedForVideoAvailability = false;
mVideoAvailability = 0;
}
@@ -58,8 +66,13 @@ public abstract class CallLogCache {
* Returns true if the given number is the number of the configured voicemail. To be able to
* mock-out this, it is not a static method.
*/
- public abstract boolean isVoicemailNumber(
- PhoneAccountHandle accountHandle, @Nullable CharSequence number);
+ public synchronized boolean isVoicemailNumber(
+ PhoneAccountHandle accountHandle, @Nullable CharSequence number) {
+ if (TextUtils.isEmpty(number)) {
+ return false;
+ }
+ return TelecomUtil.isVoicemailNumber(mContext, accountHandle, number.toString());
+ }
/**
* Returns {@code true} when the current sim supports checking video calling capabilities via the
@@ -74,10 +87,26 @@ public abstract class CallLogCache {
}
/** Extract account label from PhoneAccount object. */
- public abstract String getAccountLabel(PhoneAccountHandle accountHandle);
+ public synchronized String getAccountLabel(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountLabelCache.containsKey(accountHandle)) {
+ return mPhoneAccountLabelCache.get(accountHandle);
+ } else {
+ String label = PhoneAccountUtils.getAccountLabel(mContext, accountHandle);
+ mPhoneAccountLabelCache.put(accountHandle, label);
+ return label;
+ }
+ }
/** Extract account color from PhoneAccount object. */
- public abstract int getAccountColor(PhoneAccountHandle accountHandle);
+ public synchronized int getAccountColor(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountColorCache.containsKey(accountHandle)) {
+ return mPhoneAccountColorCache.get(accountHandle);
+ } else {
+ Integer color = PhoneAccountUtils.getAccountColor(mContext, accountHandle);
+ mPhoneAccountColorCache.put(accountHandle, color);
+ return color;
+ }
+ }
/**
* Determines if the PhoneAccount supports specifying a call subject (i.e. calling with a note)
@@ -86,5 +115,14 @@ public abstract class CallLogCache {
* @param accountHandle The PhoneAccount handle.
* @return {@code true} if calling with a note is supported, {@code false} otherwise.
*/
- public abstract boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle);
+ public synchronized boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle) {
+ if (mPhoneAccountCallWithNoteCache.containsKey(accountHandle)) {
+ return mPhoneAccountCallWithNoteCache.get(accountHandle);
+ } else {
+ Boolean supportsCallWithNote =
+ PhoneAccountUtils.getAccountSupportsCallSubject(mContext, accountHandle);
+ mPhoneAccountCallWithNoteCache.put(accountHandle, supportsCallWithNote);
+ return supportsCallWithNote;
+ }
+ }
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
index eb4f8e967..30870eb39 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
@@ -62,6 +62,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
private String mPhoneNumberString;
private boolean isPinned;
private boolean isStarred;
+ private int position = -1;
public PhoneFavoriteTileView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -126,8 +127,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
CallSpecificAppData.Builder callSpecificAppData =
CallSpecificAppData.newBuilder()
.setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
- .setSpeedDialContactPosition(
- ((PhoneFavoriteListView) v.getParent()).getPositionForView(v));
+ .setSpeedDialContactPosition(position);
if (isStarred) {
callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.STARRED_CONTACT);
} else {
@@ -182,4 +182,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
// Unlike Contacts' tiles, the Dialer's favorites tiles are square.
return false;
}
+
+ public void setPosition(int position) {
+ this.position = position;
+ }
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
index 876fbf146..dbd601a7d 100644
--- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
+++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
@@ -440,6 +440,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
tileView.setPhotoManager(mPhotoManager);
tileView.setListener(mListener);
tileView.loadFromContact(getItem(position));
+ tileView.setPosition(position);
return tileView;
}
diff --git a/java/com/android/dialer/app/res/values-bs/strings.xml b/java/com/android/dialer/app/res/values-bs/strings.xml
index 9d8914c4f..fb00ce4dc 100644
--- a/java/com/android/dialer/app/res/values-bs/strings.xml
+++ b/java/com/android/dialer/app/res/values-bs/strings.xml
@@ -100,7 +100,7 @@
<string name="description_video_call" msgid="3738199365585751727">"Videopoziv."</string>
<string name="description_send_text_message" msgid="8450269896765568596">"Pošalji SMS kontaktu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call_log_unheard_voicemail" msgid="2258821530650350303">"Nepreslušana govorna pošta"</string>
- <string name="description_start_voice_search" msgid="8380022725973015261">"Pokreni glasovnu pretragu"</string>
+ <string name="description_start_voice_search" msgid="8380022725973015261">"Pokreni glasovno pretraživanje"</string>
<string name="menu_callNumber" msgid="1540773545517152514">"Pozovi <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
@@ -127,7 +127,7 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakti sa SIM kartice"</string>
- <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string>
+ <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno pretraživanje nije dostupno"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti poziv jer je aplikacija Telefon onemogućena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Traži kontakte"</string>
<string name="block_number_search_hint" msgid="5377706079015099416">"Dodajte broj ili tražite kontakte"</string>
@@ -157,7 +157,7 @@
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj u favorite"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da vidite sve brojeve ili dodirnite i držite da promijenite raspored."</string>
<string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string>
- <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string>
+ <string name="select_all" msgid="408601760696146245">"Odaberi sve"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalji o pozivu"</string>
diff --git a/java/com/android/dialer/app/res/values-da/strings.xml b/java/com/android/dialer/app/res/values-da/strings.xml
index 81fd5ddb5..aabe678d6 100644
--- a/java/com/android/dialer/app/res/values-da/strings.xml
+++ b/java/com/android/dialer/app/res/values-da/strings.xml
@@ -88,7 +88,7 @@
<string name="actionIncomingCall" msgid="891346596090030558">"Indgående opkald"</string>
<string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Massehandlingstilstanden startes"</string>
<string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingstilstanden blev afsluttet"</string>
- <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Vælg <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fravalgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Afspil telefonsvarerbesked"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Vis kontaktpersonen <xliff:g id="NAME">%1$s</xliff:g>"</string>
diff --git a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
index b86ce8229..4100521ab 100644
--- a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
+++ b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
@@ -21,6 +21,7 @@ import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.preference.PreferenceManager;
import android.support.v4.os.BuildCompat;
@@ -56,7 +57,17 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
LogUtil.i(
"LegacyVoicemailNotificationReceiver.onReceive", "received legacy voicemail notification");
- Assert.checkArgument(BuildCompat.isAtLeastO());
+ if (!BuildCompat.isAtLeastO()) {
+ LogUtil.e(
+ "LegacyVoicemailNotificationReceiver.onReceive",
+ "SDK not finalized: SDK_INT="
+ + Build.VERSION.SDK_INT
+ + ", PREVIEW_SDK_INT="
+ + Build.VERSION.PREVIEW_SDK_INT
+ + ", RELEASE="
+ + Build.VERSION.RELEASE);
+ return;
+ }
PhoneAccountHandle phoneAccountHandle =
Assert.isNotNull(intent.getParcelableExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE));
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
index f2cdaf644..e3dc0b0b7 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -33,8 +33,8 @@ import android.view.View;
import android.view.View.OnClickListener;
import com.android.contacts.common.compat.TelephonyManagerCompat;
import com.android.dialer.app.voicemail.error.VoicemailErrorMessage.Action;
-import com.android.dialer.buildtype.BuildType;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.voicemail.VisualVoicemailTypeExtensions;
@@ -79,13 +79,11 @@ public class VoicemailTosMessageCreator {
if (hasAcceptedTos()) {
return null;
}
- // TODO: temporarily skip the terms of service for dogfood builds
- if (BuildType.get() == BuildType.DOGFOOD) {
- LogUtil.i(
- "VoicemailTosMessageCreator.maybeCreateTosMessage",
- "Skipping voicemail ToS for dogfood build");
+
+ if (!shouldShowTos()) {
return null;
}
+
logTosCreatedImpression();
return new VoicemailTosMessage(
@@ -121,6 +119,25 @@ public class VoicemailTosMessageCreator {
.setImageResourceId(getTosImageId());
}
+ private boolean shouldShowTos() {
+ if (isVvm3()) {
+ LogUtil.i("VoicemailTosMessageCreator.shouldShowTos", "showing TOS for verizon");
+ return true;
+ }
+
+ if (isVoicemailTranscriptionEnabled()) {
+ LogUtil.i(
+ "VoicemailTosMessageCreator.shouldShowTos", "showing TOS for Google transcription users");
+ return true;
+ }
+
+ return false;
+ }
+
+ private boolean isVoicemailTranscriptionEnabled() {
+ return ConfigProviderBindings.get(context).getBoolean("voicemail_transcription_enabled", false);
+ }
+
private void showDeclineTosDialog(final PhoneAccountHandle handle) {
if (isVvm3() && Vvm3VoicemailMessageCreator.PIN_NOT_SET == status.configurationState) {
LogUtil.i(
@@ -249,6 +266,10 @@ public class VoicemailTosMessageCreator {
}
private CharSequence getDialerTos() {
+ if (!isVoicemailTranscriptionEnabled()) {
+ return "";
+ }
+
return useSpanish()
? context.getString(R.string.dialer_terms_and_conditions_1_0_spanish)
: context.getString(R.string.dialer_terms_and_conditions_1_0_english);