The Yr app (no.nrk.yr) exposes no data to third parties; its backend, api.met.no locationforecast 2.0, works with no API key (User-Agent header only). New toggle 'Show Current Weather' under Display, right after 'Show App Icons'. The home element is formatted exactly like the daily word and shows a nerd-font weather glyph (nf-weather-*, from the installed JetBrainsMonoNerdFont) plus the temperature in Celsius, e.g. '\uE312 16°'. A 95KB subset of JetBrainsMonoNerdFont (ASCII + weather glyphs, OFL) is bundled as R.font.jetbrains_mono_nf_weather so the glyphs render even if the launcher font setting changes. Uses the launcher's existing saved location (lat/lon prefs).
524 lines
26 KiB
XML
524 lines
26 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<FrameLayout 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:id="@+id/mainLayout"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
tools:context=".ui.settings.SettingsLookFeelFragment">
|
|
|
|
<androidx.core.widget.NestedScrollView
|
|
android:id="@+id/nestedScrollView"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent">
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginVertical="52dp"
|
|
android:gravity="center_horizontal"
|
|
android:orientation="vertical">
|
|
|
|
<ImageView
|
|
android:id="@+id/headerIcon"
|
|
android:layout_width="66dp"
|
|
android:layout_height="66dp"
|
|
android:layout_gravity="center_horizontal"
|
|
android:layout_marginBottom="10dp"
|
|
android:contentDescription="@string/look_feel_settings_title"
|
|
android:src="@drawable/ic_look_feel" />
|
|
|
|
<TextView
|
|
android:id="@+id/headerTitle"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_gravity="center_horizontal"
|
|
android:layout_marginBottom="24dp"
|
|
android:text="@string/look_feel_settings_title"
|
|
android:textSize="24sp"
|
|
android:textStyle="bold" />
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginHorizontal="20dp"
|
|
android:orientation="vertical"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/settings_title_home_display_preferences"
|
|
android:textColor="@color/icon_200"
|
|
android:textSize="@dimen/text_large" />
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/status_bar_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_status_bar"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/status_bar_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="DuplicateSpeakableTextCheck,TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/nav_bar_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_nav_bar"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/nav_bar_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="DuplicateSpeakableTextCheck,TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/date_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_date"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/date_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/time_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_time"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/time_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/battery_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_battery"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/battery_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/alarmClock_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_alarm_clock"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/alarmClock_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/dailyWord_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_daily_word"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/dailyWord_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/appIcons_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_app_icons"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/appIcons_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/currentWeather_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_display_current_weather"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.SwitchCompat
|
|
android:id="@+id/currentWeather_switchCompat"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:scaleX="0.7"
|
|
android:scaleY="0.8"
|
|
android:thumb="@drawable/shape_switch_thumb"
|
|
app:track="@drawable/selector_switch"
|
|
tools:ignore="TouchTargetSizeCheck" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginHorizontal="20dp"
|
|
android:orientation="vertical"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/settings_title_home_appearance_preferences"
|
|
android:textColor="@color/icon_200"
|
|
android:textSize="@dimen/text_large" />
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:id="@+id/select_appearance_text_size"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginVertical="10dp"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_appearance_text_size_title"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:id="@+id/select_appearance_color"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginVertical="10dp"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_appearance_color_title"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:id="@+id/select_appearance_alignment"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="28dp"
|
|
android:layout_marginVertical="10dp"
|
|
tools:ignore="MissingConstraints,TextSizeCheck">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_appearance_alignment_title"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:id="@+id/select_appearance_padding"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="28dp"
|
|
android:layout_marginVertical="10dp"
|
|
tools:ignore="MissingConstraints,TextSizeCheck">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_appearance_padding_title"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:id="@+id/set_app_wallpaper"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="28dp"
|
|
android:layout_marginVertical="10dp"
|
|
tools:ignore="MissingConstraints,TextSizeCheck">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_appearance_wallpaper"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginVertical="10dp"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/miscellaneous_icons_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_icons"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/miscellaneous_icons_control"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_system"
|
|
android:textSize="@dimen/text_large"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
|
|
<androidx.appcompat.widget.LinearLayoutCompat
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginVertical="10dp"
|
|
android:orientation="horizontal"
|
|
tools:ignore="MissingConstraints">
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/miscellaneous_launcherFonts_text"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_launcher_font"
|
|
android:textSize="@dimen/text_large"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:id="@+id/miscellaneous_launcherFonts_control"
|
|
style="@style/TextDefaultStyle"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="left|center"
|
|
android:text="@string/settings_system"
|
|
android:textSize="@dimen/text_large"
|
|
tools:ignore="RtlHardcoded" />
|
|
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
</androidx.core.widget.NestedScrollView>
|
|
</FrameLayout>
|