diff --git a/app/build.gradle b/app/build.gradle
index 197aa1b7..99396906 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -23,8 +23,8 @@ android {
applicationId "com.kabouzeid.gramophone"
minSdkVersion 16
targetSdkVersion 22
- versionCode 17
- versionName "0.9.7.1b"
+ versionCode 18
+ versionName "0.9.8b"
}
compileOptions {
@@ -46,7 +46,7 @@ dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.2.1@aar') {
transitive = true;
}
- compile 'com.afollestad:material-dialogs:0.7.0.1'
+ compile 'com.afollestad:material-dialogs:0.7.1.3'
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:recyclerview-v7:22.0.0'
compile 'com.android.support:gridlayout-v7:22.0.0'
diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java
index 9dc59f7c..0285a113 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java
@@ -4,6 +4,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.media.audiofx.AudioEffect;
import android.net.Uri;
import android.os.IBinder;
import android.preference.PreferenceManager;
@@ -283,6 +284,13 @@ public class MusicPlayerRemote {
App.bus.post(musicRemoteEvent);
}
+ public static int getAudioSessionId() {
+ if (musicService != null) {
+ return musicService.getAudioSessionId();
+ }
+ return AudioEffect.ERROR_BAD_VALUE;
+ }
+
@SuppressWarnings("unchecked")
public static void restorePreviousState() {
try {
diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
index c7f6e61f..939640a6 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java
@@ -14,6 +14,7 @@ import android.media.AudioManager;
import android.media.MediaMetadataRetriever;
import android.media.MediaPlayer;
import android.media.RemoteControlClient;
+import android.media.audiofx.AudioEffect;
import android.net.Uri;
import android.os.Binder;
import android.os.IBinder;
@@ -171,6 +172,7 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
@Override
public void onDestroy() {
+ closeAudioEffectSession();
unregisterEverything();
killEverythingAndReleaseResources();
}
@@ -315,11 +317,27 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
notifyOnMusicRemoteEventListeners(MusicRemoteEvent.TRACK_CHANGED);
}
- private boolean requestFocus() {
- int result = getAudioManager().requestAudioFocus(this, AudioManager.STREAM_MUSIC,
- AudioManager.AUDIOFOCUS_GAIN);
+ private void openAudioEffectSession() {
+ if (player != null) {
+ final Intent intent = new Intent(AudioEffect.ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION);
+ intent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, getAudioSessionId());
+ intent.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, getPackageName());
+ intent.putExtra(AudioEffect.EXTRA_CONTENT_TYPE, AudioEffect.CONTENT_TYPE_MUSIC);
+ sendBroadcast(intent);
+ }
+ }
- return (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
+ private void closeAudioEffectSession() {
+ if (player != null) {
+ final Intent audioEffectsIntent = new Intent(AudioEffect.ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION);
+ audioEffectsIntent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, player.getAudioSessionId());
+ audioEffectsIntent.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, getPackageName());
+ sendBroadcast(audioEffectsIntent);
+ }
+ }
+
+ private boolean requestFocus() {
+ return (getAudioManager().requestAudioFocus(this, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN) == AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
}
private void updateRemoteControlClient() {
@@ -449,6 +467,7 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
public void onPrepared(MediaPlayer mp) {
player.start();
isPlayerPrepared = true;
+ openAudioEffectSession();
playingNotificationHelper.updatePlayState(isPlaying());
MusicPlayerWidget.updateWidgets(this);
remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING);
@@ -752,6 +771,10 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe
}
}
+ public int getAudioSessionId() {
+ return player.getAudioSessionId();
+ }
+
public class MusicBinder extends Binder {
public MusicService getService() {
return MusicService.this;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
index 6bc3de8f..e494d92c 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
@@ -259,6 +259,9 @@ public class AlbumDetailActivity extends AbsFabActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
+ case R.id.action_equalizer:
+ NavigationUtil.openEqualizer(this);
+ return true;
case R.id.action_shuffle_all:
MusicPlayerRemote.shuffleAllSongs(this);
return true;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
index 5216221e..f0ab157c 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
@@ -320,6 +320,9 @@ public class ArtistDetailActivity extends AbsFabActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
+ case R.id.action_equalizer:
+ NavigationUtil.openEqualizer(this);
+ return true;
case R.id.action_shuffle_all:
MusicPlayerRemote.shuffleAllSongs(this);
return true;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java
index de3747e5..6b0579dd 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java
@@ -260,6 +260,9 @@ public class MainActivity extends AbsFabActivity
int id = item.getItemId();
switch (id) {
+ case R.id.action_equalizer:
+ NavigationUtil.openEqualizer(this);
+ return true;
case R.id.action_shuffle_all:
MusicPlayerRemote.shuffleAllSongs(this);
return true;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java
index 6b5bfc85..2b74f663 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java
@@ -417,6 +417,9 @@ public class MusicControllerActivity extends AbsFabActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
+ case R.id.action_equalizer:
+ NavigationUtil.openEqualizer(this);
+ return true;
case R.id.action_shuffle_all:
MusicPlayerRemote.shuffleAllSongs(this);
return true;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
index 017d62db..8478585d 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
@@ -89,6 +89,9 @@ public class PlaylistDetailActivity extends AbsFabActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
+ case R.id.action_equalizer:
+ NavigationUtil.openEqualizer(this);
+ return true;
case android.R.id.home:
super.onBackPressed();
return true;
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
index 1a2fd512..0453237a 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
@@ -1,5 +1,9 @@
package com.kabouzeid.gramophone.ui.activities;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.media.audiofx.AudioEffect;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
@@ -12,6 +16,7 @@ import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
+import com.kabouzeid.gramophone.util.NavigationUtil;
public class SettingsActivity extends AbsBaseActivity {
public static final String TAG = SettingsActivity.class.getSimpleName();
@@ -27,11 +32,14 @@ public class SettingsActivity extends AbsBaseActivity {
}
public static class SettingsFragment extends PreferenceFragment {
+ private Preference equalizer;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_general);
addPreferencesFromResource(R.xml.pref_ui);
+ addPreferencesFromResource(R.xml.pref_audio);
final Preference defaultStartPage = findPreference("default_start_page");
setSummary(defaultStartPage);
@@ -93,6 +101,16 @@ public class SettingsActivity extends AbsBaseActivity {
return true;
}
});
+
+ equalizer = findPreference("equalizer");
+ resolveEqualizer();
+ equalizer.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ NavigationUtil.openEqualizer(getActivity());
+ return true;
+ }
+ });
}
private static void setSummary(Preference preference) {
@@ -115,6 +133,16 @@ public class SettingsActivity extends AbsBaseActivity {
preference.setSummary(stringValue);
}
}
+
+ private void resolveEqualizer() {
+ final Intent effects = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL);
+ PackageManager pm = getActivity().getPackageManager();
+ ResolveInfo ri = pm.resolveActivity(effects, 0);
+ if (ri == null) {
+ equalizer.setEnabled(false);
+ equalizer.setSummary(getResources().getString(R.string.no_equalizer));
+ }
+ }
}
@Override
diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java
index 51699525..cc311647 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/NavigationUtil.java
@@ -1,7 +1,9 @@
package com.kabouzeid.gramophone.util;
import android.app.Activity;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
+import android.media.audiofx.AudioEffect;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.util.Pair;
@@ -111,4 +113,20 @@ public class NavigationUtil {
Toast.makeText(activity, activity.getResources().getString(R.string.nothing_playing), Toast.LENGTH_SHORT).show();
}
}
+
+ public static void openEqualizer(final Activity activity) {
+ final int sessionId = MusicPlayerRemote.getAudioSessionId();
+ if (sessionId == AudioEffect.ERROR_BAD_VALUE) {
+ Toast.makeText(activity, activity.getResources().getString(R.string.no_audio_id), Toast.LENGTH_LONG).show();
+ } else {
+ try {
+ final Intent effects = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL);
+ effects.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, sessionId);
+ effects.putExtra(AudioEffect.EXTRA_CONTENT_TYPE, AudioEffect.CONTENT_TYPE_MUSIC);
+ activity.startActivityForResult(effects, 0);
+ } catch (final ActivityNotFoundException notFound) {
+ Toast.makeText(activity, activity.getResources().getString(R.string.no_equalizer), Toast.LENGTH_SHORT).show();
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java
index dde89f0d..ef378a8a 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtils.java
@@ -52,7 +52,7 @@ public final class PreferenceUtils {
case 1:
return R.style.Theme_MaterialMusic;
}
- return R.style.Theme_MaterialMusic;
+ return R.style.Theme_MaterialMusic_Light;
}
public void setGeneralTheme(int appTheme) {
@@ -144,7 +144,7 @@ public final class PreferenceUtils {
}
public final boolean playbackControllerBoxEnabled() {
- return mPreferences.getBoolean(PLAYBACK_CONTROLLER_BOX, true);
+ return mPreferences.getBoolean(PLAYBACK_CONTROLLER_BOX, false);
}
public void setPlaybackControllerBoxEnabled(final boolean value) {
@@ -154,7 +154,7 @@ public final class PreferenceUtils {
}
public final boolean transparentToolbar() {
- return mPreferences.getBoolean(TRANSPARENT_TOOLBAR, true);
+ return mPreferences.getBoolean(TRANSPARENT_TOOLBAR, false);
}
public void setTransparentToolbar(final boolean value) {
diff --git a/app/src/main/res/drawable-hdpi/ic_equalizer_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_equalizer_black_24dp.png
deleted file mode 100644
index 53fbe0f7..00000000
Binary files a/app/src/main/res/drawable-hdpi/ic_equalizer_black_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_equalizer_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_equalizer_white_24dp.png
deleted file mode 100644
index 11693636..00000000
Binary files a/app/src/main/res/drawable-hdpi/ic_equalizer_white_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_play_circle_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_play_circle_outline_white_24dp.png
new file mode 100644
index 00000000..0a801fce
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_play_circle_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_equalizer_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_equalizer_black_24dp.png
deleted file mode 100644
index 47541240..00000000
Binary files a/app/src/main/res/drawable-mdpi/ic_equalizer_black_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/ic_equalizer_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_equalizer_white_24dp.png
deleted file mode 100644
index d10dadad..00000000
Binary files a/app/src/main/res/drawable-mdpi/ic_equalizer_white_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/ic_play_circle_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_play_circle_outline_white_24dp.png
new file mode 100644
index 00000000..1d1ab66d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_play_circle_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_equalizer_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_equalizer_black_24dp.png
deleted file mode 100644
index a44826ce..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_equalizer_black_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_equalizer_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_equalizer_white_24dp.png
deleted file mode 100644
index dbba844d..00000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_equalizer_white_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_play_circle_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_play_circle_outline_white_24dp.png
new file mode 100644
index 00000000..f59c45e9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_play_circle_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_equalizer_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_equalizer_black_24dp.png
deleted file mode 100644
index adad5ded..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_equalizer_black_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_equalizer_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_equalizer_white_24dp.png
deleted file mode 100644
index 59332d8d..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_equalizer_white_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_circle_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_play_circle_outline_white_24dp.png
new file mode 100644
index 00000000..00de7883
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_play_circle_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_equalizer_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_equalizer_black_24dp.png
deleted file mode 100644
index fca74bdc..00000000
Binary files a/app/src/main/res/drawable-xxxhdpi/ic_equalizer_black_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_equalizer_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_equalizer_white_24dp.png
deleted file mode 100644
index b82a8d98..00000000
Binary files a/app/src/main/res/drawable-xxxhdpi/ic_equalizer_white_24dp.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_circle_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_play_circle_outline_white_24dp.png
new file mode 100644
index 00000000..81fc753c
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_play_circle_outline_white_24dp.png differ
diff --git a/app/src/main/res/menu/menu_album_detail.xml b/app/src/main/res/menu/menu_album_detail.xml
index 3be6396c..5bef2eff 100644
--- a/app/src/main/res/menu/menu_album_detail.xml
+++ b/app/src/main/res/menu/menu_album_detail.xml
@@ -5,7 +5,7 @@
@@ -29,4 +29,10 @@
android:id="@+id/action_tag_editor"
android:title="@string/action_tag_editor"
app:showAsAction="never"/>
+
+
diff --git a/app/src/main/res/menu/menu_albums.xml b/app/src/main/res/menu/menu_albums.xml
index 3791c90a..098402dc 100644
--- a/app/src/main/res/menu/menu_albums.xml
+++ b/app/src/main/res/menu/menu_albums.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
@@ -52,6 +52,12 @@
+
+
@@ -29,4 +29,10 @@
android:id="@+id/action_re_download_artist_image"
android:title="@string/action_re_download_artist_image"
app:showAsAction="never"/>
+
+
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
index 118370a2..2baa23ad 100644
--- a/app/src/main/res/menu/menu_main.xml
+++ b/app/src/main/res/menu/menu_main.xml
@@ -5,7 +5,7 @@
@@ -26,6 +26,12 @@
android:title="@string/action_playing_queue"
app:showAsAction="never"/>
+
+
+
+
-
+
+
+
-
@@ -28,6 +28,12 @@
android:title="@string/action_playing_queue"
app:showAsAction="never"/>
+
+
- Start page
Light
Dark
+ Equalizer
+ UI
+ General theme
+ Audio
+ General
+ Set default start page
+ Settings
+ Semi-Transparent toolbar
+ Playback controller card
+ Colored navigation bar artist view
+ Colored navigation bar album view
+ Colored album footers
+ No equalizer found
+ No audio id, play something and try again.
diff --git a/app/src/main/res/values/strings_activity_settings.xml b/app/src/main/res/values/strings_activity_settings.xml
index ea6d2d67..b85797d7 100644
--- a/app/src/main/res/values/strings_activity_settings.xml
+++ b/app/src/main/res/values/strings_activity_settings.xml
@@ -1,11 +1,4 @@
- Settings
-
-
-
-
- General
- Set default start page
- @string/last_opened
- @string/songs
@@ -13,6 +6,7 @@
- @string/artists
- @string/playlists
+
- -1
- 0
@@ -21,21 +15,14 @@
- 3
-
- UI
- General theme
- @string/light_theme_name
- @string/dark_theme_name
+
- 0
- 1
- Semi-Transparent toolbar
- Playback controller card
- Colored navigation bar artist view
- Colored navigation bar album view
- Colored album footers
diff --git a/app/src/main/res/xml/pref_audio.xml b/app/src/main/res/xml/pref_audio.xml
new file mode 100644
index 00000000..b717f588
--- /dev/null
+++ b/app/src/main/res/xml/pref_audio.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_ui.xml b/app/src/main/res/xml/pref_ui.xml
index d624c0f1..cb84a02c 100644
--- a/app/src/main/res/xml/pref_ui.xml
+++ b/app/src/main/res/xml/pref_ui.xml
@@ -2,7 +2,7 @@