Loading packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java +7 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import android.safetycenter.SafetyCenterManager; import android.service.dreams.DreamService; import android.service.dreams.IDreamManager; import android.telecom.TelecomManager; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.view.CrossWindowBlurListeners; Loading Loading @@ -450,6 +451,12 @@ public class FrameworkServicesModule { return context.getSystemService(OverlayManager.class); } @Provides @Singleton static CarrierConfigManager provideCarrierConfigManager(Context context) { return context.getSystemService(CarrierConfigManager.class); } @Provides @Singleton static WindowManager provideWindowManager(Context context) { Loading packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java +13 −16 Original line number Diff line number Diff line Loading @@ -21,8 +21,6 @@ import android.widget.TextView; import com.android.settingslib.WirelessUtils; import java.util.List; /** Shows the operator name */ public class OperatorNameView extends TextView { private boolean mDemoMode; Loading @@ -43,8 +41,10 @@ public class OperatorNameView extends TextView { mDemoMode = demoMode; } void update(boolean showOperatorName, boolean hasMobile, List<OperatorNameViewController.SubInfo> subs) { void update(boolean showOperatorName, boolean hasMobile, OperatorNameViewController.SubInfo sub ) { setVisibility(showOperatorName ? VISIBLE : GONE); boolean airplaneMode = WirelessUtils.isAirplaneModeOn(mContext); Loading @@ -55,24 +55,21 @@ public class OperatorNameView extends TextView { } if (!mDemoMode) { updateText(subs); updateText(sub); } } void updateText(List<OperatorNameViewController.SubInfo> subs) { void updateText(OperatorNameViewController.SubInfo subInfo) { CharSequence carrierName = null; CharSequence displayText = null; final int N = subs.size(); for (int i = 0; i < N; i++) { OperatorNameViewController.SubInfo subInfo = subs.get(i); CharSequence carrierName = subs.get(i).getCarrierName(); if (subInfo != null) { carrierName = subInfo.getCarrierName(); } if (!TextUtils.isEmpty(carrierName) && subInfo.simReady()) { if (subInfo.stateInService()) { displayText = subInfo.getCarrierName(); break; displayText = carrierName; } } } setText(displayText); } } packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java +48 −28 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.os.Bundle; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.view.View; Loading @@ -30,12 +31,11 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.statusbar.connectivity.IconState; import com.android.systemui.statusbar.connectivity.NetworkController; import com.android.systemui.statusbar.connectivity.SignalCallback; import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.ViewController; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; /** Controller for {@link OperatorNameView}. */ Loading @@ -47,19 +47,22 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> private final TunerService mTunerService; private final TelephonyManager mTelephonyManager; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final CarrierConfigTracker mCarrierConfigTracker; private OperatorNameViewController(OperatorNameView view, DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { KeyguardUpdateMonitor keyguardUpdateMonitor, CarrierConfigTracker carrierConfigTracker) { super(view); mDarkIconDispatcher = darkIconDispatcher; mNetworkController = networkController; mTunerService = tunerService; mTelephonyManager = telephonyManager; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mCarrierConfigTracker = carrierConfigTracker; } @Override Loading @@ -79,24 +82,22 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> } private void update() { mView.update(mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0, mTelephonyManager.isDataCapable(), getSubInfos()); SubInfo defaultSubInfo = getDefaultSubInfo(); boolean showOperatorName = mCarrierConfigTracker .getShowOperatorNameInStatusBarConfig(defaultSubInfo.getSubId()) && (mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0); mView.update(showOperatorName, mTelephonyManager.isDataCapable(), getDefaultSubInfo()); } private List<SubInfo> getSubInfos() { List<SubInfo> result = new ArrayList<>(); List<SubscriptionInfo> subscritionInfos = mKeyguardUpdateMonitor.getFilteredSubscriptionInfo(false); for (SubscriptionInfo subscriptionInfo : subscritionInfos) { int subId = subscriptionInfo.getSubscriptionId(); result.add(new SubInfo( subscriptionInfo.getCarrierName(), mKeyguardUpdateMonitor.getSimState(subId), mKeyguardUpdateMonitor.getServiceState(subId))); } return result; private SubInfo getDefaultSubInfo() { int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId(); SubscriptionInfo sI = mKeyguardUpdateMonitor.getSubscriptionInfoForSubId(defaultSubId); return new SubInfo( sI.getSubscriptionId(), sI.getCarrierName(), mKeyguardUpdateMonitor.getSimState(defaultSubId), mKeyguardUpdateMonitor.getServiceState(defaultSubId)); } /** Factory for constructing an {@link OperatorNameViewController}. */ Loading @@ -106,22 +107,32 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> private final TunerService mTunerService; private final TelephonyManager mTelephonyManager; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final CarrierConfigTracker mCarrierConfigTracker; @Inject public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor, CarrierConfigTracker carrierConfigTracker) { mDarkIconDispatcher = darkIconDispatcher; mNetworkController = networkController; mTunerService = tunerService; mTelephonyManager = telephonyManager; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mCarrierConfigTracker = carrierConfigTracker; } /** Create an {@link OperatorNameViewController}. */ public OperatorNameViewController create(OperatorNameView view) { return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController, mTunerService, mTelephonyManager, mKeyguardUpdateMonitor); return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController, mTunerService, mTelephonyManager, mKeyguardUpdateMonitor, mCarrierConfigTracker); } } Loading Loading @@ -152,7 +163,7 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> new KeyguardUpdateMonitorCallback() { @Override public void onRefreshCarrierInfo() { mView.updateText(getSubInfos()); mView.updateText(getDefaultSubInfo()); } }; Loading @@ -176,17 +187,26 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> }; static class SubInfo { private final int mSubId; private final CharSequence mCarrierName; private final int mSimState; private final ServiceState mServiceState; private SubInfo(CharSequence carrierName, int simState, ServiceState serviceState) { private SubInfo( int subId, CharSequence carrierName, int simState, ServiceState serviceState) { mSubId = subId; mCarrierName = carrierName; mSimState = simState; mServiceState = serviceState; } int getSubId() { return mSubId; } boolean simReady() { return mSimState == TelephonyManager.SIM_STATE_READY; } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java +3 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ 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.tuner.TunerService; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.settings.SecureSettings; import java.util.concurrent.Executor; Loading Loading @@ -263,6 +264,7 @@ public abstract class StatusBarViewModule { NetworkController networkController, StatusBarStateController statusBarStateController, CommandQueue commandQueue, CarrierConfigTracker carrierConfigTracker, CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, OperatorNameViewController.Factory operatorNameViewControllerFactory, SecureSettings secureSettings, Loading @@ -282,6 +284,7 @@ public abstract class StatusBarViewModule { networkController, statusBarStateController, commandQueue, carrierConfigTracker, collapsedStatusBarFragmentLogger, operatorNameViewControllerFactory, secureSettings, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +39 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.database.ContentObserver; import android.os.Bundle; import android.os.Parcelable; import android.provider.Settings; import android.telephony.SubscriptionManager; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; Loading Loading @@ -69,6 +70,9 @@ import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallListener; import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager; import com.android.systemui.statusbar.policy.EncryptionHelper; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker.CarrierConfigChangedListener; import com.android.systemui.util.CarrierConfigTracker.DefaultDataSubscriptionChangedListener; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; Loading Loading @@ -115,6 +119,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private final NotificationIconAreaController mNotificationIconAreaController; private final PanelExpansionStateManager mPanelExpansionStateManager; private final StatusBarIconController mStatusBarIconController; private final CarrierConfigTracker mCarrierConfigTracker; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final SecureSettings mSecureSettings; private final Executor mMainExecutor; Loading @@ -137,6 +142,28 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private OperatorNameViewController mOperatorNameViewController; private StatusBarSystemEventAnimator mSystemEventAnimator; private final CarrierConfigChangedListener mCarrierConfigCallback = new CarrierConfigChangedListener() { @Override public void onCarrierConfigChanged() { if (mOperatorNameViewController == null) { initOperatorName(); } else { // Already initialized, KeyguardUpdateMonitorCallback will handle the update } } }; private final DefaultDataSubscriptionChangedListener mDefaultDataListener = new DefaultDataSubscriptionChangedListener() { @Override public void onDefaultSubscriptionChanged(int subId) { if (mOperatorNameViewController == null) { initOperatorName(); } } }; @SuppressLint("ValidFragment") public CollapsedStatusBarFragment( StatusBarFragmentComponent.Factory statusBarFragmentComponentFactory, Loading @@ -153,6 +180,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue NetworkController networkController, StatusBarStateController statusBarStateController, CommandQueue commandQueue, CarrierConfigTracker carrierConfigTracker, CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, OperatorNameViewController.Factory operatorNameViewControllerFactory, SecureSettings secureSettings, Loading @@ -172,6 +200,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mNetworkController = networkController; mStatusBarStateController = statusBarStateController; mCommandQueue = commandQueue; mCarrierConfigTracker = carrierConfigTracker; mCollapsedStatusBarFragmentLogger = collapsedStatusBarFragmentLogger; mOperatorNameViewControllerFactory = operatorNameViewControllerFactory; mSecureSettings = secureSettings; Loading Loading @@ -212,6 +241,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue initNotificationIconArea(); mSystemEventAnimator = new StatusBarSystemEventAnimator(mSystemIconArea, getResources()); mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); } @VisibleForTesting Loading Loading @@ -283,6 +314,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue if (mNetworkController.hasEmergencyCryptKeeperText()) { mNetworkController.removeCallback(mSignalCallback); } mCarrierConfigTracker.removeCallback(mCarrierConfigCallback); mCarrierConfigTracker.removeDataSubscriptionChangedListener(mDefaultDataListener); } /** Initializes views related to the notification icon area. */ Loading Loading @@ -569,11 +602,16 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue } private void initOperatorName() { if (getResources().getBoolean(R.bool.config_showOperatorNameInStatusBar)) { int subId = SubscriptionManager.getDefaultDataSubscriptionId(); if (mCarrierConfigTracker.getShowOperatorNameInStatusBarConfig(subId)) { ViewStub stub = mStatusBar.findViewById(R.id.operator_name); mOperatorNameViewController = mOperatorNameViewControllerFactory.create((OperatorNameView) stub.inflate()); mOperatorNameViewController.init(); // This view should not be visible on lock-screen if (mKeyguardStateController.isShowing()) { hideOperatorName(false); } } } Loading Loading
packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java +7 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import android.safetycenter.SafetyCenterManager; import android.service.dreams.DreamService; import android.service.dreams.IDreamManager; import android.telecom.TelecomManager; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.view.CrossWindowBlurListeners; Loading Loading @@ -450,6 +451,12 @@ public class FrameworkServicesModule { return context.getSystemService(OverlayManager.class); } @Provides @Singleton static CarrierConfigManager provideCarrierConfigManager(Context context) { return context.getSystemService(CarrierConfigManager.class); } @Provides @Singleton static WindowManager provideWindowManager(Context context) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java +13 −16 Original line number Diff line number Diff line Loading @@ -21,8 +21,6 @@ import android.widget.TextView; import com.android.settingslib.WirelessUtils; import java.util.List; /** Shows the operator name */ public class OperatorNameView extends TextView { private boolean mDemoMode; Loading @@ -43,8 +41,10 @@ public class OperatorNameView extends TextView { mDemoMode = demoMode; } void update(boolean showOperatorName, boolean hasMobile, List<OperatorNameViewController.SubInfo> subs) { void update(boolean showOperatorName, boolean hasMobile, OperatorNameViewController.SubInfo sub ) { setVisibility(showOperatorName ? VISIBLE : GONE); boolean airplaneMode = WirelessUtils.isAirplaneModeOn(mContext); Loading @@ -55,24 +55,21 @@ public class OperatorNameView extends TextView { } if (!mDemoMode) { updateText(subs); updateText(sub); } } void updateText(List<OperatorNameViewController.SubInfo> subs) { void updateText(OperatorNameViewController.SubInfo subInfo) { CharSequence carrierName = null; CharSequence displayText = null; final int N = subs.size(); for (int i = 0; i < N; i++) { OperatorNameViewController.SubInfo subInfo = subs.get(i); CharSequence carrierName = subs.get(i).getCarrierName(); if (subInfo != null) { carrierName = subInfo.getCarrierName(); } if (!TextUtils.isEmpty(carrierName) && subInfo.simReady()) { if (subInfo.stateInService()) { displayText = subInfo.getCarrierName(); break; displayText = carrierName; } } } setText(displayText); } }
packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java +48 −28 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.os.Bundle; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.view.View; Loading @@ -30,12 +31,11 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.statusbar.connectivity.IconState; import com.android.systemui.statusbar.connectivity.NetworkController; import com.android.systemui.statusbar.connectivity.SignalCallback; import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.ViewController; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; /** Controller for {@link OperatorNameView}. */ Loading @@ -47,19 +47,22 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> private final TunerService mTunerService; private final TelephonyManager mTelephonyManager; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final CarrierConfigTracker mCarrierConfigTracker; private OperatorNameViewController(OperatorNameView view, DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { KeyguardUpdateMonitor keyguardUpdateMonitor, CarrierConfigTracker carrierConfigTracker) { super(view); mDarkIconDispatcher = darkIconDispatcher; mNetworkController = networkController; mTunerService = tunerService; mTelephonyManager = telephonyManager; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mCarrierConfigTracker = carrierConfigTracker; } @Override Loading @@ -79,24 +82,22 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> } private void update() { mView.update(mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0, mTelephonyManager.isDataCapable(), getSubInfos()); SubInfo defaultSubInfo = getDefaultSubInfo(); boolean showOperatorName = mCarrierConfigTracker .getShowOperatorNameInStatusBarConfig(defaultSubInfo.getSubId()) && (mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0); mView.update(showOperatorName, mTelephonyManager.isDataCapable(), getDefaultSubInfo()); } private List<SubInfo> getSubInfos() { List<SubInfo> result = new ArrayList<>(); List<SubscriptionInfo> subscritionInfos = mKeyguardUpdateMonitor.getFilteredSubscriptionInfo(false); for (SubscriptionInfo subscriptionInfo : subscritionInfos) { int subId = subscriptionInfo.getSubscriptionId(); result.add(new SubInfo( subscriptionInfo.getCarrierName(), mKeyguardUpdateMonitor.getSimState(subId), mKeyguardUpdateMonitor.getServiceState(subId))); } return result; private SubInfo getDefaultSubInfo() { int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId(); SubscriptionInfo sI = mKeyguardUpdateMonitor.getSubscriptionInfoForSubId(defaultSubId); return new SubInfo( sI.getSubscriptionId(), sI.getCarrierName(), mKeyguardUpdateMonitor.getSimState(defaultSubId), mKeyguardUpdateMonitor.getServiceState(defaultSubId)); } /** Factory for constructing an {@link OperatorNameViewController}. */ Loading @@ -106,22 +107,32 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> private final TunerService mTunerService; private final TelephonyManager mTelephonyManager; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final CarrierConfigTracker mCarrierConfigTracker; @Inject public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor) { public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController, TunerService tunerService, TelephonyManager telephonyManager, KeyguardUpdateMonitor keyguardUpdateMonitor, CarrierConfigTracker carrierConfigTracker) { mDarkIconDispatcher = darkIconDispatcher; mNetworkController = networkController; mTunerService = tunerService; mTelephonyManager = telephonyManager; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mCarrierConfigTracker = carrierConfigTracker; } /** Create an {@link OperatorNameViewController}. */ public OperatorNameViewController create(OperatorNameView view) { return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController, mTunerService, mTelephonyManager, mKeyguardUpdateMonitor); return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController, mTunerService, mTelephonyManager, mKeyguardUpdateMonitor, mCarrierConfigTracker); } } Loading Loading @@ -152,7 +163,7 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> new KeyguardUpdateMonitorCallback() { @Override public void onRefreshCarrierInfo() { mView.updateText(getSubInfos()); mView.updateText(getDefaultSubInfo()); } }; Loading @@ -176,17 +187,26 @@ public class OperatorNameViewController extends ViewController<OperatorNameView> }; static class SubInfo { private final int mSubId; private final CharSequence mCarrierName; private final int mSimState; private final ServiceState mServiceState; private SubInfo(CharSequence carrierName, int simState, ServiceState serviceState) { private SubInfo( int subId, CharSequence carrierName, int simState, ServiceState serviceState) { mSubId = subId; mCarrierName = carrierName; mSimState = simState; mServiceState = serviceState; } int getSubId() { return mSubId; } boolean simReady() { return mSimState == TelephonyManager.SIM_STATE_READY; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java +3 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ 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.tuner.TunerService; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.settings.SecureSettings; import java.util.concurrent.Executor; Loading Loading @@ -263,6 +264,7 @@ public abstract class StatusBarViewModule { NetworkController networkController, StatusBarStateController statusBarStateController, CommandQueue commandQueue, CarrierConfigTracker carrierConfigTracker, CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, OperatorNameViewController.Factory operatorNameViewControllerFactory, SecureSettings secureSettings, Loading @@ -282,6 +284,7 @@ public abstract class StatusBarViewModule { networkController, statusBarStateController, commandQueue, carrierConfigTracker, collapsedStatusBarFragmentLogger, operatorNameViewControllerFactory, secureSettings, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +39 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.database.ContentObserver; import android.os.Bundle; import android.os.Parcelable; import android.provider.Settings; import android.telephony.SubscriptionManager; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; Loading Loading @@ -69,6 +70,9 @@ import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallListener; import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager; import com.android.systemui.statusbar.policy.EncryptionHelper; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.CarrierConfigTracker; import com.android.systemui.util.CarrierConfigTracker.CarrierConfigChangedListener; import com.android.systemui.util.CarrierConfigTracker.DefaultDataSubscriptionChangedListener; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; Loading Loading @@ -115,6 +119,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private final NotificationIconAreaController mNotificationIconAreaController; private final PanelExpansionStateManager mPanelExpansionStateManager; private final StatusBarIconController mStatusBarIconController; private final CarrierConfigTracker mCarrierConfigTracker; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final SecureSettings mSecureSettings; private final Executor mMainExecutor; Loading @@ -137,6 +142,28 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private OperatorNameViewController mOperatorNameViewController; private StatusBarSystemEventAnimator mSystemEventAnimator; private final CarrierConfigChangedListener mCarrierConfigCallback = new CarrierConfigChangedListener() { @Override public void onCarrierConfigChanged() { if (mOperatorNameViewController == null) { initOperatorName(); } else { // Already initialized, KeyguardUpdateMonitorCallback will handle the update } } }; private final DefaultDataSubscriptionChangedListener mDefaultDataListener = new DefaultDataSubscriptionChangedListener() { @Override public void onDefaultSubscriptionChanged(int subId) { if (mOperatorNameViewController == null) { initOperatorName(); } } }; @SuppressLint("ValidFragment") public CollapsedStatusBarFragment( StatusBarFragmentComponent.Factory statusBarFragmentComponentFactory, Loading @@ -153,6 +180,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue NetworkController networkController, StatusBarStateController statusBarStateController, CommandQueue commandQueue, CarrierConfigTracker carrierConfigTracker, CollapsedStatusBarFragmentLogger collapsedStatusBarFragmentLogger, OperatorNameViewController.Factory operatorNameViewControllerFactory, SecureSettings secureSettings, Loading @@ -172,6 +200,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mNetworkController = networkController; mStatusBarStateController = statusBarStateController; mCommandQueue = commandQueue; mCarrierConfigTracker = carrierConfigTracker; mCollapsedStatusBarFragmentLogger = collapsedStatusBarFragmentLogger; mOperatorNameViewControllerFactory = operatorNameViewControllerFactory; mSecureSettings = secureSettings; Loading Loading @@ -212,6 +241,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue initNotificationIconArea(); mSystemEventAnimator = new StatusBarSystemEventAnimator(mSystemIconArea, getResources()); mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); } @VisibleForTesting Loading Loading @@ -283,6 +314,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue if (mNetworkController.hasEmergencyCryptKeeperText()) { mNetworkController.removeCallback(mSignalCallback); } mCarrierConfigTracker.removeCallback(mCarrierConfigCallback); mCarrierConfigTracker.removeDataSubscriptionChangedListener(mDefaultDataListener); } /** Initializes views related to the notification icon area. */ Loading Loading @@ -569,11 +602,16 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue } private void initOperatorName() { if (getResources().getBoolean(R.bool.config_showOperatorNameInStatusBar)) { int subId = SubscriptionManager.getDefaultDataSubscriptionId(); if (mCarrierConfigTracker.getShowOperatorNameInStatusBarConfig(subId)) { ViewStub stub = mStatusBar.findViewById(R.id.operator_name); mOperatorNameViewController = mOperatorNameViewControllerFactory.create((OperatorNameView) stub.inflate()); mOperatorNameViewController.init(); // This view should not be visible on lock-screen if (mKeyguardStateController.isShowing()) { hideOperatorName(false); } } } Loading