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

Commit 8dfd95d0 authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Add user switcher back to QS"

parents 4ccec532 69e76cce
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -70,6 +70,18 @@

        </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>

        <com.android.systemui.statusbar.phone.MultiUserSwitch android:id="@+id/multi_user_switch"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_alignParentEnd="true"
            android:background="@drawable/ripple_drawable" >
            <ImageView android:id="@+id/multi_user_avatar"
                android:layout_width="@dimen/multi_user_avatar_expanded_size"
                android:layout_height="@dimen/multi_user_avatar_expanded_size"
                android:layout_gravity="center"
                android:scaleType="centerInside"/>
        </com.android.systemui.statusbar.phone.MultiUserSwitch>

        <ImageView
            android:layout_width="48dp"
            android:layout_height="48dp"
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ public class TileAdapter extends BaseAdapter {
            mCurrentTiles = tileSpecs;
            final TileGroup group = new TileGroup("com.android.settings", mContext);
            String possible = mContext.getString(R.string.quick_settings_tiles_default)
                    + ",user,hotspot,inversion,saver";
                    + ",hotspot,inversion,saver";
            String[] possibleTiles = possible.split(",");
            for (int i = 0; i < possibleTiles.length; i++) {
                final String spec = possibleTiles[i];
+4 −0
Original line number Diff line number Diff line
@@ -65,6 +65,10 @@ public class MultiUserSwitch extends FrameLayout implements View.OnClickListener
        setUserSwitcherController(qsPanel.getHost().getUserSwitcherController());
    }

    public boolean hasMultipleUsers() {
        return mUserListener.getCount() != 0;
    }

    public void setUserSwitcherController(UserSwitcherController userSwitcherController) {
        mUserSwitcherController = userSwitcherController;
        registerListener();
+19 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.util.AttributeSet;
import android.view.View;
@@ -70,6 +71,8 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
    private QuickQSPanel mHeaderQsPanel;
    private boolean mShowEmergencyCallsOnly;
    private float mDateTimeTranslation;
    private MultiUserSwitch mMultiUserSwitch;
    private ImageView mMultiUserAvatar;

    public QuickStatusBarHeader(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -100,6 +103,9 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
        mQsDetailHeaderSwitch = (Switch) mQsDetailHeader.findViewById(android.R.id.toggle);
        mQsDetailHeaderProgress = (ImageView) findViewById(R.id.qs_detail_header_progress);

        mMultiUserSwitch = (MultiUserSwitch) findViewById(R.id.multi_user_switch);
        mMultiUserAvatar = (ImageView) mMultiUserSwitch.findViewById(R.id.multi_user_avatar);

        // RenderThread is doing more harm than good when touching the header (to expand quick
        // settings), so disable it for this view
        ((RippleDrawable) getBackground()).setForceSoftware(true);
@@ -173,6 +179,12 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
                ? View.VISIBLE : View.INVISIBLE);
        mSettingsContainer.findViewById(R.id.tuner_icon).setVisibility(
                TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE);
        mMultiUserSwitch.setVisibility(mMultiUserSwitch.hasMultipleUsers() ? View.VISIBLE
                : View.GONE);
    }

    private boolean hasMultiUsers() {
        return false;
    }

    private void updateListeners() {
@@ -194,6 +206,7 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
        setupHost(qsPanel.getHost());
        if (mQsPanel != null) {
            mQsPanel.setCallback(mQsPanelCallback);
            mMultiUserSwitch.setQsPanel(qsPanel);
        }
    }

@@ -254,7 +267,12 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements

    @Override
    public void setUserInfoController(UserInfoController userInfoController) {
        // Don't care.
        userInfoController.addListener(new UserInfoController.OnUserInfoChangedListener() {
            @Override
            public void onUserInfoChanged(String name, Drawable picture) {
                mMultiUserAvatar.setImageDrawable(picture);
            }
        });
    }

    @Override