Merge "[Dagger] Add BatteryMeterViewController. Future CLs will move Dependency.get calls from BatteryMeterView to this controller." into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f67fa09cb9
@@ -76,7 +76,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/signal_cluster_battery_padding" />
|
||||
|
||||
<com.android.systemui.BatteryMeterView
|
||||
<com.android.systemui.battery.BatteryMeterView
|
||||
android:id="@+id/batteryRemainingIcon"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/signal_cluster_battery_padding" />
|
||||
|
||||
<com.android.systemui.BatteryMeterView
|
||||
<com.android.systemui.battery.BatteryMeterView
|
||||
android:id="@+id/batteryRemainingIcon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"/>
|
||||
|
||||
<com.android.systemui.BatteryMeterView android:id="@+id/battery"
|
||||
<com.android.systemui.battery.BatteryMeterView android:id="@+id/battery"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.keyguard.dagger;
|
||||
|
||||
import com.android.keyguard.CarrierText;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.statusbar.phone.KeyguardStatusBarView;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -31,4 +32,11 @@ public abstract class KeyguardStatusBarViewModule {
|
||||
static CarrierText getCarrierText(KeyguardStatusBarView view) {
|
||||
return view.findViewById(R.id.keyguard_carrier_text);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@KeyguardStatusBarViewScope
|
||||
static BatteryMeterView getBatteryMeterView(KeyguardStatusBarView view) {
|
||||
return view.findViewById(R.id.battery);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2013 The Android Open Source Project
|
||||
* Copyright (C) 2021 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.
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.systemui;
|
||||
package com.android.systemui.battery;
|
||||
|
||||
import static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
|
||||
|
||||
@@ -50,6 +50,9 @@ import android.widget.TextView;
|
||||
import androidx.annotation.StyleRes;
|
||||
|
||||
import com.android.settingslib.graph.ThemedBatteryDrawable;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.DualToneHandler;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (C) 2021 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.battery;
|
||||
|
||||
import com.android.systemui.util.ViewController;
|
||||
|
||||
import javax.inject.Inject;
|
||||
/** Controller for {@link BatteryMeterView}. **/
|
||||
public class BatteryMeterViewController extends ViewController<BatteryMeterView> {
|
||||
|
||||
@Inject
|
||||
public BatteryMeterViewController(BatteryMeterView view) {
|
||||
super(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onViewAttached() {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onViewDetached() {
|
||||
}
|
||||
}
|
||||
@@ -35,8 +35,8 @@ import android.widget.Space;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.systemui.BatteryMeterView;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.qs.QSDetail.Callback;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowView;
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.annotation.NonNull;
|
||||
import com.android.internal.colorextraction.ColorExtractor;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterViewController;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.demomode.DemoMode;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
@@ -69,6 +70,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final PrivacyLogger mPrivacyLogger;
|
||||
private final PrivacyDialogController mPrivacyDialogController;
|
||||
private final QSExpansionPathInterpolator mQSExpansionPathInterpolator;
|
||||
private final BatteryMeterViewController mBatteryMeterViewController;
|
||||
private final FeatureFlags mFeatureFlags;
|
||||
|
||||
private boolean mListening;
|
||||
@@ -134,6 +136,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
SysuiColorExtractor colorExtractor,
|
||||
PrivacyDialogController privacyDialogController,
|
||||
QSExpansionPathInterpolator qsExpansionPathInterpolator,
|
||||
BatteryMeterViewController batteryMeterViewController,
|
||||
FeatureFlags featureFlags) {
|
||||
super(view);
|
||||
mPrivacyItemController = privacyItemController;
|
||||
@@ -145,6 +148,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mPrivacyLogger = privacyLogger;
|
||||
mPrivacyDialogController = privacyDialogController;
|
||||
mQSExpansionPathInterpolator = qsExpansionPathInterpolator;
|
||||
mBatteryMeterViewController = batteryMeterViewController;
|
||||
mFeatureFlags = featureFlags;
|
||||
|
||||
mQSCarrierGroupController = qsCarrierGroupControllerBuilder
|
||||
@@ -169,6 +173,11 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mLocationSlot = getResources().getString(com.android.internal.R.string.status_bar_location);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInit() {
|
||||
mBatteryMeterViewController.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onViewAttached() {
|
||||
mPrivacyChip.setOnClickListener(mOnClickListener);
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.dagger.qualifiers.RootView;
|
||||
import com.android.systemui.plugins.qs.QS;
|
||||
import com.android.systemui.qs.QSContainerImpl;
|
||||
@@ -107,6 +108,12 @@ public interface QSFragmentModule {
|
||||
return quickStatusBarHeader.findViewById(R.id.quick_qs_panel);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
static BatteryMeterView providesBatteryMeterView(QuickStatusBarHeader quickStatusBarHeader) {
|
||||
return quickStatusBarHeader.findViewById(R.id.batteryRemainingIcon);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
static QSFooterView providesQSFooterView(@RootView View view) {
|
||||
|
||||
@@ -42,9 +42,9 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.systemui.BatteryMeterView;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
|
||||
@@ -26,6 +26,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.keyguard.CarrierTextController;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterViewController;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationCallback;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -50,6 +51,7 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
|
||||
private final UserInfoController mUserInfoController;
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final StatusBarIconController.TintedIconManager.Factory mTintedIconManagerFactory;
|
||||
private final BatteryMeterViewController mBatteryMeterViewController;
|
||||
|
||||
private final ConfigurationController.ConfigurationListener mConfigurationListener =
|
||||
new ConfigurationController.ConfigurationListener() {
|
||||
@@ -115,7 +117,8 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
|
||||
BatteryController batteryController,
|
||||
UserInfoController userInfoController,
|
||||
StatusBarIconController statusBarIconController,
|
||||
StatusBarIconController.TintedIconManager.Factory tintedIconManagerFactory) {
|
||||
StatusBarIconController.TintedIconManager.Factory tintedIconManagerFactory,
|
||||
BatteryMeterViewController batteryMeterViewController) {
|
||||
super(view);
|
||||
mCarrierTextController = carrierTextController;
|
||||
mConfigurationController = configurationController;
|
||||
@@ -124,6 +127,7 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
|
||||
mUserInfoController = userInfoController;
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mTintedIconManagerFactory = tintedIconManagerFactory;
|
||||
mBatteryMeterViewController = batteryMeterViewController;
|
||||
|
||||
Resources r = getResources();
|
||||
mBlockedIcons = Collections.unmodifiableList(Arrays.asList(
|
||||
@@ -136,6 +140,7 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
|
||||
protected void onInit() {
|
||||
super.onInit();
|
||||
mCarrierTextController.init();
|
||||
mBatteryMeterViewController.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
package com.android.systemui.statusbar.phone
|
||||
|
||||
import android.view.View
|
||||
import com.android.systemui.BatteryMeterView
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.battery.BatteryMeterView
|
||||
import com.android.systemui.battery.BatteryMeterViewController
|
||||
import com.android.systemui.qs.carrier.QSCarrierGroupController
|
||||
import com.android.systemui.flags.FeatureFlags
|
||||
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent.StatusBarScope
|
||||
@@ -31,7 +32,8 @@ class SplitShadeHeaderController @Inject constructor(
|
||||
@Named(SPLIT_SHADE_HEADER) private val statusBar: View,
|
||||
private val statusBarIconController: StatusBarIconController,
|
||||
qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder,
|
||||
featureFlags: FeatureFlags
|
||||
featureFlags: FeatureFlags,
|
||||
batteryMeterViewController: BatteryMeterViewController
|
||||
) {
|
||||
|
||||
// TODO(b/194178072) Handle RSSI hiding when multi carrier
|
||||
@@ -56,6 +58,7 @@ class SplitShadeHeaderController @Inject constructor(
|
||||
// battery settings same as in QS icons
|
||||
batteryIcon.setIgnoreTunerUpdates(true)
|
||||
batteryIcon.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE)
|
||||
batteryMeterViewController.init()
|
||||
|
||||
val iconContainer: StatusIconContainer = statusBar.findViewById(R.id.statusIcons)
|
||||
iconManager = StatusBarIconController.IconManager(iconContainer, featureFlags)
|
||||
|
||||
@@ -136,6 +136,7 @@ import com.android.systemui.SystemUI;
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator;
|
||||
import com.android.systemui.animation.DelegateLaunchAnimatorController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.battery.BatteryMeterViewController;
|
||||
import com.android.systemui.biometrics.AuthRippleController;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.camera.CameraIntents;
|
||||
@@ -773,6 +774,7 @@ public class StatusBar extends SystemUI implements
|
||||
|
||||
private final ActivityIntentHelper mActivityIntentHelper;
|
||||
private NotificationStackScrollLayoutController mStackScrollerController;
|
||||
private BatteryMeterViewController mBatteryMeterViewController;
|
||||
|
||||
private final ColorExtractor.OnColorsChangedListener mOnColorsChangedListener =
|
||||
(extractor, which) -> updateTheme();
|
||||
@@ -1205,6 +1207,11 @@ public class StatusBar extends SystemUI implements
|
||||
mStatusBarView.setScrimController(mScrimController);
|
||||
mStatusBarView.setExpansionChangedListeners(mExpansionChangedListeners);
|
||||
|
||||
mBatteryMeterViewController = new BatteryMeterViewController(
|
||||
mStatusBarView.findViewById(R.id.battery)
|
||||
);
|
||||
mBatteryMeterViewController.init();
|
||||
|
||||
// CollapsedStatusBarFragment re-inflated PhoneStatusBarView and both of
|
||||
// mStatusBarView.mExpanded and mStatusBarView.mBouncerShowing are false.
|
||||
// PhoneStatusBarView's new instance will set to be gone in
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.view.View;
|
||||
|
||||
import com.android.keyguard.LockIconView;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.battery.BatteryMeterView;
|
||||
import com.android.systemui.biometrics.AuthRippleView;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelView;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowView;
|
||||
@@ -70,6 +71,13 @@ public abstract class StatusBarViewModule {
|
||||
return notificationShadeWindowView.findViewById(R.id.split_shade_status_bar);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@StatusBarComponent.StatusBarScope
|
||||
static BatteryMeterView getBatteryMeterView(@Named(SPLIT_SHADE_HEADER) View view) {
|
||||
return view.findViewById(R.id.batteryRemainingIcon);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Provides
|
||||
@StatusBarComponent.StatusBarScope
|
||||
|
||||
@@ -23,6 +23,7 @@ import androidx.test.filters.SmallTest
|
||||
import com.android.internal.logging.UiEventLogger
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.battery.BatteryMeterViewController
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor
|
||||
import com.android.systemui.demomode.DemoModeController
|
||||
import com.android.systemui.flags.FeatureFlags
|
||||
@@ -87,6 +88,8 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
|
||||
@Mock
|
||||
private lateinit var privacyDialogController: PrivacyDialogController
|
||||
@Mock
|
||||
private lateinit var batteryMeterViewController: BatteryMeterViewController
|
||||
@Mock
|
||||
private lateinit var clock: Clock
|
||||
@Mock
|
||||
private lateinit var mockView: View
|
||||
@@ -133,6 +136,7 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
|
||||
colorExtractor,
|
||||
privacyDialogController,
|
||||
qsExpansionPathInterpolator,
|
||||
batteryMeterViewController,
|
||||
featureFlags
|
||||
)
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import androidx.test.filters.SmallTest;
|
||||
import com.android.keyguard.CarrierTextController;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.battery.BatteryMeterViewController;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -59,6 +60,8 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
|
||||
private StatusBarIconController mStatusBarIconController;
|
||||
@Mock
|
||||
private FeatureFlags mFeatureFlags;
|
||||
@Mock
|
||||
private BatteryMeterViewController mBatteryMeterViewController;
|
||||
|
||||
private KeyguardStatusBarViewController mController;
|
||||
|
||||
@@ -78,7 +81,8 @@ public class KeyguardStatusBarViewControllerTest extends SysuiTestCase {
|
||||
mBatteryController,
|
||||
mUserInfoController,
|
||||
mStatusBarIconController,
|
||||
new StatusBarIconController.TintedIconManager.Factory(mFeatureFlags)
|
||||
new StatusBarIconController.TintedIconManager.Factory(mFeatureFlags),
|
||||
mBatteryMeterViewController
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user