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

Commit ac2ffddb authored by yoshiki iguchi's avatar yoshiki iguchi
Browse files

Make DeviceProvisionManager overridable

This CL makes DeviceProvisionManager overridable and enables
us to replace this with a custom class by modifying the factory
code in SystemUIFactory.

Bug: 129379658
Change-Id: I9fdb6eba8542444edcf69b155c798b787ccaa557
Test:  systemui works on walleye
parent 59869a01
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -42,8 +42,6 @@ import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.BluetoothControllerImpl;
import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.CastControllerImpl;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl;
import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.ExtensionControllerImpl;
import com.android.systemui.statusbar.policy.FlashlightController;
@@ -174,12 +172,6 @@ public abstract class DependencyBinder {
    public abstract NextAlarmController provideNextAlarmController(
            NextAlarmControllerImpl controllerImpl);

    /**
     */
    @Binds
    public abstract DeviceProvisionedController provideDeviceProvisionedController(
            DeviceProvisionedControllerImpl controllerImpl);

    /**
     */
    @Binds
+9 −0
Original line number Diff line number Diff line
@@ -50,6 +50,8 @@ import com.android.systemui.statusbar.phone.AutoHideController;
import com.android.systemui.statusbar.phone.ConfigurationControllerImpl;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.util.leak.LeakDetector;

@@ -212,4 +214,11 @@ public class DependencyProvider {
    public PackageManagerWrapper providePackageManagerWrapper() {
        return PackageManagerWrapper.getInstance();
    }

    @Singleton
    @Provides
    public DeviceProvisionedController provideDeviceProvisionedController(Context context,
            @Named(MAIN_HANDLER_NAME) Handler mainHandler) {
        return new DeviceProvisionedControllerImpl(context, mainHandler);
    }
}
+12 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME
import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;

import android.annotation.Nullable;
import android.annotation.NonNull;
import android.app.AlarmManager;
import android.content.Context;
import android.os.Handler;
@@ -27,6 +28,7 @@ import android.os.Looper;
import android.util.Log;
import android.view.ViewGroup;


import com.android.internal.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.util.function.TriConsumer;
import com.android.internal.widget.LockPatternUtils;
@@ -108,11 +110,19 @@ public class SystemUIFactory {
    public SystemUIFactory() {}

    protected void init(Context context) {
        mRootComponent = DaggerSystemUIFactory_SystemUIRootComponent.builder()
        initWithRootComponent(DaggerSystemUIFactory_SystemUIRootComponent.builder()
                .systemUIFactory(this)
                .dependencyProvider(new com.android.systemui.DependencyProvider())
                .contextHolder(new ContextHolder(context))
                .build();
                .build());
    }

    protected void initWithRootComponent(@NonNull SystemUIRootComponent rootComponent) {
        if (mRootComponent != null) {
            throw new RuntimeException("Root component can be set only once.");
        }

        mRootComponent = rootComponent;
    }

    public SystemUIRootComponent getRootComponent() {
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ import javax.inject.Singleton;
public class DeviceProvisionedControllerImpl extends CurrentUserTracker implements
        DeviceProvisionedController {

    private static final String TAG = DeviceProvisionedControllerImpl.class.getSimpleName();
    protected static final String TAG = DeviceProvisionedControllerImpl.class.getSimpleName();
    private final ArrayList<DeviceProvisionedListener> mListeners = new ArrayList<>();
    private final ContentResolver mContentResolver;
    private final Context mContext;