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

Commit 90908650 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Limit status icons and show etc dots" into pi-dev

parents 74881c20 20b87bf0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:paddingStart="2dp"
    android:orientation="horizontal">
    <FrameLayout
        android:id="@+id/inout_container"
+57 −51
Original line number Diff line number Diff line
@@ -22,10 +22,15 @@
    android:id="@+id/wifi_combo"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:paddingStart="4dp"
    android:gravity="center_vertical"
    android:orientation="horizontal" >
    android:gravity="center_vertical" >

    <com.android.keyguard.AlphaOptimizedLinearLayout
        android:id="@+id/wifi_group"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:paddingStart="2dp"
        android:gravity="center_vertical"
    >
        <FrameLayout
                android:id="@+id/inout_container"
                android:layout_height="17dp"
@@ -79,4 +84,5 @@
            android:layout_height="4dp"
            android:visibility="gone"
        />
    </com.android.keyguard.AlphaOptimizedLinearLayout>
</com.android.systemui.statusbar.StatusBarWifiView>
+4 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.statusbar.phone.PhoneStatusBarView;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
import com.android.systemui.statusbar.policy.Clock;
import com.android.systemui.statusbar.phone.StatusIconContainer;
import com.android.systemui.statusbar.policy.DarkIconDispatcher;
import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.policy.DateView;
@@ -147,7 +148,9 @@ public class QuickStatusBarHeader extends RelativeLayout implements
        mDate.setOnClickListener(this);
        mSystemIconsView = findViewById(R.id.quick_status_bar_system_icons);
        mQuickQsStatusIcons = findViewById(R.id.quick_qs_status_icons);
        mIconManager = new TintedIconManager(findViewById(R.id.statusIcons));
        StatusIconContainer iconContainer = findViewById(R.id.statusIcons);
        iconContainer.setShouldRestrictIcons(false);
        mIconManager = new TintedIconManager(iconContainer);

        // Views corresponding to the header info section (e.g. tooltip and next alarm).
        mHeaderTextContainerView = findViewById(R.id.header_text_container);
+19 −17
Original line number Diff line number Diff line
@@ -163,7 +163,6 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
        mNumberPain.setColor(context.getColor(R.drawable.notification_number_text_color));
        mNumberPain.setAntiAlias(true);
        setNotification(sbn);
        maybeUpdateIconScaleDimens();
        setScaleType(ScaleType.CENTER);
        mDensity = context.getResources().getDisplayMetrics().densityDpi;
        if (mNotification != null) {
@@ -171,25 +170,17 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
                    com.android.internal.R.color.notification_default_color_light));
        }
        reloadDimens();
        maybeUpdateIconScaleDimens();
    }

    /** Should always be preceded by {@link #reloadDimens()} */
    private void maybeUpdateIconScaleDimens() {
        // We do not resize and scale system icons (on the right), only notification icons (on the
        // left).
        if (mNotification != null || mAlwaysScaleIcon) {
            updateIconScaleDimens();
        }
    }

    private void updateIconScaleDimens() {
        Resources res = mContext.getResources();
        mStatusBarIconSize = res.getDimensionPixelSize(R.dimen.status_bar_icon_size);
        mStatusBarIconDrawingSizeDark =
                res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size_dark);
        mStatusBarIconDrawingSize =
                res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size);
            updateIconScale();
        }
    }

    private void updateIconScale() {
        final float imageBounds = NotificationUtils.interpolate(
@@ -214,15 +205,21 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
        int density = newConfig.densityDpi;
        if (density != mDensity) {
            mDensity = density;
            reloadDimens();
            maybeUpdateIconScaleDimens();
            updateDrawable();
            reloadDimens();
        }
    }

    private void reloadDimens() {
        boolean applyRadius = mDotRadius == mStaticDotRadius;
        mStaticDotRadius = getResources().getDimensionPixelSize(R.dimen.overflow_dot_radius);
        Resources res = getResources();
        mStaticDotRadius = res.getDimensionPixelSize(R.dimen.overflow_dot_radius);
        mStatusBarIconSize = res.getDimensionPixelSize(R.dimen.status_bar_icon_size);
        mStatusBarIconDrawingSizeDark =
                res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size_dark);
        mStatusBarIconDrawingSize =
                res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size);
        if (applyRadius) {
            mDotRadius = mStaticDotRadius;
        }
@@ -240,7 +237,8 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
        mDozer = new NotificationIconDozeHelper(context);
        mBlocked = false;
        mAlwaysScaleIcon = true;
        updateIconScaleDimens();
        reloadDimens();
        updateIconScale();
        mDensity = context.getResources().getDisplayMetrics().densityDpi;
    }

@@ -425,7 +423,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
                radius = NotificationUtils.interpolate(mDotRadius, getWidth() / 4, fadeOutAmount);
            }
            mDotPaint.setAlpha((int) (alpha * 255));
            canvas.drawCircle(getWidth() / 2, getHeight() / 2, radius, mDotPaint);
            canvas.drawCircle(mStatusBarIconSize / 2, getHeight() / 2, radius, mDotPaint);
        }
    }

@@ -657,6 +655,7 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi
        mContrastedDrawableColor = contrastedColor;
    }

    @Override
    public void setVisibleState(int state) {
        setVisibleState(state, true /* animate */, null /* endRunnable */);
    }
@@ -872,7 +871,10 @@ public class StatusBarIconView extends AnimatedImageView implements StatusIconDi

    @Override
    public void onDarkChanged(Rect area, float darkIntensity, int tint) {
        setImageTintList(ColorStateList.valueOf(getTint(area, this, tint)));
        int areaTint = getTint(area, this, tint);
        ColorStateList color = ColorStateList.valueOf(areaTint);
        setImageTintList(color);
        setDecorColor(areaTint);
    }

    @Override
+10 −0
Original line number Diff line number Diff line
@@ -196,11 +196,21 @@ public class StatusBarMobileView extends AlphaOptimizedLinearLayout implements D
        mMobileRoaming.setImageTintList(list);
    }

    @Override
    public void setDecorColor(int color) {
        //TODO: May also not be needed
    }

    @Override
    public boolean isIconVisible() {
        return mState.visible;
    }

    @Override
    public void setVisibleState(int state) {
        //TODO: May not be needed. Mobile is always expected to be visible (not a dot)
    }

    @VisibleForTesting
    public MobileIconState getState() {
        return mState;
Loading