mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Create new DesktopNavbarButtonsViewController class.
This CL creates a new DesktopNavbarButtonsViewController class to allow for taskbar buttons and status icons customization on desktop environment. Recall: http://recall/clips/e008d2de-36d3-47f6-954a-5ce18bac69a5 Bug: 213964564 Bug: 196757951 Test: Switch between different system navigation modes and verify the desktop taskbar buttons stay on screen. Change-Id: Ie7a9a044fad3b60cd37d910b8eb78c8734aadfd5
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2022 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.launcher3.taskbar;
|
||||
|
||||
import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_NOTIFICATIONS;
|
||||
import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_QUICK_SETTINGS;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
|
||||
/**
|
||||
* Controller for managing buttons and status icons in taskbar in a desktop environment.
|
||||
*/
|
||||
public class DesktopNavbarButtonsViewController extends NavbarButtonsViewController {
|
||||
|
||||
private final TaskbarActivityContext mContext;
|
||||
private final FrameLayout mNavButtonsView;
|
||||
private final ViewGroup mNavButtonContainer;
|
||||
|
||||
private TaskbarControllers mControllers;
|
||||
|
||||
public DesktopNavbarButtonsViewController(TaskbarActivityContext context,
|
||||
FrameLayout navButtonsView) {
|
||||
super(context, navButtonsView);
|
||||
mContext = context;
|
||||
mNavButtonsView = navButtonsView;
|
||||
mNavButtonContainer = mNavButtonsView.findViewById(R.id.end_nav_buttons);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the controller
|
||||
*/
|
||||
@Override
|
||||
public void init(TaskbarControllers controllers) {
|
||||
mControllers = controllers;
|
||||
mNavButtonsView.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize;
|
||||
|
||||
// Quick settings and notifications buttons
|
||||
addButton(R.drawable.ic_sysbar_quick_settings, BUTTON_QUICK_SETTINGS,
|
||||
mNavButtonContainer, mControllers.navButtonController,
|
||||
R.id.quick_settings_button);
|
||||
addButton(R.drawable.ic_sysbar_notifications, BUTTON_NOTIFICATIONS,
|
||||
mNavButtonContainer, mControllers.navButtonController,
|
||||
R.id.notifications_button);
|
||||
}
|
||||
|
||||
/** Cleans up on destroy */
|
||||
@Override
|
||||
public void onDestroy() { }
|
||||
}
|
||||
Reference in New Issue
Block a user