[SQUASH] Cherish: FOD icon picker [2/2]

Author: kondors1995 <normandija1945@gmail.com>
Date:   Fri Nov 27 12:40:12 2020 +0000

    convert to webp

    Change-Id: Ie2df0039158d5ed5cb9c5d7fe0045e2b74e0a500

commit 9425822e3c0da0255eeed94f9d691d7ae416201e
Author: AnierinB <anierinb@evolution-x.org>
Date:   Mon Feb 17 23:27:41 2020 +0000

    Cherish: Add fire_ice_ouroboros style FOD icon [2/2]

    Signed-off-by: AnierinB <anierinb@evolution-x.org>

commit e7e08fa488d54c9fe2a604d0bfa562483a12e5a0
Author: AnierinB <anierinb@evolution-x.org>
Date:   Sun Feb 9 02:30:43 2020 +0000

    Cherish: Add scratch style FOD icons [2/2]

    Co-authored-by: deadlyghost088 <raag.naidu@gmail.com>
    Co-authored-by: Joey Huab <joey@evolution-x.org>
    Signed-off-by: AnierinB <anierinb@evolution-x.org>
    Signed-off-by: Joey Huab <joey@evolution-x.org>

commit f1f6116c9f003738fb92c2669d30f7ba3936ab6d
Author: Joey Huab <team.evolutionx.rom@gmail.com>
Date:   Wed Jan 8 14:43:37 2020 +0800

    Cherish: Add Evo FOD icons [2/2]

    Co-authored-by: ecnivtwelve <ecnivtwelve@users.noreply.github.com>
    Co-authored-by: MartonDev <martondeveloper@gmail.com>
    Change-Id: I8b68b0e00149eae604694e7f3341616ccdaf6a14

commit de935762ae0040c624b30843e1554ebd8a47a926
Author: Stallix <team.evolutionx.rom@gmail.com>
Date:   Fri Jan 3 16:46:45 2020 +0000

    Cherish: Add more FOD icons [2/2]

    * Improve and re-write some codes
    * Use 3 columns for choosing the icons

    Change-Id: I43e48e8d0878bc9f5846ff81f4ad24228581709a

commit 1aed5e291cfa4736ce75f18fc939a407a6a5f4f5
Author: 00day0 <therandomuser11@gmail.com>
Date:   Mon Dec 16 21:46:12 2019 +0100

    FOD icon picker [2/2]

    * Add a footer to explain how users can add their own icons

    Co-authored-by: Stallix <thestallix@gmail.com>
    Signed-off-by: DennySPB <dennyspb@gmail.com>
    Change-Id: I38e1e79dc3bff68fef2f05cac23c622f413a96b8
    Signed-off-by: DennySPB <dennyspb@gmail.com>

