Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b05c99a authored by Brad Ebinger's avatar Brad Ebinger Committed by Android (Google) Code Review
Browse files

Merge "Fixes some of the flakiness in Telecom" into oc-dr1-dev

parents 5288d29f 7bba1112
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ _lite_test_general() {
                          running tests (mmma).
  -e                    Run code coverage. Coverage will be output into the coverage/
                          directory in the repo root.
  -g                    Run build commands with USE_GOMA=true
  -h                    This help message.
  "

@@ -20,8 +21,9 @@ _lite_test_general() {
  local installwdep=false
  local debug=false
  local coverage=false
  local goma=false

  while getopts "c:p:hadie" opt; do
  while getopts "c:p:hadieg" opt; do
    case "$opt" in
      h)
        echo "$usage"
@@ -40,6 +42,8 @@ _lite_test_general() {
        installwdep=true;;
      e)
        coverage=true;;
      g)
        goma=true;;
      p)
        project=$OPTARG;;
    esac
@@ -67,6 +71,8 @@ _lite_test_general() {
  if [ $install = true ] ; then
    local olddir=$(pwd)
    local emma_opt=
    local goma_opt=

    cd $T
    # Build and exit script early if build fails

@@ -76,10 +82,14 @@ _lite_test_general() {
      emma_opt="EMMA_INSTRUMENT=false"
    fi

    if [ $goma = true ] ; then
        goma_opt="USE_GOMA=true"
    fi

    if [ $installwdep = true ] ; then
      (export ${emma_opt}; mmma -j40 "$build_dir")
      (export ${emma_opt}; mmma ${goma_opt} -j40 "$build_dir")
    else
      (export ${emma_opt}; mmm "$build_dir")
      (export ${emma_opt}; mmm ${goma_opt} "$build_dir")
    fi
    if [ $? -ne 0 ] ; then
      echo "Make failed! try using -a instead of -i if building with coverage"
+3 −2
Original line number Diff line number Diff line
@@ -305,7 +305,8 @@ public class CallsManager extends Call.ListenerBase
            Timeouts.Adapter timeoutsAdapter,
            AsyncRingtonePlayer asyncRingtonePlayer,
            PhoneNumberUtilsAdapter phoneNumberUtilsAdapter,
            EmergencyCallHelper emergencyCallHelper) {
            EmergencyCallHelper emergencyCallHelper,
            InCallTonePlayer.ToneGeneratorFactory toneGeneratorFactory) {
        mContext = context;
        mLock = lock;
        mPhoneNumberUtilsAdapter = phoneNumberUtilsAdapter;
@@ -345,7 +346,7 @@ public class CallsManager extends Call.ListenerBase
                        mDockManager);

        InCallTonePlayer.Factory playerFactory = new InCallTonePlayer.Factory(
                callAudioRoutePeripheralAdapter, lock);
                callAudioRoutePeripheralAdapter, lock, toneGeneratorFactory);

        SystemSettingsUtil systemSettingsUtil = new SystemSettingsUtil();
        RingtoneFactory ringtoneFactory = new RingtoneFactory(this, context);
