Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9193412b authored by Matt Pietal's avatar Matt Pietal Committed by Automerger Merge Worker
Browse files

Merge "Revert "Enable smartspace"" into sc-dev am: f8fa4efc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14103510

Change-Id: I36e39161f8f7ee881a0cd15d30e9c41a3713ebb7
parents 2d9395d4 f8fa4efc
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -275,8 +275,6 @@
    <!-- Permission to make accessibility service access Bubbles -->
    <!-- Permission to make accessibility service access Bubbles -->
    <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
    <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />


    <!-- Can control and display smartspace content -->
    <uses-permission android:name="android.permission.MANAGE_SMARTSPACE" />


    <protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
    <protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
    <protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
    <protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
+0 −16
Original line number Original line Diff line number Diff line
@@ -16,9 +16,7 @@


package com.android.systemui.plugins;
package com.android.systemui.plugins;


import android.app.smartspace.SmartspaceTarget;
import android.os.Parcelable;
import android.os.Parcelable;
import android.view.ViewGroup;


import com.android.systemui.plugins.annotations.ProvidesInterface;
import com.android.systemui.plugins.annotations.ProvidesInterface;


@@ -38,23 +36,9 @@ public interface BcSmartspaceDataPlugin extends Plugin {
    /** Unregister a listener. */
    /** Unregister a listener. */
    void unregisterListener(SmartspaceTargetListener 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
     */
    SmartspaceView getView(ViewGroup parent);

    /** Updates Smartspace data and propagates it to any listeners. */
    void onTargetsAvailable(List<SmartspaceTarget> targets);

    /** Provides Smartspace data to registered listeners. */
    /** Provides Smartspace data to registered listeners. */
    interface SmartspaceTargetListener {
    interface SmartspaceTargetListener {
        /** Each Parcelable is a SmartspaceTarget that represents a card. */
        /** Each Parcelable is a SmartspaceTarget that represents a card. */
        void onSmartspaceTargetsUpdated(List<? extends Parcelable> targets);
        void onSmartspaceTargetsUpdated(List<? extends Parcelable> targets);
    }
    }

    /** View to which this plugin can be registered, in order to get updates. */
    interface SmartspaceView {
        void registerDataProvider(BcSmartspaceDataPlugin plugin);
    }
}
}
+0 −2
Original line number Original line Diff line number Diff line
@@ -50,6 +50,4 @@
    <bool name="flag_charging_ripple">false</bool>
    <bool name="flag_charging_ripple">false</bool>


    <bool name="flag_ongoing_call_status_bar_chip">false</bool>
    <bool name="flag_ongoing_call_status_bar_chip">false</bool>

    <bool name="flag_smartspace">false</bool>
</resources>
</resources>
+1 −99
Original line number Original line Diff line number Diff line
@@ -16,15 +16,8 @@


package com.android.keyguard;
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.WallpaperManager;
import android.app.smartspace.SmartspaceConfig;
import android.app.smartspace.SmartspaceManager;
import android.app.smartspace.SmartspaceSession;
import android.content.ContentResolver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.Resources;
import android.provider.Settings;
import android.provider.Settings;
import android.text.TextUtils;
import android.text.TextUtils;
@@ -32,7 +25,6 @@ import android.text.format.DateFormat;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;


import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.keyguard.clock.ClockManager;
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.broadcast.BroadcastDispatcher;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.BcSmartspaceDataPlugin;
import com.android.systemui.plugins.ClockPlugin;
import com.android.systemui.plugins.ClockPlugin;
import com.android.systemui.plugins.PluginListener;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
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.AnimatableProperty;
import com.android.systemui.statusbar.notification.PropertyAnimator;
import com.android.systemui.statusbar.notification.PropertyAnimator;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
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.Locale;
import java.util.TimeZone;
import java.util.TimeZone;
import java.util.concurrent.Executor;


import javax.inject.Inject;
import javax.inject.Inject;


@@ -81,13 +68,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
    private AnimatableClockController mNewLockScreenLargeClockViewController;
    private AnimatableClockController mNewLockScreenLargeClockViewController;
    private FrameLayout mNewLockScreenLargeClockFrame;
    private FrameLayout mNewLockScreenLargeClockFrame;


    private PluginManager mPluginManager;
    private boolean mIsSmartspaceEnabled;
    PluginListener mPluginListener;
    private Executor mUiExecutor;
    private SmartspaceSession mSmartspaceSession;
    private SmartspaceSession.Callback mSmartspaceCallback;

    private int mLockScreenMode = KeyguardUpdateMonitor.LOCK_SCREEN_MODE_NORMAL;
    private int mLockScreenMode = KeyguardUpdateMonitor.LOCK_SCREEN_MODE_NORMAL;


    private final StatusBarStateController.StateListener mStateListener =
    private final StatusBarStateController.StateListener mStateListener =
