From 20744ed3b4623b379821af2945ef0cb77fe40648 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Thu, 8 Apr 2021 11:51:29 +0000 Subject: [PATCH] Revert^3 "Enable smartspace" 3b67a00d95e6d19824030cd1169e213c2231ce71 Change-Id: I4711f24b1ed3535dbf40ffd6ab893e6cd661fe49 --- packages/SystemUI/AndroidManifest.xml | 2 - .../plugins/BcSmartspaceDataPlugin.java | 18 ---- packages/SystemUI/res/values/flags.xml | 2 - .../KeyguardClockSwitchController.java | 100 +----------------- .../com/android/systemui/SystemUIFactory.java | 12 +-- .../systemui/statusbar/FeatureFlags.java | 4 - .../KeyguardClockSwitchControllerTest.java | 70 +----------- 7 files changed, 6 insertions(+), 202 deletions(-) diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 88d7710e56c6e..85ecb1c7345da 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -275,8 +275,6 @@ - - diff --git a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java index 35423a979cbcd..f8a9a04596731 100644 --- a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java +++ b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java @@ -16,9 +16,7 @@ package com.android.systemui.plugins; -import android.app.smartspace.SmartspaceTarget; import android.os.Parcelable; -import android.view.ViewGroup; import com.android.systemui.plugins.annotations.ProvidesInterface; @@ -38,25 +36,9 @@ public interface BcSmartspaceDataPlugin extends Plugin { /** Unregister a listener. */ void unregisterListener(SmartspaceTargetListener listener); - /** - * Create a view to be shown within the parent. Do not add the view, as the parent - * will be responsible for correctly setting the LayoutParams - */ - default SmartspaceView getView(ViewGroup parent) { - return null; - } - - /** Updates Smartspace data and propagates it to any listeners. */ - void onTargetsAvailable(List targets); - /** Provides Smartspace data to registered listeners. */ interface SmartspaceTargetListener { /** Each Parcelable is a SmartspaceTarget that represents a card. */ void onSmartspaceTargetsUpdated(List targets); } - - /** View to which this plugin can be registered, in order to get updates. */ - interface SmartspaceView { - void registerDataProvider(BcSmartspaceDataPlugin plugin); - } } diff --git a/packages/SystemUI/res/values/flags.xml b/packages/SystemUI/res/values/flags.xml index bbf204844e29a..834b482a449e9 100644 --- a/packages/SystemUI/res/values/flags.xml +++ b/packages/SystemUI/res/values/flags.xml @@ -50,6 +50,4 @@ false true - - false diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java index 24b7cd118ed67..0675200f81e26 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java @@ -16,15 +16,8 @@ package com.android.keyguard; -import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; -import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; - import android.app.WallpaperManager; -import android.app.smartspace.SmartspaceConfig; -import android.app.smartspace.SmartspaceManager; -import android.app.smartspace.SmartspaceSession; import android.content.ContentResolver; -import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import android.text.TextUtils; @@ -32,7 +25,6 @@ import android.text.format.DateFormat; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; -import android.widget.RelativeLayout; import com.android.internal.colorextraction.ColorExtractor; import com.android.keyguard.clock.ClockManager; @@ -40,12 +32,8 @@ import com.android.systemui.R; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.qualifiers.Main; -import com.android.systemui.plugins.BcSmartspaceDataPlugin; import com.android.systemui.plugins.ClockPlugin; -import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.shared.plugins.PluginManager; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.PropertyAnimator; import com.android.systemui.statusbar.notification.stack.AnimationProperties; @@ -55,7 +43,6 @@ import com.android.systemui.util.ViewController; import java.util.Locale; import java.util.TimeZone; -import java.util.concurrent.Executor; import javax.inject.Inject; @@ -81,13 +68,6 @@ public class KeyguardClockSwitchController extends ViewController() { - - @Override - public void onPluginConnected(BcSmartspaceDataPlugin plugin, Context pluginContext) { - if (!mIsSmartspaceEnabled) return; - - View ksa = mView.findViewById(R.id.keyguard_status_area); - int ksaIndex = mView.indexOfChild(ksa); - ksa.setVisibility(View.GONE); - - mSmartspaceView = plugin.getView(mView); - mSmartspaceView.registerDataProvider(plugin); - - RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( - MATCH_PARENT, WRAP_CONTENT); - lp.addRule(RelativeLayout.BELOW, R.id.new_lockscreen_clock_view); - mView.addView((View) mSmartspaceView, ksaIndex, lp); - - View nic = mView.findViewById( - com.android.systemui.R.id.left_aligned_notification_icon_container); - lp = (RelativeLayout.LayoutParams) nic.getLayoutParams(); - lp.addRule(RelativeLayout.BELOW, ((View) mSmartspaceView).getId()); - nic.setLayoutParams(lp); - - createSmartspaceSession(plugin); - } - - @Override - public void onPluginDisconnected(BcSmartspaceDataPlugin plugin) { - if (!mIsSmartspaceEnabled) return; - - mView.removeView((View) mSmartspaceView); - mView.findViewById(R.id.keyguard_status_area).setVisibility(View.VISIBLE); - - View nic = mView.findViewById( - com.android.systemui.R.id.left_aligned_notification_icon_container); - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) - nic.getLayoutParams(); - lp.addRule(RelativeLayout.BELOW, R.id.keyguard_status_area); - nic.setLayoutParams(lp); - - mSmartspaceView = null; - } - - private void createSmartspaceSession(BcSmartspaceDataPlugin plugin) { - mSmartspaceSession = getContext().getSystemService(SmartspaceManager.class) - .createSmartspaceSession( - new SmartspaceConfig.Builder(getContext(), "lockscreen").build()); - mSmartspaceCallback = targets -> plugin.onTargetsAvailable(targets); - mSmartspaceSession.registerSmartspaceUpdates(mUiExecutor, mSmartspaceCallback); - mSmartspaceSession.requestSmartspaceUpdate(); - } - }; - mPluginManager.addPluginListener(mPluginListener, BcSmartspaceDataPlugin.class, false); } @Override @@ -233,13 +147,6 @@ public class KeyguardClockSwitchController extends ViewController T getInstance() { return (T) mFactory; @@ -89,13 +88,13 @@ public class SystemUIFactory { public void init(Context context, boolean fromTest) throws ExecutionException, InterruptedException { // Only initialize components for the main system ui process running as the primary user - mInitializeComponents = !fromTest + final boolean initializeComponents = !fromTest && android.os.Process.myUserHandle().isSystem() && ActivityThread.currentProcessName().equals(ActivityThread.currentPackageName()); mRootComponent = buildGlobalRootComponent(context); // Stand up WMComponent mWMComponent = mRootComponent.getWMComponentBuilder().build(); - if (mInitializeComponents) { + if (initializeComponents) { // Only initialize when not starting from tests since this currently initializes some // components that shouldn't be run in the test environment mWMComponent.init(); @@ -103,7 +102,7 @@ public class SystemUIFactory { // And finally, retrieve whatever SysUI needs from WMShell and build SysUI. SysUIComponent.Builder builder = mRootComponent.getSysUIComponent(); - if (mInitializeComponents) { + if (initializeComponents) { // Only initialize when not starting from tests since this currently initializes some // components that shouldn't be run in the test environment builder = prepareSysUIComponentBuilder(builder, mWMComponent) @@ -135,7 +134,7 @@ public class SystemUIFactory { .setStartingSurface(Optional.ofNullable(null)); } mSysUIComponent = builder.build(); - if (mInitializeComponents) { + if (initializeComponents) { mSysUIComponent.init(); } @@ -161,9 +160,6 @@ public class SystemUIFactory { .build(); } - protected boolean shouldInitializeComponents() { - return mInitializeComponents; - } public GlobalRootComponent getRootComponent() { return mRootComponent; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/FeatureFlags.java b/packages/SystemUI/src/com/android/systemui/statusbar/FeatureFlags.java index ec3a857dbc840..f51fbedebad25 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/FeatureFlags.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/FeatureFlags.java @@ -97,8 +97,4 @@ public class FeatureFlags { public boolean isOngoingCallStatusBarChipEnabled() { return mFlagReader.isEnabled(R.bool.flag_ongoing_call_status_bar_chip); } - - public boolean isSmartspaceEnabled() { - return mFlagReader.isEnabled(R.bool.flag_smartspace); - } } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java index 0fcd79b357c3a..70a7b7a5acbcf 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java @@ -18,34 +18,26 @@ package com.android.keyguard; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.ContentResolver; -import android.content.Context; import android.content.res.Resources; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; -import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; -import android.widget.RelativeLayout; import com.android.internal.colorextraction.ColorExtractor; import com.android.keyguard.clock.ClockManager; -import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.colorextraction.SysuiColorExtractor; -import com.android.systemui.plugins.BcSmartspaceDataPlugin; import com.android.systemui.plugins.ClockPlugin; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.shared.plugins.PluginManager; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.phone.NotificationIconAreaController; import com.android.systemui.statusbar.phone.NotificationIconContainer; @@ -58,8 +50,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.verification.VerificationMode; -import java.util.concurrent.Executor; - @SmallTest @RunWith(AndroidTestingRunner.class) public class KeyguardClockSwitchControllerTest extends SysuiTestCase { @@ -88,12 +78,6 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { ContentResolver mContentResolver; @Mock BroadcastDispatcher mBroadcastDispatcher; - @Mock - private PluginManager mPluginManager; - @Mock - private FeatureFlags mFeatureFlags; - @Mock - private Executor mExecutor; private KeyguardClockSwitchController mController; @@ -103,8 +87,6 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { when(mView.findViewById(com.android.systemui.R.id.left_aligned_notification_icon_container)) .thenReturn(mNotificationIcons); - when(mView.getContext()).thenReturn(getContext()); - when(mFeatureFlags.isSmartspaceEnabled()).thenReturn(true); when(mView.isAttachedToWindow()).thenReturn(true); when(mResources.getString(anyInt())).thenReturn("h:mm"); mController = new KeyguardClockSwitchController( @@ -116,10 +98,7 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { mKeyguardSliceViewController, mNotificationIconAreaController, mContentResolver, - mBroadcastDispatcher, - mPluginManager, - mFeatureFlags, - mExecutor); + mBroadcastDispatcher); when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE); when(mColorExtractor.getColors(anyInt())).thenReturn(mGradientColors); @@ -203,45 +182,6 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { verify(mView).setClockPlugin(mClockPlugin, StatusBarState.SHADE); } - @Test - public void testSmartspacePluginConnectedRemovesKeyguardStatusArea() { - mController.init(); - - View statusArea = mock(View.class); - when(mView.findViewById(R.id.keyguard_status_area)).thenReturn(statusArea); - - View nic = mock(View.class); - when(mView.findViewById(R.id.left_aligned_notification_icon_container)).thenReturn(nic); - when(nic.getLayoutParams()).thenReturn(mock(RelativeLayout.LayoutParams.class)); - - BcSmartspaceDataPlugin plugin = mock(BcSmartspaceDataPlugin.class); - TestView view = mock(TestView.class); - when(plugin.getView(any())).thenReturn(view); - - mController.mPluginListener.onPluginConnected(plugin, mContext); - verify(statusArea).setVisibility(View.GONE); - } - - @Test - public void testSmartspacePluginDisconnectedShowsKeyguardStatusArea() { - mController.init(); - - View statusArea = mock(View.class); - when(mView.findViewById(R.id.keyguard_status_area)).thenReturn(statusArea); - - View nic = mock(View.class); - when(mView.findViewById(R.id.left_aligned_notification_icon_container)).thenReturn(nic); - when(nic.getLayoutParams()).thenReturn(mock(RelativeLayout.LayoutParams.class)); - - BcSmartspaceDataPlugin plugin = mock(BcSmartspaceDataPlugin.class); - TestView view = mock(TestView.class); - when(plugin.getView(any())).thenReturn(view); - - mController.mPluginListener.onPluginConnected(plugin, mContext); - mController.mPluginListener.onPluginDisconnected(plugin); - verify(statusArea).setVisibility(View.VISIBLE); - } - private void verifyAttachment(VerificationMode times) { verify(mClockManager, times).addOnClockChangedListener( any(ClockManager.ClockChangedListener.class)); @@ -251,12 +191,4 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { any(ColorExtractor.OnColorsChangedListener.class)); verify(mView, times).updateColors(mGradientColors); } - - private static class TestView extends View implements BcSmartspaceDataPlugin.SmartspaceView { - TestView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public void registerDataProvider(BcSmartspaceDataPlugin plugin) { } - } }