From 68857da059e86d9518c1ab826b7a069f8e1c3b7d Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 27 May 2020 23:41:50 +0000 Subject: [PATCH] Revert "Add media icon to status bar" This reverts commit 5d0422347fdf019597b49fc3750ea63d8f5a8cc8. Reason for revert: User feedback Fixes: 157547868 Change-Id: I1ac06ff410212cd8c83764424268cf4aa38022d8 --- core/res/res/values/config.xml | 2 - core/res/res/values/symbols.xml | 1 - .../SystemUI/res/drawable/stat_sys_media.xml | 31 ---- packages/SystemUI/res/values/strings.xml | 3 - .../statusbar/phone/PhoneStatusBarPolicy.java | 43 +---- .../phone/PhoneStatusBarPolicyTest.java | 168 ------------------ 6 files changed, 8 insertions(+), 240 deletions(-) delete mode 100644 packages/SystemUI/res/drawable/stat_sys_media.xml delete mode 100644 packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.java diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index ac808df7ef5d8..fe7b0ae83c01a 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -42,7 +42,6 @@ @string/status_bar_phone_evdo_signal @string/status_bar_phone_signal @string/status_bar_secure - @string/status_bar_media @string/status_bar_managed_profile @string/status_bar_cast @string/status_bar_screen_record @@ -97,7 +96,6 @@ airplane sensors_off screen_record - media diff --git a/packages/SystemUI/res/drawable/stat_sys_media.xml b/packages/SystemUI/res/drawable/stat_sys_media.xml deleted file mode 100644 index d48db7bd0d28a..0000000000000 --- a/packages/SystemUI/res/drawable/stat_sys_media.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index de483179a92a0..8bbcfa0e78982 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -790,9 +790,6 @@ Sensors off active - - Media is active - Clear all notifications. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java index 2a4475bbe6b52..a065b74bda997 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java @@ -46,8 +46,6 @@ import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.qualifiers.DisplayId; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.UiBackground; -import com.android.systemui.media.MediaData; -import com.android.systemui.media.MediaDataManager; import com.android.systemui.qs.tiles.DndTile; import com.android.systemui.qs.tiles.RotationLockTile; import com.android.systemui.screenrecord.RecordingController; @@ -82,14 +80,14 @@ import javax.inject.Inject; */ public class PhoneStatusBarPolicy implements BluetoothController.Callback, - CommandQueue.Callbacks, - RotationLockControllerCallback, - Listener, - ZenModeController.Callback, - DeviceProvisionedListener, - KeyguardStateController.Callback, - LocationController.LocationChangeCallback, - RecordingController.RecordingStateChangeCallback, MediaDataManager.Listener { + CommandQueue.Callbacks, + RotationLockControllerCallback, + Listener, + ZenModeController.Callback, + DeviceProvisionedListener, + KeyguardStateController.Callback, + LocationController.LocationChangeCallback, + RecordingController.RecordingStateChangeCallback { private static final String TAG = "PhoneStatusBarPolicy"; private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); @@ -110,7 +108,6 @@ public class PhoneStatusBarPolicy private final String mSlotLocation; private final String mSlotSensorsOff; private final String mSlotScreenRecord; - private final String mSlotMedia; private final int mDisplayId; private final SharedPreferences mSharedPreferences; private final DateFormatUtil mDateFormatUtil; @@ -138,7 +135,6 @@ public class PhoneStatusBarPolicy private final SensorPrivacyController mSensorPrivacyController; private final RecordingController mRecordingController; private final RingerModeTracker mRingerModeTracker; - private final MediaDataManager mMediaDataManager; private boolean mZenVisible; private boolean mVolumeVisible; @@ -163,7 +159,6 @@ public class PhoneStatusBarPolicy SensorPrivacyController sensorPrivacyController, IActivityManager iActivityManager, AlarmManager alarmManager, UserManager userManager, RecordingController recordingController, - MediaDataManager mediaDataManager, @Nullable TelecomManager telecomManager, @DisplayId int displayId, @Main SharedPreferences sharedPreferences, DateFormatUtil dateFormatUtil, RingerModeTracker ringerModeTracker) { @@ -190,7 +185,6 @@ public class PhoneStatusBarPolicy mUiBgExecutor = uiBgExecutor; mTelecomManager = telecomManager; mRingerModeTracker = ringerModeTracker; - mMediaDataManager = mediaDataManager; mSlotCast = resources.getString(com.android.internal.R.string.status_bar_cast); mSlotHotspot = resources.getString(com.android.internal.R.string.status_bar_hotspot); @@ -208,7 +202,6 @@ public class PhoneStatusBarPolicy mSlotSensorsOff = resources.getString(com.android.internal.R.string.status_bar_sensors_off); mSlotScreenRecord = resources.getString( com.android.internal.R.string.status_bar_screen_record); - mSlotMedia = resources.getString(com.android.internal.R.string.status_bar_media); mDisplayId = displayId; mSharedPreferences = sharedPreferences; @@ -287,11 +280,6 @@ public class PhoneStatusBarPolicy mIconController.setIconVisibility(mSlotSensorsOff, mSensorPrivacyController.isSensorPrivacyEnabled()); - // play/pause icon when media is active - mIconController.setIcon(mSlotMedia, R.drawable.stat_sys_media, - mResources.getString(R.string.accessibility_media_active)); - mIconController.setIconVisibility(mSlotMedia, mMediaDataManager.hasActiveMedia()); - // screen record mIconController.setIcon(mSlotScreenRecord, R.drawable.stat_sys_screen_record, null); mIconController.setIconVisibility(mSlotScreenRecord, false); @@ -308,7 +296,6 @@ public class PhoneStatusBarPolicy mSensorPrivacyController.addCallback(mSensorPrivacyListener); mLocationController.addCallback(this); mRecordingController.addCallback(this); - mMediaDataManager.addListener(this); mCommandQueue.addCallback(this); } @@ -713,18 +700,4 @@ public class PhoneStatusBarPolicy if (DEBUG) Log.d(TAG, "screenrecord: hiding icon"); mHandler.post(() -> mIconController.setIconVisibility(mSlotScreenRecord, false)); } - - @Override - public void onMediaDataLoaded(String key, MediaData data) { - updateMediaIcon(); - } - - @Override - public void onMediaDataRemoved(String key) { - updateMediaIcon(); - } - - private void updateMediaIcon() { - mIconController.setIconVisibility(mSlotMedia, mMediaDataManager.hasActiveMedia()); - } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.java deleted file mode 100644 index a14d57556360c..0000000000000 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2020 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.statusbar.phone; - -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.clearInvocations; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.AlarmManager; -import android.app.IActivityManager; -import android.content.SharedPreferences; -import android.content.res.Resources; -import android.os.UserManager; -import android.telecom.TelecomManager; -import android.testing.AndroidTestingRunner; -import android.testing.TestableLooper; - -import androidx.test.filters.SmallTest; - -import com.android.systemui.SysuiTestCase; -import com.android.systemui.broadcast.BroadcastDispatcher; -import com.android.systemui.media.MediaDataManager; -import com.android.systemui.screenrecord.RecordingController; -import com.android.systemui.statusbar.CommandQueue; -import com.android.systemui.statusbar.policy.BluetoothController; -import com.android.systemui.statusbar.policy.CastController; -import com.android.systemui.statusbar.policy.DataSaverController; -import com.android.systemui.statusbar.policy.DeviceProvisionedController; -import com.android.systemui.statusbar.policy.HotspotController; -import com.android.systemui.statusbar.policy.KeyguardStateController; -import com.android.systemui.statusbar.policy.LocationController; -import com.android.systemui.statusbar.policy.NextAlarmController; -import com.android.systemui.statusbar.policy.RotationLockController; -import com.android.systemui.statusbar.policy.SensorPrivacyController; -import com.android.systemui.statusbar.policy.UserInfoController; -import com.android.systemui.statusbar.policy.ZenModeController; -import com.android.systemui.util.RingerModeLiveData; -import com.android.systemui.util.RingerModeTracker; -import com.android.systemui.util.time.DateFormatUtil; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnit; -import org.mockito.junit.MockitoRule; - -import java.util.concurrent.Executor; - -@RunWith(AndroidTestingRunner.class) -@TestableLooper.RunWithLooper -@SmallTest -public class PhoneStatusBarPolicyTest extends SysuiTestCase { - - private static final int DISPLAY_ID = 0; - @Mock - private StatusBarIconController mIconController; - @Mock - private CommandQueue mCommandQueue; - @Mock - private BroadcastDispatcher mBroadcastDispatcher; - @Mock - private Executor mBackgroundExecutor; - @Mock - private CastController mCastController; - @Mock - private HotspotController mHotSpotController; - @Mock - private BluetoothController mBluetoothController; - @Mock - private NextAlarmController mNextAlarmController; - @Mock - private UserInfoController mUserInfoController; - @Mock - private RotationLockController mRotationLockController; - @Mock - private DataSaverController mDataSaverController; - @Mock - private ZenModeController mZenModeController; - @Mock - private DeviceProvisionedController mDeviceProvisionerController; - @Mock - private KeyguardStateController mKeyguardStateController; - @Mock - private LocationController mLocationController; - @Mock - private SensorPrivacyController mSensorPrivacyController; - @Mock - private IActivityManager mIActivityManager; - @Mock - private AlarmManager mAlarmManager; - @Mock - private UserManager mUserManager; - @Mock - private RecordingController mRecordingController; - @Mock - private MediaDataManager mMediaDataManager; - @Mock - private TelecomManager mTelecomManager; - @Mock - private SharedPreferences mSharedPreferences; - @Mock - private DateFormatUtil mDateFormatUtil; - @Mock - private RingerModeTracker mRingerModeTracker; - @Mock - private RingerModeLiveData mRingerModeLiveData; - @Rule - public MockitoRule rule = MockitoJUnit.rule(); - private Resources mResources; - private PhoneStatusBarPolicy mPhoneStatusBarPolicy; - - @Before - public void setup() { - mResources = spy(getContext().getResources()); - mPhoneStatusBarPolicy = new PhoneStatusBarPolicy(mIconController, mCommandQueue, - mBroadcastDispatcher, mBackgroundExecutor, mResources, mCastController, - mHotSpotController, mBluetoothController, mNextAlarmController, mUserInfoController, - mRotationLockController, mDataSaverController, mZenModeController, - mDeviceProvisionerController, mKeyguardStateController, mLocationController, - mSensorPrivacyController, mIActivityManager, mAlarmManager, mUserManager, - mRecordingController, mMediaDataManager, mTelecomManager, DISPLAY_ID, - mSharedPreferences, mDateFormatUtil, mRingerModeTracker); - when(mRingerModeTracker.getRingerMode()).thenReturn(mRingerModeLiveData); - when(mRingerModeTracker.getRingerModeInternal()).thenReturn(mRingerModeLiveData); - clearInvocations(mIconController); - } - - @Test - public void testInit_registerMediaCallback() { - mPhoneStatusBarPolicy.init(); - verify(mMediaDataManager).addListener(eq(mPhoneStatusBarPolicy)); - } - - @Test - public void testOnMediaDataLoaded_updatesIcon_hasMedia() { - String mediaSlot = mResources.getString(com.android.internal.R.string.status_bar_media); - when(mMediaDataManager.hasActiveMedia()).thenReturn(true); - mPhoneStatusBarPolicy.onMediaDataLoaded(null, null); - verify(mMediaDataManager).hasActiveMedia(); - verify(mIconController).setIconVisibility(eq(mediaSlot), eq(true)); - } - - @Test - public void testOnMediaDataRemoved_updatesIcon_noMedia() { - String mediaSlot = mResources.getString(com.android.internal.R.string.status_bar_media); - mPhoneStatusBarPolicy.onMediaDataRemoved(null); - verify(mMediaDataManager).hasActiveMedia(); - verify(mIconController).setIconVisibility(eq(mediaSlot), eq(false)); - } -}