Merge changes I436335d1,I436307d4

* changes:
  Defining transcription feedback API
  Added phone paused icon to on hold banner.
diff --git a/java/com/android/incallui/hold/OnHoldFragment.java b/java/com/android/incallui/hold/OnHoldFragment.java
index c695213..33ca158 100644
--- a/java/com/android/incallui/hold/OnHoldFragment.java
+++ b/java/com/android/incallui/hold/OnHoldFragment.java
@@ -68,7 +68,7 @@
         .setImageResource(
             secondaryInfo.isVideoCall
                 ? R.drawable.quantum_ic_videocam_white_18
-                : R.drawable.quantum_ic_call_white_18);
+                : R.drawable.quantum_ic_phone_paused_vd_theme_24);
     view.addOnAttachStateChangeListener(
         new OnAttachStateChangeListener() {
           @Override
diff --git a/java/com/android/incallui/hold/res/layout/incall_on_hold_banner.xml b/java/com/android/incallui/hold/res/layout/incall_on_hold_banner.xml
index 6128ae5..728cce2 100644
--- a/java/com/android/incallui/hold/res/layout/incall_on_hold_banner.xml
+++ b/java/com/android/incallui/hold/res/layout/incall_on_hold_banner.xml
@@ -1,4 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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
+ -->
 <FrameLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
@@ -19,7 +34,7 @@
       android:id="@+id/hold_phone_icon"
       android:layout_width="18dp"
       android:layout_height="18dp"
-      android:src="@drawable/quantum_ic_call_white_18"
+      android:src="@drawable/quantum_ic_phone_paused_vd_theme_24"
       android:contentDescription="@null"/>
 
     <TextView
diff --git a/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
index b060170..1790881 100644
--- a/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
+++ b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
@@ -68,6 +68,18 @@
   DONATE = 2;
 }
 
+// Enum that specifies the user's rating for a voicemail transcription.
+enum TranscriptionRatingValue {
+  // Default but invalid value.
+  UNSPECIFIED = 0;
+
+  // User indicated that the transcription was good.
+  GOOD_TRANSCRIPTION = 1;
+
+  // User indicated that the transcription was bad.
+  BAD_TRANSCRIPTION = 2;
+}
+
 // Request for synchronous voicemail transcription.
 message TranscribeVoicemailRequest {
   // Voicemail audio file containing the raw bytes we receive from the carrier.
@@ -133,6 +145,26 @@
   optional string transcript = 2;
 }
 
+// The rating for a single voicemail transcription.
+message TranscriptionRating {
+  // The id of the voicemail transcription.
+  optional string transcription_id = 1;
+
+  // The user's rating of the voicemail transcription.
+  optional TranscriptionRatingValue rating_value = 2;
+}
+
+// Request for uploading transcription ratings.
+message TranscriptionFeedbackRequest {
+  // User feedback indicating the transcription quality for one or more
+  // voicemails
+  repeated TranscriptionRating ratings = 1;
+}
+
+// Response for uploading transcription ratings
+message TranscriptionFeedbackResponse {
+}
+
 // RPC service for transcribing voicemails.
 service VoicemailTranscriptionService {
   // Returns a transcript of the given voicemail.
@@ -149,6 +181,12 @@
   // by TranscribeVoicemailAsync.
   rpc GetTranscript(GetTranscriptRequest) returns (GetTranscriptResponse) {
   }
+
+  // Uploads user's transcription feedback. Feedback will only be collected from
+  // user's who have consented to donate their voicemails.
+  rpc SendTranscriptionFeedback(TranscriptionFeedbackRequest)
+      returns (TranscriptionFeedbackResponse) {
+  }
 }