Merge "Use main thread executor in the split controller" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2fdc3d08b3
@@ -26,7 +26,9 @@ import android.content.ComponentName;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.os.Looper;
|
||||||
import android.window.TaskFragmentAppearedInfo;
|
import android.window.TaskFragmentAppearedInfo;
|
||||||
import android.window.TaskFragmentInfo;
|
import android.window.TaskFragmentInfo;
|
||||||
import android.window.WindowContainerTransaction;
|
import android.window.WindowContainerTransaction;
|
||||||
@@ -40,6 +42,7 @@ import androidx.window.extensions.ExtensionTaskFragment;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main controller class that manages split states and presentation.
|
* Main controller class that manages split states and presentation.
|
||||||
@@ -57,8 +60,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
|
|||||||
private SplitOrganizerCallback mSplitOrganizerCallback;
|
private SplitOrganizerCallback mSplitOrganizerCallback;
|
||||||
|
|
||||||
public SplitController() {
|
public SplitController() {
|
||||||
mPresenter = new SplitPresenter(ActivityThread.currentActivityThread().getExecutor(),
|
mPresenter = new SplitPresenter(new MainThreadExecutor(), this);
|
||||||
this);
|
|
||||||
// Register a callback to be notified about activities being created.
|
// Register a callback to be notified about activities being created.
|
||||||
ActivityThread.currentActivityThread().getApplication().registerActivityLifecycleCallbacks(
|
ActivityThread.currentActivityThread().getApplication().registerActivityLifecycleCallbacks(
|
||||||
new LifecycleCallbacks());
|
new LifecycleCallbacks());
|
||||||
@@ -599,4 +601,14 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
|
|||||||
SplitController.this.onActivityConfigurationChanged(activity);
|
SplitController.this.onActivityConfigurationChanged(activity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Executor that posts on the main application thread. */
|
||||||
|
private static class MainThreadExecutor implements Executor {
|
||||||
|
private final Handler handler = new Handler(Looper.getMainLooper());
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(Runnable r) {
|
||||||
|
handler.post(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user