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

Commit 1bf89ec5 authored by Anthony Hugh's avatar Anthony Hugh Committed by Android (Google) Code Review
Browse files

Merge "Remove unused class DrivingStateHelper"

parents 1403ee3a 8c8a6973
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -174,7 +174,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt


    private final Object mQueueLock = new Object();
    private final Object mQueueLock = new Object();
    private final CarNavigationBarController mCarNavigationBarController;
    private final CarNavigationBarController mCarNavigationBarController;
    private final Lazy<DrivingStateHelper> mDrivingStateHelperLazy;
    private final Lazy<PowerManagerHelper> mPowerManagerHelperLazy;
    private final Lazy<PowerManagerHelper> mPowerManagerHelperLazy;
    private final CarServiceProvider mCarServiceProvider;
    private final CarServiceProvider mCarServiceProvider;


@@ -314,7 +313,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
            DismissCallbackRegistry dismissCallbackRegistry,
            DismissCallbackRegistry dismissCallbackRegistry,
            /* Car Settings injected components. */
            /* Car Settings injected components. */
            CarServiceProvider carServiceProvider,
            CarServiceProvider carServiceProvider,
            Lazy<DrivingStateHelper> drivingStateHelperLazy,
            Lazy<PowerManagerHelper> powerManagerHelperLazy,
            Lazy<PowerManagerHelper> powerManagerHelperLazy,
            Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy,
            Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy,
            CarNavigationBarController carNavigationBarController) {
            CarNavigationBarController carNavigationBarController) {
@@ -396,7 +394,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
        mLockscreenLockIconController = lockscreenLockIconController;
        mLockscreenLockIconController = lockscreenLockIconController;
        mDeviceProvisionedController = deviceProvisionedController;
        mDeviceProvisionedController = deviceProvisionedController;
        mCarServiceProvider = carServiceProvider;
        mCarServiceProvider = carServiceProvider;
        mDrivingStateHelperLazy = drivingStateHelperLazy;
        mPowerManagerHelperLazy = powerManagerHelperLazy;
        mPowerManagerHelperLazy = powerManagerHelperLazy;
        mFullscreenUserSwitcherLazy = fullscreenUserSwitcherLazy;
        mFullscreenUserSwitcherLazy = fullscreenUserSwitcherLazy;
        mCarNavigationBarController = carNavigationBarController;
        mCarNavigationBarController = carNavigationBarController;
+0 −2
Original line number Original line Diff line number Diff line
@@ -186,7 +186,6 @@ public class CarStatusBarModule {
            ViewMediatorCallback viewMediatorCallback,
            ViewMediatorCallback viewMediatorCallback,
            DismissCallbackRegistry dismissCallbackRegistry,
            DismissCallbackRegistry dismissCallbackRegistry,
            CarServiceProvider carServiceProvider,
            CarServiceProvider carServiceProvider,
            Lazy<DrivingStateHelper> drivingStateHelperLazy,
            Lazy<PowerManagerHelper> powerManagerHelperLazy,
            Lazy<PowerManagerHelper> powerManagerHelperLazy,
            Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy,
            Lazy<FullscreenUserSwitcher> fullscreenUserSwitcherLazy,
            CarNavigationBarController carNavigationBarController) {
            CarNavigationBarController carNavigationBarController) {
@@ -263,7 +262,6 @@ public class CarStatusBarModule {
                viewMediatorCallback,
                viewMediatorCallback,
                dismissCallbackRegistry,
                dismissCallbackRegistry,
                carServiceProvider,
                carServiceProvider,
                drivingStateHelperLazy,
                powerManagerHelperLazy,
                powerManagerHelperLazy,
                fullscreenUserSwitcherLazy,
                fullscreenUserSwitcherLazy,
                carNavigationBarController);
                carNavigationBarController);
+0 −101
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.statusbar.car;

import android.car.Car;
import android.car.drivingstate.CarDrivingStateEvent;
import android.car.drivingstate.CarDrivingStateManager;
import android.car.drivingstate.CarDrivingStateManager.CarDrivingStateEventListener;
import android.util.Log;

import androidx.annotation.NonNull;

import com.android.systemui.car.CarServiceProvider;

import javax.inject.Inject;
import javax.inject.Singleton;

/**
 * Helper class for connecting to the {@link CarDrivingStateManager} and listening for driving state
 * changes.
 */
@Singleton
public class DrivingStateHelper {
    public static final String TAG = "DrivingStateHelper";

    private final CarServiceProvider mCarServiceProvider;

    private CarDrivingStateManager mDrivingStateManager;
    private CarDrivingStateEventListener mDrivingStateHandler;

    @Inject
    public DrivingStateHelper(CarServiceProvider carServiceProvider) {
        mCarServiceProvider = carServiceProvider;
    }

    /**
     * Sets the {@link CarDrivingStateEventListener}. Should be set before calling {@link
     * #connectToCarService()}.
     */
    public void setCarDrivingStateEventListener(
            @NonNull CarDrivingStateEventListener carDrivingStateEventListener) {
        mDrivingStateHandler = carDrivingStateEventListener;
    }

    /**
     * Queries {@link CarDrivingStateManager} for current driving state. Returns {@code true} if car
     * is idling or moving, {@code false} otherwise.
     */
    public boolean isCurrentlyDriving() {
        if (mDrivingStateManager == null) {
            return false;
        }
        CarDrivingStateEvent currentState = mDrivingStateManager.getCurrentCarDrivingState();
        if (currentState != null) {
            return currentState.eventValue == CarDrivingStateEvent.DRIVING_STATE_IDLING
                    || currentState.eventValue == CarDrivingStateEvent.DRIVING_STATE_MOVING;
        }
        return false; // Default to false.
    }

    /**
     * Establishes connection with the Car service.
     */
    public void connectToCarService() {
        mCarServiceProvider.addListener(mCarServiceLifecycleListener);
    }

    private final CarServiceProvider.CarServiceOnConnectedListener mCarServiceLifecycleListener =
            car -> {
                logD("Car Service connected");
                mDrivingStateManager = (CarDrivingStateManager) car.getCarManager(
                        Car.CAR_DRIVING_STATE_SERVICE);
                if (mDrivingStateManager != null) {
                    mDrivingStateManager.registerListener(mDrivingStateHandler);
                    mDrivingStateHandler.onDrivingStateChanged(
                            mDrivingStateManager.getCurrentCarDrivingState());
                } else {
                    Log.e(TAG, "CarDrivingStateService service not available");
                }
            };

    private void logD(String message) {
        if (Log.isLoggable(TAG, Log.DEBUG)) {
            Log.d(TAG, message);
        }
    }
}