content: /*
   * 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 android.telecom;
  
  import android.os.Parcel;
  import android.os.ParcelFileDescriptor;
  import android.os.Parcelable;
  
  import java.io.FileInputStream;
  import java.io.FileOutputStream;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.nio.charset.StandardCharsets;
  
  /**
   * Data container for information associated with the RTT connection on a call.
   * @hide
   */
  public class ParcelableRttCall implements Parcelable {
      private final int mRttMode;
      private final ParcelFileDescriptor mTransmitStream;
      private final ParcelFileDescriptor mReceiveStream;
  
      public ParcelableRttCall(
              int rttMode,
              ParcelFileDescriptor transmitStream,
              ParcelFileDescriptor receiveStream) {
          mRttMode = rttMode;
          mTransmitStream = transmitStream;
          mReceiveStream = receiveStream;
      }
  
      protected ParcelableRttCall(Parcel in) {
          mRttMode = in.readInt();
          mTransmitStream = in.readParcelable(ParcelFileDescriptor.class.getClassLoader());
          mReceiveStream = in.readParcelable(ParcelFileDescriptor.class.getClassLoader());
      }
  
      public static final @android.annotation.NonNull Creator<ParcelableRttCall> CREATOR = new Creator<ParcelableRttCall>() {
          @Override
          public ParcelableRttCall createFromParcel(Parcel in) {
              return new ParcelableRttCall(in);
          }
  
          @Override
          public ParcelableRttCall[] newArray(int size) {
              return new ParcelableRttCall[size];
          }
      };
  
      @Override
      public int describeContents() {
          return 0;
      }
  
      @Override
      public void writeToParcel(Parcel dest, int flags) {
          dest.writeInt(mRttMode);
          dest.writeParcelable(mTransmitStream, flags);
          dest.writeParcelable(mReceiveStream, flags);
      }
  
      public int getRttMode() {
          return mRttMode;
      }
  
      public ParcelFileDescriptor getReceiveStream() {
          return mReceiveStream;
      }
  
      public ParcelFileDescriptor getTransmitStream() {
          return mTransmitStream;
      }
  }
  