1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.server.telecom; 18 19 public class RingerAttributes { 20 public static class Builder { 21 private boolean mEndEarly; 22 private boolean mLetDialerHandleRinging; 23 private boolean mAcquireAudioFocus; 24 private boolean mRingerAudible; 25 private String mInaudibleReason; 26 private boolean mShouldRingForContact; 27 private boolean mSilentRingingRequested; 28 setEndEarly(boolean endEarly)29 public RingerAttributes.Builder setEndEarly(boolean endEarly) { 30 mEndEarly = endEarly; 31 return this; 32 } 33 setLetDialerHandleRinging(boolean letDialerHandleRinging)34 public RingerAttributes.Builder setLetDialerHandleRinging(boolean letDialerHandleRinging) { 35 mLetDialerHandleRinging = letDialerHandleRinging; 36 return this; 37 } 38 setAcquireAudioFocus(boolean acquireAudioFocus)39 public RingerAttributes.Builder setAcquireAudioFocus(boolean acquireAudioFocus) { 40 mAcquireAudioFocus = acquireAudioFocus; 41 return this; 42 } 43 setRingerAudible(boolean ringerAudible)44 public RingerAttributes.Builder setRingerAudible(boolean ringerAudible) { 45 mRingerAudible = ringerAudible; 46 return this; 47 } 48 setInaudibleReason(String inaudibleReason)49 public RingerAttributes.Builder setInaudibleReason(String inaudibleReason) { 50 mInaudibleReason = inaudibleReason; 51 return this; 52 } 53 setShouldRingForContact(boolean shouldRingForContact)54 public RingerAttributes.Builder setShouldRingForContact(boolean shouldRingForContact) { 55 mShouldRingForContact = shouldRingForContact; 56 return this; 57 } 58 setSilentRingingRequested(boolean silentRingingRequested)59 public RingerAttributes.Builder setSilentRingingRequested(boolean silentRingingRequested) { 60 mSilentRingingRequested = silentRingingRequested; 61 return this; 62 } 63 build()64 public RingerAttributes build() { 65 return new RingerAttributes(mEndEarly, mLetDialerHandleRinging, mAcquireAudioFocus, 66 mRingerAudible, mInaudibleReason, mShouldRingForContact, 67 mSilentRingingRequested); 68 } 69 } 70 71 private boolean mEndEarly; 72 private boolean mLetDialerHandleRinging; 73 private boolean mAcquireAudioFocus; 74 private boolean mRingerAudible; 75 private String mInaudibleReason; 76 private boolean mShouldRingForContact; 77 private boolean mSilentRingingRequested; 78 RingerAttributes(boolean endEarly, boolean letDialerHandleRinging, boolean acquireAudioFocus, boolean ringerAudible, String inaudibleReason, boolean shouldRingForContact, boolean silentRingingRequested)79 private RingerAttributes(boolean endEarly, boolean letDialerHandleRinging, 80 boolean acquireAudioFocus, boolean ringerAudible, String inaudibleReason, 81 boolean shouldRingForContact, boolean silentRingingRequested) { 82 mEndEarly = endEarly; 83 mLetDialerHandleRinging = letDialerHandleRinging; 84 mAcquireAudioFocus = acquireAudioFocus; 85 mRingerAudible = ringerAudible; 86 mInaudibleReason = inaudibleReason; 87 mShouldRingForContact = shouldRingForContact; 88 mSilentRingingRequested = silentRingingRequested; 89 } 90 isEndEarly()91 public boolean isEndEarly() { 92 return mEndEarly; 93 } 94 letDialerHandleRinging()95 public boolean letDialerHandleRinging() { 96 return mLetDialerHandleRinging; 97 } 98 shouldAcquireAudioFocus()99 public boolean shouldAcquireAudioFocus() { 100 return mAcquireAudioFocus; 101 } 102 isRingerAudible()103 public boolean isRingerAudible() { 104 return mRingerAudible; 105 } 106 getInaudibleReason()107 public String getInaudibleReason() { 108 return mInaudibleReason; 109 } 110 shouldRingForContact()111 public boolean shouldRingForContact() { 112 return mShouldRingForContact; 113 } 114 isSilentRingingRequested()115 public boolean isSilentRingingRequested() { 116 return mSilentRingingRequested; 117 } 118 } 119