6/N Remove UserTracker from QSBarHeader
Remove the UserTracker from the QuickStatusBarHeader. This removes the last view injection from QuickStatusBarHeader. Bug: 168904199 Test: atest SytemUITests Change-Id: I2f5bf971041b75642b292f7494f31f210e1cb724
This commit is contained in:
@@ -17,10 +17,7 @@ package com.android.systemui.qs;
|
||||
import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
|
||||
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
|
||||
import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
|
||||
|
||||
import android.annotation.ColorInt;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlarmManager.AlarmClockInfo;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
@@ -58,7 +55,6 @@ import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
|
||||
import com.android.systemui.privacy.OngoingPrivacyChip;
|
||||
import com.android.systemui.qs.QSDetail.Callback;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowView;
|
||||
import com.android.systemui.statusbar.policy.Clock;
|
||||
@@ -66,9 +62,6 @@ import com.android.systemui.statusbar.policy.Clock;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
/**
|
||||
* View that contains the top-most bits of the screen (primarily the status bar with date, time, and
|
||||
* battery) and also contains the {@link QuickQSPanel} along with some of the panel's inner
|
||||
@@ -103,7 +96,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
private OngoingPrivacyChip mPrivacyChip;
|
||||
private Space mSpace;
|
||||
private BatteryMeterView mBatteryRemainingIcon;
|
||||
private UserTracker mUserTracker;
|
||||
|
||||
// Used for RingerModeTracker
|
||||
private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this);
|
||||
@@ -118,13 +110,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
private float mExpandedHeaderAlpha = 1.0f;
|
||||
private float mKeyguardExpansionFraction;
|
||||
|
||||
@Inject
|
||||
public QuickStatusBarHeader(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
|
||||
UserTracker userTracker) {
|
||||
public QuickStatusBarHeader(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mDualToneHandler = new DualToneHandler(
|
||||
new ContextThemeWrapper(context, R.style.QSHeaderTheme));
|
||||
mUserTracker = userTracker;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -182,9 +171,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
return mHeaderQsPanel;
|
||||
}
|
||||
|
||||
void updateStatusText(int ringerMode, AlarmClockInfo nextAlarm, boolean zenOverridingRinger) {
|
||||
void updateStatusText(int ringerMode, AlarmClockInfo nextAlarm, boolean zenOverridingRinger,
|
||||
boolean use24HourFormat) {
|
||||
boolean changed = updateRingerStatus(ringerMode, zenOverridingRinger)
|
||||
|| updateAlarmStatus(nextAlarm);
|
||||
|| updateAlarmStatus(nextAlarm, use24HourFormat);
|
||||
|
||||
if (changed) {
|
||||
boolean alarmVisible = mNextAlarmTextView.getVisibility() == View.VISIBLE;
|
||||
@@ -218,14 +208,14 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
!Objects.equals(originalRingerText, mRingerModeTextView.getText());
|
||||
}
|
||||
|
||||
private boolean updateAlarmStatus(AlarmClockInfo nextAlarm) {
|
||||
private boolean updateAlarmStatus(AlarmClockInfo nextAlarm, boolean use24HourFormat) {
|
||||
boolean isOriginalVisible = mNextAlarmTextView.getVisibility() == View.VISIBLE;
|
||||
CharSequence originalAlarmText = mNextAlarmTextView.getText();
|
||||
|
||||
boolean alarmVisible = false;
|
||||
if (nextAlarm != null) {
|
||||
alarmVisible = true;
|
||||
mNextAlarmTextView.setText(formatNextAlarm(nextAlarm));
|
||||
mNextAlarmTextView.setText(formatNextAlarm(nextAlarm, use24HourFormat));
|
||||
}
|
||||
mNextAlarmIcon.setVisibility(alarmVisible ? View.VISIBLE : View.GONE);
|
||||
mNextAlarmTextView.setVisibility(alarmVisible ? View.VISIBLE : View.GONE);
|
||||
@@ -470,12 +460,11 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
mHeaderQsPanel.setCallback(qsPanelCallback);
|
||||
}
|
||||
|
||||
private String formatNextAlarm(AlarmManager.AlarmClockInfo info) {
|
||||
private String formatNextAlarm(AlarmClockInfo info, boolean use24HourFormat) {
|
||||
if (info == null) {
|
||||
return "";
|
||||
}
|
||||
String skeleton = android.text.format.DateFormat
|
||||
.is24HourFormat(mContext, mUserTracker.getUserId()) ? "EHm" : "Ehma";
|
||||
String skeleton = use24HourFormat ? "EHm" : "Ehma";
|
||||
String pattern = android.text.format.DateFormat
|
||||
.getBestDateTimePattern(Locale.getDefault(), skeleton);
|
||||
return android.text.format.DateFormat.format(pattern, info.getTriggerTime()).toString();
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.android.systemui.privacy.PrivacyChipEvent;
|
||||
import com.android.systemui.privacy.PrivacyItem;
|
||||
import com.android.systemui.privacy.PrivacyItemController;
|
||||
import com.android.systemui.qs.carrier.QSCarrierGroupController;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.StatusIconContainer;
|
||||
@@ -83,6 +84,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final DemoModeController mDemoModeController;
|
||||
private final UserTracker mUserTracker;
|
||||
private final StatusIconContainer mIconContainer;
|
||||
private final StatusBarIconController.TintedIconManager mIconManager;
|
||||
private final DemoMode mDemoModeReceiver;
|
||||
@@ -97,20 +99,29 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final ZenModeController.Callback mZenModeControllerCallback = new Callback() {
|
||||
@Override
|
||||
public void onZenChanged(int zen) {
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger());
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger(),
|
||||
use24HourFormat());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigChanged(ZenModeConfig config) {
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger());
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger(),
|
||||
use24HourFormat());
|
||||
}
|
||||
};
|
||||
|
||||
private boolean use24HourFormat() {
|
||||
return android.text.format.DateFormat.is24HourFormat(
|
||||
mView.getContext(), mUserTracker.getUserId());
|
||||
|
||||
}
|
||||
|
||||
private final NextAlarmChangeCallback mNextAlarmChangeCallback = new NextAlarmChangeCallback() {
|
||||
@Override
|
||||
public void onNextAlarmChanged(AlarmClockInfo nextAlarm) {
|
||||
mNextAlarm = nextAlarm;
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger());
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger(),
|
||||
use24HourFormat());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -188,8 +199,8 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
PrivacyItemController privacyItemController, RingerModeTracker ringerModeTracker,
|
||||
ActivityStarter activityStarter, UiEventLogger uiEventLogger,
|
||||
QSTileHost qsTileHost, StatusBarIconController statusBarIconController,
|
||||
CommandQueue commandQueue,
|
||||
DemoModeController demoModeController,
|
||||
CommandQueue commandQueue, DemoModeController demoModeController,
|
||||
UserTracker userTracker,
|
||||
QSCarrierGroupController.Builder qsCarrierGroupControllerBuilder) {
|
||||
super(view);
|
||||
mZenModeController = zenModeController;
|
||||
@@ -202,6 +213,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mCommandQueue = commandQueue;
|
||||
mDemoModeController = demoModeController;
|
||||
mUserTracker = userTracker;
|
||||
mLifecycle = new LifecycleRegistry(mLifecycleOwner);
|
||||
|
||||
mQSCarrierGroupController = qsCarrierGroupControllerBuilder
|
||||
@@ -224,7 +236,8 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
protected void onViewAttached() {
|
||||
mRingerModeTracker.getRingerModeInternal().observe(mLifecycleOwner, ringer -> {
|
||||
mRingerMode = ringer;
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger());
|
||||
mView.updateStatusText(mRingerMode, mNextAlarm, isZenOverridingRinger(),
|
||||
use24HourFormat());
|
||||
});
|
||||
|
||||
mClockView.setOnClickListener(mOnClickListener);
|
||||
@@ -368,6 +381,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final DemoModeController mDemoModeController;
|
||||
private final UserTracker mUserTracker;
|
||||
private final QSCarrierGroupController.Builder mQSCarrierGroupControllerBuilder;
|
||||
private QuickStatusBarHeader mView;
|
||||
|
||||
@@ -376,7 +390,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
PrivacyItemController privacyItemController, RingerModeTracker ringerModeTracker,
|
||||
ActivityStarter activityStarter, UiEventLogger uiEventLogger, QSTileHost qsTileHost,
|
||||
StatusBarIconController statusBarIconController, CommandQueue commandQueue,
|
||||
DemoModeController demoModeController,
|
||||
DemoModeController demoModeController, UserTracker userTracker,
|
||||
QSCarrierGroupController.Builder qsCarrierGroupControllerBuilder) {
|
||||
mZenModeController = zenModeController;
|
||||
mNextAlarmController = nextAlarmController;
|
||||
@@ -388,6 +402,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mCommandQueue = commandQueue;
|
||||
mDemoModeController = demoModeController;
|
||||
mUserTracker = userTracker;
|
||||
mQSCarrierGroupControllerBuilder = qsCarrierGroupControllerBuilder;
|
||||
}
|
||||
|
||||
@@ -401,7 +416,8 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
return new QuickStatusBarHeaderController(mView, mZenModeController,
|
||||
mNextAlarmController, mPrivacyItemController, mRingerModeTracker,
|
||||
mActivityStarter, mUiEventLogger, mQsTileHost, mStatusBarIconController,
|
||||
mCommandQueue, mDemoModeController, mQSCarrierGroupControllerBuilder);
|
||||
mCommandQueue, mDemoModeController, mUserTracker,
|
||||
mQSCarrierGroupControllerBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.qs.QSFooterImpl;
|
||||
import com.android.systemui.qs.QSPanel;
|
||||
import com.android.systemui.qs.QuickQSPanel;
|
||||
import com.android.systemui.qs.QuickStatusBarHeader;
|
||||
import com.android.systemui.qs.customize.QSCustomizer;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
|
||||
|
||||
@@ -92,10 +91,6 @@ public class InjectionInflationController {
|
||||
@BindsInstance AttributeSet attributeSet);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the QuickStatusBarHeader.
|
||||
*/
|
||||
QuickStatusBarHeader createQsHeader();
|
||||
/**
|
||||
* Creates the QSFooterImpl.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user