Merge "Make StatusBar optional in GlobalScreenshot."
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 264d644..4635884 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -101,6 +101,7 @@
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 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 @@
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 @@
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();
+ }
}
}