Merge "Make StatusBar optional in GlobalScreenshot."

This commit is contained in:
TreeHugger Robot
2019-11-06 00:38:24 +00:00
committed by Android (Google) Code Review

View File

@@ -101,6 +101,7 @@ import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@@ -109,6 +110,7 @@ import java.util.function.Function;
import javax.inject.Inject;
import javax.inject.Singleton;
import dagger.Lazy;
/**
* POD used in the AsyncTask which saves an image in the background.
@@ -1041,8 +1043,9 @@ public class GlobalScreenshot {
private final StatusBar mStatusBar;
@Inject
public ActionProxyReceiver(StatusBar statusBar) {
mStatusBar = statusBar;
public ActionProxyReceiver(Optional<Lazy<StatusBar>> statusBarLazy) {
Lazy<StatusBar> statusBar = statusBarLazy.orElse(null);
mStatusBar = statusBar != null ? statusBar.get() : null;
}
@Override
@@ -1067,8 +1070,13 @@ public class GlobalScreenshot {
context.startActivityAsUser(actionIntent, opts.toBundle(), UserHandle.CURRENT);
};
mStatusBar.executeRunnableDismissingKeyguard(startActivityRunnable, null,
true /* dismissShade */, true /* afterKeyguardGone */, true /* deferred */);
if (mStatusBar != null) {
mStatusBar.executeRunnableDismissingKeyguard(startActivityRunnable, null,
true /* dismissShade */, true /* afterKeyguardGone */,
true /* deferred */);
} else {
startActivityRunnable.run();
}
}
}