Android: Implement RetroAchievements
This commit is contained in:
10
android/app/src/main/res/drawable/ic_baseline_lock_24.xml
Normal file
10
android/app/src/main/res/drawable/ic_baseline_lock_24.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h1.9c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout 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:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/navigation_header_container"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentStart="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:foregroundGravity="center_vertical"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentStart="true"
|
||||
tools:srcCompat="@drawable/ic_media_cdrom" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:text="Game Title"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toRightOf="@+id/icon"
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/summary"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:text="You have unlocked %d of %d achievements, earning %d of %d possible points."
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:layout_below="@+id/title"
|
||||
android:layout_toRightOf="@+id/icon"
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_below="@+id/summary"
|
||||
android:layout_toRightOf="@+id/icon"
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:layout_below="@+id/navigation_header_container"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
133
android/app/src/main/res/layout/fragment_achievements_login.xml
Normal file
133
android/app/src/main/res/layout/fragment_achievements_login.xml
Normal file
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout 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:minWidth="280dp"
|
||||
>
|
||||
<LinearLayout
|
||||
android:id="@+id/panel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:text="@string/achievement_settings_login_title"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="@string/achievement_settings_login_help"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/username"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:inputType="textVisiblePassword"
|
||||
android:nextFocusDown="@+id/password"
|
||||
android:imeOptions="actionNext"
|
||||
android:singleLine="true"
|
||||
android:hint="@string/achievement_settings_login_username_hint"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/password"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:inputType="textPassword"
|
||||
android:imeOptions="actionDone"
|
||||
android:singleLine="true"
|
||||
android:hint="@string/achievement_settings_login_password_hint"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:visibility="visible" />
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/buttonPanel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:divider="?android:attr/dividerHorizontal"
|
||||
android:dividerPadding="0dip"
|
||||
android:minHeight="48dp"
|
||||
android:orientation="vertical"
|
||||
android:showDividers="beginning"
|
||||
android:padding="5dp"
|
||||
>
|
||||
<LinearLayout
|
||||
style="?android:attr/buttonBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layoutDirection="locale"
|
||||
android:orientation="horizontal"
|
||||
tools:ignore="UselessParent"
|
||||
>
|
||||
<Space
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/cancel"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:focusable="true"
|
||||
android:maxLines="2"
|
||||
android:minHeight="48dp"
|
||||
android:text="@string/achievement_settings_login_cancel_button"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/login"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:focusable="true"
|
||||
android:maxLines="2"
|
||||
android:minHeight="48dp"
|
||||
android:text="@string/achievement_settings_login_login_button"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleLarge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:indeterminateOnly="true"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
</FrameLayout>
|
||||
79
android/app/src/main/res/layout/layout_achievement_entry.xml
Normal file
79
android/app/src/main/res/layout/layout_achievement_entry.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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/linearLayout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:background="?android:attr/selectableItemBackground">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:foregroundGravity="center_vertical"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:srcCompat="@drawable/ic_media_cdrom" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="80dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:text="Achievement Title"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="80dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:paddingBottom="8px"
|
||||
android:text="Achievement Description"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/locked_icon"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:paddingBottom="8px"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_baseline_lock_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/points"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
android:text="5 Points"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
app:srcCompat="@drawable/ic_star_5"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/locked_icon" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -82,6 +82,7 @@
|
||||
<item>Cargar Estado</item>
|
||||
<item>Guardar Estado</item>
|
||||
<item>Activar Avance Rápido</item>
|
||||
<item>Achievements</item>
|
||||
<item>Más Opciones</item>
|
||||
<item>Salir</item>
|
||||
</string-array>
|
||||
@@ -139,6 +140,7 @@
|
||||
<item>Audio</item>
|
||||
<item>Mejoras</item>
|
||||
<item>Controles</item>
|
||||
<item>Achievements</item>
|
||||
<item>Avanzado</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<item>Carica Stato</item>
|
||||
<item>Salva Stato</item>
|
||||
<item>Abilita/Disabilita Avanti Veloce</item>
|
||||
<item>Achievements</item>
|
||||
<item>Altre Opzioni</item>
|
||||
<item>Esci</item>
|
||||
</string-array>
|
||||
@@ -139,6 +140,7 @@
|
||||
<item>Audio</item>
|
||||
<item>Miglioramenti</item>
|
||||
<item>Controller</item>
|
||||
<item>Achievements</item>
|
||||
<item>Avanzate</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<item>Staat Laden</item>
|
||||
<item>Staat Opslaan</item>
|
||||
<item>Doorspoelen aan/uitzetten</item>
|
||||
<item>Achievements</item>
|
||||
<item>Meer Opties</item>
|
||||
<item>Afsluiten</item>
|
||||
</string-array>
|
||||
@@ -139,6 +140,7 @@
|
||||
<item>Audio</item>
|
||||
<item>Verbeteringen</item>
|
||||
<item>Controllers</item>
|
||||
<item>Achievements</item>
|
||||
<item>Geavanceerd</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<item>Carregar Estado</item>
|
||||
<item>Salvar Estado</item>
|
||||
<item>Avanço (Fixo)</item>
|
||||
<item>Achievements</item>
|
||||
<item>Mais Opções</item>
|
||||
<item>Sair</item>
|
||||
</string-array>
|
||||
@@ -139,6 +140,7 @@
|
||||
<item>Áudio</item>
|
||||
<item>Melhorias</item>
|
||||
<item>Controles</item>
|
||||
<item>Achievements</item>
|
||||
<item>Avançado</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<item>Загрузить состояние</item>
|
||||
<item>Сохранить состояние</item>
|
||||
<item>Включить ускорение</item>
|
||||
<item>Achievements</item>
|
||||
<item>Другие опции</item>
|
||||
<item>Выход</item>
|
||||
</string-array>
|
||||
@@ -93,11 +94,11 @@
|
||||
<item>Настройки эмулятора</item>
|
||||
</string-array>
|
||||
<string-array name="emulation_touchscreen_menu">
|
||||
<item>Сменить вид</item>
|
||||
<item>Настроить видимость</item>
|
||||
<item>Добавить/убрать кнопки</item>
|
||||
<item>Изменить макет</item>
|
||||
</string-array>
|
||||
<item>Сменить вид</item>
|
||||
<item>Настроить видимость</item>
|
||||
<item>Добавить/убрать кнопки</item>
|
||||
<item>Изменить макет</item>
|
||||
</string-array>
|
||||
<string-array name="settings_cdrom_read_speedup_entries">
|
||||
<item>Нет (двойная скорость)</item>
|
||||
<item>2x (скорость 4x)</item>
|
||||
@@ -145,6 +146,7 @@
|
||||
<item>Звук</item>
|
||||
<item>Улучшения</item>
|
||||
<item>Контроллеры</item>
|
||||
<item>Achievements</item>
|
||||
<item>Расширенные</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -161,6 +161,7 @@
|
||||
<item>Load State</item>
|
||||
<item>Save State</item>
|
||||
<item>Toggle Fast Forward</item>
|
||||
<item>Achievements</item>
|
||||
<item>More Options</item>
|
||||
<item>Quit</item>
|
||||
</string-array>
|
||||
@@ -265,6 +266,7 @@
|
||||
<item>Audio</item>
|
||||
<item>Enhancements</item>
|
||||
<item>Controllers</item>
|
||||
<item>Achievements</item>
|
||||
<item>Advanced</item>
|
||||
</string-array>
|
||||
<string-array name="settings_gpu_msaa_entries">
|
||||
|
||||
@@ -233,4 +233,37 @@
|
||||
<string name="settings_summary_touch_gliding">Allows you to press multiple controller face buttons by dragging your finger along the screen.</string>
|
||||
<string name="menu_game_list_entry_game_properties">Game Properties</string>
|
||||
<string name="emulation_activity_change_disc_select_new_file">Select New File...</string>
|
||||
<string name="settings_achievements_enable">Enable RetroAchievements</string>
|
||||
<string name="settings_summary_achievements_enable">When enabled and logged in, DuckStation will scan for achievements on startup.</string>
|
||||
<string name="settings_achievements_challenge_mode">Enable Hardcore Mode</string>
|
||||
<string name="settings_summary_achievements_challenge_mode">Challenge mode. Disables save states, patch code, and slowdown functions, but you receive double the achievement points. Cannot be toggled while ingame.</string>
|
||||
<string name="settings_achievements_rich_presence">Enable Rich Presence</string>
|
||||
<string name="settings_summary_achievements_rich_presence">Rich presence information will be collected and sent to the server where supported.</string>
|
||||
<string name="settings_achievements_username">User Name</string>
|
||||
<string name="settings_achievements_token_generation_time">Token Generation Time</string>
|
||||
<string name="settings_achievements_login">Login</string>
|
||||
<string name="settings_summary_achievements_login">Logs in to your account to record achievements.</string>
|
||||
<string name="settings_achievements_register">Register</string>
|
||||
<string name="settings_summary_achievements_register">Opens a link to create a new account.</string>
|
||||
<string name="settings_achievements_logout">Logout</string>
|
||||
<string name="settings_summary_achievements_logout">Logs out of your account. No new achievements will be recorded.</string>
|
||||
<string name="settings_achievements_view_profile">View Profile</string>
|
||||
<string name="settings_summary_achievements_view_profile">Opens a link to your profile.</string>
|
||||
<string name="settings_achievements_test_mode">Enable Test Mode</string>
|
||||
<string name="settings_summary_achievements_test_mode">When enabled, DuckStation will assume all achievements are locked and not send any unlock notifications to the server.</string>
|
||||
<string name="settings_achievements_use_first_disc_from_playlist">Use First Disc From Playlist</string>
|
||||
<string name="settings_summary_achievements_use_first_disc_from_playlist">When enabled, the first disc in a playlist will be used for achievements, regardless of which disc is active.</string>
|
||||
<string name="achievement_settings_login_title">RetroAchievements Login</string>
|
||||
<string name="achievement_settings_login_help">Please enter user name and password for retroachievements.org below. Your password will not be saved in DuckStation, an access token will be generated and used instead.</string>
|
||||
<string name="achievement_settings_login_username_hint">Username</string>
|
||||
<string name="achievement_settings_login_password_hint">Password</string>
|
||||
<string name="achievement_settings_login_login_button">Login</string>
|
||||
<string name="achievement_settings_login_cancel_button">Cancel</string>
|
||||
<string name="achievement_settings_login_failed">Login failed. Please check your username and password, and try again.</string>
|
||||
<string name="achievement_points_format_string">%d points</string>
|
||||
<string name="achievement_summary_format_string">You have unlocked %1$d of %2$d achievements, earning %3$d of %4$d possible points.</string>
|
||||
<string name="achievement_title_challenge_mode_format_string">%s (Hardcore Mode)</string>
|
||||
<string name="settings_achievements_disclaimer">DuckStation uses RetroAchievements (retroachievements.org) as an achievement database and for tracking progress.</string>
|
||||
<string name="settings_achievements_confirm_logout_title">Confirm Logout</string>
|
||||
<string name="settings_achievements_confirm_logout_message">After logging out, no more achievements will be unlocked until you log back in again. Achievements already unlocked will not be lost.</string>
|
||||
</resources>
|
||||
|
||||
59
android/app/src/main/res/xml/achievement_preferences.xml
Normal file
59
android/app/src/main/res/xml/achievement_preferences.xml
Normal file
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<PreferenceCategory app:title="Global Settings" app:iconSpaceReserved="false">
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Cheevos/Enabled"
|
||||
app:title="@string/settings_achievements_enable"
|
||||
app:summary="@string/settings_summary_achievements_enable"
|
||||
app:defaultValue="false"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Cheevos/ChallengeMode"
|
||||
app:title="@string/settings_achievements_challenge_mode"
|
||||
app:summary="@string/settings_summary_achievements_challenge_mode"
|
||||
app:dependency="Cheevos/Enabled"
|
||||
app:defaultValue="false"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Cheevos/RichPresence"
|
||||
app:title="@string/settings_achievements_rich_presence"
|
||||
app:summary="@string/settings_summary_achievements_rich_presence"
|
||||
app:dependency="Cheevos/Enabled"
|
||||
app:defaultValue="true"
|
||||
app:iconSpaceReserved="false" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="Account" app:iconSpaceReserved="false">
|
||||
<Preference
|
||||
app:key="Cheevos/Username"
|
||||
app:title="@string/settings_achievements_username"
|
||||
app:iconSpaceReserved="false" />
|
||||
<Preference
|
||||
app:key="Cheevos/LoginTokenTime"
|
||||
app:title="@string/settings_achievements_token_generation_time"
|
||||
app:iconSpaceReserved="false" />
|
||||
<PreferenceScreen
|
||||
app:key="Cheevos/Login"
|
||||
app:title="@string/settings_achievements_login"
|
||||
app:summary="@string/settings_summary_achievements_login"
|
||||
app:iconSpaceReserved="false" />
|
||||
<PreferenceScreen
|
||||
app:key="Cheevos/Register"
|
||||
app:title="@string/settings_achievements_register"
|
||||
app:summary="@string/settings_summary_achievements_register"
|
||||
app:iconSpaceReserved="false" />
|
||||
<PreferenceScreen
|
||||
app:key="Cheevos/Logout"
|
||||
app:title="@string/settings_achievements_logout"
|
||||
app:summary="@string/settings_summary_achievements_logout"
|
||||
app:iconSpaceReserved="false" />
|
||||
<PreferenceScreen
|
||||
app:key="Cheevos/ViewProfile"
|
||||
app:title="@string/settings_achievements_view_profile"
|
||||
app:summary="@string/settings_summary_achievements_view_profile"
|
||||
app:iconSpaceReserved="false" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory app:title="@string/settings_achievements_disclaimer" app:iconSpaceReserved="false">
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
@@ -217,4 +217,19 @@
|
||||
app:iconSpaceReserved="false" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="Achievement Settings" app:iconSpaceReserved="false">
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Cheevos/TestMode"
|
||||
app:title="@string/settings_achievements_test_mode"
|
||||
app:summary="@string/settings_summary_achievements_test_mode"
|
||||
app:defaultValue="false"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
app:key="Cheevos/UseFirstDiscFromPlaylist"
|
||||
app:title="@string/settings_achievements_use_first_disc_from_playlist"
|
||||
app:summary="@string/settings_summary_achievements_use_first_disc_from_playlist"
|
||||
app:defaultValue="true"
|
||||
app:iconSpaceReserved="false" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
Reference in New Issue
Block a user