Co-authored-by: Stallix <joey@evolution-x.org>
Change-Id: I5af323860a3036b25a79befdc8f593f2f9184211
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
kondors1995
2020-11-27 16:13:24 +00:00
committed by Hưng Phan
parent e2f423252b
commit d5de3f33af
33 changed files with 706 additions and 30 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2020 The Evolution X 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.
-->
<gradient android:type="linear" android:startX="45.045094" android:startY="23.324106" android:endX="131.64111" android:endY="151.57869" xmlns:aapt="http://schemas.android.com/aapt"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#fffcee0a" android:offset="0.0" />
<item android:color="#fffcee0a" android:offset="1.0" />
</gradient>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2020 The Evolution X 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="560dp"
android:height="560dp"
android:viewportWidth="560"
android:viewportHeight="560">
<path
android:fillColor="#fff"
android:fillAlpha="0.5"
android:strokeAlpha="0.5"
android:strokeWidth="1"
android:pathData="M335.5,369.75 L323.5,422.25 L190,303.75 L202,258.75 L334,258.75 L370,303.75 L260.5,303.75 L335.5,369.75 Z" />
<path
android:fillColor="#fff"
android:fillAlpha="0.5"
android:strokeAlpha="0.5"
android:strokeWidth="1"
android:pathData="M196,159.75 L370,159.75 L358,204.75 L244,204.75 L196,159.75 Z" />
<path
android:fillColor="#fff"
android:pathData="M323.5,427.25 A5,5,0,0,1,320.18,425.99 L186.68,307.49 A5,5,0,0,1,185.17,302.49 L197.17,257.49 A5,5,0,0,1,202,253.78 L334,253.78 A5,5,0,0,1,337.9,255.66 L373.9,300.66 A5,5,0,0,1,370,308.78 L273.75,308.78 L338.8,366 A5,5,0,0,1,340.37,370.86 L328.37,423.36 A5,5,0,0,1,325,427 A5,5,0,0,1,323.5,427.25 Z M195.63,302.06 L320.51,412.91 L330,371.54 L257.24,307.54 A5,5,0,0,1,260.54,298.79 L359.64,298.79 L331.64,263.79 L205.84,263.79 Z" />
<path
android:fillColor="#fff"
android:pathData="M358,209.75 L244,209.75 A5,5,0,0,1,240.58,208.4 L192.58,163.4 A5,5,0,0,1,196,154.75 L370,154.75 A5,5,0,0,1,374.83,161.04 L362.83,206.04 A5,5,0,0,1,358,209.75 Z M246,199.75 L354.16,199.75 L363.49,164.75 L208.64,164.75 Z" />
<path
android:strokeColor="@*android:color/accent_device_default_dark"
android:strokeWidth="16"
android:strokeMiterLimit="10"
android:pathData="M280,40 C412.548,40,520,147.452,520,280 C520,412.548,412.548,520,280,520 C147.452,520,40,412.548,40,280 C40,147.452,147.452,40,280,40 Z" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 B

View File

