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

Commit 00f88a95 authored by Brett Chabot's avatar Brett Chabot Committed by Android (Google) Code Review
Browse files

Merge "Skip ActivityWaiter synchronization on Instrumentation.callActivityOnDestroy"

parents 24d9c149 18f9ce0d
Loading
Loading
Loading
Loading
+15 −13
Original line number Diff line number Diff line
@@ -1058,19 +1058,21 @@ public class Instrumentation {
    }
    
    public void callActivityOnDestroy(Activity activity) {
      if (mWaitingActivities != null) {
          synchronized (mSync) {
              final int N = mWaitingActivities.size();
              for (int i=0; i<N; i++) {
                  final ActivityWaiter aw = mWaitingActivities.get(i);
                  final Intent intent = aw.intent;
                  if (intent.filterEquals(activity.getIntent())) {
                      aw.activity = activity;
                      mMessageQueue.addIdleHandler(new ActivityGoing(aw));
                  }
              }
          }
      }
      // TODO: the following block causes intermittent hangs when using startActivity
      // temporarily comment out until root cause is fixed (bug 2630683)
//      if (mWaitingActivities != null) {
//          synchronized (mSync) {
//              final int N = mWaitingActivities.size();
//              for (int i=0; i<N; i++) {
//                  final ActivityWaiter aw = mWaitingActivities.get(i);
//                  final Intent intent = aw.intent;
//                  if (intent.filterEquals(activity.getIntent())) {
//                      aw.activity = activity;
//                      mMessageQueue.addIdleHandler(new ActivityGoing(aw));
//                  }
//              }
//          }
//      }
      
      activity.performDestroy();