Skip to content

Commit

Permalink
[WIP] Fixes commons-app#3465 Use AndroidX Pref
Browse files Browse the repository at this point in the history
  • Loading branch information
madhurgupta10 committed Mar 15, 2020
1 parent 668b589 commit 4f04d31
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 84 deletions.
7 changes: 7 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,13 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
implementation "androidx.room:room-rxjava2:$room_version"
testImplementation "androidx.arch.core:core-testing:2.1.0"

// Pref
def preference_version = "1.1.0"
// Java language implementation
implementation "androidx.preference:preference:$preference_version"
// Kotlin
implementation "androidx.preference:preference-ktx:$preference_version"
}

android {
Expand Down
166 changes: 82 additions & 84 deletions app/src/main/res/xml/preferences.xml
Original file line number Diff line number Diff line change
@@ -1,99 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory
android:title="@string/preference_category_appearance">
<PreferenceCategory
android:title="@string/preference_category_appearance">

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleListPreference
<ListPreference
android:key="appThemePref"
android:title= "@string/preference_theme"
android:entries="@array/pref_theme_entries"
android:entryValues="@array/pref_theme_entries_values"
android:defaultValue="0"
android:summary="@string/theme_default_name" />

</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory>

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory
android:title="@string/preference_category_general">

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="useExternalStorage"
android:title="@string/use_external_storage"
android:defaultValue="true"
android:summary="@string/use_external_storage_summary" />

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleEditTextPreference
android:key="uploads"
android:defaultValue="100"
android:title= "@string/set_limit"
android:inputType="number"
android:maxLength="3" />

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleListPreference
android:key="descriptionDefaultLanguagePref"
android:title= "@string/default_description_language"
android:summary="English" />

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="useAuthorName"
android:title="@string/preference_author_name_toggle"
android:summary="@string/preference_author_name_toggle_summary"/>

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleEditTextPreference
android:key="authorName"
android:title="@string/preference_author_name"
android:summary="@string/preference_author_name_summary"
/>

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="displayNearbyCardView"
android:title="@string/display_nearby_notification"
android:defaultValue="true"
android:summary="@string/display_nearby_notification_summary" />

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="displayLocationPermissionForCardView"
android:title="@string/display_location_permission_title"
android:defaultValue="true"
android:summary="@string/display_location_permission_explanation" />
<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="displayCampaignsCardView"
android:title="@string/display_campaigns"
android:defaultValue="true"
android:summary="@string/display_campaigns_explanation" />

</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory>

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory
android:title="@string/preference_category_privacy">

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleMultiSelectListPreference
android:entries="@array/pref_exifTag_entries"
android:entryValues="@array/pref_exifTag_values"
android:key="managed_exif_tags"
android:title="@string/manage_exif_tags"
android:summary="@string/manage_exif_tags_summary"/>

</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory>
app:useSimpleSummaryProvider="true"
android:defaultValue="0" />

</PreferenceCategory>

<PreferenceCategory
android:title="@string/preference_category_general">

<SwitchPreference
android:defaultValue="true"
android:key="useExternalStorage"
android:summary="@string/use_external_storage_summary"
android:title="@string/use_external_storage" />

<EditTextPreference
android:defaultValue="100"
android:inputType="number"
android:key="uploads"
android:maxLength="3"
android:title="@string/set_limit" />

<ListPreference
android:key="descriptionDefaultLanguagePref"
android:summary="English"
android:title="@string/default_description_language" />

<SwitchPreference
android:key="useAuthorName"
android:summary="@string/preference_author_name_toggle_summary"
android:title="@string/preference_author_name_toggle" />

<EditTextPreference
android:key="authorName"
android:summary="@string/preference_author_name_summary"
android:title="@string/preference_author_name" />

<SwitchPreference
android:defaultValue="true"
android:key="displayNearbyCardView"
android:summary="@string/display_nearby_notification_summary"
android:title="@string/display_nearby_notification" />

<SwitchPreference
android:defaultValue="true"
android:key="displayLocationPermissionForCardView"
android:summary="@string/display_location_permission_explanation"
android:title="@string/display_location_permission_title" />
<SwitchPreference
android:defaultValue="true"
android:key="displayCampaignsCardView"
android:summary="@string/display_campaigns_explanation"
android:title="@string/display_campaigns" />

</PreferenceCategory>

<PreferenceCategory
android:title="@string/preference_category_privacy">

<MultiSelectListPreference
android:entries="@array/pref_exifTag_entries"
android:entryValues="@array/pref_exifTag_values"
android:key="managed_exif_tags"
android:summary="@string/manage_exif_tags_summary"
android:title="@string/manage_exif_tags" />

</PreferenceCategory>

<!-- The key 'allowGps' was used before and has since been removed based on the discussion at #1599.
Do not reuse this key unless you revive the same feature with the changes mentioned at #1599.-->

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory
android:title="@string/preference_category_feedback">
<PreferenceCategory
android:title="@string/preference_category_feedback">

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreference
android:key="becomeBetaTester"
android:title="@string/become_a_tester_title"
android:summary="@string/become_a_tester_description">
</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreference>
<Preference
android:key="becomeBetaTester"
android:summary="@string/become_a_tester_description"
android:title="@string/become_a_tester_title"/>

<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreference
android:key="sendLogFile"
android:title="@string/send_log_file"
android:summary="@string/send_log_file_description"/>
<Preference
android:key="sendLogFile"
android:summary="@string/send_log_file_description"
android:title="@string/send_log_file" />

</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory>
</PreferenceCategory>
</PreferenceScreen>

0 comments on commit 4f04d31

Please sign in to comment.