@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (C) 2020 The Evolution X Project Copyright (C) 2020 The CherishOS Project
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -40,7 +37,7 @@
android:id="@+id/fodicon1_button" android:id="@+id/fodicon1_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_default_1" android:src="@drawable/fod_icon_default_0"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -50,7 +47,7 @@
android:id="@+id/fodicon2_button" android:id="@+id/fodicon2_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_default_2" android:src="@drawable/fod_icon_default_1"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -68,7 +65,7 @@
android:id="@+id/fodicon3_button" android:id="@+id/fodicon3_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_default_3" android:src="@drawable/fod_icon_default_2"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -78,7 +75,7 @@
android:id="@+id/fodicon4_button" android:id="@+id/fodicon4_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_default_4" android:src="@drawable/fod_icon_default_3"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -88,7 +85,7 @@
android:id="@+id/fodicon5_button" android:id="@+id/fodicon5_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_default_5" android:src="@drawable/fod_icon_default_4"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -106,7 +103,7 @@
android:id="@+id/fodicon6_button" android:id="@+id/fodicon6_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_arc_reactor" android:src="@drawable/fod_icon_default_5"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -116,7 +113,7 @@
android:id="@+id/fodicon7_button" android:id="@+id/fodicon7_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_cpt_america_flat" android:src="@drawable/fod_icon_arc_reactor"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -126,7 +123,7 @@
android:id="@+id/fodicon8_button" android:id="@+id/fodicon8_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_cpt_america_flat_gray" android:src="@drawable/fod_icon_cpt_america_flat"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -144,7 +141,7 @@
android:id="@+id/fodicon9_button" android:id="@+id/fodicon9_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_dragon_black_flat" android:src="@drawable/fod_icon_cpt_america_flat_gray"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -154,7 +151,7 @@
android:id="@+id/fodicon10_button" android:id="@+id/fodicon10_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_future" android:src="@drawable/fod_icon_dragon_black_flat"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -164,7 +161,7 @@
android:id="@+id/fodicon11_button" android:id="@+id/fodicon11_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_glow_circle" android:src="@drawable/fod_icon_evo1"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -182,7 +179,7 @@
android:id="@+id/fodicon12_button" android:id="@+id/fodicon12_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_neon_arc" android:src="@drawable/fod_icon_glow_circle"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -192,7 +189,7 @@
android:id="@+id/fodicon13_button" android:id="@+id/fodicon13_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_neon_arc_gray" android:src="@drawable/fod_icon_neon_arc"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -202,7 +199,7 @@
android:id="@+id/fodicon14_button" android:id="@+id/fodicon14_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_neon_circle_pink" android:src="@drawable/fod_icon_neon_arc_gray"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -220,7 +217,7 @@
android:id="@+id/fodicon15_button" android:id="@+id/fodicon15_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_neon_triangle" android:src="@drawable/fod_icon_neon_circle_pink"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -230,7 +227,7 @@
android:id="@+id/fodicon16_button" android:id="@+id/fodicon16_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_paint_splash_circle" android:src="@drawable/fod_icon_neon_triangle"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -240,7 +237,7 @@
android:id="@+id/fodicon17_button" android:id="@+id/fodicon17_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_rainbow_horn" android:src="@drawable/fod_icon_paint_splash_circle"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -258,7 +255,7 @@
android:id="@+id/fodicon18_button" android:id="@+id/fodicon18_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_shooky" android:src="@drawable/fod_icon_rainbow_horn"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -268,7 +265,7 @@
android:id="@+id/fodicon19_button" android:id="@+id/fodicon19_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_spiral_blue" android:src="@drawable/fod_icon_shooky"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -278,7 +275,7 @@
android:id="@+id/fodicon20_button" android:id="@+id/fodicon20_button"
android:layout_width="@dimen/fod_picker_item_size" android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size" android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_sun_metro" android:src="@drawable/fod_icon_spiral_blue"
android:scaleType="centerInside" android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding" android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin" android:layout_margin="@dimen/fod_picker_item_margin"
@@ -286,4 +283,70 @@
</LinearLayout> </LinearLayout>
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center">
<ImageButton
android:id="@+id/fodicon21_button"
android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_sun_metro"
android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin"
android:background="@drawable/fod_picker_item_background"/>
<ImageButton
android:id="@+id/fodicon22_button"
android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_scratch_pink_blue"
android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin"
android:background="@drawable/fod_picker_item_background"/>
<ImageButton
android:id="@+id/fodicon23_button"
android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_scratch_red_blue"
android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin"
android:background="@drawable/fod_picker_item_background"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center">
<ImageButton
android:id="@+id/fodicon24_button"
android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_fire_ice_ouroboros"
android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin"
android:background="@drawable/fod_picker_item_background"/>
<ImageButton
android:id="@+id/fodicon25_button"
android:layout_width="@dimen/fod_picker_item_size"
android:layout_height="@dimen/fod_picker_item_size"
android:src="@drawable/fod_icon_transparent"
android:scaleType="centerInside"
android:padding="@dimen/fod_picker_item_padding"
android:layout_margin="@dimen/fod_picker_item_margin"
android:background="@drawable/fod_picker_item_background"/>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->
<resources>
<color name="fod_item_background_stroke_color">#555555</color>
</resources>

View File

@@ -15,8 +15,6 @@
--> -->
<resources> <resources>
<color name="fod_item_background_stroke_color">#d6d6d6</color>
<!--Cherish Settings--> <!--Cherish Settings-->
<color name="cherish_status_settings_background">#c8b6ff</color> <color name="cherish_status_settings_background">#c8b6ff</color>
<color name="cherish_quick_settings_background">#d1ead4</color> <color name="cherish_quick_settings_background">#d1ead4</color>
@@ -29,4 +27,7 @@
<color name="cherish_notification_settings_background">#ffc9e6</color> <color name="cherish_notification_settings_background">#ffc9e6</color>
<color name="cherish_misc_settings_background">#dfedc6</color> <color name="cherish_misc_settings_background">#dfedc6</color>
<color name="cherish_about_settings_background">#edc6d1</color> <color name="cherish_about_settings_background">#edc6d1</color>
<!-- FOD icon picker -->
<color name="fod_item_background_stroke_color">#d6d6d6</color>
</resources> </resources>

View File

@@ -23,9 +23,11 @@
<dimen name="color_preference_width">18dip</dimen> <dimen name="color_preference_width">18dip</dimen>
<dimen name="color_preference_height">18dip</dimen> <dimen name="color_preference_height">18dip</dimen>
<dimen name="fod_picker_item_margin">20dp</dimen>
<dimen name="fod_picker_item_size">100dp</dimen>
<dimen name="fod_picker_item_padding">20dp</dimen>
<!-- Shortcut picker --> <!-- Shortcut picker -->
<dimen name="shortcut_picker_left_padding">70dip</dimen> <dimen name="shortcut_picker_left_padding">70dip</dimen>
<!-- FOD icon picker -->
<dimen name="fod_picker_item_margin">10dp</dimen>
<dimen name="fod_picker_item_size">100dp</dimen>
<dimen name="fod_picker_item_padding">20dp</dimen>
</resources> </resources>

View File

@@ -887,4 +887,9 @@
<!-- Heads up options --> <!-- Heads up options -->
<string name="less_boring_heads_up_title">Make heads up less annoying</string> <string name="less_boring_heads_up_title">Make heads up less annoying</string>
<string name="less_boring_heads_up_summary">Show heads up only for dialer or messaging app if they are not in foreground</string> <string name="less_boring_heads_up_summary">Show heads up only for dialer or messaging app if they are not in foreground</string>
<!-- FOD icon picker -->
<string name="fod_icon_picker_title">Fingerprint icon</string>
<string name="fod_icon_picker_summary">Choose your favorite fingerprint icon</string>
<string name="fod_icon_picker_footer">In order to add your own icon, select the top left icon and use the OnePlus 6T FP Customizer app to select the icon you want.</string>
</resources> </resources>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2020 The CherishOS 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.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
android:title="@string/fod_icon_picker_title">
<!-- Preview -->
<com.cherish.settings.preferences.FODIconPicker
android:key="fod_icon"
android:layout="@layout/fod_picker_preference"
android:selectable="false"/>
</PreferenceScreen>

View File

@@ -0,0 +1,47 @@
/*
* Copyright (C) 2019-2020 The Evolution X 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.
*/
package com.cherish.settings.fragments;
import android.content.res.Resources;
import android.os.Bundle;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
public class FODIconPickerFragment extends SettingsPreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.cherish_settings_fod_picker);
getActivity().getActionBar().setTitle(R.string.fod_icon_picker_title);
}
@Override
public int getMetricsCategory() {
return MetricsEvent.CHERISH_SETTINGS;
}
}

View File

@@ -0,0 +1,415 @@
/*
* Copyright (C) 2020 The CherishOS 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.
*/
package com.cherish.settings.preferences;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import androidx.core.content.res.TypedArrayUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settingslib.Utils;
import com.android.settingslib.widget.LayoutPreference;
public class FODIconPicker extends LayoutPreference {
private boolean mAllowDividerAbove;
private boolean mAllowDividerBelow;
private View mRootView;
private static ImageButton Button0;
private static ImageButton Button1;
private static ImageButton Button2;
private static ImageButton Button3;
private static ImageButton Button4;
private static ImageButton Button5;
private static ImageButton Button6;
private static ImageButton Button7;
private static ImageButton Button8;
private static ImageButton Button9;
private static ImageButton Button10;
private static ImageButton Button11;
private static ImageButton Button12;
private static ImageButton Button13;
private static ImageButton Button14;
private static ImageButton Button15;
private static ImageButton Button16;
private static ImageButton Button17;
private static ImageButton Button18;
private static ImageButton Button19;
private static ImageButton Button20;
private static ImageButton Button21;
private static ImageButton Button22;
private static ImageButton Button23;
private static ImageButton Button24;
private static ImageButton Button25;
private static final String TAG = "FODIconPicker";
public FODIconPicker(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs, 0 /* defStyleAttr */);
}
public FODIconPicker(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs, defStyleAttr);
}
private void init(Context context, AttributeSet attrs, int defStyleAttr) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Preference);
mAllowDividerAbove = TypedArrayUtils.getBoolean(a, R.styleable.Preference_allowDividerAbove,
R.styleable.Preference_allowDividerAbove, false);
mAllowDividerBelow = TypedArrayUtils.getBoolean(a, R.styleable.Preference_allowDividerBelow,
R.styleable.Preference_allowDividerBelow, false);
a.recycle();
a = context.obtainStyledAttributes(
attrs, R.styleable.Preference, defStyleAttr, 0);
int layoutResource = a.getResourceId(R.styleable.Preference_android_layout, 0);
if (layoutResource == 0) {
throw new IllegalArgumentException("LayoutPreference requires a layout to be defined");
}
a.recycle();
// Need to create view now so that findViewById can be called immediately.
final View view = LayoutInflater.from(getContext())
.inflate(layoutResource, null, false);
setView(view, context);
}
private void setView(View view, Context context) {
setLayoutResource(R.layout.layout_preference_frame);
mRootView = view;
setShouldDisableView(false);
Button0 = findViewById(R.id.fodicon0_button);
Button1 = findViewById(R.id.fodicon1_button);
Button2 = findViewById(R.id.fodicon2_button);
Button3 = findViewById(R.id.fodicon3_button);
Button4 = findViewById(R.id.fodicon4_button);
Button5 = findViewById(R.id.fodicon5_button);
Button6 = findViewById(R.id.fodicon6_button);
Button7 = findViewById(R.id.fodicon7_button);
Button8 = findViewById(R.id.fodicon8_button);
Button9 = findViewById(R.id.fodicon9_button);
Button10 = findViewById(R.id.fodicon10_button);
Button11 = findViewById(R.id.fodicon11_button);
Button12 = findViewById(R.id.fodicon12_button);
Button13 = findViewById(R.id.fodicon13_button);
Button14 = findViewById(R.id.fodicon14_button);
Button15 = findViewById(R.id.fodicon15_button);
Button16 = findViewById(R.id.fodicon16_button);
Button17 = findViewById(R.id.fodicon17_button);
Button18 = findViewById(R.id.fodicon18_button);
Button19 = findViewById(R.id.fodicon19_button);
Button20 = findViewById(R.id.fodicon20_button);
Button21 = findViewById(R.id.fodicon21_button);
Button22 = findViewById(R.id.fodicon22_button);
Button23 = findViewById(R.id.fodicon23_button);
Button24 = findViewById(R.id.fodicon24_button);
Button25 = findViewById(R.id.fodicon25_button);
int defaultfodicon = Settings.System.getInt(
context.getContentResolver(), Settings.System.FOD_ICON, 0);
if (defaultfodicon==0) {
updateHighlightedItem(Button0, context);
} else if (defaultfodicon == 1) {
updateHighlightedItem(Button1, context);
} else if (defaultfodicon == 2) {
updateHighlightedItem(Button2, context);
} else if (defaultfodicon == 3) {
updateHighlightedItem(Button3, context);
} else if (defaultfodicon == 4) {
updateHighlightedItem(Button4, context);
} else if (defaultfodicon == 5) {
updateHighlightedItem(Button5, context);
} else if (defaultfodicon == 6) {
updateHighlightedItem(Button6, context);
} else if (defaultfodicon == 7) {
updateHighlightedItem(Button7, context);
} else if (defaultfodicon == 8) {
updateHighlightedItem(Button8, context);
} else if (defaultfodicon == 9) {
updateHighlightedItem(Button9, context);
} else if (defaultfodicon == 10) {
updateHighlightedItem(Button10, context);
} else if (defaultfodicon == 11) {
updateHighlightedItem(Button11, context);
} else if (defaultfodicon == 12) {
updateHighlightedItem(Button12, context);
} else if (defaultfodicon == 13) {
updateHighlightedItem(Button13, context);
} else if (defaultfodicon == 14) {
updateHighlightedItem(Button14, context);
} else if (defaultfodicon == 15) {
updateHighlightedItem(Button15, context);
} else if (defaultfodicon == 16) {
updateHighlightedItem(Button16, context);
} else if (defaultfodicon == 17) {
updateHighlightedItem(Button17, context);
} else if (defaultfodicon == 18) {
updateHighlightedItem(Button18, context);
} else if (defaultfodicon == 19) {
updateHighlightedItem(Button19, context);
} else if (defaultfodicon == 20) {
updateHighlightedItem(Button20, context);
} else if (defaultfodicon == 21) {
updateHighlightedItem(Button21, context);
} else if (defaultfodicon == 22) {
updateHighlightedItem(Button22, context);
} else if (defaultfodicon == 23) {
updateHighlightedItem(Button23, context);
} else if (defaultfodicon == 24) {
updateHighlightedItem(Button24, context);
} else if (defaultfodicon == 25) {
updateHighlightedItem(Button25, context);
}
Button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(0, context);
updateHighlightedItem(Button0, context);
}
});
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(1, context);
updateHighlightedItem(Button1, context);
}
});
Button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(2, context);
updateHighlightedItem(Button2, context);
}
});
Button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(3, context);
updateHighlightedItem(Button3, context);
}
});
Button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(4, context);
updateHighlightedItem(Button4, context);
}
});
Button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(5, context);
updateHighlightedItem(Button5, context);
}
});
Button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(6, context);
updateHighlightedItem(Button6, context);
}
});
Button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(7, context);
updateHighlightedItem(Button7, context);
}
});
Button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(8, context);
updateHighlightedItem(Button8, context);
}
});
Button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(9, context);
updateHighlightedItem(Button9, context);
}
});
Button10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(10, context);
updateHighlightedItem(Button10, context);
}
});
Button11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(11, context);
updateHighlightedItem(Button11, context);
}
});
Button12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(12, context);
updateHighlightedItem(Button12, context);
}
});
Button13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(13, context);
updateHighlightedItem(Button13, context);
}
});
Button14.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(14, context);
updateHighlightedItem(Button14, context);
}
});
Button15.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(15, context);
updateHighlightedItem(Button15, context);
}
});
Button16.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(16, context);
updateHighlightedItem(Button16, context);
}
});
Button17.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(17, context);
updateHighlightedItem(Button17, context);
}
});
Button18.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(18, context);
updateHighlightedItem(Button18, context);
}
});
Button19.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(19, context);
updateHighlightedItem(Button19, context);
}
});
Button20.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(20, context);
updateHighlightedItem(Button20, context);
}
});
Button21.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(21, context);
updateHighlightedItem(Button21, context);
}
});
Button22.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(22, context);
updateHighlightedItem(Button22, context);
}
});
Button23.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(23, context);
updateHighlightedItem(Button23, context);
}
});
Button24.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(24, context);
updateHighlightedItem(Button24, context);
}
});
Button25.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
updateSettings(25, context);
updateHighlightedItem(Button25, context);
}
});
}
private void updateSettings(int fodicon, Context context) {
Settings.System.putInt(context.getContentResolver(), Settings.System.FOD_ICON, fodicon);
}
private void updateHighlightedItem(ImageButton activebutton, Context context) {
int defaultcolor = context.getResources().getColor(R.color.fod_item_background_stroke_color);
ColorStateList defaulttint = ColorStateList.valueOf(defaultcolor);
Button0.setBackgroundTintList(defaulttint);
Button1.setBackgroundTintList(defaulttint);
Button2.setBackgroundTintList(defaulttint);
Button3.setBackgroundTintList(defaulttint);
Button4.setBackgroundTintList(defaulttint);
Button5.setBackgroundTintList(defaulttint);
Button6.setBackgroundTintList(defaulttint);
Button7.setBackgroundTintList(defaulttint);
Button8.setBackgroundTintList(defaulttint);
Button9.setBackgroundTintList(defaulttint);
Button10.setBackgroundTintList(defaulttint);
Button11.setBackgroundTintList(defaulttint);
Button12.setBackgroundTintList(defaulttint);
Button13.setBackgroundTintList(defaulttint);
Button14.setBackgroundTintList(defaulttint);
Button15.setBackgroundTintList(defaulttint);
Button16.setBackgroundTintList(defaulttint);
Button17.setBackgroundTintList(defaulttint);
Button18.setBackgroundTintList(defaulttint);
Button19.setBackgroundTintList(defaulttint);
Button20.setBackgroundTintList(defaulttint);
Button21.setBackgroundTintList(defaulttint);
Button22.setBackgroundTintList(defaulttint);
Button23.setBackgroundTintList(defaulttint);
Button24.setBackgroundTintList(defaulttint);
Button25.setBackgroundTintList(defaulttint);
activebutton.setBackgroundTintList(Utils.getColorAttr(getContext(), android.R.attr.colorAccent));
}
}