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

Commit a2242397 authored by Garfield Tan's avatar Garfield Tan
Browse files

Make StatusBar optional in GlobalScreenshot.

Bug: 143911461
Test: Builds on targets that don't provide StatusBar, e.g. ARC++.
Change-Id: I9b2e80e6bf83c1cd0ac8ccfadd8b3c847664a66f
parent 998a7f9a
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -93,6 +93,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;
@@ -100,6 +101,7 @@ import java.util.concurrent.TimeoutException;
import javax.inject.Inject;
import javax.inject.Singleton;

import dagger.Lazy;

/**
 * POD used in the AsyncTask which saves an image in the background.
@@ -921,8 +923,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
@@ -947,8 +950,13 @@ public class GlobalScreenshot {
                context.startActivityAsUser(actionIntent, opts.toBundle(), UserHandle.CURRENT);
            };

            if (mStatusBar != null) {
                mStatusBar.executeRunnableDismissingKeyguard(startActivityRunnable, null,
                    true /* dismissShade */, true /* afterKeyguardGone */, true /* deferred */);
                        true /* dismissShade */, true /* afterKeyguardGone */,
                        true /* deferred */);
            } else {
                startActivityRunnable.run();
            }
        }
    }