5/N Rename QSFooterImpl to QSFooterView

Remove QSFooterImplController.Factory

Bug: 168904199
Test: atest SystemUITests && manual
Change-Id: Ie2ef5c620835c7ebb104316c0004e888af1c34cf
This commit is contained in:
Dave Mankoff
2020-10-14 16:51:42 -04:00
parent a61f381ca9
commit 7289d41876
7 changed files with 37 additions and 59 deletions

View File

@@ -16,7 +16,7 @@
-->
<!-- Extends FrameLayout -->
<com.android.systemui.qs.QSFooterImpl
<com.android.systemui.qs.QSFooterView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/qs_footer"
android:layout_width="match_parent"
@@ -130,4 +130,4 @@
</com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
</com.android.keyguard.AlphaOptimizedLinearLayout>
</LinearLayout>
</com.android.systemui.qs.QSFooterImpl>
</com.android.systemui.qs.QSFooterView>

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2017 The Android Open Source Project
* Copyright (C) 2020 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.
@@ -11,7 +11,7 @@
* 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
* limitations under the License.
*/
package com.android.systemui.qs;
@@ -51,7 +51,7 @@ import com.android.systemui.statusbar.phone.MultiUserSwitch;
import com.android.systemui.statusbar.phone.SettingsButton;
/** */
public class QSFooterImpl extends FrameLayout {
public class QSFooterView extends FrameLayout {
private SettingsButton mSettingsButton;
protected View mSettingsContainer;
private PageIndicator mPageIndicator;
@@ -88,7 +88,7 @@ public class QSFooterImpl extends FrameLayout {
}
};
public QSFooterImpl(Context context, AttributeSet attrs) {
public QSFooterView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -201,6 +201,7 @@ public class QSFooterImpl extends FrameLayout {
updateEverything(isTunerEnabled);
}
/** */
public void setExpansion(float headerExpansionFraction) {
mExpansionAmount = headerExpansionFraction;
if (mSettingsCogAnimator != null) mSettingsCogAnimator.setPosition(headerExpansionFraction);
@@ -225,6 +226,7 @@ public class QSFooterImpl extends FrameLayout {
super.onDetachedFromWindow();
}
/** */
public void setListening(boolean listening) {
if (listening == mListening) {
return;
@@ -287,6 +289,7 @@ public class QSFooterImpl extends FrameLayout {
return mExpanded && mMultiUserSwitch.isMultiUserEnabled();
}
/** */
public void setQSPanel(final QSPanel qsPanel) {
if (qsPanel != null) {
mMultiUserSwitch.setQsPanel(qsPanel);

View File

@@ -44,10 +44,10 @@ import com.android.systemui.util.ViewController;
import javax.inject.Inject;
/**
* Controller for {@link QSFooterImpl}.
* Controller for {@link QSFooterView}.
*/
@QSScope
public class QSFooterImplController extends ViewController<QSFooterImpl> implements QSFooter {
public class QSFooterViewController extends ViewController<QSFooterView> implements QSFooter {
private final UserManager mUserManager;
private final UserInfoController mUserInfoController;
@@ -116,7 +116,7 @@ public class QSFooterImplController extends ViewController<QSFooterImpl> impleme
private boolean mExpanded;
@Inject
QSFooterImplController(QSFooterImpl view, UserManager userManager,
QSFooterViewController(QSFooterView view, UserManager userManager,
UserInfoController userInfoController, ActivityStarter activityStarter,
DeviceProvisionedController deviceProvisionedController, UserTracker userTracker,
QSPanelController qsPanelController, TunerService tunerService,
@@ -238,45 +238,4 @@ public class QSFooterImplController extends ViewController<QSFooterImpl> impleme
private boolean isTunerEnabled() {
return mTunerService.isTunerEnabled(mUserTracker.getUserHandle());
}
/**
* Factory for {@link QSFooterImplController}.
*
* TODO(b/168904199): Delete this once QSFooterImpl is no longer marked as injectable.
*/
@QSScope
public static class Factory {
private final UserManager mUserManager;
private final UserInfoController mUserInfoController;
private final ActivityStarter mActivityStarter;
private final DeviceProvisionedController mDeviceProvisionedController;
private final UserTracker mUserTracker;
private final QSPanelController mQsPanelController;
private final TunerService mTunerService;
private final MetricsLogger mMetricsLogger;
@Inject
Factory(UserManager userManager, UserInfoController userInfoController,
ActivityStarter activityStarter,
DeviceProvisionedController deviceProvisionedController, UserTracker userTracker,
QSPanelController qsPanelController, TunerService tunerService,
MetricsLogger metricsLogger) {
mUserManager = userManager;
mUserInfoController = userInfoController;
mActivityStarter = activityStarter;
mDeviceProvisionedController = deviceProvisionedController;
mUserTracker = userTracker;
mQsPanelController = qsPanelController;
mTunerService = tunerService;
mMetricsLogger = metricsLogger;
}
QSFooterImplController create(QSFooterImpl view) {
QSFooterImplController controller = new QSFooterImplController(view, mUserManager,
mUserInfoController, mActivityStarter, mDeviceProvisionedController,
mUserTracker, mQsPanelController, mTunerService, mMetricsLogger);
controller.init();
return controller;
}
}
}

View File

@@ -142,8 +142,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
mQSDetail = view.findViewById(R.id.qs_detail);
mHeader = view.findViewById(R.id.header);
mQSPanelController.setHeaderContainer(view.findViewById(R.id.header_text_container));
mFooter = qsFragmentComponent.getQSFooterFactory().create(
view.findViewById(R.id.qs_footer));
mFooter = qsFragmentComponent.getQSFooter();
mQSContainerImplController = qsFragmentComponent.getQSContainerImplController();
mQSContainerImplController.init();

View File

@@ -18,7 +18,7 @@ package com.android.systemui.qs.dagger;
import com.android.systemui.qs.QSAnimator;
import com.android.systemui.qs.QSContainerImplController;
import com.android.systemui.qs.QSFooterImplController;
import com.android.systemui.qs.QSFooter;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.qs.QSPanelController;
import com.android.systemui.qs.QuickQSPanelController;
@@ -50,6 +50,6 @@ public interface QSFragmentComponent {
/** Construct a {@link QSContainerImplController}. */
QSContainerImplController getQSContainerImplController();
/** */
QSFooterImplController.Factory getQSFooterFactory();
/** Construct a {@link QSFooter} */
QSFooter getQSFooter();
}

View File

@@ -22,6 +22,9 @@ import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.RootView;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.qs.QSContainerImpl;
import com.android.systemui.qs.QSFooter;
import com.android.systemui.qs.QSFooterView;
import com.android.systemui.qs.QSFooterViewController;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.qs.QuickQSPanel;
@@ -70,4 +73,18 @@ public interface QSFragmentModule {
static QuickQSPanel providesQuickQSPanel(QuickStatusBarHeader quickStatusBarHeader) {
return quickStatusBarHeader.findViewById(R.id.quick_qs_panel);
}
/** */
@Provides
static QSFooterView providesQSFooterView(@RootView View view) {
return view.findViewById(R.id.qs_footer);
}
/** */
@Provides
@QSScope
static QSFooter providesQSFooter(QSFooterViewController qsFooterViewController) {
qsFooterViewController.init();
return qsFooterViewController;
}
}

View File

@@ -57,10 +57,10 @@ import org.mockito.MockitoAnnotations;
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
@SmallTest
public class QSFooterImplControllerTest extends LeakCheckedTest {
public class QSFooterViewControllerTest extends LeakCheckedTest {
@Mock
private QSFooterImpl mView;
private QSFooterView mView;
@Mock
private UserManager mUserManager;
@Mock
@@ -85,7 +85,7 @@ public class QSFooterImplControllerTest extends LeakCheckedTest {
@Mock
private View mEdit;
private QSFooterImplController mController;
private QSFooterViewController mController;
@Before
public void setup() throws Exception {
@@ -106,7 +106,7 @@ public class QSFooterImplControllerTest extends LeakCheckedTest {
when(mView.findViewById(R.id.build)).thenReturn(mBuildText);
when(mView.findViewById(android.R.id.edit)).thenReturn(mEdit);
mController = new QSFooterImplController(mView, mUserManager, mUserInfoController,
mController = new QSFooterViewController(mView, mUserManager, mUserInfoController,
mActivityStarter, mDeviceProvisionedController, mUserTracker, mQSPanelController,
mFakeTunerService, mMetricsLogger);