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

Commit c7cf9fc1 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Start removing Dependency.get(UiOffloadThread.class)

This actually begins the process of deprecation and removing
UiOffloadThread in favor of using Executors directly.

This CL hits the easiest spots in the code. There are a few
more remaining calls that should be in their own independent CLs.

Bug: 146567476
Test: atest SystemUITests
Change-Id: I2542cc61653f330a1931b15a57e3b7c77d18e2e6
parent cd87f72f
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -59,7 +59,6 @@ import com.android.systemui.BatteryMeterView;
import com.android.systemui.Dependency;
import com.android.systemui.Dependency;
import com.android.systemui.Prefs;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.UiOffloadThread;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.bubbles.BubbleController;
import com.android.systemui.bubbles.BubbleController;
@@ -68,6 +67,7 @@ import com.android.systemui.car.CarDeviceProvisionedListener;
import com.android.systemui.car.CarServiceProvider;
import com.android.systemui.car.CarServiceProvider;
import com.android.systemui.classifier.FalsingLog;
import com.android.systemui.classifier.FalsingLog;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.keyguard.DismissCallbackRegistry;
import com.android.systemui.keyguard.DismissCallbackRegistry;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.keyguard.KeyguardViewMediator;
@@ -141,6 +141,7 @@ import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Map;
import java.util.Optional;
import java.util.Optional;
import java.util.concurrent.Executor;


import javax.inject.Named;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Provider;
@@ -273,7 +274,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
            NotificationAlertingManager notificationAlertingManager,
            NotificationAlertingManager notificationAlertingManager,
            DisplayMetrics displayMetrics,
            DisplayMetrics displayMetrics,
            MetricsLogger metricsLogger,
            MetricsLogger metricsLogger,
            UiOffloadThread uiOffloadThread,
            @UiBackground Executor uiBgExecutor,
            NotificationMediaManager notificationMediaManager,
            NotificationMediaManager notificationMediaManager,
            NotificationLockscreenUserManager lockScreenUserManager,
            NotificationLockscreenUserManager lockScreenUserManager,
            NotificationRemoteInputManager remoteInputManager,
            NotificationRemoteInputManager remoteInputManager,
@@ -353,7 +354,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
                notificationAlertingManager,
                notificationAlertingManager,
                displayMetrics,
                displayMetrics,
                metricsLogger,
                metricsLogger,
                uiOffloadThread,
                uiBgExecutor,
                notificationMediaManager,
                notificationMediaManager,
                lockScreenUserManager,
                lockScreenUserManager,
                remoteInputManager,
                remoteInputManager,
+4 −3
Original line number Original line Diff line number Diff line
@@ -25,12 +25,12 @@ import android.util.DisplayMetrics;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.ViewMediatorCallback;
import com.android.keyguard.ViewMediatorCallback;
import com.android.systemui.UiOffloadThread;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.bubbles.BubbleController;
import com.android.systemui.bubbles.BubbleController;
import com.android.systemui.car.CarServiceProvider;
import com.android.systemui.car.CarServiceProvider;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.keyguard.DismissCallbackRegistry;
import com.android.systemui.keyguard.DismissCallbackRegistry;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.keyguard.ScreenLifecycle;
@@ -96,6 +96,7 @@ import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.volume.VolumeComponent;
import com.android.systemui.volume.VolumeComponent;


import java.util.Optional;
import java.util.Optional;
import java.util.concurrent.Executor;