@@ -116,9 +96,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
    private ClockManager.ClockChangedListener mClockChangedListener = this::setClockPlugin;
    private ClockManager.ClockChangedListener mClockChangedListener = this::setClockPlugin;
    private String mTimeFormat;
    private String mTimeFormat;


    // If set, will replace keyguard_status_area
    private BcSmartspaceDataPlugin.SmartspaceView mSmartspaceView;

    @Inject
    @Inject
    public KeyguardClockSwitchController(
    public KeyguardClockSwitchController(
            KeyguardClockSwitch keyguardClockSwitch,
            KeyguardClockSwitch keyguardClockSwitch,
@@ -128,10 +105,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
            KeyguardSliceViewController keyguardSliceViewController,
            KeyguardSliceViewController keyguardSliceViewController,
            NotificationIconAreaController notificationIconAreaController,
            NotificationIconAreaController notificationIconAreaController,
            ContentResolver contentResolver,
            ContentResolver contentResolver,
            BroadcastDispatcher broadcastDispatcher,
            BroadcastDispatcher broadcastDispatcher) {
            PluginManager pluginManager,
            FeatureFlags featureFlags,
            @Main Executor uiExecutor) {
        super(keyguardClockSwitch);
        super(keyguardClockSwitch);
        mResources = resources;
        mResources = resources;
        mStatusBarStateController = statusBarStateController;
        mStatusBarStateController = statusBarStateController;
@@ -141,9 +115,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
        mNotificationIconAreaController = notificationIconAreaController;
        mNotificationIconAreaController = notificationIconAreaController;
        mBroadcastDispatcher = broadcastDispatcher;
        mBroadcastDispatcher = broadcastDispatcher;
        mTimeFormat = Settings.System.getString(contentResolver, Settings.System.TIME_12_24);
        mTimeFormat = Settings.System.getString(contentResolver, Settings.System.TIME_12_24);
        mPluginManager = pluginManager;
        mIsSmartspaceEnabled = featureFlags.isSmartspaceEnabled();
        mUiExecutor = uiExecutor;
    }
    }


    /**
    /**
@@ -166,63 +137,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
        updateAodIcons();
        updateAodIcons();
        mNewLockScreenClockFrame = mView.findViewById(R.id.new_lockscreen_clock_view);
        mNewLockScreenClockFrame = mView.findViewById(R.id.new_lockscreen_clock_view);
        mNewLockScreenLargeClockFrame = mView.findViewById(R.id.new_lockscreen_clock_view_large);
        mNewLockScreenLargeClockFrame = mView.findViewById(R.id.new_lockscreen_clock_view_large);

        // If a smartspace plugin is detected, replace the existing smartspace
        // (keyguard_status_area), and initialize a new session
        mPluginListener = new PluginListener<BcSmartspaceDataPlugin>() {

            @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
    @Override
@@ -233,13 +147,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
        mStatusBarStateController.removeCallback(mStateListener);
        mStatusBarStateController.removeCallback(mStateListener);
        mColorExtractor.removeOnColorsChangedListener(mColorsListener);
        mColorExtractor.removeOnColorsChangedListener(mColorsListener);
        mView.setClockPlugin(null, mStatusBarStateController.getState());
        mView.setClockPlugin(null, mStatusBarStateController.getState());

        if (mSmartspaceSession != null) {
            mSmartspaceSession.unregisterSmartspaceUpdates(mSmartspaceCallback);
            mSmartspaceSession.destroy();
            mSmartspaceSession = null;
        }
        mPluginManager.removePluginListener(mPluginListener);
    }
    }


    /**
    /**
@@ -315,11 +222,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
            PropertyAnimator.setProperty(mNewLockScreenLargeClockFrame, AnimatableProperty.SCALE_Y,
            PropertyAnimator.setProperty(mNewLockScreenLargeClockFrame, AnimatableProperty.SCALE_Y,
                    scale, props, animate);
                    scale, props, animate);
        }
        }

        if (mSmartspaceView != null) {
            PropertyAnimator.setProperty((View) mSmartspaceView, AnimatableProperty.TRANSLATION_X,
                    x, props, animate);
        }
        mKeyguardSliceViewController.updatePosition(x, props, animate);
        mKeyguardSliceViewController.updatePosition(x, props, animate);
        mNotificationIconAreaController.updatePosition(x, props, animate);
        mNotificationIconAreaController.updatePosition(x, props, animate);
    }
    }
+0 −4
Original line number Original line Diff line number Diff line
@@ -97,8 +97,4 @@ public class FeatureFlags {
    public boolean isOngoingCallStatusBarChipEnabled() {
    public boolean isOngoingCallStatusBarChipEnabled() {
        return mFlagReader.isEnabled(R.bool.flag_ongoing_call_status_bar_chip);
        return mFlagReader.isEnabled(R.bool.flag_ongoing_call_status_bar_chip);
    }
    }

    public boolean isSmartspaceEnabled() {
        return mFlagReader.isEnabled(R.bool.flag_smartspace);
    }
}
}
Loading