Loading packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java +50 −39 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.dagger.qualifiers.MainHandler; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NavigationBarController; import com.android.systemui.statusbar.SuperStatusBarViewFactory; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.KeyguardStateController; Loading @@ -54,10 +55,12 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks private final WindowManager mWindowManager; private final DeviceProvisionedController mDeviceProvisionedController; private final CommandQueue mCommandQueue; private final Lazy<FacetButtonTaskStackListener> mFacetButtonTaskStackListener; private final Lazy<FacetButtonTaskStackListener> mFacetButtonTaskStackListenerLazy; private final Handler mMainHandler; private final Lazy<KeyguardStateController> mKeyguardStateController; private final Lazy<NavigationBarController> mNavigationBarController; private final Lazy<KeyguardStateController> mKeyguardStateControllerLazy; private final Lazy<NavigationBarController> mNavigationBarControllerLazy; private final SuperStatusBarViewFactory mSuperStatusBarViewFactory; private final Lazy<CarFacetButtonController> mCarFacetButtonControllerLazy; private IStatusBarService mBarService; private ActivityManagerWrapper mActivityManagerWrapper; Loading @@ -67,10 +70,12 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks private boolean mBottomNavBarVisible; // Nav bar views. private ViewGroup mNavigationBarWindow; private ViewGroup mTopNavigationBarWindow; private ViewGroup mBottomNavigationBarWindow; private ViewGroup mLeftNavigationBarWindow; private ViewGroup mRightNavigationBarWindow; private CarNavigationBarView mNavigationBarView; private CarNavigationBarView mTopNavigationBarView; private CarNavigationBarView mBottomNavigationBarView; private CarNavigationBarView mLeftNavigationBarView; private CarNavigationBarView mRightNavigationBarView; Loading @@ -84,19 +89,23 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks WindowManager windowManager, DeviceProvisionedController deviceProvisionedController, CommandQueue commandQueue, Lazy<FacetButtonTaskStackListener> facetButtonTaskStackListener, Lazy<FacetButtonTaskStackListener> facetButtonTaskStackListenerLazy, @MainHandler Handler mainHandler, Lazy<KeyguardStateController> keyguardStateController, Lazy<NavigationBarController> navigationBarController) { Lazy<KeyguardStateController> keyguardStateControllerLazy, Lazy<NavigationBarController> navigationBarControllerLazy, SuperStatusBarViewFactory superStatusBarViewFactory, Lazy<CarFacetButtonController> carFacetButtonControllerLazy) { super(context); mCarNavigationBarController = carNavigationBarController; mWindowManager = windowManager; mDeviceProvisionedController = deviceProvisionedController; mCommandQueue = commandQueue; mFacetButtonTaskStackListener = facetButtonTaskStackListener; mFacetButtonTaskStackListenerLazy = facetButtonTaskStackListenerLazy; mMainHandler = mainHandler; mKeyguardStateController = keyguardStateController; mNavigationBarController = navigationBarController; mKeyguardStateControllerLazy = keyguardStateControllerLazy; mNavigationBarControllerLazy = navigationBarControllerLazy; mSuperStatusBarViewFactory = superStatusBarViewFactory; mCarFacetButtonControllerLazy = carFacetButtonControllerLazy; } @Override Loading Loading @@ -137,7 +146,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks createNavigationBar(result); mActivityManagerWrapper = ActivityManagerWrapper.getInstance(); mActivityManagerWrapper.registerTaskStackListener(mFacetButtonTaskStackListener.get()); mActivityManagerWrapper.registerTaskStackListener(mFacetButtonTaskStackListenerLazy.get()); mCarNavigationBarController.connectToHvac(); } Loading @@ -158,10 +167,16 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks // remove and reattach all hvac components such that we don't keep a reference to unused // ui elements mCarNavigationBarController.removeAllFromHvac(); mCarFacetButtonControllerLazy.get().removeAll(); if (mNavigationBarWindow != null) { mNavigationBarWindow.removeAllViews(); mNavigationBarView = null; if (mTopNavigationBarWindow != null) { mTopNavigationBarWindow.removeAllViews(); mTopNavigationBarView = null; } if (mBottomNavigationBarWindow != null) { mBottomNavigationBarWindow.removeAllViews(); mBottomNavigationBarView = null; } if (mLeftNavigationBarWindow != null) { Loading @@ -177,8 +192,8 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks buildNavBarContent(); // If the UI was rebuilt (day/night change) while the keyguard was up we need to // correctly respect that state. if (mKeyguardStateController.get().isShowing()) { updateNavBarForKeyguardContent(); if (mKeyguardStateControllerLazy.get().isShowing()) { mCarNavigationBarController.showAllKeyguardButtons(mDeviceIsSetUpForUser); } } Loading @@ -196,20 +211,28 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks // There has been a car customized nav bar on the default display, so just create nav bars // on external displays. mNavigationBarController.get().createNavigationBars(/* includeDefaultDisplay= */ false, mNavigationBarControllerLazy.get().createNavigationBars(/* includeDefaultDisplay= */ false, result); } private void buildNavBarWindows() { mNavigationBarWindow = mCarNavigationBarController.getBottomWindow(); mTopNavigationBarWindow = mSuperStatusBarViewFactory .getStatusBarWindowView() .findViewById(R.id.car_top_navigation_bar_container); mBottomNavigationBarWindow = mCarNavigationBarController.getBottomWindow(); mLeftNavigationBarWindow = mCarNavigationBarController.getLeftWindow(); mRightNavigationBarWindow = mCarNavigationBarController.getRightWindow(); } private void buildNavBarContent() { mNavigationBarView = mCarNavigationBarController.getBottomBar(mDeviceIsSetUpForUser); if (mNavigationBarView != null) { mNavigationBarWindow.addView(mNavigationBarView); mTopNavigationBarView = mCarNavigationBarController.getTopBar(mDeviceIsSetUpForUser); if (mTopNavigationBarView != null) { mTopNavigationBarWindow.addView(mTopNavigationBarView); } mBottomNavigationBarView = mCarNavigationBarController.getBottomBar(mDeviceIsSetUpForUser); if (mBottomNavigationBarView != null) { mBottomNavigationBarWindow.addView(mBottomNavigationBarView); } mLeftNavigationBarView = mCarNavigationBarController.getLeftBar(mDeviceIsSetUpForUser); Loading @@ -224,7 +247,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks } private void attachNavBarWindows() { if (mNavigationBarWindow != null && !mBottomNavBarVisible) { if (mBottomNavigationBarWindow != null && !mBottomNavBarVisible) { mBottomNavBarVisible = true; WindowManager.LayoutParams lp = new WindowManager.LayoutParams( Loading @@ -237,7 +260,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks PixelFormat.TRANSLUCENT); lp.setTitle("CarNavigationBar"); lp.windowAnimations = 0; mWindowManager.addView(mNavigationBarWindow, lp); mWindowManager.addView(mBottomNavigationBarWindow, lp); } if (mLeftNavigationBarWindow != null) { Loading Loading @@ -297,23 +320,11 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks isKeyboardVisible ? View.GONE : View.VISIBLE); } private void updateNavBarForKeyguardContent() { if (mNavigationBarView != null) { mNavigationBarView.showKeyguardButtons(); } if (mLeftNavigationBarView != null) { mLeftNavigationBarView.showKeyguardButtons(); } if (mRightNavigationBarView != null) { mRightNavigationBarView.showKeyguardButtons(); } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.print(" mTaskStackListener="); pw.println(mFacetButtonTaskStackListener.get()); pw.print(" mNavigationBarView="); pw.println(mNavigationBarView); pw.println(mFacetButtonTaskStackListenerLazy.get()); pw.print(" mBottomNavigationBarView="); pw.println(mBottomNavigationBarView); } } packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java +16 −25 Original line number Diff line number Diff line Loading @@ -24,8 +24,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.systemui.R; import com.android.systemui.statusbar.car.hvac.HvacController; import com.android.systemui.statusbar.car.hvac.TemperatureView; import com.android.systemui.navigationbar.car.hvac.HvacController; import javax.inject.Inject; import javax.inject.Singleton; Loading @@ -38,6 +37,7 @@ public class CarNavigationBarController { private final Context mContext; private final NavigationBarViewFactory mNavigationBarViewFactory; private final Lazy<CarFacetButtonController> mCarFacetButtonControllerLazy; private final Lazy<HvacController> mHvacControllerLazy; private boolean mShowBottom; Loading @@ -58,9 +58,11 @@ public class CarNavigationBarController { @Inject public CarNavigationBarController(Context context, NavigationBarViewFactory navigationBarViewFactory, Lazy<CarFacetButtonController> carFacetButtonControllerLazy, Lazy<HvacController> hvacControllerLazy) { mContext = context; mNavigationBarViewFactory = navigationBarViewFactory; mCarFacetButtonControllerLazy = carFacetButtonControllerLazy; mHvacControllerLazy = hvacControllerLazy; // Read configuration. Loading Loading @@ -129,9 +131,7 @@ public class CarNavigationBarController { @NonNull public CarNavigationBarView getTopBar(boolean isSetUp) { mTopView = mNavigationBarViewFactory.getTopBar(isSetUp); mTopView.setStatusBarWindowTouchListener(mTopBarTouchListener); mTopView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mTopView); setupBar(mTopView, mTopBarTouchListener, mNotificationsShadeController); return mTopView; } Loading @@ -143,9 +143,7 @@ public class CarNavigationBarController { } mBottomView = mNavigationBarViewFactory.getBottomBar(isSetUp); mBottomView.setStatusBarWindowTouchListener(mBottomBarTouchListener); mBottomView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mBottomView); setupBar(mBottomView, mBottomBarTouchListener, mNotificationsShadeController); return mBottomView; } Loading @@ -157,9 +155,7 @@ public class CarNavigationBarController { } mLeftView = mNavigationBarViewFactory.getLeftBar(isSetUp); mLeftView.setStatusBarWindowTouchListener(mLeftBarTouchListener); mLeftView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mLeftView); setupBar(mLeftView, mLeftBarTouchListener, mNotificationsShadeController); return mLeftView; } Loading @@ -171,12 +167,18 @@ public class CarNavigationBarController { } mRightView = mNavigationBarViewFactory.getRightBar(isSetUp); mRightView.setStatusBarWindowTouchListener(mRightBarTouchListener); mRightView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mRightView); setupBar(mRightView, mRightBarTouchListener, mNotificationsShadeController); return mRightView; } private void setupBar(CarNavigationBarView view, View.OnTouchListener statusBarTouchListener, NotificationsShadeController notifShadeController) { view.setStatusBarWindowTouchListener(statusBarTouchListener); view.setNotificationsPanelController(notifShadeController); mCarFacetButtonControllerLazy.get().addAllFacetButtons(view); mHvacControllerLazy.get().addTemperatureViewToController(view); } /** Sets a touch listener for the top navigation bar. */ public void registerTopBarTouchListener(View.OnTouchListener listener) { mTopBarTouchListener = listener; Loading Loading @@ -290,17 +292,6 @@ public class CarNavigationBarController { void togglePanel(); } private void addTemperatureViewToController(View v) { if (v instanceof TemperatureView) { mHvacControllerLazy.get().addHvacTextView((TemperatureView) v); } else if (v instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) v; for (int i = 0; i < viewGroup.getChildCount(); i++) { addTemperatureViewToController(viewGroup.getChildAt(i)); } } } private void checkAllBars(boolean isSetUp) { mTopView = getTopBar(isSetUp); mBottomView = getBottomBar(isSetUp); Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/HvacController.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/HvacController.java +19 −2 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; import static android.car.VehicleAreaType.VEHICLE_AREA_TYPE_GLOBAL; import static android.car.VehiclePropertyIds.HVAC_TEMPERATURE_DISPLAY_UNITS; Loading @@ -25,6 +25,8 @@ import android.car.hardware.CarPropertyValue; import android.car.hardware.hvac.CarHvacManager; import android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback; import android.util.Log; import android.view.View; import android.view.ViewGroup; import com.android.systemui.car.CarServiceProvider; Loading Loading @@ -165,6 +167,21 @@ public class HvacController { mTempComponents.clear(); } /** * Iterate through a view, looking for {@link TemperatureView} instances and add them to the * controller if found. */ public void addTemperatureViewToController(View v) { if (v instanceof TemperatureView) { addHvacTextView((TemperatureView) v); } else if (v instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) v; for (int i = 0; i < viewGroup.getChildCount(); i++) { addTemperatureViewToController(viewGroup.getChildAt(i)); } } } /** * Key for storing {@link TemperatureView}s in a hash map */ Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/TemperatureTextView.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/TemperatureTextView.java +2 −2 Original line number Diff line number Diff line /* * Copyright 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; import android.content.Context; import android.content.res.TypedArray; Loading packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/TemperatureView.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/TemperatureView.java +2 −2 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; /** * Interface for Views that display temperature HVAC properties Loading Loading
packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java +50 −39 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.dagger.qualifiers.MainHandler; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NavigationBarController; import com.android.systemui.statusbar.SuperStatusBarViewFactory; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.KeyguardStateController; Loading @@ -54,10 +55,12 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks private final WindowManager mWindowManager; private final DeviceProvisionedController mDeviceProvisionedController; private final CommandQueue mCommandQueue; private final Lazy<FacetButtonTaskStackListener> mFacetButtonTaskStackListener; private final Lazy<FacetButtonTaskStackListener> mFacetButtonTaskStackListenerLazy; private final Handler mMainHandler; private final Lazy<KeyguardStateController> mKeyguardStateController; private final Lazy<NavigationBarController> mNavigationBarController; private final Lazy<KeyguardStateController> mKeyguardStateControllerLazy; private final Lazy<NavigationBarController> mNavigationBarControllerLazy; private final SuperStatusBarViewFactory mSuperStatusBarViewFactory; private final Lazy<CarFacetButtonController> mCarFacetButtonControllerLazy; private IStatusBarService mBarService; private ActivityManagerWrapper mActivityManagerWrapper; Loading @@ -67,10 +70,12 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks private boolean mBottomNavBarVisible; // Nav bar views. private ViewGroup mNavigationBarWindow; private ViewGroup mTopNavigationBarWindow; private ViewGroup mBottomNavigationBarWindow; private ViewGroup mLeftNavigationBarWindow; private ViewGroup mRightNavigationBarWindow; private CarNavigationBarView mNavigationBarView; private CarNavigationBarView mTopNavigationBarView; private CarNavigationBarView mBottomNavigationBarView; private CarNavigationBarView mLeftNavigationBarView; private CarNavigationBarView mRightNavigationBarView; Loading @@ -84,19 +89,23 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks WindowManager windowManager, DeviceProvisionedController deviceProvisionedController, CommandQueue commandQueue, Lazy<FacetButtonTaskStackListener> facetButtonTaskStackListener, Lazy<FacetButtonTaskStackListener> facetButtonTaskStackListenerLazy, @MainHandler Handler mainHandler, Lazy<KeyguardStateController> keyguardStateController, Lazy<NavigationBarController> navigationBarController) { Lazy<KeyguardStateController> keyguardStateControllerLazy, Lazy<NavigationBarController> navigationBarControllerLazy, SuperStatusBarViewFactory superStatusBarViewFactory, Lazy<CarFacetButtonController> carFacetButtonControllerLazy) { super(context); mCarNavigationBarController = carNavigationBarController; mWindowManager = windowManager; mDeviceProvisionedController = deviceProvisionedController; mCommandQueue = commandQueue; mFacetButtonTaskStackListener = facetButtonTaskStackListener; mFacetButtonTaskStackListenerLazy = facetButtonTaskStackListenerLazy; mMainHandler = mainHandler; mKeyguardStateController = keyguardStateController; mNavigationBarController = navigationBarController; mKeyguardStateControllerLazy = keyguardStateControllerLazy; mNavigationBarControllerLazy = navigationBarControllerLazy; mSuperStatusBarViewFactory = superStatusBarViewFactory; mCarFacetButtonControllerLazy = carFacetButtonControllerLazy; } @Override Loading Loading @@ -137,7 +146,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks createNavigationBar(result); mActivityManagerWrapper = ActivityManagerWrapper.getInstance(); mActivityManagerWrapper.registerTaskStackListener(mFacetButtonTaskStackListener.get()); mActivityManagerWrapper.registerTaskStackListener(mFacetButtonTaskStackListenerLazy.get()); mCarNavigationBarController.connectToHvac(); } Loading @@ -158,10 +167,16 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks // remove and reattach all hvac components such that we don't keep a reference to unused // ui elements mCarNavigationBarController.removeAllFromHvac(); mCarFacetButtonControllerLazy.get().removeAll(); if (mNavigationBarWindow != null) { mNavigationBarWindow.removeAllViews(); mNavigationBarView = null; if (mTopNavigationBarWindow != null) { mTopNavigationBarWindow.removeAllViews(); mTopNavigationBarView = null; } if (mBottomNavigationBarWindow != null) { mBottomNavigationBarWindow.removeAllViews(); mBottomNavigationBarView = null; } if (mLeftNavigationBarWindow != null) { Loading @@ -177,8 +192,8 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks buildNavBarContent(); // If the UI was rebuilt (day/night change) while the keyguard was up we need to // correctly respect that state. if (mKeyguardStateController.get().isShowing()) { updateNavBarForKeyguardContent(); if (mKeyguardStateControllerLazy.get().isShowing()) { mCarNavigationBarController.showAllKeyguardButtons(mDeviceIsSetUpForUser); } } Loading @@ -196,20 +211,28 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks // There has been a car customized nav bar on the default display, so just create nav bars // on external displays. mNavigationBarController.get().createNavigationBars(/* includeDefaultDisplay= */ false, mNavigationBarControllerLazy.get().createNavigationBars(/* includeDefaultDisplay= */ false, result); } private void buildNavBarWindows() { mNavigationBarWindow = mCarNavigationBarController.getBottomWindow(); mTopNavigationBarWindow = mSuperStatusBarViewFactory .getStatusBarWindowView() .findViewById(R.id.car_top_navigation_bar_container); mBottomNavigationBarWindow = mCarNavigationBarController.getBottomWindow(); mLeftNavigationBarWindow = mCarNavigationBarController.getLeftWindow(); mRightNavigationBarWindow = mCarNavigationBarController.getRightWindow(); } private void buildNavBarContent() { mNavigationBarView = mCarNavigationBarController.getBottomBar(mDeviceIsSetUpForUser); if (mNavigationBarView != null) { mNavigationBarWindow.addView(mNavigationBarView); mTopNavigationBarView = mCarNavigationBarController.getTopBar(mDeviceIsSetUpForUser); if (mTopNavigationBarView != null) { mTopNavigationBarWindow.addView(mTopNavigationBarView); } mBottomNavigationBarView = mCarNavigationBarController.getBottomBar(mDeviceIsSetUpForUser); if (mBottomNavigationBarView != null) { mBottomNavigationBarWindow.addView(mBottomNavigationBarView); } mLeftNavigationBarView = mCarNavigationBarController.getLeftBar(mDeviceIsSetUpForUser); Loading @@ -224,7 +247,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks } private void attachNavBarWindows() { if (mNavigationBarWindow != null && !mBottomNavBarVisible) { if (mBottomNavigationBarWindow != null && !mBottomNavBarVisible) { mBottomNavBarVisible = true; WindowManager.LayoutParams lp = new WindowManager.LayoutParams( Loading @@ -237,7 +260,7 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks PixelFormat.TRANSLUCENT); lp.setTitle("CarNavigationBar"); lp.windowAnimations = 0; mWindowManager.addView(mNavigationBarWindow, lp); mWindowManager.addView(mBottomNavigationBarWindow, lp); } if (mLeftNavigationBarWindow != null) { Loading Loading @@ -297,23 +320,11 @@ public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks isKeyboardVisible ? View.GONE : View.VISIBLE); } private void updateNavBarForKeyguardContent() { if (mNavigationBarView != null) { mNavigationBarView.showKeyguardButtons(); } if (mLeftNavigationBarView != null) { mLeftNavigationBarView.showKeyguardButtons(); } if (mRightNavigationBarView != null) { mRightNavigationBarView.showKeyguardButtons(); } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.print(" mTaskStackListener="); pw.println(mFacetButtonTaskStackListener.get()); pw.print(" mNavigationBarView="); pw.println(mNavigationBarView); pw.println(mFacetButtonTaskStackListenerLazy.get()); pw.print(" mBottomNavigationBarView="); pw.println(mBottomNavigationBarView); } }
packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java +16 −25 Original line number Diff line number Diff line Loading @@ -24,8 +24,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.systemui.R; import com.android.systemui.statusbar.car.hvac.HvacController; import com.android.systemui.statusbar.car.hvac.TemperatureView; import com.android.systemui.navigationbar.car.hvac.HvacController; import javax.inject.Inject; import javax.inject.Singleton; Loading @@ -38,6 +37,7 @@ public class CarNavigationBarController { private final Context mContext; private final NavigationBarViewFactory mNavigationBarViewFactory; private final Lazy<CarFacetButtonController> mCarFacetButtonControllerLazy; private final Lazy<HvacController> mHvacControllerLazy; private boolean mShowBottom; Loading @@ -58,9 +58,11 @@ public class CarNavigationBarController { @Inject public CarNavigationBarController(Context context, NavigationBarViewFactory navigationBarViewFactory, Lazy<CarFacetButtonController> carFacetButtonControllerLazy, Lazy<HvacController> hvacControllerLazy) { mContext = context; mNavigationBarViewFactory = navigationBarViewFactory; mCarFacetButtonControllerLazy = carFacetButtonControllerLazy; mHvacControllerLazy = hvacControllerLazy; // Read configuration. Loading Loading @@ -129,9 +131,7 @@ public class CarNavigationBarController { @NonNull public CarNavigationBarView getTopBar(boolean isSetUp) { mTopView = mNavigationBarViewFactory.getTopBar(isSetUp); mTopView.setStatusBarWindowTouchListener(mTopBarTouchListener); mTopView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mTopView); setupBar(mTopView, mTopBarTouchListener, mNotificationsShadeController); return mTopView; } Loading @@ -143,9 +143,7 @@ public class CarNavigationBarController { } mBottomView = mNavigationBarViewFactory.getBottomBar(isSetUp); mBottomView.setStatusBarWindowTouchListener(mBottomBarTouchListener); mBottomView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mBottomView); setupBar(mBottomView, mBottomBarTouchListener, mNotificationsShadeController); return mBottomView; } Loading @@ -157,9 +155,7 @@ public class CarNavigationBarController { } mLeftView = mNavigationBarViewFactory.getLeftBar(isSetUp); mLeftView.setStatusBarWindowTouchListener(mLeftBarTouchListener); mLeftView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mLeftView); setupBar(mLeftView, mLeftBarTouchListener, mNotificationsShadeController); return mLeftView; } Loading @@ -171,12 +167,18 @@ public class CarNavigationBarController { } mRightView = mNavigationBarViewFactory.getRightBar(isSetUp); mRightView.setStatusBarWindowTouchListener(mRightBarTouchListener); mRightView.setNotificationsPanelController(mNotificationsShadeController); addTemperatureViewToController(mRightView); setupBar(mRightView, mRightBarTouchListener, mNotificationsShadeController); return mRightView; } private void setupBar(CarNavigationBarView view, View.OnTouchListener statusBarTouchListener, NotificationsShadeController notifShadeController) { view.setStatusBarWindowTouchListener(statusBarTouchListener); view.setNotificationsPanelController(notifShadeController); mCarFacetButtonControllerLazy.get().addAllFacetButtons(view); mHvacControllerLazy.get().addTemperatureViewToController(view); } /** Sets a touch listener for the top navigation bar. */ public void registerTopBarTouchListener(View.OnTouchListener listener) { mTopBarTouchListener = listener; Loading Loading @@ -290,17 +292,6 @@ public class CarNavigationBarController { void togglePanel(); } private void addTemperatureViewToController(View v) { if (v instanceof TemperatureView) { mHvacControllerLazy.get().addHvacTextView((TemperatureView) v); } else if (v instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) v; for (int i = 0; i < viewGroup.getChildCount(); i++) { addTemperatureViewToController(viewGroup.getChildAt(i)); } } } private void checkAllBars(boolean isSetUp) { mTopView = getTopBar(isSetUp); mBottomView = getBottomBar(isSetUp); Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/HvacController.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/HvacController.java +19 −2 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; import static android.car.VehicleAreaType.VEHICLE_AREA_TYPE_GLOBAL; import static android.car.VehiclePropertyIds.HVAC_TEMPERATURE_DISPLAY_UNITS; Loading @@ -25,6 +25,8 @@ import android.car.hardware.CarPropertyValue; import android.car.hardware.hvac.CarHvacManager; import android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback; import android.util.Log; import android.view.View; import android.view.ViewGroup; import com.android.systemui.car.CarServiceProvider; Loading Loading @@ -165,6 +167,21 @@ public class HvacController { mTempComponents.clear(); } /** * Iterate through a view, looking for {@link TemperatureView} instances and add them to the * controller if found. */ public void addTemperatureViewToController(View v) { if (v instanceof TemperatureView) { addHvacTextView((TemperatureView) v); } else if (v instanceof ViewGroup) { ViewGroup viewGroup = (ViewGroup) v; for (int i = 0; i < viewGroup.getChildCount(); i++) { addTemperatureViewToController(viewGroup.getChildAt(i)); } } } /** * Key for storing {@link TemperatureView}s in a hash map */ Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/TemperatureTextView.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/TemperatureTextView.java +2 −2 Original line number Diff line number Diff line /* * Copyright 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; import android.content.Context; import android.content.res.TypedArray; Loading
packages/CarSystemUI/src/com/android/systemui/statusbar/car/hvac/TemperatureView.java→packages/CarSystemUI/src/com/android/systemui/navigationbar/car/hvac/TemperatureView.java +2 −2 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * Copyright (C) 2019 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. Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.systemui.statusbar.car.hvac; package com.android.systemui.navigationbar.car.hvac; /** * Interface for Views that display temperature HVAC properties Loading