import javax.inject.Named;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Provider;
@@ -143,7 +144,7 @@ public class CarStatusBarModule {
            NotificationAlertingManager notificationAlertingManager,
            NotificationAlertingManager notificationAlertingManager,
            DisplayMetrics displayMetrics,
            DisplayMetrics displayMetrics,
            MetricsLogger metricsLogger,
            MetricsLogger metricsLogger,
            UiOffloadThread uiOffloadThread,
            @UiBackground Executor uiBgExecutor,
            NotificationMediaManager notificationMediaManager,
            NotificationMediaManager notificationMediaManager,
            NotificationLockscreenUserManager lockScreenUserManager,
            NotificationLockscreenUserManager lockScreenUserManager,
            NotificationRemoteInputManager remoteInputManager,
            NotificationRemoteInputManager remoteInputManager,
@@ -222,7 +223,7 @@ public class CarStatusBarModule {
                notificationAlertingManager,
                notificationAlertingManager,
                displayMetrics,
                displayMetrics,
                metricsLogger,
                metricsLogger,
                uiOffloadThread,
                uiBgExecutor,
                notificationMediaManager,
                notificationMediaManager,
                lockScreenUserManager,
                lockScreenUserManager,
                remoteInputManager,
                remoteInputManager,
+2 −2
Original line number Original line Diff line number Diff line
@@ -11,7 +11,7 @@
 * distributed under the License is distributed on an "AS IS" BASIS,
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * See the License for the specific language governing permissions and
 * limitations under the License
 * limitations under the License.
 */
 */


package com.android.systemui;
package com.android.systemui;
@@ -36,7 +36,7 @@ public class UiOffloadThread {
    public UiOffloadThread() {
    public UiOffloadThread() {
    }
    }


    public Future<?> submit(Runnable runnable) {
    public Future<?> execute(Runnable runnable) {
        return mExecutorService.submit(runnable);
        return mExecutorService.submit(runnable);
    }
    }
}
}
+7 −6
Original line number Original line Diff line number Diff line
@@ -37,8 +37,8 @@ import com.android.internal.logging.MetricsLogger;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.Dependency;
import com.android.systemui.Dependency;
import com.android.systemui.UiOffloadThread;
import com.android.systemui.analytics.DataCollector;
import com.android.systemui.analytics.DataCollector;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
@@ -46,6 +46,7 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.util.sensors.AsyncSensorManager;
import com.android.systemui.util.sensors.AsyncSensorManager;


import java.io.PrintWriter;
import java.io.PrintWriter;
import java.util.concurrent.Executor;


/**
/**
 * When the phone is locked, listens to touch, sensor and phone events and sends them to
 * When the phone is locked, listens to touch, sensor and phone events and sends them to
@@ -77,7 +78,7 @@ public class FalsingManagerImpl implements FalsingManager {
    private final DataCollector mDataCollector;
    private final DataCollector mDataCollector;
    private final HumanInteractionClassifier mHumanInteractionClassifier;
    private final HumanInteractionClassifier mHumanInteractionClassifier;
    private final AccessibilityManager mAccessibilityManager;
    private final AccessibilityManager mAccessibilityManager;
    private final UiOffloadThread mUiOffloadThread;
    private final Executor mUiBgExecutor;


    private boolean mEnforceBouncer = false;
    private boolean mEnforceBouncer = false;
    private boolean mBouncerOn = false;
    private boolean mBouncerOn = false;
@@ -137,13 +138,13 @@ public class FalsingManagerImpl implements FalsingManager {
                }
                }
            };
            };


    FalsingManagerImpl(Context context) {
    FalsingManagerImpl(Context context, @UiBackground Executor uiBgExecutor) {
        mContext = context;
        mContext = context;
        mSensorManager = Dependency.get(AsyncSensorManager.class);
        mSensorManager = Dependency.get(AsyncSensorManager.class);
        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
        mDataCollector = DataCollector.getInstance(mContext);
        mDataCollector = DataCollector.getInstance(mContext);
        mHumanInteractionClassifier = HumanInteractionClassifier.getInstance(mContext);
        mHumanInteractionClassifier = HumanInteractionClassifier.getInstance(mContext);
        mUiOffloadThread = Dependency.get(UiOffloadThread.class);
        mUiBgExecutor = uiBgExecutor;
        mScreenOn = context.getSystemService(PowerManager.class).isInteractive();
        mScreenOn = context.getSystemService(PowerManager.class).isInteractive();
        mMetricsLogger = new MetricsLogger();
        mMetricsLogger = new MetricsLogger();


@@ -196,7 +197,7 @@ public class FalsingManagerImpl implements FalsingManager {
            }
            }


            // This can be expensive, and doesn't need to happen on the main thread.
            // This can be expensive, and doesn't need to happen on the main thread.
            mUiOffloadThread.submit(() -> {
            mUiBgExecutor.execute(() -> {
                mSensorManager.unregisterListener(mSensorEventListener);
                mSensorManager.unregisterListener(mSensorEventListener);
            });
            });
        }
        }
@@ -237,7 +238,7 @@ public class FalsingManagerImpl implements FalsingManager {
            if (s != null) {
            if (s != null) {


                // This can be expensive, and doesn't need to happen on the main thread.
                // This can be expensive, and doesn't need to happen on the main thread.
                mUiOffloadThread.submit(() -> {
                mUiBgExecutor.execute(() -> {
                    mSensorManager.registerListener(
                    mSensorManager.registerListener(
                            mSensorEventListener, s, SensorManager.SENSOR_DELAY_GAME);
                            mSensorEventListener, s, SensorManager.SENSOR_DELAY_GAME);
                });
                });
+8 −3
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.systemui.Dependency;
import com.android.systemui.classifier.brightline.BrightLineFalsingManager;
import com.android.systemui.classifier.brightline.BrightLineFalsingManager;
import com.android.systemui.classifier.brightline.FalsingDataProvider;
import com.android.systemui.classifier.brightline.FalsingDataProvider;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingPlugin;
import com.android.systemui.plugins.FalsingPlugin;
import com.android.systemui.plugins.PluginListener;
import com.android.systemui.plugins.PluginListener;
@@ -39,6 +40,7 @@ import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.sensors.ProximitySensor;
import com.android.systemui.util.sensors.ProximitySensor;


import java.io.PrintWriter;
import java.io.PrintWriter;
import java.util.concurrent.Executor;


import javax.inject.Inject;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.inject.Singleton;
@@ -58,13 +60,16 @@ public class FalsingManagerProxy implements FalsingManager {
    private DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener;
    private DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener;
    private final DeviceConfigProxy mDeviceConfig;
    private final DeviceConfigProxy mDeviceConfig;
    private boolean mBrightlineEnabled;
    private boolean mBrightlineEnabled;
    private Executor mUiBgExecutor;


    @Inject
    @Inject
    FalsingManagerProxy(Context context, PluginManager pluginManager,
    FalsingManagerProxy(Context context, PluginManager pluginManager,
            @Main Handler handler,
            @Main Handler handler,
            ProximitySensor proximitySensor,
            ProximitySensor proximitySensor,
            DeviceConfigProxy deviceConfig) {
            DeviceConfigProxy deviceConfig,
            @UiBackground Executor uiBgExecutor) {
        mProximitySensor = proximitySensor;
        mProximitySensor = proximitySensor;
        mUiBgExecutor = uiBgExecutor;
        mProximitySensor.setTag(PROXIMITY_SENSOR_TAG);
        mProximitySensor.setTag(PROXIMITY_SENSOR_TAG);
        mProximitySensor.setSensorDelay(SensorManager.SENSOR_DELAY_GAME);
        mProximitySensor.setSensorDelay(SensorManager.SENSOR_DELAY_GAME);
        mDeviceConfig = deviceConfig;
        mDeviceConfig = deviceConfig;
@@ -87,7 +92,7 @@ public class FalsingManagerProxy implements FalsingManager {
            }
            }


            public void onPluginDisconnected(FalsingPlugin plugin) {
            public void onPluginDisconnected(FalsingPlugin plugin) {
                mInternalFalsingManager = new FalsingManagerImpl(context);
                mInternalFalsingManager = new FalsingManagerImpl(context, mUiBgExecutor);
            }
            }
        };
        };


@@ -117,7 +122,7 @@ public class FalsingManagerProxy implements FalsingManager {
            mInternalFalsingManager.cleanup();
            mInternalFalsingManager.cleanup();
        }
        }
        if (!brightlineEnabled) {
        if (!brightlineEnabled) {
            mInternalFalsingManager = new FalsingManagerImpl(context);
            mInternalFalsingManager = new FalsingManagerImpl(context, mUiBgExecutor);
        } else {
        } else {
            mInternalFalsingManager = new BrightLineFalsingManager(
            mInternalFalsingManager = new BrightLineFalsingManager(
                    new FalsingDataProvider(context.getResources().getDisplayMetrics()),
                    new FalsingDataProvider(context.getResources().getDisplayMetrics()),
Loading