Merge "Make StatusBar optional in GlobalScreenshot."
This commit is contained in:
committed by
Android (Google) Code Review
commit
ae8e97a822
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user