+14 −4
Original line number Diff line number Diff line
@@ -40,11 +40,13 @@ public class InCallTonePlayer extends Thread {
        private CallAudioManager mCallAudioManager;
        private final CallAudioRoutePeripheralAdapter mCallAudioRoutePeripheralAdapter;
        private final TelecomSystem.SyncRoot mLock;
        private final ToneGeneratorFactory mToneGeneratorFactory;

        Factory(CallAudioRoutePeripheralAdapter callAudioRoutePeripheralAdapter,
                TelecomSystem.SyncRoot lock) {
                TelecomSystem.SyncRoot lock, ToneGeneratorFactory toneGeneratorFactory) {
            mCallAudioRoutePeripheralAdapter = callAudioRoutePeripheralAdapter;
            mLock = lock;
            mToneGeneratorFactory = toneGeneratorFactory;
        }

        public void setCallAudioManager(CallAudioManager callAudioManager) {
@@ -53,10 +55,14 @@ public class InCallTonePlayer extends Thread {

        public InCallTonePlayer createPlayer(int tone) {
            return new InCallTonePlayer(tone, mCallAudioManager,
                    mCallAudioRoutePeripheralAdapter, mLock);
                    mCallAudioRoutePeripheralAdapter, mLock, mToneGeneratorFactory);
        }
    }

    public interface ToneGeneratorFactory {
        ToneGenerator get (int streamType, int volume);
    }

    // The possible tones that we can play.
    public static final int TONE_INVALID = 0;
    public static final int TONE_BUSY = 1;
@@ -111,6 +117,8 @@ public class InCallTonePlayer extends Thread {
    private Session mSession;
    private final Object mSessionLock = new Object();

    private final ToneGeneratorFactory mToneGenerator;

    /**
     * Initializes the tone player. Private; use the {@link Factory} to create tone players.
     *
@@ -120,12 +128,14 @@ public class InCallTonePlayer extends Thread {
            int toneId,
            CallAudioManager callAudioManager,
            CallAudioRoutePeripheralAdapter callAudioRoutePeripheralAdapter,
            TelecomSystem.SyncRoot lock) {
            TelecomSystem.SyncRoot lock,
            ToneGeneratorFactory toneGeneratorFactory) {
        mState = STATE_OFF;
        mToneId = toneId;
        mCallAudioManager = callAudioManager;
        mCallAudioRoutePeripheralAdapter = callAudioRoutePeripheralAdapter;
        mLock = lock;
        mToneGenerator = toneGeneratorFactory;
    }

    /** {@inheritDoc} */
@@ -227,7 +237,7 @@ public class InCallTonePlayer extends Thread {
            // signal, and is not as important.
            try {
                Log.v(this, "Creating generator");
                toneGenerator = new ToneGenerator(stream, toneVolume);
                toneGenerator = mToneGenerator.get(stream, toneVolume);
            } catch (RuntimeException e) {
                Log.w(this, "Failed to create ToneGenerator.", e);
                return;
+4 −2
Original line number Diff line number Diff line
@@ -189,7 +189,8 @@ public class TelecomSystem {
            Timeouts.Adapter timeoutsAdapter,
            AsyncRingtonePlayer asyncRingtonePlayer,
            PhoneNumberUtilsAdapter phoneNumberUtilsAdapter,
            IncomingCallNotifier incomingCallNotifier) {
            IncomingCallNotifier incomingCallNotifier,
            InCallTonePlayer.ToneGeneratorFactory toneGeneratorFactory) {
        mContext = context.getApplicationContext();
        LogUtils.initLogging(mContext);
        DefaultDialerManagerAdapter defaultDialerAdapter =
@@ -253,7 +254,8 @@ public class TelecomSystem {
                timeoutsAdapter,
                asyncRingtonePlayer,
                phoneNumberUtilsAdapter,
                emergencyCallHelper);
                emergencyCallHelper,
                toneGeneratorFactory);

        mIncomingCallNotifier = incomingCallNotifier;
        incomingCallNotifier.setCallsManagerProxy(new IncomingCallNotifier.CallsManagerProxy() {
+5 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
import android.media.IAudioService;
import android.media.ToneGenerator;
import android.os.IBinder;
import android.os.PowerManager;
import android.os.ServiceManager;
@@ -35,6 +36,7 @@ import com.android.server.telecom.CallsManager;
import com.android.server.telecom.DefaultDialerCache;
import com.android.server.telecom.HeadsetMediaButton;
import com.android.server.telecom.HeadsetMediaButtonFactory;
import com.android.server.telecom.InCallTonePlayer;
import com.android.server.telecom.InCallWakeLockControllerFactory;
import com.android.server.telecom.CallAudioManager;
import com.android.server.telecom.PhoneAccountRegistrar;
@@ -158,7 +160,8 @@ public class TelecomService extends Service implements TelecomSystem.Component {
                            new Timeouts.Adapter(),
                            new AsyncRingtonePlayer(),
                            new PhoneNumberUtilsAdapterImpl(),
                            new IncomingCallNotifier(context)
                            new IncomingCallNotifier(context),
                            ToneGenerator::new
                    ));
        }
        if (BluetoothAdapter.getDefaultAdapter() != null) {
Loading