mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-02 18:31:40 +00:00
Removed unused resources
This commit is contained in:
parent
00df65f64d
commit
a531502a1b
12 changed files with 21 additions and 242 deletions
6
.idea/misc.xml
generated
6
.idea/misc.xml
generated
|
|
@ -3,7 +3,13 @@
|
||||||
<component name="DesignSurface">
|
<component name="DesignSurface">
|
||||||
<option name="filePathToZoomLevelMap">
|
<option name="filePathToZoomLevelMap">
|
||||||
<map>
|
<map>
|
||||||
|
<entry key="app/src/main/res/drawable/ic_downloading.xml" value="0.2722222222222222" />
|
||||||
|
<entry key="app/src/main/res/drawable/ic_file_download.xml" value="0.2722222222222222" />
|
||||||
<entry key="app/src/main/res/drawable/ic_refresh.xml" value="0.18958333333333333" />
|
<entry key="app/src/main/res/drawable/ic_refresh.xml" value="0.18958333333333333" />
|
||||||
|
<entry key="app/src/main/res/drawable/ic_shuffle.xml" value="0.2722222222222222" />
|
||||||
|
<entry key="app/src/main/res/drawable/ic_star.xml" value="0.2722222222222222" />
|
||||||
|
<entry key="app/src/main/res/layout/bottom_sheet_song_dialog.xml" value="0.21666666666666667" />
|
||||||
|
<entry key="app/src/main/res/layout/dialog_rating.xml" value="0.3229166666666667" />
|
||||||
<entry key="app/src/main/res/layout/fragment_album_page.xml" value="0.1" />
|
<entry key="app/src/main/res/layout/fragment_album_page.xml" value="0.1" />
|
||||||
<entry key="app/src/main/res/layout/fragment_artist_page.xml" value="0.1" />
|
<entry key="app/src/main/res/layout/fragment_artist_page.xml" value="0.1" />
|
||||||
<entry key="app/src/main/res/layout/item_horizontal_album.xml" value="0.3166496424923391" />
|
<entry key="app/src/main/res/layout/item_horizontal_album.xml" value="0.3166496424923391" />
|
||||||
|
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
package com.cappielloantonio.play.model;
|
|
||||||
|
|
||||||
public class DirectPlayCodec {
|
|
||||||
public Codec codec;
|
|
||||||
public boolean selected;
|
|
||||||
|
|
||||||
public DirectPlayCodec(Codec codec, boolean selected) {
|
|
||||||
this.codec = codec;
|
|
||||||
this.selected = selected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum Codec {
|
|
||||||
FLAC("FLAC", "FLAC", "flac|flac"),
|
|
||||||
MP3("MP3", "MP3", "mp3|mp3"),
|
|
||||||
OPUS("Opus", "Opus", "opus|opus"),
|
|
||||||
AAC("M4A", "AAC", "m4a|aac"),
|
|
||||||
VORBIS("OGG", "Vorbis", "ogg|vorbis"),
|
|
||||||
OGG("OGG", "Opus", "ogg|opus"),
|
|
||||||
MKA("MKA", "Opus", "mka|opus");
|
|
||||||
|
|
||||||
public final String container;
|
|
||||||
public final String codec;
|
|
||||||
public final String value;
|
|
||||||
|
|
||||||
Codec(String container, String codec, String value) {
|
|
||||||
this.container = container;
|
|
||||||
this.codec = codec;
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -137,10 +137,10 @@ public class AlbumRepository {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRating(String id, int star) {
|
public void setRating(String id, int rating) {
|
||||||
App.getSubsonicClientInstance(application, false)
|
App.getSubsonicClientInstance(application, false)
|
||||||
.getMediaAnnotationClient()
|
.getMediaAnnotationClient()
|
||||||
.setRating(id, star)
|
.setRating(id, rating)
|
||||||
.enqueue(new Callback<SubsonicResponse>() {
|
.enqueue(new Callback<SubsonicResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
||||||
|
|
|
||||||
|
|
@ -188,10 +188,10 @@ public class ArtistRepository {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRating(String id, int star) {
|
public void setRating(String id, int rating) {
|
||||||
App.getSubsonicClientInstance(application, false)
|
App.getSubsonicClientInstance(application, false)
|
||||||
.getMediaAnnotationClient()
|
.getMediaAnnotationClient()
|
||||||
.setRating(id, star)
|
.setRating(id, rating)
|
||||||
.enqueue(new Callback<SubsonicResponse>() {
|
.enqueue(new Callback<SubsonicResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
||||||
|
|
|
||||||
|
|
@ -154,10 +154,10 @@ public class SongRepository {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRating(String id, int star) {
|
public void setRating(String id, int rating) {
|
||||||
App.getSubsonicClientInstance(application, false)
|
App.getSubsonicClientInstance(application, false)
|
||||||
.getMediaAnnotationClient()
|
.getMediaAnnotationClient()
|
||||||
.setRating(id, star)
|
.setRating(id, rating)
|
||||||
.enqueue(new Callback<SubsonicResponse>() {
|
.enqueue(new Callback<SubsonicResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) {
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,9 @@ public class MediaAnnotationClient {
|
||||||
return mediaAnnotationService.unstar(subsonic.getParams(), id, albumId, artistId);
|
return mediaAnnotationService.unstar(subsonic.getParams(), id, albumId, artistId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Call<SubsonicResponse> setRating(String id, int star) {
|
public Call<SubsonicResponse> setRating(String id, int rating) {
|
||||||
Log.d(TAG, "setRating()");
|
Log.d(TAG, "setRating()");
|
||||||
return mediaAnnotationService.setRating(subsonic.getParams(), id, star);
|
return mediaAnnotationService.setRating(subsonic.getParams(), id, rating);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Call<SubsonicResponse> scrobble(String id) {
|
public Call<SubsonicResponse> scrobble(String id) {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public interface MediaAnnotationService {
|
||||||
Call<SubsonicResponse> unstar(@QueryMap Map<String, String> params, @Query("id") String id, @Query("albumId") String albumId, @Query("artistId") String artistId);
|
Call<SubsonicResponse> unstar(@QueryMap Map<String, String> params, @Query("id") String id, @Query("albumId") String albumId, @Query("artistId") String artistId);
|
||||||
|
|
||||||
@GET("setRating")
|
@GET("setRating")
|
||||||
Call<SubsonicResponse> setRating(@QueryMap Map<String, String> params, @Query("id") String id, @Query("star") int star);
|
Call<SubsonicResponse> setRating(@QueryMap Map<String, String> params, @Query("id") String id, @Query("rating") int rating);
|
||||||
|
|
||||||
@GET("scrobble")
|
@GET("scrobble")
|
||||||
Call<SubsonicResponse> scrobble(@QueryMap Map<String, String> params, @Query("id") String id);
|
Call<SubsonicResponse> scrobble(@QueryMap Map<String, String> params, @Query("id") String id);
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,6 @@ import android.content.SharedPreferences;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import com.cappielloantonio.play.helper.ThemeHelper;
|
import com.cappielloantonio.play.helper.ThemeHelper;
|
||||||
import com.cappielloantonio.play.model.DirectPlayCodec;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class PreferenceUtil {
|
public class PreferenceUtil {
|
||||||
private static final String TAG = "PreferenceUtil";
|
private static final String TAG = "PreferenceUtil";
|
||||||
|
|
@ -21,22 +15,10 @@ public class PreferenceUtil {
|
||||||
public static final String PASSWORD = "password";
|
public static final String PASSWORD = "password";
|
||||||
public static final String TOKEN = "token";
|
public static final String TOKEN = "token";
|
||||||
public static final String SALT = "salt";
|
public static final String SALT = "salt";
|
||||||
public static final String MUSIC_LIBRARY_ID = "music_library_id";
|
|
||||||
public static final String POSITION = "position";
|
public static final String POSITION = "position";
|
||||||
public static final String PROGRESS = "progress";
|
public static final String PROGRESS = "progress";
|
||||||
public static final String SYNC = "sync";
|
|
||||||
public static final String SONG_GENRE_SYNC = "song_genre_sync";
|
|
||||||
public static final String SEARCH_ELEMENT_PER_CATEGORY = "search_element_per_category";
|
|
||||||
public static final String IMAGE_CACHE_SIZE = "image_cache_size";
|
public static final String IMAGE_CACHE_SIZE = "image_cache_size";
|
||||||
public static final String MEDIA_CACHE_SIZE = "media_cache_size";
|
public static final String MEDIA_CACHE_SIZE = "media_cache_size";
|
||||||
public static final String INSTANT_MIX_SONG_NUMBER = "instant_mix_song_number";
|
|
||||||
public static final String SIMILAR_ITEMS_NUMBER = "similar_items_number";
|
|
||||||
public static final String TRANSCODE_CODEC = "transcode_codec";
|
|
||||||
public static final String DIRECT_PLAY_CODECS = "direct_play_codecs";
|
|
||||||
public static final String MAXIMUM_BITRATE = "maximum_bitrate";
|
|
||||||
public static final String AUDIO_DUCKING = "audio_ducking";
|
|
||||||
public static final String SONG_NUMBER = "SONG_NUMBER";
|
|
||||||
public static final String IMAGE_QUALITY = "image_quality";
|
|
||||||
|
|
||||||
private static PreferenceUtil sInstance;
|
private static PreferenceUtil sInstance;
|
||||||
private final SharedPreferences mPreferences;
|
private final SharedPreferences mPreferences;
|
||||||
|
|
@ -107,36 +89,6 @@ public class PreferenceUtil {
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getSync() {
|
|
||||||
return mPreferences.getBoolean(SYNC, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSync(Boolean sync) {
|
|
||||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
|
||||||
editor.putBoolean(SYNC, sync);
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getSongGenreSync() {
|
|
||||||
return mPreferences.getBoolean(SONG_GENRE_SYNC, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSongGenreSync(Boolean sync) {
|
|
||||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
|
||||||
editor.putBoolean(SONG_GENRE_SYNC, sync);
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMusicLibraryID() {
|
|
||||||
return mPreferences.getString(MUSIC_LIBRARY_ID, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMusicLibraryID(String musicLibraryID) {
|
|
||||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
|
||||||
editor.putString(MUSIC_LIBRARY_ID, musicLibraryID);
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPosition() {
|
public int getPosition() {
|
||||||
return mPreferences.getInt(POSITION, -1);
|
return mPreferences.getInt(POSITION, -1);
|
||||||
}
|
}
|
||||||
|
|
@ -161,72 +113,7 @@ public class PreferenceUtil {
|
||||||
return Integer.parseInt(mPreferences.getString(IMAGE_CACHE_SIZE, "400000000"));
|
return Integer.parseInt(mPreferences.getString(IMAGE_CACHE_SIZE, "400000000"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public final int getInstantMixSongNumber() {
|
|
||||||
return Integer.parseInt(mPreferences.getString(INSTANT_MIX_SONG_NUMBER, "10"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public final int getSimilarItemsNumber() {
|
|
||||||
return Integer.parseInt(mPreferences.getString(SIMILAR_ITEMS_NUMBER, "5"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public final int getSearchElementPerCategory() {
|
|
||||||
return Integer.parseInt(mPreferences.getString(SEARCH_ELEMENT_PER_CATEGORY, "10"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public final String getTranscodeCodec() {
|
|
||||||
return mPreferences.getString(TRANSCODE_CODEC, "aac");
|
|
||||||
}
|
|
||||||
|
|
||||||
public final String getMaximumBitrate() {
|
|
||||||
return mPreferences.getString(MAXIMUM_BITRATE, "10000000");
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<DirectPlayCodec> getDirectPlayCodecs() {
|
|
||||||
DirectPlayCodec.Codec[] codecs = DirectPlayCodec.Codec.values();
|
|
||||||
|
|
||||||
Set<String> selectedCodecNames = new HashSet<>();
|
|
||||||
for (DirectPlayCodec.Codec codec : codecs) {
|
|
||||||
// this will be the default value
|
|
||||||
selectedCodecNames.add(codec.name());
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedCodecNames = mPreferences.getStringSet(DIRECT_PLAY_CODECS, selectedCodecNames);
|
|
||||||
|
|
||||||
ArrayList<DirectPlayCodec> directPlayCodecs = new ArrayList<>();
|
|
||||||
for (DirectPlayCodec.Codec codec : codecs) {
|
|
||||||
String name = codec.name();
|
|
||||||
boolean selected = selectedCodecNames.contains(name);
|
|
||||||
directPlayCodecs.add(new DirectPlayCodec(codec, selected));
|
|
||||||
}
|
|
||||||
|
|
||||||
return directPlayCodecs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final int getMediaCacheSize() {
|
public final int getMediaCacheSize() {
|
||||||
return Integer.parseInt(mPreferences.getString(MEDIA_CACHE_SIZE, "400000000"));
|
return Integer.parseInt(mPreferences.getString(MEDIA_CACHE_SIZE, "400000000"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public final String getImageQuality() {
|
|
||||||
return mPreferences.getString(IMAGE_QUALITY, "Top");
|
|
||||||
}
|
|
||||||
|
|
||||||
public final boolean getAudioDucking() {
|
|
||||||
return mPreferences.getBoolean(AUDIO_DUCKING, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Numero di canzoni salvate nel db
|
|
||||||
*/
|
|
||||||
public int getSongNumber() {
|
|
||||||
return mPreferences.getInt(SONG_NUMBER, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Numero di canzoni salvate nel db
|
|
||||||
*/
|
|
||||||
public void setSongNumber(int number) {
|
|
||||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
|
||||||
editor.putInt(SONG_NUMBER, number);
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -7,9 +7,11 @@ import androidx.lifecycle.AndroidViewModel;
|
||||||
|
|
||||||
import com.cappielloantonio.play.model.Artist;
|
import com.cappielloantonio.play.model.Artist;
|
||||||
import com.cappielloantonio.play.repository.AlbumRepository;
|
import com.cappielloantonio.play.repository.AlbumRepository;
|
||||||
|
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||||
|
|
||||||
public class ArtistBottomSheetViewModel extends AndroidViewModel {
|
public class ArtistBottomSheetViewModel extends AndroidViewModel {
|
||||||
private AlbumRepository albumRepository;
|
private AlbumRepository albumRepository;
|
||||||
|
private ArtistRepository artistRepository;
|
||||||
|
|
||||||
private Artist artist;
|
private Artist artist;
|
||||||
|
|
||||||
|
|
@ -17,6 +19,7 @@ public class ArtistBottomSheetViewModel extends AndroidViewModel {
|
||||||
super(application);
|
super(application);
|
||||||
|
|
||||||
albumRepository = new AlbumRepository(application);
|
albumRepository = new AlbumRepository(application);
|
||||||
|
artistRepository = new ArtistRepository(application);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artist getArtist() {
|
public Artist getArtist() {
|
||||||
|
|
|
||||||
|
|
@ -29,51 +29,4 @@
|
||||||
<item>200000000</item>
|
<item>200000000</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="instant_mix_song_number_titles">
|
|
||||||
<item>10</item>
|
|
||||||
<item>25</item>
|
|
||||||
<item>50</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="instant_mix_song_number_values">
|
|
||||||
<item>10</item>
|
|
||||||
<item>25</item>
|
|
||||||
<item>50</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="similar_items_number_titles">
|
|
||||||
<item>5</item>
|
|
||||||
<item>10</item>
|
|
||||||
<item>20</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="similar_items_number_values">
|
|
||||||
<item>5</item>
|
|
||||||
<item>10</item>
|
|
||||||
<item>20</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="search_element_per_category_titles">
|
|
||||||
<item>10</item>
|
|
||||||
<item>20</item>
|
|
||||||
<item>30</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="search_element_per_category_values">
|
|
||||||
<item>10</item>
|
|
||||||
<item>20</item>
|
|
||||||
<item>30</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="image_quality_titles">
|
|
||||||
<item>Top</item>
|
|
||||||
<item>Medium</item>
|
|
||||||
<item>Low</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="image_quality_values">
|
|
||||||
<item>Top</item>
|
|
||||||
<item>Medium</item>
|
|
||||||
<item>Low</item>
|
|
||||||
</string-array>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -10,18 +10,14 @@
|
||||||
<string name="search_menu_label">Search</string>
|
<string name="search_menu_label">Search</string>
|
||||||
<string name="label_placeholder">--</string>
|
<string name="label_placeholder">--</string>
|
||||||
<string name="label_dot_separator">•</string>
|
<string name="label_dot_separator">•</string>
|
||||||
<string name="instant_mix_song_number">Number of songs generated by Instant Mix</string>
|
|
||||||
<string name="similar_items_number">Number of similar items</string>
|
|
||||||
<string name="search_element_per_category">Number of items searched for each category</string>
|
|
||||||
<string name="image_quality">Image quality</string>
|
|
||||||
|
|
||||||
<string name="about_header">About</string>
|
<string name="about_header">About</string>
|
||||||
<string name="summary_about">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</string>
|
<string name="summary_about">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</string>
|
||||||
<string name="app_version">1.1</string>
|
<string name="app_version">1.0</string>
|
||||||
<string name="title_version">Version</string>
|
<string name="title_version">Version</string>
|
||||||
<string name="github_page">Github</string>
|
<string name="github_page">Github</string>
|
||||||
<string name="development">Follow the development</string>
|
<string name="development">Follow the development</string>
|
||||||
<string name="github_url">https://github.com/CappielloAntonio/Play</string>
|
<string name="github_url">https://github.com/CappielloAntonio/play-for-subsonic</string>
|
||||||
|
|
||||||
<string name="battery_optimizations_title">Battery Optimizations</string>
|
<string name="battery_optimizations_title">Battery Optimizations</string>
|
||||||
<string name="battery_optimizations_message">Please disable battery optimizations for media playback while the screen is off.</string>
|
<string name="battery_optimizations_message">Please disable battery optimizations for media playback while the screen is off.</string>
|
||||||
|
|
|
||||||
|
|
@ -19,41 +19,6 @@
|
||||||
app:title="@string/theme_selection"
|
app:title="@string/theme_selection"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
app:defaultValue="10"
|
|
||||||
app:dialogTitle="@string/instant_mix_song_number"
|
|
||||||
app:entries="@array/instant_mix_song_number_titles"
|
|
||||||
app:entryValues="@array/instant_mix_song_number_values"
|
|
||||||
app:key="instant_mix_song_number"
|
|
||||||
app:title="@string/instant_mix_song_number"
|
|
||||||
app:useSimpleSummaryProvider="true" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
app:defaultValue="10"
|
|
||||||
app:dialogTitle="@string/similar_items_number"
|
|
||||||
app:entries="@array/similar_items_number_titles"
|
|
||||||
app:entryValues="@array/similar_items_number_values"
|
|
||||||
app:key="similar_items_number"
|
|
||||||
app:title="@string/similar_items_number"
|
|
||||||
app:useSimpleSummaryProvider="true" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
app:defaultValue="10"
|
|
||||||
app:dialogTitle="@string/search_element_per_category"
|
|
||||||
app:entries="@array/search_element_per_category_titles"
|
|
||||||
app:entryValues="@array/search_element_per_category_values"
|
|
||||||
app:key="search_element_per_category"
|
|
||||||
app:title="@string/search_element_per_category"
|
|
||||||
app:useSimpleSummaryProvider="true" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
app:defaultValue="Top"
|
|
||||||
app:dialogTitle="@string/image_quality"
|
|
||||||
app:entries="@array/image_quality_titles"
|
|
||||||
app:entryValues="@array/image_quality_values"
|
|
||||||
app:key="image_quality"
|
|
||||||
app:title="@string/image_quality"
|
|
||||||
app:useSimpleSummaryProvider="true" />
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/about_header">
|
<PreferenceCategory app:title="@string/about_header">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue