Reporting M3 redesign

This commit is contained in:
Grishka
2023-05-22 17:08:04 +03:00
parent 34a2af8429
commit bd7157c172
75 changed files with 2371 additions and 488 deletions

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- State Disabled, Unchecked -->
<item
android:alpha="@dimen/m3_comp_switch_disabled_unselected_icon_opacity"
android:color="@macro/m3_comp_switch_disabled_unselected_icon_color"
android:state_enabled="false" android:state_checked="false"/>
<!-- State Disabled, Checked -->
<item
android:alpha="@dimen/m3_comp_switch_disabled_selected_icon_opacity"
android:color="@macro/m3_comp_switch_disabled_selected_icon_color"
android:state_enabled="false" android:state_checked="true"/>
<!-- State Checked -->
<item android:color="@macro/m3_comp_switch_selected_icon_color" android:state_checked="true"/>
<!-- State Unchecked -->
<item android:color="@macro/m3_comp_switch_unselected_icon_color"/>
</selector>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- State Disabled, Unchecked -->
<item
android:alpha="@dimen/m3_comp_switch_disabled_unselected_handle_opacity"
android:color="@macro/m3_comp_switch_disabled_unselected_handle_color"
android:state_enabled="false" android:state_checked="false"/>
<!-- State Disabled, Checked -->
<item
android:alpha="@dimen/m3_comp_switch_disabled_selected_handle_opacity"
android:color="@macro/m3_comp_switch_disabled_selected_handle_color"
android:state_enabled="false" android:state_checked="true"/>
<!-- State Checked, Pressed -->
<item android:color="@macro/m3_comp_switch_selected_pressed_handle_color" android:state_checked="true" android:state_pressed="true"/>
<!-- State Checked -->
<item android:color="@macro/m3_comp_switch_selected_handle_color" android:state_checked="true"/>
<!-- State Unchecked, Pressed -->
<item android:color="@macro/m3_comp_switch_unselected_pressed_handle_color" android:state_pressed="true"/>
<!-- State Unchecked -->
<item android:color="@macro/m3_comp_switch_unselected_handle_color"/>
</selector>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/transparent" android:state_checked="true"/>
<item
android:alpha="@dimen/m3_comp_switch_disabled_track_opacity"
android:color="@macro/m3_comp_switch_disabled_unselected_track_outline_color"
android:state_enabled="false"/>
<item android:color="@macro/m3_comp_switch_unselected_track_outline_color"/>
</selector>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="@dimen/m3_comp_switch_disabled_track_opacity"
android:color="@macro/m3_comp_switch_disabled_unselected_track_color"
android:state_enabled="false" android:state_checked="false"/>
<item android:alpha="@dimen/m3_comp_switch_disabled_track_opacity"
android:color="@macro/m3_comp_switch_disabled_selected_track_color"
android:state_enabled="false" android:state_checked="true"/>
<item android:color="@macro/m3_comp_switch_selected_track_color" android:state_checked="true"/>
<item android:color="@macro/m3_comp_switch_unselected_track_color"/>
</selector>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="?colorWhite"/>
</shape>
</item>
<item android:gravity="top" android:height="0.5dp">
<shape>
<solid android:color="?colorM3OutlineVariant"/>
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?colorM3PrimaryContainer"/>
<stroke android:width="4dp" android:color="?colorM3OnPrimaryContainer"/>
<corners android:radius="6dp"/>
</shape>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="@android:color/white"
android:pathData="M10,18Q8.354,18 6.896,17.375Q5.438,16.75 4.344,15.656Q3.25,14.562 2.625,13.104Q2,11.646 2,10Q2,8.333 2.625,6.885Q3.25,5.438 4.344,4.344Q5.438,3.25 6.896,2.625Q8.354,2 10,2Q11.667,2 13.115,2.625Q14.562,3.25 15.656,4.344Q16.75,5.438 17.375,6.885Q18,8.333 18,10Q18,11.646 17.375,13.104Q16.75,14.562 15.656,15.656Q14.562,16.75 13.115,17.375Q11.667,18 10,18ZM10,16.5Q12.708,16.5 14.604,14.604Q16.5,12.708 16.5,10Q16.5,8.854 16.125,7.833Q15.75,6.812 15.083,5.979L5.979,15.083Q6.812,15.75 7.833,16.125Q8.854,16.5 10,16.5ZM4.917,14.021 L14.021,4.917Q13.188,4.25 12.167,3.875Q11.146,3.5 10,3.5Q7.292,3.5 5.396,5.396Q3.5,7.292 3.5,10Q3.5,11.146 3.875,12.167Q4.25,13.188 4.917,14.021Z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M9.55,18 L3.85,12.3 5.275,10.875 9.55,15.15 18.725,5.975 20.15,7.4Z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="@android:color/white"
android:pathData="M13.292,9.312V7.562H18.333V9.312ZM7.542,9.979Q6.125,9.979 5.167,9.021Q4.208,8.062 4.208,6.646Q4.208,5.229 5.167,4.271Q6.125,3.312 7.542,3.312Q8.958,3.312 9.917,4.271Q10.875,5.229 10.875,6.646Q10.875,8.062 9.917,9.021Q8.958,9.979 7.542,9.979ZM0.833,16.667V14.271Q0.833,13.542 1.208,12.958Q1.583,12.375 2.188,12.083Q3.479,11.458 4.833,11.146Q6.188,10.833 7.562,10.833Q8.938,10.833 10.302,11.156Q11.667,11.479 12.938,12.083Q13.542,12.375 13.906,12.958Q14.271,13.542 14.271,14.271V16.667ZM2.583,14.917H12.521V14.271Q12.521,14.042 12.417,13.896Q12.312,13.75 12.146,13.667Q11.042,13.167 9.875,12.875Q8.708,12.583 7.562,12.583Q6.417,12.583 5.25,12.865Q4.083,13.146 2.979,13.667Q2.792,13.729 2.688,13.885Q2.583,14.042 2.583,14.271ZM7.542,8.229Q8.229,8.229 8.677,7.781Q9.125,7.333 9.125,6.646Q9.125,5.958 8.677,5.51Q8.229,5.062 7.542,5.062Q6.854,5.062 6.406,5.51Q5.958,5.958 5.958,6.646Q5.958,7.333 6.406,7.781Q6.854,8.229 7.542,8.229ZM7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646Q7.542,6.646 7.542,6.646ZM7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Q7.562,12.583 7.562,12.583Z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="@android:color/white"
android:pathData="M15.812,18.604 L13.729,16.521Q13.229,16.812 12.667,17.021Q12.104,17.229 11.5,17.354V15.583Q11.75,15.521 11.979,15.427Q12.208,15.333 12.438,15.229L9.75,12.542V16.646L5.479,12.5H2.271V7.458H4.667L1.312,4.104L2.562,2.854L17.042,17.354ZM16.292,14.104 L15.021,12.833Q15.375,12.188 15.573,11.469Q15.771,10.75 15.771,9.979Q15.771,8 14.583,6.448Q13.396,4.896 11.5,4.375V2.604Q14.167,3.125 15.844,5.198Q17.521,7.271 17.521,9.979Q17.521,11.104 17.208,12.156Q16.896,13.208 16.292,14.104ZM7.229,10ZM13.375,11.188 L11.5,9.312V6.708Q12.458,7.146 13.021,8.031Q13.583,8.917 13.583,9.979Q13.583,10.292 13.531,10.594Q13.479,10.896 13.375,11.188ZM9.75,7.542 L7.604,5.396 9.75,3.312ZM8,12.5V10.792L6.417,9.208H4.021V10.75H6.167Z"/>
</vector>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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-selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_thumb_size"
android:height="@dimen/mtrl_switch_thumb_size"
tools:ignore="NewApi">
<item
android:id="@+id/pressed"
android:drawable="@drawable/mtrl_switch_thumb_pressed"
android:state_pressed="true" />
<item
android:id="@+id/checked"
android:drawable="@drawable/mtrl_switch_thumb_checked"
android:state_checked="true" />
<item
android:id="@+id/with_icon"
android:drawable="@drawable/mtrl_switch_thumb_checked"
app:state_with_icon="true" />
<item
android:id="@+id/unchecked"
android:drawable="@drawable/mtrl_switch_thumb_unchecked" />
<transition
android:fromId="@+id/pressed"
android:toId="@+id/checked"
android:drawable="@drawable/mtrl_switch_thumb_pressed_checked" />
<transition
android:fromId="@+id/pressed"
android:toId="@+id/with_icon"
android:drawable="@drawable/mtrl_switch_thumb_pressed_checked" />
<transition
android:fromId="@+id/pressed"
android:toId="@+id/unchecked"
android:drawable="@drawable/mtrl_switch_thumb_pressed_unchecked" />
<transition
android:fromId="@+id/checked"
android:toId="@+id/pressed"
android:drawable="@drawable/mtrl_switch_thumb_checked_pressed" />
<transition
android:fromId="@+id/checked"
android:toId="@+id/unchecked"
android:drawable="@drawable/mtrl_switch_thumb_checked_unchecked" />
<transition
android:fromId="@+id/with_icon"
android:toId="@+id/pressed"
android:drawable="@drawable/mtrl_switch_thumb_checked_pressed" />
<transition
android:fromId="@+id/unchecked"
android:toId="@+id/pressed"
android:drawable="@drawable/mtrl_switch_thumb_unchecked_pressed" />
<transition
android:fromId="@+id/unchecked"
android:toId="@+id/checked"
android:drawable="@drawable/mtrl_switch_thumb_unchecked_checked" />
</animated-selector>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_thumb_size"
android:height="@dimen/mtrl_switch_thumb_size"
android:viewportHeight="@integer/mtrl_switch_thumb_viewport_size"
android:viewportWidth="@integer/mtrl_switch_thumb_viewport_size"
tools:ignore="NewApi">
<group
android:name="@string/mtrl_switch_thumb_group_name"
android:pivotX="@integer/mtrl_switch_thumb_viewport_center_coordinate"
android:pivotY="@integer/mtrl_switch_thumb_viewport_center_coordinate">
<path
android:name="@string/mtrl_switch_thumb_path_name"
android:fillColor="#FFFFFFFF"
android:pathData="@string/mtrl_switch_thumb_path_checked" />
</group>
</vector>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_checked"
tools:ignore="NewApi">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_pressed_duration"
android:interpolator="@interpolator/m3_sys_motion_easing_standard"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_checked"
android:valueTo="@string/mtrl_switch_thumb_path_pressed"
android:valueType="pathType" />
</aapt:attr>
</target>
</animated-vector>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_checked"
tools:ignore="NewApi">
<set
android:interpolator="@interpolator/m3_sys_motion_easing_emphasized"
android:shareInterpolator="true">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_pre_morphing_duration"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_checked"
android:valueTo="@string/mtrl_switch_thumb_path_morphing"
android:valueType="pathType" />
</aapt:attr>
</target>
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:startOffset="@integer/mtrl_switch_thumb_pre_morphing_duration"
android:duration="@integer/mtrl_switch_thumb_post_morphing_duration"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_morphing"
android:valueTo="@string/mtrl_switch_thumb_path_unchecked"
android:valueType="pathType" />
</aapt:attr>
</target>
</set>
</animated-vector>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_thumb_size"
android:height="@dimen/mtrl_switch_thumb_size"
android:viewportHeight="@integer/mtrl_switch_thumb_viewport_size"
android:viewportWidth="@integer/mtrl_switch_thumb_viewport_size"
tools:ignore="NewApi">
<group
android:name="@string/mtrl_switch_thumb_group_name"
android:pivotX="@integer/mtrl_switch_thumb_viewport_center_coordinate"
android:pivotY="@integer/mtrl_switch_thumb_viewport_center_coordinate">
<path
android:name="@string/mtrl_switch_thumb_path_name"
android:fillColor="#ffffffff"
android:pathData="@string/mtrl_switch_thumb_path_pressed" />
</group>
</vector>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_pressed"
tools:ignore="NewApi">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_pressed_duration"
android:interpolator="@interpolator/m3_sys_motion_easing_standard"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_pressed"
android:valueTo="@string/mtrl_switch_thumb_path_checked"
android:valueType="pathType" />
</aapt:attr>
</target>
</animated-vector>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_pressed"
tools:ignore="NewApi">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_pressed_duration"
android:interpolator="@interpolator/m3_sys_motion_easing_emphasized"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_pressed"
android:valueTo="@string/mtrl_switch_thumb_path_unchecked"
android:valueType="pathType" />
</aapt:attr>
</target>
</animated-vector>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_thumb_size"
android:height="@dimen/mtrl_switch_thumb_size"
android:viewportHeight="@integer/mtrl_switch_thumb_viewport_size"
android:viewportWidth="@integer/mtrl_switch_thumb_viewport_size"
tools:ignore="NewApi">
<group
android:name="@string/mtrl_switch_thumb_group_name"
android:pivotX="@integer/mtrl_switch_thumb_viewport_center_coordinate"
android:pivotY="@integer/mtrl_switch_thumb_viewport_center_coordinate">
<path
android:name="@string/mtrl_switch_thumb_path_name"
android:fillColor="#FFFFFFFF"
android:pathData="@string/mtrl_switch_thumb_path_unchecked" />
</group>
</vector>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_unchecked"
tools:ignore="NewApi">
<set
android:interpolator="@interpolator/m3_sys_motion_easing_emphasized"
android:shareInterpolator="true">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_post_morphing_duration"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_unchecked"
android:valueTo="@string/mtrl_switch_thumb_path_morphing"
android:valueType="pathType" />
</aapt:attr>
</target>
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:startOffset="@integer/mtrl_switch_thumb_post_morphing_duration"
android:duration="@integer/mtrl_switch_thumb_pre_morphing_duration"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_morphing"
android:valueTo="@string/mtrl_switch_thumb_path_checked"
android:valueType="pathType" />
</aapt:attr>
</target>
</set>
</animated-vector>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/mtrl_switch_thumb_unchecked"
tools:ignore="NewApi">
<target android:name="@string/mtrl_switch_thumb_path_name">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="@integer/mtrl_switch_thumb_pressed_duration"
android:interpolator="@interpolator/m3_sys_motion_easing_standard"
android:propertyName="pathData"
android:valueFrom="@string/mtrl_switch_thumb_path_unchecked"
android:valueTo="@string/mtrl_switch_thumb_path_pressed"
android:valueType="pathType" />
</aapt:attr>
</target>
</animated-vector>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_track_width"
android:height="@dimen/mtrl_switch_track_height"
android:viewportWidth="@integer/mtrl_switch_track_viewport_width"
android:viewportHeight="@integer/mtrl_switch_track_viewport_height"
tools:ignore="NewApi">
<path
android:name="track"
android:fillColor="#FFFFFFFF"
android:pathData="@string/mtrl_switch_track_path" />
</vector>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="@dimen/mtrl_switch_track_width"
android:height="@dimen/mtrl_switch_track_height"
android:viewportWidth="@integer/mtrl_switch_track_viewport_width"
android:viewportHeight="@integer/mtrl_switch_track_viewport_height"
tools:ignore="NewApi">
<path
android:name="outline"
android:strokeColor="?attr/colorM3Outline"
android:strokeWidth="2"
android:pathData="@string/mtrl_switch_track_decoration_path" />
</vector>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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:pathData="@string/m3_sys_motion_easing_emphasized_path_data" />

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_emphasized_accelerate_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_emphasized_accelerate_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_emphasized_accelerate_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_emphasized_accelerate_control_y2"/>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_emphasized_decelerate_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_emphasized_decelerate_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_emphasized_decelerate_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_emphasized_decelerate_control_y2"/>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_linear_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_linear_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_linear_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_linear_control_y2"/>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_standard_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_standard_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_standard_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_standard_control_y2"/>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_standard_accelerate_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_standard_accelerate_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_standard_accelerate_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_standard_accelerate_control_y2"/>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2022 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="@dimen/m3_sys_motion_easing_standard_decelerate_control_x1"
android:controlY1="@dimen/m3_sys_motion_easing_standard_decelerate_control_y1"
android:controlX2="@dimen/m3_sys_motion_easing_standard_decelerate_control_x2"
android:controlY2="@dimen/m3_sys_motion_easing_standard_decelerate_control_y2"/>

View File

@@ -4,17 +4,15 @@
android:id="@+id/button_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:windowBackground"
android:outlineProvider="bounds"
android:elevation="3dp"
android:background="@drawable/bg_m3_bottom_bar"
tools:showIn="@layout/fragment_report_choice">
<Button
android:id="@+id/btn_next"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="40dp"
android:layout_margin="16dp"
style="?primaryLargeButtonStyle"
style="@style/Widget.Mastodon.M3.Button.Filled"
android:text="@string/next" />
</FrameLayout>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<org.joinmastodon.android.ui.views.CheckableRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:clipToPadding="false">
<View
android:id="@+id/checkbox"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="-4dp"
android:layout_marginTop="-8dp"
android:layout_marginEnd="12dp"
android:duplicateParentState="true"/>
<ImageView
android:id="@+id/more"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="-2dp"
android:layout_marginEnd="-2dp"
android:background="?android:selectableItemBackgroundBorderless"
android:scaleType="center"
android:tint="?colorM3OnSurfaceVariant"
android:contentDescription="@string/more_options"
android:src="@drawable/ic_more_vert_20px" />
<ImageView
android:id="@+id/avatar"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@id/checkbox"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp" />
<org.joinmastodon.android.ui.views.HeaderSubtitleLinearLayout
android:id="@+id/name_wrap"
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_toEndOf="@id/avatar"
android:layout_toStartOf="@id/more"
android:layout_marginEnd="8dp">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@style/m3_title_medium"
android:textColor="?colorM3OnSurface"
android:gravity="start|center_vertical"
tools:text="Eugen" />
<TextView
android:id="@+id/extra_text"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginStart="8dp"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@style/m3_title_medium"
android:fontFamily="sans-serif"
android:textAlignment="viewStart"
android:textColor="?colorM3OnSurface"
tools:text="boosted your cat picture" />
</org.joinmastodon.android.ui.views.HeaderSubtitleLinearLayout>
<TextView
android:id="@+id/time_and_username"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_below="@id/name_wrap"
android:layout_toEndOf="@id/avatar"
android:singleLine="true"
android:ellipsize="end"
android:textAppearance="@style/m3_title_small"
android:gravity="center_vertical"
android:textColor="?colorM3OnSurfaceVariant"
tools:text="9h ago · \@Gargron@mastodon.social"/>
</org.joinmastodon.android.ui.views.CheckableRelativeLayout>

View File

@@ -3,13 +3,22 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/top_progress"
android:layout_width="match_parent"
android:layout_height="4dp"
android:indeterminate="false"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/m3_progress"/>
<me.grishka.appkit.views.UsableRecyclerView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="?android:colorBackground"/>
android:background="?colorM3Surface"/>
<include layout="@layout/button_bar_one" />

View File

@@ -1,9 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/top_progress"
android:layout_width="match_parent"
android:layout_height="4dp"
android:indeterminate="false"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/m3_progress"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -16,20 +27,74 @@
<include layout="@layout/item_list_header"/>
<EditText
android:id="@+id/text"
<org.joinmastodon.android.ui.views.FloatingHintEditTextLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="@string/report_comment_hint"
android:inputType="textMultiLine|textCapSentences"
android:gravity="top|start"
android:minHeight="212dp"/>
android:paddingTop="4dp"
android:paddingBottom="12dp"
app:labelTextColor="@color/m3_outlined_text_field_label"
android:foreground="@drawable/bg_m3_outlined_text_field">
<EditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="8dp"
android:padding="16dp"
android:background="@null"
android:elevation="0dp"
android:inputType="textMultiLine|textCapSentences"
android:hint="@string/report_comment_hint"/>
</org.joinmastodon.android.ui.views.FloatingHintEditTextLayout>
<RelativeLayout
android:id="@+id/forward_report"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
android:background="?android:selectableItemBackground">
<org.joinmastodon.android.ui.views.M3Switch
android:id="@+id/forward_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginStart="16dp"
android:checked="true"/>
<TextView
android:id="@+id/forward_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toStartOf="@id/forward_switch"
android:textAppearance="@style/m3_body_large"
android:textColor="?colorM3OnSurface"
android:minHeight="24dp"
android:gravity="center_vertical"
tools:text="Forward to %s"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/forward_title"
android:layout_alignLeft="@id/forward_title"
android:layout_alignRight="@id/forward_title"
android:textAppearance="@style/m3_body_medium"
android:textColor="?colorM3OnSurfaceVariant"
android:text="@string/forward_report_explanation"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
<include layout="@layout/button_bar_two"/>
<include layout="@layout/button_bar_one"/>
</LinearLayout>

View File

@@ -5,6 +5,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/top_progress"
android:layout_width="match_parent"
android:layout_height="4dp"
android:indeterminate="false"
android:indeterminateOnly="false"
android:max="100"
android:progress="100"
android:progressDrawable="@drawable/m3_progress"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -20,110 +30,162 @@
android:clipToPadding="false"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:textAppearance="@style/m3_headline_medium"
android:minHeight="36dp"
android:gravity="center_vertical"
tools:text="Title"/>
<FrameLayout
android:id="@+id/ava_reported"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_marginBottom="24dp"
android:layout_marginHorizontal="-16dp"
android:paddingHorizontal="16dp"
android:layout_marginTop="-32dp"
android:paddingTop="32dp"
android:clipToPadding="false">
<ImageView
android:id="@+id/avatar"
android:layout_width="104dp"
android:layout_height="104dp"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_gravity="center_horizontal"
android:importantForAccessibility="no"
tools:src="#0f0"/>
<View
android:id="@+id/reported_overlay"
android:layout_width="205dp"
android:layout_height="69dp"
<TextView
android:id="@+id/reported_stamp"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_gravity="center"
android:elevation="2dp"
android:background="@drawable/reported_overlay"/>
android:background="@drawable/bg_reported_stamp"
android:elevation="1dp"
android:gravity="center"
android:includeFontPadding="false"
android:outlineProvider="background"
android:paddingHorizontal="12dp"
android:rotation="-10"
android:text="@string/reported"
android:textAllCaps="true"
android:textColor="?colorM3OnPrimaryContainer"
android:fontFamily="sans-serif-condensed"
android:textStyle="bold"
android:letterSpacing="-0.03"
android:singleLine="true"
android:maxWidth="300dp"
android:textSize="28dp" />
</FrameLayout>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textAppearance="@style/m3_headline_medium"
android:minHeight="36dp"
android:gravity="center_vertical"
android:textColor="?colorM3OnSurface"
tools:text="Title"/>
<TextView
android:id="@+id/subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
android:textColor="?colorM3OnSurfaceVariant"
android:minHeight="24dp"
android:gravity="center_vertical"
tools:text="Subtitle"/>
<TextView
android:id="@+id/unfollow_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:textAppearance="@style/m3_title_medium"
tools:text="@string/unfollow_user"/>
<Button
<FrameLayout
android:id="@+id/unfollow_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
style="?secondaryLargeButtonStyle"
android:text="@string/unfollow"/>
android:layout_height="40dp"
android:background="@drawable/bg_button_m3_outlined">
<TextView
android:id="@+id/unfollow_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@null"
android:foreground="@null"
android:drawablePadding="8dp"
android:clickable="false"
android:focusable="false"
tools:text="@string/unfollow_user"
android:duplicateParentState="true"
style="@style/Widget.Mastodon.M3.Button.Outlined"/>
</FrameLayout>
<TextView
android:id="@+id/mute_title"
android:id="@+id/unfollow_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:textAppearance="@style/m3_title_medium"
tools:text="@string/mute_user"/>
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:layout_marginHorizontal="8dp"
android:textAppearance="@style/m3_body_small"
android:textColor="?colorM3OnSurfaceVariant"
android:text="@string/report_unfollow_explanation"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAppearance="@style/m3_body_medium"
android:textColor="?android:textColorSecondary"
android:text="@string/mute_user_explain"/>
<Button
android:id="@+id/mute_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
style="?secondaryLargeButtonStyle"
android:text="@string/do_mute"/>
<TextView
android:id="@+id/block_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:textAppearance="@style/m3_title_medium"
tools:text="@string/block_user"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAppearance="@style/m3_body_medium"
android:textColor="?android:textColorSecondary"
android:text="@string/block_user_explain"/>
<Button
<FrameLayout
android:id="@+id/block_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/bg_button_m3_outlined">
<TextView
android:id="@+id/block_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@null"
android:foreground="@null"
android:drawablePadding="8dp"
android:clickable="false"
android:focusable="false"
tools:text="@string/block_user"
android:duplicateParentState="true"
style="@style/Widget.Mastodon.M3.Button.Outlined"/>
</FrameLayout>
<TextView
android:id="@+id/block_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
style="?secondaryLargeButtonStyle"
android:text="@string/do_block"/>
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:layout_marginHorizontal="8dp"
android:textAppearance="@style/m3_body_small"
android:textColor="?colorM3OnSurfaceVariant"
android:text="@string/block_user_explain"/>
<FrameLayout
android:id="@+id/mute_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/bg_button_m3_outlined">
<TextView
android:id="@+id/mute_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@null"
android:foreground="@null"
android:drawablePadding="8dp"
android:clickable="false"
android:focusable="false"
tools:text="@string/mute_user"
android:duplicateParentState="true"
style="@style/Widget.Mastodon.M3.Button.Outlined"/>
</FrameLayout>
<TextView
android:id="@+id/mute_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:layout_marginHorizontal="8dp"
android:textAppearance="@style/m3_body_small"
android:textColor="?colorM3OnSurfaceVariant"
android:text="@string/mute_user_explain"/>
</LinearLayout>

View File

@@ -6,10 +6,19 @@
android:orientation="vertical"
android:id="@+id/appkit_loader_root"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="?android:colorBackground">
android:background="?colorM3Surface">
<include layout="@layout/appkit_toolbar"/>
<ProgressBar
android:id="@+id/top_progress"
android:layout_width="match_parent"
android:layout_height="4dp"
android:indeterminate="false"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/m3_progress"/>
<FrameLayout
android:id="@+id/appkit_loader_content"
android:layout_width="match_parent"
@@ -32,6 +41,6 @@
</FrameLayout>
<include layout="@layout/button_bar_two"/>
<include layout="@layout/button_bar_one"/>
</me.grishka.appkit.views.FragmentRootLinearLayout>

View File

@@ -4,28 +4,19 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="32dp"
android:paddingBottom="8dp">
<TextView
android:id="@+id/step_counter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
tools:text="@string/step_x_of_n"/>
android:paddingHorizontal="16dp"
android:paddingTop="14dp"
android:paddingBottom="16dp">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:layout_marginBottom="8dp"
android:textAppearance="@style/m3_headline_medium"
android:minHeight="36dp"
android:gravity="center_vertical"
android:textColor="?colorM3OnSurface"
tools:text="Title"/>
<TextView
@@ -33,7 +24,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/m3_title_medium"
android:textColor="?android:textColorSecondary"
android:textColor="?colorM3OnSurfaceVariant"
android:minHeight="24dp"
android:gravity="center_vertical"
tools:text="Subtitle"/>
</LinearLayout>

View File

@@ -1,39 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<org.joinmastodon.android.ui.views.CheckableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
android:orientation="horizontal"
android:paddingVertical="8dp"
android:paddingEnd="24dp"
android:gravity="center_vertical">
<ImageView
<View
android:id="@+id/checkbox"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:tint="?android:textColorSecondary"
android:src="@drawable/ic_round_checkbox"/>
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginHorizontal="12dp"
android:duplicateParentState="true"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<org.joinmastodon.android.ui.views.LinkedTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/checkbox"
android:layout_marginStart="16dp"
android:textAppearance="@style/m3_title_medium"
android:textAppearance="@style/m3_body_large"
android:textColor="?colorM3OnSurface"
android:textSize="16sp"
android:minHeight="24dp"
android:gravity="center_vertical"
tools:text="Title"/>
<TextView
android:id="@+id/subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/checkbox"
android:layout_below="@id/title"
android:layout_marginStart="16dp"
android:textAppearance="@style/m3_body_medium"
android:textColor="?android:textColorSecondary"
android:textColor="?colorM3OnSurfaceVariant"
android:textSize="14sp"
android:minHeight="20dp"
android:gravity="center_vertical"
tools:text="Subtitle"/>
</RelativeLayout>
</LinearLayout>
</org.joinmastodon.android.ui.views.CheckableLinearLayout>

View File

@@ -28,12 +28,13 @@
android:ellipsize="end"
tools:text="@string/theme_true_black"/>
<Switch
<org.joinmastodon.android.ui.views.M3Switch
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="12dp"
android:duplicateParentState="false"
android:focusable="false"
android:clickable="false"/>

View File

@@ -18,6 +18,7 @@
android:src="@drawable/ic_visibility_off_24px"/>
<TextView
android:id="@+id/sensitive_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"

View File

@@ -44,6 +44,7 @@
<attr name="colorM3OnErrorContainer" format="color"/>
<attr name="colorM3PrimaryInverse" format="color"/>
<attr name="colorSensitiveOverlay" format="color"/>
<attr name="colorWhite" format="color"/>
<attr name="primaryLargeButtonStyle" format="reference"/>
<attr name="secondaryLargeButtonStyle" format="reference"/>

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- MaterialSwitch-specific state to represent presence of a thumb icon. -->
<attr name="state_with_icon" format="boolean" />
<!-- Generated from token set (md.comp.switch) in context (platform=android, audience=3p). -->
<!-- Enabled - Icon -->
<macro name="m3_comp_switch_selected_icon_color">?attr/colorM3OnPrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_icon_color">?attr/colorM3SurfaceVariant</macro>
<!-- Enabled - Track -->
<dimen name="m3_comp_switch_track_height">32dp</dimen>
<dimen name="m3_comp_switch_track_width">52dp</dimen>
<macro name="m3_comp_switch_unselected_track_outline_color">?attr/colorM3Outline</macro>
<macro name="m3_comp_switch_selected_track_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_unselected_track_color">?attr/colorM3SurfaceVariant</macro>
<!-- Enabled - Handle -->
<macro name="m3_comp_switch_selected_handle_color">?attr/colorM3OnPrimary</macro>
<macro name="m3_comp_switch_unselected_handle_color">?attr/colorM3Outline</macro>
<!-- Disabled - Icon -->
<macro name="m3_comp_switch_disabled_selected_icon_color">?attr/colorM3OnSurface</macro>
<item name="m3_comp_switch_disabled_selected_icon_opacity" format="float" type="dimen">0.38</item>
<macro name="m3_comp_switch_disabled_unselected_icon_color">?attr/colorM3SurfaceVariant</macro>
<item name="m3_comp_switch_disabled_unselected_icon_opacity" format="float" type="dimen">0.38</item>
<!-- Disabled - Track -->
<item name="m3_comp_switch_disabled_track_opacity" format="float" type="dimen">0.12</item>
<macro name="m3_comp_switch_disabled_selected_track_color">?attr/colorM3OnSurface</macro>
<macro name="m3_comp_switch_disabled_unselected_track_color">?attr/colorM3SurfaceVariant</macro>
<macro name="m3_comp_switch_disabled_unselected_track_outline_color">?attr/colorM3OnSurface</macro>
<!-- Disabled - Handle -->
<item name="m3_comp_switch_disabled_unselected_handle_opacity" format="float" type="dimen">0.38</item>
<item name="m3_comp_switch_disabled_selected_handle_opacity" format="float" type="dimen">1</item>
<macro name="m3_comp_switch_disabled_selected_handle_color">?attr/colorM3Surface</macro>
<macro name="m3_comp_switch_disabled_unselected_handle_color">?attr/colorM3OnSurface</macro>
<!-- Hovered - Icon -->
<macro name="m3_comp_switch_selected_hover_icon_color">?attr/colorM3OnPrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_hover_icon_color">?attr/colorM3SurfaceVariant</macro>
<!-- Hovered - Track -->
<macro name="m3_comp_switch_selected_hover_track_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_selected_hover_state_layer_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_unselected_hover_track_color">?attr/colorM3SurfaceVariant</macro>
<macro name="m3_comp_switch_unselected_hover_track_outline_color">?attr/colorM3Outline</macro>
<macro name="m3_comp_switch_unselected_hover_state_layer_color">?attr/colorM3OnSurface</macro>
<!-- Hovered - Handle -->
<macro name="m3_comp_switch_selected_hover_handle_color">?attr/colorM3PrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_hover_handle_color">?attr/colorM3OnSurfaceVariant</macro>
<!-- Focused - Icon -->
<macro name="m3_comp_switch_selected_focus_icon_color">?attr/colorM3OnPrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_focus_icon_color">?attr/colorM3SurfaceVariant</macro>
<!-- Focused - Track -->
<macro name="m3_comp_switch_selected_focus_track_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_selected_focus_state_layer_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_unselected_focus_track_color">?attr/colorM3SurfaceVariant</macro>
<macro name="m3_comp_switch_unselected_focus_track_outline_color">?attr/colorM3Outline</macro>
<macro name="m3_comp_switch_unselected_focus_state_layer_color">?attr/colorM3OnSurface</macro>
<!-- Focused - Handle -->
<macro name="m3_comp_switch_selected_focus_handle_color">?attr/colorM3PrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_focus_handle_color">?attr/colorM3OnSurfaceVariant</macro>
<!-- Pressed (rippple) - Icon -->
<macro name="m3_comp_switch_selected_pressed_icon_color">?attr/colorM3OnPrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_pressed_icon_color">?attr/colorM3SurfaceVariant</macro>
<!-- Pressed (rippple) - Track -->
<macro name="m3_comp_switch_selected_pressed_track_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_selected_pressed_state_layer_color">?attr/colorM3Primary</macro>
<macro name="m3_comp_switch_unselected_pressed_track_color">?attr/colorM3SurfaceVariant</macro>
<macro name="m3_comp_switch_unselected_pressed_track_outline_color">?attr/colorM3Outline</macro>
<macro name="m3_comp_switch_unselected_pressed_state_layer_color">?attr/colorM3OnSurface</macro>
<!-- Pressed (rippple) - Handle -->
<macro name="m3_comp_switch_selected_pressed_handle_color">?attr/colorM3PrimaryContainer</macro>
<macro name="m3_comp_switch_unselected_pressed_handle_color">?attr/colorM3OnSurfaceVariant</macro>
<dimen name="mtrl_switch_thumb_size">32dp</dimen>
<dimen name="mtrl_switch_track_width">@dimen/m3_comp_switch_track_width</dimen>
<dimen name="mtrl_switch_track_height">@dimen/m3_comp_switch_track_height</dimen>
<dimen name="mtrl_switch_text_padding">16dp</dimen>
<!-- Below path data are used to morph the thumb shape between different
states. All of them start from the orientation of 270 degrees, draw 90
degrees clockwise, draw a horizontal line (may have zero length if it's a
circle), draw 180 degrees clockwise, draw another horizontal line (may
have zero length if it's a circle), and then draw the final 90 degrees to
finish a circle or a capsule. -->
<!-- Path data to draw a larger thumb circle when the thumb is pressed. -->
<string name="mtrl_switch_thumb_path_pressed" translatable="false">M2,16 A14,14 0 0,1 16,2 H16 A14,14 0 0,1 16,30 H16 A14,14 0 0,1 2,16</string>
<!-- Path data to draw a thumb circle when the switch is checked. -->
<string name="mtrl_switch_thumb_path_checked" translatable="false">M4,16 A12,12 0 0,1 16,4 H16 A12,12 0 0,1 16,28 H16 A12,12 0 0,1 4,16</string>
<!-- Path data to draw a smaller thumb circle when the switch is unchecked. -->
<string name="mtrl_switch_thumb_path_unchecked" translatable="false">M8,16 A8,8 0 0,1 16,8 H16 A8,8 0 0,1 16,24 H16 A8,8 0 0,1 8,16</string>
<!-- Path data to draw a morphed thumb circle when the switch's checked state is changing. -->
<string name="mtrl_switch_thumb_path_morphing" translatable="false">M0,16 A11,11 0 0,1 11,5 H21 A11,11 0 0,1 21,27 H11 A11,11 0 0,1 0,16</string>
<string name="mtrl_switch_thumb_group_name" translatable="false">circle_group</string>
<string name="mtrl_switch_thumb_path_name" translatable="false">circle</string>
<!-- Path data to draw the switch track. -->
<string name="mtrl_switch_track_path" translatable="false">M0,16 A16,16 0 0,1 16,0 H36 A16,16 0 0,1 36,32 H16 A16,16 0 0,1 0,16</string>
<!-- Path data to draw the switch track decor. -->
<string name="mtrl_switch_track_decoration_path" translatable="false">M1,16 A15,15 0 0,1 16,1 H36 A15,15 0 0,1 36,31 H16 A15,15 0 0,1 1,16</string>
<!-- Note: The following duration values are different from the design spec,
since the thumb position animation duration is hard-coded in
SwitchCompat and we have no way to override it. Therefore the
following values are set according to the position animation
duration (250ms). -->
<integer name="mtrl_switch_thumb_motion_duration">@integer/m3_sys_motion_duration_medium1</integer>
<integer name="mtrl_switch_thumb_pre_morphing_duration">@integer/m3_sys_motion_duration_short2</integer>
<integer name="mtrl_switch_thumb_post_morphing_duration">@integer/m3_sys_motion_duration_short3</integer>
<integer name="mtrl_switch_thumb_pressed_duration">@integer/m3_sys_motion_duration_short2</integer>
<integer name="mtrl_switch_thumb_viewport_size">32</integer>
<integer name="mtrl_switch_thumb_viewport_center_coordinate">16</integer>
<integer name="mtrl_switch_track_viewport_width">52</integer>
<integer name="mtrl_switch_track_viewport_height">32</integer>
</resources>

View File

@@ -8,7 +8,7 @@
<string name="next">Next</string>
<string name="loading_instance">Retrieving server info…</string>
<string name="error">Error</string>
<string name="not_a_mastodon_instance">%s doesn\'t appear to be a Mastodon server.</string>
<string name="not_a_mastodon_instance">%s doesnt appear to be a Mastodon server.</string>
<string name="ok">OK</string>
<string name="preparing_auth">Preparing for authentication…</string>
<string name="finishing_auth">Finishing authentication…</string>
@@ -150,16 +150,16 @@
<item quantity="other">Discussed %d times</item>
</plurals>
<string name="report_title">Report %s</string>
<string name="report_choose_reason">What\'s wrong with this post?</string>
<string name="report_choose_reason_account">What\'s wrong with %s?</string>
<string name="report_choose_reason">Whats wrong with this post?</string>
<string name="report_choose_reason_account">Whats wrong with %s?</string>
<string name="report_choose_reason_subtitle">Select the best match</string>
<string name="report_reason_personal">I don\'t like it</string>
<string name="report_reason_personal">I dont like it</string>
<string name="report_reason_personal_subtitle">It is not something you want to see</string>
<string name="report_reason_spam">It\'s spam</string>
<string name="report_reason_spam">Its spam</string>
<string name="report_reason_spam_subtitle">Malicious links, fake engagement, or repetitive replies</string>
<string name="report_reason_violation">It violates server rules</string>
<string name="report_reason_violation_subtitle">You are aware that it breaks specific rules</string>
<string name="report_reason_other">It\'s something else</string>
<string name="report_reason_other">Its something else</string>
<string name="report_reason_other_subtitle">The issue does not fit into other categories</string>
<string name="report_choose_rule">Which rules are being violated?</string>
<string name="report_choose_rule_subtitle">Select all that apply</string>
@@ -168,14 +168,14 @@
<string name="report_comment_title">Is there anything else we should know?</string>
<string name="report_comment_hint">Additional comments</string>
<string name="sending_report">Sending report…</string>
<string name="report_sent_title">Thanks for reporting, we\'ll look into this.</string>
<string name="report_sent_subtitle">While we review this, you can take action against %s.</string>
<string name="report_sent_title">Thanks for reporting, well look into this.</string>
<string name="report_sent_subtitle">While we review this, you can take action against %s:</string>
<string name="unfollow_user">Unfollow %s</string>
<string name="unfollow">Unfollow</string>
<string name="mute_user_explain">You won\'t see their posts or boosts in your home feed. They won\'t know they\'ve been muted.</string>
<string name="block_user_explain">They will no longer be able to follow or see your posts, but they can see if they\'ve been blocked.</string>
<string name="report_personal_title">Don\'t want to see this?</string>
<string name="report_personal_subtitle">When you see something you don\'t like on Mastodon, you can remove the person from your experience.</string>
<string name="mute_user_explain">You will not see their posts. They can still follow you and see your posts and will not know that they are muted.</string>
<string name="block_user_explain">You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.</string>
<string name="report_personal_title">Dont want to see this?</string>
<string name="report_personal_subtitle">Here are your options for controlling what you see on Mastodon:</string>
<string name="back">Back</string>
<string name="instance_catalog_title">Mastodon is made of users on different servers.</string>
<string name="instance_catalog_subtitle">Pick a server based on your interests, region, or a general purpose one. You can still connect with everyone, regardless of server.</string>
@@ -205,12 +205,12 @@
<string name="category_tech">Tech</string>
<string name="confirm_email_title">Check Your Inbox</string>
<!-- %s is the email address -->
<string name="confirm_email_subtitle">Tap the link we sent you to verify %s. We\'ll wait right here.</string>
<string name="confirm_email_didnt_get">Didn\'t get a link?</string>
<string name="confirm_email_subtitle">Tap the link we sent you to verify %s. Well wait right here.</string>
<string name="confirm_email_didnt_get">Didnt get a link?</string>
<string name="resend">Resend</string>
<string name="open_email_app">Open email app</string>
<string name="resent_email">Confirmation email sent</string>
<string name="compose_hint">Type or paste what\'s on your mind</string>
<string name="compose_hint">Type or paste whats on your mind</string>
<string name="content_warning">Content warning</string>
<string name="add_image_description">Add image description…</string>
<string name="retry_upload">Retry upload</string>
@@ -235,8 +235,8 @@
<string name="choose_account">Choose account</string>
<string name="err_not_logged_in">Please log into Mastodon first</string>
<plurals name="cant_add_more_than_x_attachments">
<item quantity="one">You can\'t add more than %d media attachment</item>
<item quantity="other">You can\'t add more than %d media attachments</item>
<item quantity="one">You cant add more than %d media attachment</item>
<item quantity="other">You cant add more than %d media attachments</item>
</plurals>
<string name="media_attachment_unsupported_type">File %s is of an unsupported type</string>
<string name="media_attachment_too_big">File %1$s exceeds the size limit of %2$s MB</string>
@@ -269,8 +269,7 @@
<string name="media_cache_cleared">Media cache cleared</string>
<string name="confirm_log_out">Log out of %s?</string>
<string name="sensitive_content_explain">The author marked this media as sensitive.</string>
<string name="media_hidden">Tap to reveal</string>
<string name="avatar_description">Go to %s\'s profile</string>
<string name="avatar_description">Go to %ss profile</string>
<string name="more_options">More options</string>
<string name="reveal_content">Reveal content</string>
<string name="hide_content">Hide content</string>
@@ -289,7 +288,7 @@
<string name="media_viewer">Media viewer</string>
<string name="follow_user">Follow %s</string>
<string name="unfollowed_user">Unfollowed %s</string>
<string name="followed_user">You\'re now following %s</string>
<string name="followed_user">Youre now following %s</string>
<string name="following_user_requested">Requested to follow %s</string>
<string name="open_in_browser">Open in browser</string>
<string name="hide_boosts_from_user">Hide boosts from %s</string>
@@ -307,7 +306,7 @@
<string name="error_saving_file">Error saving file</string>
<string name="file_saved">File saved</string>
<string name="downloading">Downloading…</string>
<string name="no_app_to_handle_action">There\'s no app to handle this action</string>
<string name="no_app_to_handle_action">Theres no app to handle this action</string>
<string name="local_timeline">Community</string>
<string name="trending_posts_info_banner">These are the posts gaining traction in your corner of Mastodon.</string>
<string name="trending_hashtags_info_banner">These are the hashtags gaining traction in your corner of Mastodon.</string>
@@ -401,7 +400,7 @@
<string name="login_title">Welcome Back</string>
<string name="login_subtitle">Log in with the server where you created your account.</string>
<string name="server_url">Server URL</string>
<string name="signup_random_server_explain">We\'ll pick a server based on your language if you continue without making a selection.</string>
<string name="signup_random_server_explain">Well pick a server based on your language if you continue without making a selection.</string>
<string name="server_filter_any_language">Any Language</string>
<string name="server_filter_instant_signup">Instant Sign-up</string>
<string name="server_filter_manual_review">Manual Review</string>
@@ -414,7 +413,7 @@
<string name="server_filter_region_oceania">Oceania</string>
<string name="not_accepting_new_members">Not accepting new members</string>
<string name="category_special_interests">Special Interests</string>
<string name="signup_passwords_dont_match">Passwords don\'t match</string>
<string name="signup_passwords_dont_match">Passwords dont match</string>
<string name="pick_server_for_me">Pick for me</string>
<string name="profile_add_row">Add row</string>
<string name="profile_setup">Profile setup</string>
@@ -423,14 +422,14 @@
<string name="popular_on_mastodon">Popular on Mastodon</string>
<string name="follow_all">Follow all</string>
<string name="server_rules_disagree">Disagree</string>
<string name="privacy_policy_explanation">TL;DR: We don\'t collect or process anything.</string>
<string name="privacy_policy_explanation">TL;DR: We dont collect or process anything.</string>
<!-- %s is server domain -->
<string name="server_policy_disagree">Disagree with %s</string>
<string name="profile_bio">Bio</string>
<!-- Shown in a progress dialog when you tap "follow all" -->
<string name="sending_follows">Following users…</string>
<!-- %1$s is server domain, %2$s is email domain. You can reorder these placeholders to fit your language better. -->
<string name="signup_email_domain_blocked">%1$s doesn\'t allow signups from %2$s. Try a different one or &lt;a>pick a different server&lt;/a>.</string>
<string name="signup_email_domain_blocked">%1$s doesnt allow signups from %2$s. Try a different one or &lt;a>pick a different server&lt;/a>.</string>
<string name="signup_username_taken">This username is taken.</string>
<string name="spoiler_show">Show anyway</string>
<string name="spoiler_hide">Re-hide</string>
@@ -482,7 +481,7 @@
<string name="edit_post">Edit post</string>
<string name="no_verified_link">No verified link</string>
<string name="compose_autocomplete_emoji_empty">Browse emoji</string>
<string name="compose_autocomplete_users_empty">Find who you\'re looking for</string>
<string name="compose_autocomplete_users_empty">Find who youre looking for</string>
<string name="no_search_results">Could not find anything for these search terms</string>
<string name="language">Language</string>
<string name="language_default">Default</string>
@@ -490,4 +489,17 @@
<string name="language_detecting">Detecting language</string>
<string name="language_cant_detect">Unable to detect language</string>
<string name="language_detected">Detected</string>
<string name="media_hidden">Media hidden</string>
<string name="post_hidden">Post hidden</string>
<string name="report_title_post">Report post</string>
<string name="forward_report_explanation">The account is from another server. Send an anonymized copy of this report there as well?</string>
<!-- %s is the server domain -->
<string name="forward_report_to_server">Forward to %s</string>
<!-- Shown on the "stamp" on the screen that appears after you report a post/user. Please keep the translation short, preferably a single word -->
<string name="reported">Reported</string>
<string name="report_unfollow_explanation">To not see their posts in your home feed anymore, unfollow them.</string>
<string name="muted_user">Muted %s</string>
<string name="report_sent_already_blocked">Youve already blocked this user, so theres nothing else you need to do while we review your report.</string>
<string name="report_personal_already_blocked">Youve already blocked this user, so theres nothing else you need to do.\n\nThanks for helping keep Mastodon a safe place for everyone!</string>
<string name="blocked_user">Blocked %s</string>
</resources>

View File

@@ -37,6 +37,7 @@
<item name="android:windowLightNavigationBar" tools:ignore="NewApi">true</item>
<item name="android:popupMenuStyle">@style/Widget.Mastodon.PopupMenu</item>
<item name="android:actionOverflowMenuStyle">@style/Widget.Mastodon.PopupMenu</item>
<item name="android:switchStyle">@style/Widget.Mastodon.M3.Switch</item>
<!-- M3 colors -->
<item name="colorM3Primary">@color/m3_sys_light_primary</item>
@@ -66,6 +67,7 @@
<item name="colorM3ErrorContainer">#F9DEDC</item>
<item name="colorM3OnErrorContainer">#410E0B</item>
<item name="colorM3PrimaryInverse">@color/m3_sys_dark_primary</item>
<item name="colorWhite">#FFF</item>
<item name="colorWindowBackground">?colorM3Background</item>
<item name="android:statusBarColor">?colorM3Background</item>
@@ -143,6 +145,7 @@
<item name="colorM3ErrorContainer">#8C1D18</item>
<item name="colorM3OnErrorContainer">#F9DEDC</item>
<item name="colorM3PrimaryInverse">@color/m3_sys_light_primary</item>
<item name="colorWhite">#000</item>
<item name="colorWindowBackground">?colorM3Background</item>
<item name="android:statusBarColor">?colorM3Background</item>
@@ -358,6 +361,19 @@
<item name="android:disabledAlpha">0</item>
</style>
<style name="Widget.Mastodon.M3.Switch" parent="">
<item name="android:thumb">@drawable/mtrl_switch_thumb</item>
<item name="android:track">@drawable/mtrl_switch_track</item>
<item name="android:foreground">@drawable/mtrl_switch_track_decoration</item>
<!-- <item name="android:paddingLeft">-10dp</item>-->
<item name="android:thumbTint">@color/mtrl_switch_thumb_tint</item>
<item name="android:trackTint">@color/mtrl_switch_track_tint</item>
<item name="android:foregroundTint">@color/mtrl_switch_track_decoration_tint</item>
<!-- <item name="android:textOn"></item>-->
<!-- <item name="android:textOff"></item>-->
<item name="android:showText">false</item>
</style>
<style name="alert_title">
<item name="android:textColor">?android:textColorPrimary</item>
<item name="android:textSize">24dp</item>

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2022 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.
-->
<!-- AUTOGENERATED FILE. DO NOT MODIFY. -->
<!-- Version: v0.162 -->
<resources>
<!-- Generated from token set (md.sys.motion) in context (platform=android, audience=3p). -->
<!-- Easing -->
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_emphasized" translatable="false">path(M 0,0 C 0.05, 0, 0.133333, 0.06, 0.166666, 0.4 C 0.208333, 0.82, 0.25, 1, 1, 1)</string>
<!-- Vector path used in <pathInterpolator> resources. -->
<string name="m3_sys_motion_easing_emphasized_path_data" translatable="false">M 0,0 C 0.05, 0, 0.133333, 0.06, 0.166666, 0.4 C 0.208333, 0.82, 0.25, 1, 1, 1</string>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_emphasized_accelerate" translatable="false">cubic-bezier(0.3, 0, 0.8, 0.2)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_emphasized_accelerate_control_x1" format="float" type="dimen">0.3</item>
<item name="m3_sys_motion_easing_emphasized_accelerate_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_emphasized_accelerate_control_x2" format="float" type="dimen">0.8</item>
<item name="m3_sys_motion_easing_emphasized_accelerate_control_y2" format="float" type="dimen">0.2</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_emphasized_decelerate" translatable="false">cubic-bezier(0.1, 0.7, 0.1, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_emphasized_decelerate_control_x1" format="float" type="dimen">0.1</item>
<item name="m3_sys_motion_easing_emphasized_decelerate_control_y1" format="float" type="dimen">0.7</item>
<item name="m3_sys_motion_easing_emphasized_decelerate_control_x2" format="float" type="dimen">0.1</item>
<item name="m3_sys_motion_easing_emphasized_decelerate_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_standard" translatable="false">cubic-bezier(0.2, 0, 0, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_standard_control_x1" format="float" type="dimen">0.2</item>
<item name="m3_sys_motion_easing_standard_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_control_x2" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_standard_accelerate" translatable="false">cubic-bezier(0.3, 0, 1, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_standard_accelerate_control_x1" format="float" type="dimen">0.3</item>
<item name="m3_sys_motion_easing_standard_accelerate_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_accelerate_control_x2" format="float" type="dimen">1</item>
<item name="m3_sys_motion_easing_standard_accelerate_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_standard_decelerate" translatable="false">cubic-bezier(0, 0, 0, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_standard_decelerate_control_x1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_decelerate_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_decelerate_control_x2" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_standard_decelerate_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_legacy" translatable="false">cubic-bezier(0.4, 0, 0.2, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_legacy_control_x1" format="float" type="dimen">0.4</item>
<item name="m3_sys_motion_easing_legacy_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_legacy_control_x2" format="float" type="dimen">0.2</item>
<item name="m3_sys_motion_easing_legacy_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_legacy_accelerate" translatable="false">cubic-bezier(0.4, 0, 1, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_legacy_accelerate_control_x1" format="float" type="dimen">0.4</item>
<item name="m3_sys_motion_easing_legacy_accelerate_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_legacy_accelerate_control_x2" format="float" type="dimen">1</item>
<item name="m3_sys_motion_easing_legacy_accelerate_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_legacy_decelerate" translatable="false">cubic-bezier(0, 0, 0.2, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_legacy_decelerate_control_x1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_legacy_decelerate_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_legacy_decelerate_control_x2" format="float" type="dimen">0.2</item>
<item name="m3_sys_motion_easing_legacy_decelerate_control_y2" format="float" type="dimen">1</item>
<!-- Easing string used in Material's MotionUtils class. -->
<string name="m3_sys_motion_easing_linear" translatable="false">cubic-bezier(0, 0, 1, 1)</string>
<!-- Control points used in <pathInterpolator> resources. -->
<item name="m3_sys_motion_easing_linear_control_x1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_linear_control_y1" format="float" type="dimen">0</item>
<item name="m3_sys_motion_easing_linear_control_x2" format="float" type="dimen">1</item>
<item name="m3_sys_motion_easing_linear_control_y2" format="float" type="dimen">1</item>
<!-- Duration -->
<integer name="m3_sys_motion_duration_short1">50</integer>
<integer name="m3_sys_motion_duration_short2">100</integer>
<integer name="m3_sys_motion_duration_short3">150</integer>
<integer name="m3_sys_motion_duration_short4">200</integer>
<integer name="m3_sys_motion_duration_medium1">250</integer>
<integer name="m3_sys_motion_duration_medium2">300</integer>
<integer name="m3_sys_motion_duration_medium3">350</integer>
<integer name="m3_sys_motion_duration_medium4">400</integer>
<integer name="m3_sys_motion_duration_long1">450</integer>
<integer name="m3_sys_motion_duration_long2">500</integer>
<integer name="m3_sys_motion_duration_long3">550</integer>
<integer name="m3_sys_motion_duration_long4">600</integer>
<integer name="m3_sys_motion_duration_extra_long1">700</integer>
<integer name="m3_sys_motion_duration_extra_long2">800</integer>
<integer name="m3_sys_motion_duration_extra_long3">900</integer>
<integer name="m3_sys_motion_duration_extra_long4">1000</integer>
<!-- Style -->
<!-- Linear motion path. -->
<integer name="m3_sys_motion_path">0</integer>
</resources>