diff options
Diffstat (limited to 'java/com/android/dialer')
3 files changed, 82 insertions, 11 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java index 61129a7ce..6540b6f95 100644 --- a/java/com/android/dialer/app/calllog/CallLogAdapter.java +++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java @@ -70,6 +70,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.AsyncTaskExecutor; import com.android.dialer.common.concurrent.AsyncTaskExecutors; +import com.android.dialer.compat.android.provider.VoicemailCompat; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.enrichedcall.EnrichedCallCapabilities; import com.android.dialer.enrichedcall.EnrichedCallComponent; @@ -907,7 +908,7 @@ public class CallLogAdapter extends GroupingListAdapter final int transcriptionState = (VERSION.SDK_INT >= VERSION_CODES.O) ? cursor.getInt(CallLogQuery.TRANSCRIPTION_STATE) - : PhoneCallDetailsHelper.TRANSCRIPTION_NOT_STARTED; + : VoicemailCompat.TRANSCRIPTION_NOT_STARTED; final PhoneCallDetails details = new PhoneCallDetails(number, numberPresentation, postDialDigits); details.viaNumber = viaNumber; diff --git a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java index c1a00e58d..a6e8f10f0 100644 --- a/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java +++ b/java/com/android/dialer/app/calllog/PhoneCallDetailsHelper.java @@ -31,6 +31,7 @@ import android.widget.TextView; import com.android.dialer.app.R; import com.android.dialer.app.calllog.calllogcache.CallLogCache; import com.android.dialer.calllogutils.PhoneCallDetails; +import com.android.dialer.compat.android.provider.VoicemailCompat; import com.android.dialer.logging.ContactSource; import com.android.dialer.oem.MotorolaUtils; import com.android.dialer.phonenumberutil.PhoneNumberHelper; @@ -45,13 +46,6 @@ public class PhoneCallDetailsHelper { /** The maximum number of icons will be shown to represent the call types in a group. */ private static final int MAX_CALL_TYPE_ICONS = 3; - // TODO(mdooley): remove when these api's become public - // Copied from android.provider.VoicemailContract - static final int TRANSCRIPTION_NOT_STARTED = 0; - static final int TRANSCRIPTION_IN_PROGRESS = 1; - static final int TRANSCRIPTION_FAILED = 2; - static final int TRANSCRIPTION_AVAILABLE = 3; - private final Context mContext; private final Resources mResources; private final CallLogCache mCallLogCache; @@ -159,12 +153,13 @@ public class PhoneCallDetailsHelper { // Set the branding text if the voicemail was transcribed by google // TODO(mdooley): the transcription state is only set by the google transcription code, // but a better solution would be to check the SOURCE_PACKAGE - showTranscriptBranding = details.transcriptionState == TRANSCRIPTION_AVAILABLE; + showTranscriptBranding = + details.transcriptionState == VoicemailCompat.TRANSCRIPTION_AVAILABLE; } else { - if (details.transcriptionState == TRANSCRIPTION_IN_PROGRESS) { + if (details.transcriptionState == VoicemailCompat.TRANSCRIPTION_IN_PROGRESS) { views.voicemailTranscriptionView.setText( mResources.getString(R.string.voicemail_transcription_in_progress)); - } else if (details.transcriptionState == TRANSCRIPTION_FAILED) { + } else if (details.transcriptionState == VoicemailCompat.TRANSCRIPTION_FAILED) { views.voicemailTranscriptionView.setText( mResources.getString(R.string.voicemail_transcription_failed)); } diff --git a/java/com/android/dialer/compat/android/provider/VoicemailCompat.java b/java/com/android/dialer/compat/android/provider/VoicemailCompat.java new file mode 100644 index 000000000..175ea5d95 --- /dev/null +++ b/java/com/android/dialer/compat/android/provider/VoicemailCompat.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ +package com.android.dialer.compat.android.provider; + +/** + * Provide access to new API constants before they're publicly available + * + * <p>Copied from android.provider.VoicemailContract.Voicemails. These should become public in O-MR1 + * and these constants can be removed then. + */ +public class VoicemailCompat { + + /** + * The state of the voicemail transcription. + * + * <p>Possible values: {@link #TRANSCRIPTION_NOT_STARTED}, {@link #TRANSCRIPTION_IN_PROGRESS}, + * {@link #TRANSCRIPTION_FAILED}, {@link #TRANSCRIPTION_AVAILABLE}. + * + * <p>Type: INTEGER + */ + public static final String TRANSCRIPTION_STATE = "transcription_state"; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has not yet been + * attempted. + */ + public static final int TRANSCRIPTION_NOT_STARTED = 0; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has begun but is not yet + * complete. + */ + public static final int TRANSCRIPTION_IN_PROGRESS = 1; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has been attempted and + * failed for an unspecified reason. + */ + public static final int TRANSCRIPTION_FAILED = 2; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has completed and the + * result has been stored in the {@link #TRANSCRIPTION} column. + */ + public static final int TRANSCRIPTION_AVAILABLE = 3; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has been attempted and + * failed because no speech was detected. + * + * <p>Internal dialer use only, not part of the public SDK. + */ + public static final int TRANSCRIPTION_FAILED_NO_SPEECH_DETECTED = -1; + + /** + * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has been attempted and + * failed because the language was not supported. + * + * <p>Internal dialer use only, not part of the public SDK. + */ + public static final int TRANSCRIPTION_FAILED_LANGUAGE_NOT_SUPPORTED = -2; +} |