[Central Surfaces] Make shade BatteryMeterView(&Controller) a singleton.
Bug: 277762009 Test: manual: verify battery icon in shade responds to battery changes like plug & unplug Change-Id: Ieed660792f474c2fb01fe3ddb60b0a26847f442b
This commit is contained in:
@@ -16,18 +16,28 @@
|
||||
|
||||
package com.android.systemui.shade
|
||||
|
||||
import android.content.ContentResolver
|
||||
import android.os.Handler
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewStub
|
||||
import androidx.constraintlayout.motion.widget.MotionLayout
|
||||
import com.android.keyguard.LockIconView
|
||||
import com.android.systemui.CoreStartable
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.battery.BatteryMeterView
|
||||
import com.android.systemui.battery.BatteryMeterViewController
|
||||
import com.android.systemui.biometrics.AuthRippleController
|
||||
import com.android.systemui.biometrics.AuthRippleView
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
import com.android.systemui.dagger.qualifiers.Main
|
||||
import com.android.systemui.flags.FeatureFlags
|
||||
import com.android.systemui.settings.UserTracker
|
||||
import com.android.systemui.statusbar.LightRevealScrim
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout
|
||||
import com.android.systemui.statusbar.phone.TapAgainView
|
||||
import com.android.systemui.statusbar.policy.BatteryController
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||
import com.android.systemui.tuner.TunerService
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
@@ -133,5 +143,38 @@ abstract class ShadeModule {
|
||||
fun providesCombinedShadeHeadersConstraintManager(): CombinedShadeHeadersConstraintManager {
|
||||
return CombinedShadeHeadersConstraintManagerImpl
|
||||
}
|
||||
|
||||
// TODO(b/277762009): Only allow this view's controller to inject the view. See above.
|
||||
@Provides
|
||||
@SysUISingleton
|
||||
@Named(SHADE_HEADER)
|
||||
fun providesBatteryMeterView(@Named(SHADE_HEADER) view: MotionLayout): BatteryMeterView {
|
||||
return view.findViewById(R.id.batteryRemainingIcon)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@SysUISingleton
|
||||
@Named(SHADE_HEADER)
|
||||
fun providesBatteryMeterViewController(
|
||||
@Named(SHADE_HEADER) batteryMeterView: BatteryMeterView,
|
||||
userTracker: UserTracker,
|
||||
configurationController: ConfigurationController,
|
||||
tunerService: TunerService,
|
||||
@Main mainHandler: Handler,
|
||||
contentResolver: ContentResolver,
|
||||
featureFlags: FeatureFlags,
|
||||
batteryController: BatteryController,
|
||||
): BatteryMeterViewController {
|
||||
return BatteryMeterViewController(
|
||||
batteryMeterView,
|
||||
userTracker,
|
||||
configurationController,
|
||||
tunerService,
|
||||
mainHandler,
|
||||
contentResolver,
|
||||
featureFlags,
|
||||
batteryController,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,23 +18,18 @@ package com.android.systemui.statusbar.phone.dagger;
|
||||
|
||||
import static com.android.systemui.shade.ShadeModule.SHADE_HEADER;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.os.Handler;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.constraintlayout.motion.widget.MotionLayout;
|
||||
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.battery.BatteryMeterViewController;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.flags.Flags;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.privacy.OngoingPrivacyChip;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.shade.NotificationPanelView;
|
||||
import com.android.systemui.shade.NotificationPanelViewController;
|
||||
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||
@@ -64,11 +59,8 @@ import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
|
||||
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
|
||||
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent;
|
||||
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowStateController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.CarrierConfigTracker;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
|
||||
@@ -150,39 +142,6 @@ public abstract class StatusBarViewModule {
|
||||
return header.findViewById(R.id.statusIcons);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@CentralSurfacesComponent.CentralSurfacesScope
|
||||
@Named(SHADE_HEADER)
|
||||
static BatteryMeterView getBatteryMeterView(@Named(SHADE_HEADER) MotionLayout view) {
|
||||
return view.findViewById(R.id.batteryRemainingIcon);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@CentralSurfacesComponent.CentralSurfacesScope
|
||||
@Named(SHADE_HEADER)
|
||||
static BatteryMeterViewController getBatteryMeterViewController(
|
||||
@Named(SHADE_HEADER) BatteryMeterView batteryMeterView,
|
||||
UserTracker userTracker,
|
||||
ConfigurationController configurationController,
|
||||
TunerService tunerService,
|
||||
@Main Handler mainHandler,
|
||||
ContentResolver contentResolver,
|
||||
FeatureFlags featureFlags,
|
||||
BatteryController batteryController
|
||||
) {
|
||||
return new BatteryMeterViewController(
|
||||
batteryMeterView,
|
||||
userTracker,
|
||||
configurationController,
|
||||
tunerService,
|
||||
mainHandler,
|
||||
contentResolver,
|
||||
featureFlags,
|
||||
batteryController);
|
||||
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@CentralSurfacesComponent.CentralSurfacesScope
|
||||
|
||||
Reference in New Issue
Block a user