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

Commit 95f1bdb8 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Add new tile icons

Also add the base animators, paths and maks used by the icons

The ones that are added unflagged are just resources and their use is
flagged in code.

Flag: com.android.systemui.icon_refresh_2025
Test: manual, build and observe icons in tiles
Test: atest BluetoothTileTest WorkModeTileMapperTest
Bug: 388292225

Change-Id: I097439623967f9621e21db20848e702ac221c5ae
parent 120da50d
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.service.quicksettings.Tile
import android.widget.Switch
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.Flags.iconRefresh2025
import com.android.systemui.SysuiTestCase
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.qs.tiles.base.shared.model.QSTileState
@@ -107,7 +108,16 @@ class WorkModeTileMapperTest : SysuiTestCase() {

    private fun createWorkModeTileState(activationState: QSTileState.ActivationState): QSTileState {
        val label = testLabel
        val iconRes = com.android.internal.R.drawable.stat_sys_managed_profile_status
        val iconRes =
            if (iconRefresh2025()) {
                if (activationState == QSTileState.ActivationState.ACTIVE) {
                    R.drawable.qs_work_mode_icon_on
                } else {
                    R.drawable.qs_work_mode_icon_off
                }
            } else {
                com.android.internal.R.drawable.stat_sys_managed_profile_status
            }
        return QSTileState(
            icon = Icon.Loaded(context.getDrawable(iconRes)!!, null, iconRes),
            label = label,
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2025 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.
-->
<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:controlX1="0.5"
    android:controlY1="0"
    android:controlX2="0.5"
    android:controlY2="1" />
+21 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2025 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.
-->
<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:controlX1="0.5"
    android:controlY1="0"
    android:controlX2="1"
    android:controlY2="1" />
 No newline at end of file
+21 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2025 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.
-->
<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:controlX1="0.26"
    android:controlX2="0.27"
    android:controlY1="1.5"
    android:controlY2="1" />
 No newline at end of file
+45 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2025 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.
-->
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:drawable="@drawable/vd_work">
    <target android:name="root_group">
        <aapt:attr name="android:animation">
            <set android:ordering="sequentially">
                <objectAnimator
                    android:duration="250"
                    android:interpolator="@anim/ease"
                    android:propertyName="rotation"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="-12" />
                <objectAnimator
                    android:duration="180"
                    android:interpolator="@anim/ease"
                    android:propertyName="rotation"
                    android:valueFrom="-12"
                    android:valueTo="9" />
                <objectAnimator
                    android:duration="180"
                    android:interpolator="@anim/ease"
                    android:propertyName="rotation"
                    android:valueFrom="9"
                    android:valueTo="0" />
            </set>
        </aapt:attr>
    </target>
</animated-vector>
 No newline at end of file
Loading