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

Commit 48f85bef authored by Jason Monk's avatar Jason Monk
Browse files

Convert QS to use injection and not Dependency

Test: Update ignored test, somewhat
Change-Id: Iec69c52ee1d0826bbbde6aa414fb5f81d7f33303
parent 9424af73
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.view.View;
import com.android.systemui.ConfigurationChangedReceiver;
import com.android.systemui.Dumpable;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.statusbar.phone.NavigationBarFragment;

import java.io.FileDescriptor;
@@ -119,6 +120,10 @@ public class FragmentService implements ConfigurationChangedReceiver, Dumpable {
         * Inject a NavigationBarFragment.
         */
        NavigationBarFragment createNavigationBarFragment();
        /**
         * Inject a QSFragment.
         */
        QSFragment createQSFragment();
    }

    private class FragmentHostState {
+8 −3
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import android.widget.FrameLayout.LayoutParams;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
import com.android.systemui.R;
import com.android.systemui.R.id;
@@ -47,6 +46,8 @@ import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;

import javax.inject.Inject;

public class QSFragment extends Fragment implements QS, CommandQueue.Callbacks {
    private static final String TAG = "QS";
    private static final boolean DEBUG = false;
@@ -74,8 +75,12 @@ public class QSFragment extends Fragment implements QS, CommandQueue.Callbacks {
    private float mLastQSExpansion = -1;
    private boolean mQsDisabled;

    private RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler =
            Dependency.get(RemoteInputQuickSettingsDisabler.class);
    private final RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler;

    @Inject
    public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler) {
        mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
+1 −1
Original line number Diff line number Diff line
@@ -1014,7 +1014,7 @@ public class StatusBar extends SystemUI implements DemoMode,
    }

    protected QS createDefaultQSFragment() {
        return new QSFragment();
        return FragmentHostManager.get(mStatusBarWindow).create(QSFragment.class);
    }

    private void setUpPresenter() {
+9 −1
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.os.Looper;
import android.support.test.filters.SmallTest;
import android.testing.AndroidTestingRunner;
@@ -35,6 +37,7 @@ import com.android.systemui.R;
import com.android.systemui.SysuiBaseFragmentTest;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.policy.Clock;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.statusbar.policy.UserSwitcherController;

import org.junit.Before;
@@ -52,6 +55,7 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {

    public QSFragmentTest() {
        super(QSFragment.class);
        injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
    }

    @Before
@@ -70,7 +74,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
        mDependency.injectTestDependency(Dependency.BG_LOOPER,
                TestableLooper.get(this).getLooper());
        mDependency.injectMockDependency(UserSwitcherController.class);
        injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
    }

    @Test
@@ -116,4 +119,9 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
        assertTrue(qs.isListening());
        assertTrue(qs.isExpanded());
    }

    @Override
    protected Fragment instantiate(Context context, String className, Bundle arguments) {
        return new QSFragment(new RemoteInputQuickSettingsDisabler(context));
    }
}