diff --git a/packages/SystemUI/res/layout/car_qs_detail.xml b/packages/SystemUI/res/layout/car_qs_detail.xml
deleted file mode 100644
index 5703f7ee5a4e4..0000000000000
--- a/packages/SystemUI/res/layout/car_qs_detail.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/packages/SystemUI/res/layout/car_qs_panel.xml b/packages/SystemUI/res/layout/car_qs_panel.xml
index 4f7fa15921f84..d1f7ff83db934 100644
--- a/packages/SystemUI/res/layout/car_qs_panel.xml
+++ b/packages/SystemUI/res/layout/car_qs_panel.xml
@@ -24,11 +24,4 @@
-
-
-
-
diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSDetail.java
deleted file mode 100644
index 1fc6bf4840dfb..0000000000000
--- a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSDetail.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2017 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.qs.car;
-
-import android.annotation.Nullable;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.util.AttributeSet;
-import android.util.SparseArray;
-import android.view.View;
-import android.widget.FrameLayout;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.systemui.Dependency;
-import com.android.systemui.plugins.qs.DetailAdapter;
-import com.android.systemui.qs.QSDetail;
-import com.android.systemui.qs.QSPanel;
-
-/**
- * The detail view that displays below the status bar header in the auto use-case. This view
- * additional details of quick settings options, such as for showing the users when user switcher
- * has been selected.
- */
-public class CarQSDetail extends FrameLayout {
-
- private final SparseArray mDetailViews = new SparseArray<>();
-
- private DetailAdapter mDetailAdapter;
-
- public CarQSDetail(Context context, @Nullable AttributeSet attrs) {
- super(context, attrs);
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
-
- for (int i = 0; i < mDetailViews.size(); i++) {
- mDetailViews.valueAt(i).dispatchConfigurationChanged(newConfig);
- }
- }
-
- public void setQsPanel(QSPanel panel) {
- panel.setCallback(mQsPanelCallback);
- }
-
- public boolean isShowingDetail() {
- return mDetailAdapter != null;
- }
-
- public void handleShowingDetail(@Nullable DetailAdapter adapter) {
- boolean showingDetail = adapter != null;
- setClickable(showingDetail);
-
- // If it's already in the right state (not showing or already showing the right adapter),
- // then no need to change.
- if ((mDetailAdapter == null && adapter == null) || mDetailAdapter == adapter) {
- return;
- }
-
- if (showingDetail) {
- int viewCacheIndex = adapter.getMetricsCategory();
- View detailView = adapter.createDetailView(mContext, mDetailViews.get(viewCacheIndex),
- this);
- if (detailView == null) {
- throw new IllegalStateException("Must return detail view");
- }
-
- removeAllViews();
- addView(detailView);
- mDetailViews.put(viewCacheIndex, detailView);
- Dependency.get(MetricsLogger.class).visible(adapter.getMetricsCategory());
- mDetailAdapter = adapter;
- setVisibility(View.VISIBLE);
- } else {
- if (mDetailAdapter != null) {
- Dependency.get(MetricsLogger.class).hidden(mDetailAdapter.getMetricsCategory());
- }
- mDetailAdapter = null;
- setVisibility(View.GONE);
- }
- }
-
- private QSDetail.Callback mQsPanelCallback = new QSDetail.Callback() {
- @Override
- public void onToggleStateChanged(final boolean state) {
- }
-
- @Override
- public void onShowingDetail(final DetailAdapter detail, final int x, final int y) {
- post(() -> handleShowingDetail(detail));
- }
-
- @Override
- public void onScanStateChanged(final boolean state) {
- }
- };
-}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java
index ab79646d240bd..9730f29da9770 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java
@@ -18,7 +18,6 @@ import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@@ -38,16 +37,11 @@ import com.android.systemui.statusbar.policy.UserInfoController;
*/
public class CarQSFooter extends RelativeLayout implements QSFooter,
UserInfoController.OnUserInfoChangedListener {
- private static final String TAG = "CarQSFooter";
-
private UserInfoController mUserInfoController;
private MultiUserSwitch mMultiUserSwitch;
private ImageView mMultiUserAvatar;
- private CarQSDetail mQsDetail;
- private QSPanel mQsPanel;
-
public CarQSFooter(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -60,21 +54,6 @@ public class CarQSFooter extends RelativeLayout implements QSFooter,
mUserInfoController = Dependency.get(UserInfoController.class);
- mMultiUserSwitch.setOnClickListener(v -> {
- if (mQsDetail == null || mQsPanel == null) {
- Log.e(TAG, "CarQSFooter not properly set up; cannot display user switcher.");
- return;
- }
-
- // MultiUserSwitch.onClick() shows the detail, but does not close the detail, so need
- // to use the detail's showing state to determine the correct action.
- if (mQsDetail.isShowingDetail()) {
- mQsPanel.closeDetail();
- } else {
- mMultiUserSwitch.onClick(v);
- }
- });
-
findViewById(R.id.settings_button).setOnClickListener(v -> {
ActivityStarter activityStarter = Dependency.get(ActivityStarter.class);
@@ -94,22 +73,11 @@ public class CarQSFooter extends RelativeLayout implements QSFooter,
mMultiUserAvatar.setImageDrawable(picture);
}
- /**
- * Needed for setup in order to allow the multi user switch to show the users.
- *
- * @param panel the QSPanel that listens to the user switch controller. This cannot be null
- * during normal operation.
- */
@Override
public void setQSPanel(@Nullable QSPanel panel) {
if (panel != null) {
mMultiUserSwitch.setQsPanel(panel);
}
- mQsPanel = panel;
- }
-
- public void setQSDetail(CarQSDetail detail) {
- mQsDetail = detail;
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java
index 1605cad24e713..7c2a8129813a5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java
@@ -25,7 +25,6 @@ import android.view.ViewGroup;
import com.android.systemui.R;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.qs.QSFooter;
-import com.android.systemui.qs.QSPanel;
/**
* A quick settings fragment for the car. For auto, there is no row for quick settings or ability
@@ -34,9 +33,7 @@ import com.android.systemui.qs.QSPanel;
*/
public class CarQSFragment extends Fragment implements QS {
private View mHeader;
- private CarQSFooter mFooter;
- private QSPanel mQsPanel;
- private CarQSDetail mQsDetail;
+ private QSFooter mFooter;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@@ -49,13 +46,6 @@ public class CarQSFragment extends Fragment implements QS {
super.onViewCreated(view, savedInstanceState);
mHeader = view.findViewById(R.id.header);
mFooter = view.findViewById(R.id.qs_footer);
- mQsPanel = view.findViewById(R.id.quick_settings_panel);
- mQsDetail = view.findViewById(R.id.qs_detail);
-
- // Inform each other about their existence.
- mQsDetail.setQsPanel(mQsPanel);
- mFooter.setQSDetail(mQsDetail);
- mFooter.setQSPanel(mQsPanel);
}
@Override
@@ -133,13 +123,13 @@ public class CarQSFragment extends Fragment implements QS {
@Override
public boolean isShowingDetail() {
- return mQsDetail.isShowingDetail();
+ // No detail panel to close.
+ return false;
}
@Override
public void closeDetail() {
- mQsDetail.setVisibility(View.GONE);
- mQsPanel.closeDetail();
+ // No detail panel to close.
}
@Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/car/CarQsFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/car/CarQsFragmentTest.java
index f770631ceb7c5..4f87b02ed35f2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/car/CarQsFragmentTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/car/CarQsFragmentTest.java
@@ -28,7 +28,6 @@ import com.android.keyguard.CarrierText;
import com.android.systemui.Dependency;
import com.android.systemui.SysuiBaseFragmentTest;
import com.android.systemui.statusbar.policy.Clock;
-import com.android.systemui.statusbar.policy.UserSwitcherController;
import org.junit.Before;
import org.junit.Test;
@@ -58,8 +57,6 @@ public class CarQsFragmentTest extends SysuiBaseFragmentTest {
mDependency.injectTestDependency(Dependency.BG_LOOPER,
TestableLooper.get(this).getLooper());
- mDependency.injectMockDependency(UserSwitcherController.class);
- injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
}
@Test